是否可以编写另一个 ARRAYFORMULA 的 ARRAYFORMULA
Is it possible to write ARRAYFORMULA of another ARRAYFORMULA
我正在尝试执行以下操作:
- 如果 ID 是唯一的,则“结果”列中不显示任何内容
- 但是,如果 ID 不是唯一的,则写入该 ID 的所有项目,并以逗号 (,) 分隔
- 此条件将检查当前行的第 1 行的范围。不考虑下一行
- 您可以查看ID 1的商品为例
我正在使用公式来解决这个问题。为此,我需要在每个单元格中编写公式。但我想使用 ARRAYFORMULA 解决这个问题,这样我就可以在第一个单元格中编写公式。
这是我现在正在使用的:
=TEXTJOIN(", ",TRUE,ARRAYFORMULA(IF(B2=$B:F1,$C: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))))), ), " ", ", "), "_", " "))
一种方法是使用 REGEXREPLACE()
:
D2
中的公式:
=INDEX(IF(B2:B,IF(VLOOKUP(B2:B,B:C,2,0)=C2:C,"",REGEXREPLACE(TEXTJOIN(",",1,B2:B&"&"&C2:C),"\b(?:"&B2:B&"&"&C2:C&"\b.*|"&B2:B&"&([^,]+,)|.)","")&C2:C),""))
我正在尝试执行以下操作:
- 如果 ID 是唯一的,则“结果”列中不显示任何内容
- 但是,如果 ID 不是唯一的,则写入该 ID 的所有项目,并以逗号 (,) 分隔
- 此条件将检查当前行的第 1 行的范围。不考虑下一行
- 您可以查看ID 1的商品为例
我正在使用公式来解决这个问题。为此,我需要在每个单元格中编写公式。但我想使用 ARRAYFORMULA 解决这个问题,这样我就可以在第一个单元格中编写公式。
这是我现在正在使用的:
=TEXTJOIN(", ",TRUE,ARRAYFORMULA(IF(B2=$B:F1,$C: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))))), ), " ", ", "), "_", " "))
一种方法是使用 REGEXREPLACE()
:
D2
中的公式:
=INDEX(IF(B2:B,IF(VLOOKUP(B2:B,B:C,2,0)=C2:C,"",REGEXREPLACE(TEXTJOIN(",",1,B2:B&"&"&C2:C),"\b(?:"&B2:B&"&"&C2:C&"\b.*|"&B2:B&"&([^,]+,)|.)","")&C2:C),""))