我正在尝试执行以下操作:
- 如果 ID 是唯一的,则“结果”列中不显示任何内容
- 但是,如果 ID 不是唯一的,则写下该 ID 的所有项目,用逗号 (,) 分隔
- 此条件将检查第 1 行到当前行的范围。下一行不考虑
- 您可以查看 ID 1 的项目作为示例
我正在使用公式来解决这个问题。为此,我需要在每个单元格中编写公式。但我想使用 ARRAYFORMULA 解决这个问题,这样我就可以在第一个单元格中编写公式。
这是我现在正在使用的:
=TEXTJOIN(", ",TRUE,ARRAYFORMULA(IF(B2=$B$1:F1,$C$1:C1,"")))
您可以在此处查看文件:Check this file
预先感谢您的努力。
最佳答案
尝试:
=INDEX(SUBSTITUTE(SUBSTITUTE(IF(COUNTIFS(A2:A, A2:A, ROW(A2:A), "<="&ROW(A2:A))>1,
REGEXEXTRACT(IFNA(VLOOKUP(A2:A&"",
TRIM(SPLIT(FLATTEN(QUERY(QUERY({A2:A&"×", SUBSTITUTE(B2:B, " ", "_"), ROW(B2:B)},
"select max(Col2) where Col2 is not null group by Col3 pivot Col1"),,9^9)), "×")), 2, 0)),
TRIM(REPT("[\w]+ ", COUNTIFS(A2:A, A2:A, ROW(A2:A), "<="&ROW(A2:A))))), ), " ", ", "), "_", " "))
关于regex - 是否可以编写另一个 ARRAYFORMULA 的 ARRAYFORMULA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71836991/