Google表格:从具有不同列的标签中推断数据

时间:2018-11-05 18:16:38

标签: google-sheets google-sheets-query

我正在尝试缩小一个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函数不断弹出,但是我没有遇到任何解决此情况的示例。任何帮助将不胜感激!

1 个答案:

答案 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搜索以查看第二个表中的值是否与在连接的字符串中找到的值匹配。如果找到它们,那么我将退回存储库,否则我什么也不做。然后,我有一个独特的函数来包装所有内容,以摆脱重复的存储库。