Excel 相邻格重复值未填时,如何批量搜索匹配顶的详细数据
例题描述和简单分析
有 Excel 文件,数据如下所示:
行式工作表 sheet1 是源数据,C1-C5 是列名,其中 C1 是分类列,数据已按 C1 排序;sheet2 是序列类型的参数,对应 C1;现在要根据参数从 sheet1 取 C1-C5 列,形成新工作表,其中 C1 列只保留每类第 1 条,其他条置空,结果如下:
解法及简要说明
使用 Excel 插件 SPL XLL
在空白单元格写入如下代码:
=spl("=E(?1).select(?2.conj().pos(#1)).group(#1).(~.run(if(#==1,,#1=null))).conj()",Sheet1!A1:E14,Sheet2!A1:A5)
如图:
简要说明:
先批量查找序表的第一列与序列匹配的记录,然后按第一列分组,将每组内的第一列(除第一行)的值设为空值,合并。
英文版
凑个热闹…
这个题如果在 IDE 里写要注意引用字段名时加上单引号,比如’C1’,因为字段名跟 IDE 代码格名称会有歧义。