如何为用户隐藏某些列?

lee*_*lee 24 google-sheets google-apps-script

在共享的Google电子表格中:

我不希望我的域中的特定用户查看包含敏感数据的列,但此人仍应能够编辑电子表格的其余部分.

我尝试创建一个"主"电子表格并使用importrange将数据转换为"共享"工作表,但是一旦我编辑了共享电子表格中的任何单元格,importrange就不再有效,因为工作表已清空.

有没有快速的方法来做到这一点,也许使用脚本?

lee*_*lee 26

经过一些研究和尝试各种不同的选项,我终于能够使用importrange函数实现我想要的.

起初,我尝试使用隐藏列和保护范围的组合,但这不起作用,因为简单的复制和粘贴将揭示隐藏列的内容.

解决方案:"主人"的电子表格没有任何敏感列数据,可以与单位中的所有人共享...然后我加入了敏感数据到一个新的电子表格,并使用IMPORTRANGE从"主"抢内容.(之前我的角色已经颠倒了,但这没有用)


您可能希望每行添加唯一键,以便在压缩敏感数据和"主"数据时排序等不会搞砸.


Mar*_*pel 6

我来到这里是在寻找一种仅与客户共享电子表格中某些列而不是全部共享的方法。

如另一个答案中所述,使用= IMPORTRANGE效果很好,但是聪明的客户可以简单地编辑函数并查看其他列。

我的解决方案是首先创建一个“代理”电子表格,该电子表格仅导入我希望客户看到的列。此代理电子表格未共享。

Then, I created another spreadsheet that imported the columns from the proxy, and shared that spreadsheet with the customer. This way, even with edit privileges, it's impossible for him to see anything that isn't on the proxy spreadsheet.

A bit clunky to be sure, but it worked perfectly for my situation.