You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Excel中FILTER函数输出的重复值替换为空白行

实现Excel筛选后地址仅首次显示、后续重复留空的动态数组公式

解决方案公式

假设你的地址列是H列,住户姓名列是I列,道路匹配列是N列,下拉框选择单元格为P1,可以使用以下动态数组公式:

=IFERROR(LET(
    filtered_data, FILTER(H:I, N:N=P1),
    total_rows, ROWS(filtered_data),
    row_sequence, SEQUENCE(total_rows),
    address_list, INDEX(filtered_data,,1),
    name_list, INDEX(filtered_data,,2),
    unique_address_col, IF(
        COUNTIF(INDEX(address_list,1,1):INDEX(address_list,row_sequence-1,1), address_list)=0,
        address_list,
        ""
    ),
    HSTACK(unique_address_col, name_list)
), "")

公式说明

  • LET函数:定义变量简化公式结构,提升可读性
    • filtered_data:筛选出N列匹配P1所选道路的地址、姓名行数据
    • row_sequence:生成筛选结果的行号序列(从1到结果总行数)
    • address_list/name_list:分别提取筛选结果中的地址列和姓名列
  • unique_address_col:通过COUNTIF统计当前行地址在之前行的出现次数,仅首次出现时显示地址,后续重复地址替换为空
  • HSTACK:将处理后的地址列与姓名列合并为二维数组,自动填充所有行
  • IFERROR:无匹配结果时返回空值,避免显示#CALC!错误

自定义适配

如果你的地址、姓名列位置不同,只需调整以下部分:

  • 修改FILTER(H:I, ...)中的列范围,包含你的地址和姓名列
  • 调整INDEX(filtered_data,,1)的列号(1代表地址在筛选结果的第1列)
  • 调整INDEX(filtered_data,,2)的列号(2代表姓名在筛选结果的第2列)

内容的提问来源于stack exchange,提问作者Michael Howard-Sorrell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 04:06:12