如何基于Google SpreadSheets中的多个搜索来连接单元格

时间:2018-10-16 09:06:13

标签: google-sheets

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

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

在另一张纸上,我想列出他们参加的姓名和项目。像这样:

Bob     Project1
Clara   Project1
Mark    Project1, Project2

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

我认为我需要将ArrayFormula与Match配合使用,但是我找不到它。

谢谢!

2 个答案:

答案 0 :(得分:0)

我准备了一个可以帮助您解决这个问题的公式。它基本上具有 ifs 公式,该公式检查多个if条件并反映与第一个条件匹配的条件的输出。

它检查该值是否在两列中,如果不正确,则分别检查每一列。     = IFS(AND(NOT(ISERROR(MATCH(A1,Sheet2!A $ 2:A,0))),NOT(ISERROR(MATCH(A1,Sheet2!B $ 2:B,0)))),“ Project1,Project 2“,NOT(ISERROR(MATCH(A1,Sheet2!A $ 2:A,0))),” Project1“,NOT(ISERROR(MATCH(A1,Sheet2!B $ 2:B,0))),” Project2“ )

在这里,“ Sheet2”的数据与您的问题中给出的数据相同。表格3看起来像这样。

enter image description here

希望这会有所帮助。

答案 1 :(得分:0)

第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"),并动态计数范围以更好地使用。