Google Sheets:按行将多单元格内容合并至对应独立单元格
问题
我正在制作看板,需要根据Status(比如1、2或To do、Done这类状态)筛选展示数据,要求每行将Task和Assignee合并到对应单元格——符合Status条件的行显示合并内容,不符合的留空。
现有数据表格:
| A | B | C |
|---|---|---|
| Task 1 | Assignee 1 | Status 1 |
| Task 2 | Assignee 2 | Status 1 |
| Task 3 | Assignee 3 | Status 3 |
我尝试用这个公式:
=(TEXTJOIN(",", TRUE, QUERY(DATA!$A:$C,"SELECT * WHERE C='Status 1'")))
但它会把所有符合Status 1的两行内容合并到同一个单元格里,不是我要的效果。我想要的结果是:
| A | B | C | D |
|---|---|---|---|
| Task 1 | Assignee 1 | Status 1 | Task 1, Assignee 1 |
| Task 2 | Assignee 2 | Status 1 | Task 2, Assignee 2 |
| Task 3 | Assignee 3 | Status 3 |
解决方案
不需要用QUERY批量筛选后合并,直接针对每行做判断和合并即可,用IF函数结合文本处理就能实现:
方法1:用IF+TEXTJOIN(适配空值场景)
在D2单元格输入公式,下拉填充:
=IF(C2="Status 1", TEXTJOIN(", ", TRUE, A2, B2), "")
方法2:直接字符串拼接(简洁高效)
如果不需要处理A/B列空值的情况,也可以直接用&拼接:
=IF(C2="Status 1", A2&", "&B2, "")
说明
- 公式里的
C2="Status 1"是判断条件,你可以根据实际需求改成对应状态值,比如C2="Done"或者C2=2 - 下拉公式后,每行都会独立判断:符合条件就合并当前行的A、B列内容,不符合则返回空单元格
内容的提问来源于stack exchange,提问作者Louis
相关产品推荐
相关产品推荐

