Google Sheets如何实现多列多行单元格匹配并提取重复组合
谷歌表格四列重复组合提取实现方案
适用场景
针对表格A、B、C、D列分别对应symbol、call/put、exp、strike四个字段,提取四个字段值完全匹配且出现次数≥2的去重组合。
实现公式
方案1:分四列输出结果(保留原字段结构)
在空白列的首个单元格(如F2)输入以下公式即可自动输出所有符合条件的组合:
=QUERY(A:D,"SELECT A,B,C,D WHERE A IS NOT NULL GROUP BY A,B,C,D HAVING COUNT(A) >= 2 ORDER BY A",1)
方案2:合并为单列空格分隔输出(匹配你给出的预期输出格式)
如果需要直接输出AAL Call 1/21/2022 25这种整行空格拼接的格式,使用以下公式:
=BYROW(QUERY(A:D,"SELECT A,B,C,D WHERE A IS NOT NULL GROUP BY A,B,C,D HAVING COUNT(A) >= 2 ORDER BY A",1),LAMBDA(r,TEXTJOIN(" ",TRUE,r)))
参数说明
- 公式末尾的
1代表你的原始数据包含1行表头,QUERY会自动跳过表头统计;如果无表头请将该值改为0,同时删除查询语句里的WHERE A IS NOT NULL即可。 HAVING COUNT(A) >= 2控制重复次数阈值,需要筛选出现≥3次的组合时,将2改为对应数字即可。ORDER BY A是按照symbol字段的字母顺序排序,不需要排序可删除该段语句。
内容的提问来源于stack exchange,提问作者Arbie
相关产品推荐
相关产品推荐

