所以我有一系列这样的列:
Project1 Project2
-------- --------
Bob Mark
Clara Boris
Mark
在另一张纸上,我想列出他们参加的姓名和项目。像这样:
Bob Project1
Clara Project1
Mark Project1, Project2
问题是,如果匹配给出肯定的结果,看来我需要进行多次匹配并检索列的第一个单元格。
我认为我需要将ArrayFormula与Match配合使用,但是我找不到它。
谢谢!
答案 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看起来像这样。
希望这会有所帮助。
答案 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:$B
,Sheet1!$1:$1
更改为您的范围A1
更改为具有名称的单元格Sheet1!$A$2:$B
更改为indirect("Sheet1!$A$2:$B")
,并动态计数范围以更好地使用。