google-sheets - 从 ArrayFormula 中删除重复项
问题描述
现在,我的公式是:
=ARRAYFORMULA(TEXTJOIN(", ", TRUE, IF(REGEXMATCH(B2:D7,F2),A2:A7,"")))
它返回找到的值,但问题是它返回重复项。
例如,如果在同一行的多个单元格中找到该值,它将返回:'Evolution, Route 158, Route 161, Route 161, Route 161'。我想知道的是如何删除这些重复项,或者使搜索只搜索“唯一”值。
解决方案
尝试
=ARRAYFORMULA(TEXTJOIN(", ", TRUE, UNIQUE(TRANSPOSE(IF(REGEXMATCH(B2:D7,F1),A2:A7,)))))
编辑:上面的公式必须创建一列匹配的单元格。这应该工作
=ARRAYFORMULA(join(", ", substitute(unique(transpose(split(textjoin(" ", 1, query(UNIQUE(TRANSPOSE(IF(REGEXMATCH(B2:D7,F1),substitute(A2:A7, " ", "|"),))),,rows(A2:A7))), " "))), "|"," ")))
但更好/更简单的方法是尝试类似
=JOIN(", ", FILTER(A2:A7, MMULT(--regexmatch(B2:D7, F1), TRANSPOSE(COLUMN(B1:D1)^0))>0))
这个公式“计算”每行的匹配数,然后 FILTER() 返回 A 中的值,计数 > 0。看看这是否有帮助?
推荐阅读
- multithreading - 如何在 SpecFlow (MS-Test) 的后台线程上运行实体框架
- wordpress - wordpress 块创建一个包含各种文本大小和间隙的文本框
- python - Python 分工很多?为什么?
- html - Angular 如何正确地 ngFor 嵌套对象?
- c++ - C++ 类函数与 C# 的比较
- javascript - API 调用限制及处理方法
- javascript - Discord 机器人存在
- uicollectionview - UICollectionViewCompositionalLayout 更新单元格高度
- python - NaN 值试图过滤熊猫数据框中的行
- reactjs - redux 状态在导航或浏览器后退按钮后恢复到以前的状态