我正在尝试缩小一个Google工作表中存在的两个不同标签中如何关联或合并相关数据的方法。
标签1:组用户
+-------------+---------+
| group | user |
+-------------+---------+
| Blue | Ana |
| Blue | Jon |
| Blue | Ben |
| Red | Ana |
| Red | Ben |
| Green | Sue |
| Green | Jon |
| Green | Ben |
+-------------+---------+
Tab 2组回购
+-------------+---------+
| group | repo |
+-------------+---------+
| Blue | code |
| Blue | script |
| Blue | web |
| Red | code |
| Red | script |
| Red | web |
| Red | form |
| Green | script |
| Green | tools |
+-------------+---------+
我需要快速知道Ana可以访问哪个Repos?
从此样本一目了然,我发现Ana可以访问回购代码,脚本,Web和表单,因为她属于Blue和Red组。而且,Sue只能使用repos脚本和工具,因为她只是Green小组的一部分。但是我眼前的实际数据是每个Tab长几百行。
我已经进行了一些Web搜索,并且QUERY函数不断弹出,但是我没有遇到任何解决此情况的示例。任何帮助将不胜感激!
答案 0 :(得分:1)
我在此链接中玩过它。
https://docs.google.com/spreadsheets/d/1ZVnyRklT7iM_AX2Yr39o3G5u-3hAWPM4l_eYbsisyEY/edit#gid=0
您可以在单元格G1中看到以下公式:
= arrayformula(unique(if(regexmatch(join(“,”,filter(D:D,E:E = F1)),A1:A10),B1:B10,)))
它的作用是针对特定人员进行过滤(由下拉菜单选择)。 然后,它将该人所属的所有组与逗号一起加入。 regexmatch搜索以查看第二个表中的值是否与在连接的字符串中找到的值匹配。如果找到它们,那么我将退回存储库,否则我什么也不做。然后,我有一个独特的函数来包装所有内容,以摆脱重复的存储库。