google-sheets - 如何根据谷歌电子表格中的多重搜索连接单元格
问题描述
所以我有一系列这样的专栏:
Project1 Project2
-------- --------
Bob Mark
Clara Boris
Mark
在另一张表中,我想列出姓名和他们参与的项目。像这样:
Bob Project1
Clara Project1
Mark Project1, Project2
问题是,如果匹配给出肯定结果,我似乎需要进行多次匹配并检索列的第一个单元格。
我想我需要将 ArrayFormula 与 Match 一起使用,但我无法找到它。
谢谢!
解决方案
第 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")
更好地使用。
推荐阅读
- node.js - 如何在mongodb url中动态更改主机和端口
- reactjs - 当用户在 ReactJS 的 ConfirmAlert 插件中单击是或否时如何调用函数
- node.js - valueMap() 和 mapsValue() 的区别?
- big-o - 如何找到嵌套循环的大 0
- c# - 为什么 asp.net core 无法反序列化这个 json?
- css - 如何在垂直导航栏中创建子导航
- spring - 带有 LEFT JOIN 查询的 JPQL 命名查询参数抛出异常
- java - 当我创建新数据时参数应该为空时,我不断收到空异常
- angular - Nativescript 角度工作者更新示例?
- python - LSTM 的网格搜索超参数调整