首页 > 解决方案 > 如何根据谷歌电子表格中的多重搜索连接单元格

问题描述

所以我有一系列这样的专栏:

Project1   Project2
--------   -------- 
Bob        Mark
Clara      Boris
Mark

在另一张表中,我想列出姓名和他们参与的项目。像这样:

Bob     Project1
Clara   Project1
Mark    Project1, Project2

问题是,如果匹配给出肯定结果,我似乎需要进行多次匹配并检索列的第一个单元格。

我想我需要将 ArrayFormula 与 Match 一起使用,但我无法找到它。

谢谢!

标签: google-sheets

解决方案


第 1 部分:从多列中获取唯一的项目列表

=UNIQUE(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(ARRAYFORMULA('Sheet1'!A2:B&","),,2^99)),,2^99)," ,",1)))

  • 更改'Sheet1'!A2:B为您的范围

第2部分。获取由 ", " 加入的匹配列表

=TEXTJOIN(", " , 1, ARRAYFORMULA(IF(INDEX(QUERY(IFERROR(FIND(Sheet1!$A$2:$B,A1)*(Sheet1!$A$2:$B<>""),0),"select sum(Col"&JOIN("), sum(Col",ROW(INDIRECT("a1:a"&COLUMNS(Sheet1!$A$2:$B))))&")"),2,),Sheet1!$1:$1,"")))

  • 更改Sheet1!$A$2:$BSheet1!$1:$1您的范围
  • 更改A1为具有名称的单元格
  • 把公式复制下来

  • 动态更改和计数范围Sheet1!$A$2:$B以便indirect("Sheet1!$A$2:$B")更好地使用。

推荐阅读