访问相同的电子表格,但显示不同的记录,按谷歌电子表格中的类别过滤?

访问相同的电子表格,但显示不同的记录,按谷歌电子表格中的类别过滤?

问题描述:

好日子,访问相同的电子表格,但显示不同的记录,按谷歌电子表格中的类别过滤?

只想问是否可以通过不同的谷歌帐户来访问相同的谷歌电子表格,并显示不同的记录取决于类别或主键,他们已经或他们属于?

非常感谢。

是的,你可以在功能上做到这一点,但它并不整齐,并产生更多的问题,而不是解决问题。这里有一个简单的例子:

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")。更改范围值可让您仅共享主电子表格的部分内容,因此纽约代表不会看到旧金山等地点。它避免了通过脚本添加/删除权限的所有麻烦,并确保了最新的数据他们需要访问的区域。

+0

谢谢你的回答,先生@Brian,这对我的项目非常有用,但是在同一张电子表格和同一张表格上如何。他们会在同一个计时器*问它,有一个领域可以识别他们的部分,例如。 user1 =“纽约” user2 =“旧金山” 在同一张电子表格和同一张表单上,用户1只能看到“纽约”记录,用户2可能是“旧金山” ? – Jae

+0

@jae我更新了我的答案。 – Brian