访问相同的电子表格,但显示不同的记录,按谷歌电子表格中的类别过滤?
问题描述:
好日子,访问相同的电子表格,但显示不同的记录,按谷歌电子表格中的类别过滤?
只想问是否可以通过不同的谷歌帐户来访问相同的谷歌电子表格,并显示不同的记录取决于类别或主键,他们已经或他们属于?
非常感谢。
答
是的,你可以在功能上做到这一点,但它并不整齐,并产生更多的问题,而不是解决问题。这里有一个简单的例子:
function hideSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Your sheet");
// Get the user accessing the sheet
var user = Session.getActiveUser().getEmail();
// Match an email. If you're using an array of people, you'll need to loop it.
if(user != "[email protected]") {
// If they don't match the test, hide the sheet.
ss.hideSheet();
} else {
ss.showSheet();
}
设置一个onOpen()
触发功能。用户将需要编辑权限(哪种方式违背了目的),否则脚本将无法运行。如果是共享表格,它也会隐藏您,除非您为您的帐户进行测试,但显示工作表将也显示为共享用户。
一个更好的解决方案是启动一个主纸张和从纸上的=IMPORTRANGE(url, range)
。
创建只有您有权访问的主表单。按区域标题每张纸。创建名为你想给别人的区域的奴隶床单。在单元格A1中,使用=IMPORTRANGE("theMasterSheetUrl","New York!A:Z")
。更改范围值可让您仅共享主电子表格的部分内容,因此纽约代表不会看到旧金山等地点。它避免了通过脚本添加/删除权限的所有麻烦,并确保了最新的数据他们需要访问的区域。
谢谢你的回答,先生@Brian,这对我的项目非常有用,但是在同一张电子表格和同一张表格上如何。他们会在同一个计时器*问它,有一个领域可以识别他们的部分,例如。 user1 =“纽约” user2 =“旧金山” 在同一张电子表格和同一张表单上,用户1只能看到“纽约”记录,用户2可能是“旧金山” ? – Jae
@jae我更新了我的答案。 – Brian