regex - 是否可以编写另一个 ARRAYFORMULA 的 ARRAYFORMULA

标签 regex google-sheets google-sheets-formula lookup array-formulas

我正在尝试执行以下操作:

Problem Screen Shot

  • 如果 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))))), ), " ", ", "), "_", " "))

enter image description here

关于regex - 是否可以编写另一个 ARRAYFORMULA 的 ARRAYFORMULA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71836991/

相关文章:

java - 正则表达式仅用一个替换两个(或多个)连续字符?

google-apps-script - 是否可以在 Google-docs 电子表格中定义新函数?

google-sheets - 如何设置多行文本格式以便轻松粘贴到 Google 电子表格中?

google-sheets - 过滤 Google 表格中的非唯一数据集

google-sheets - 如何将 2 个选项卡合并为 1 个结果? (谷歌表格)

java - 检索 domain.tld 的正则表达式

javascript - C++11 std::regex_replace() 创建带有特定字符串问题的正则表达式

c# - 从字符串中删除 unicode 代码的最快方法

curl - 从命令行下载/导出公共(public) Google 电子表格作为 TSV?

math - 如何评估谷歌电子表格中的字符串