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

Google Sheets如何在提取的唯一值之间添加空行?

解决方案

方法一:数组公式自动生成带空行的唯一值列表

在A10单元格输入以下公式,下拉填充即可自动生成每个唯一值后跟空行的结果:

=ARRAYFORMULA(IF(MOD(ROW(A:A)-ROW(A9),2)=1, INDEX(UNIQUE(FILTER(B:B, B:B<>"", B:B<>"Header")), (ROW(A:A)-ROW(A9)+1)/2), ""))

原理说明:

  • UNIQUE(FILTER(B:B, B:B<>"", B:B<>"Header")) 先提取B列中不为空且不是"Header"的所有唯一值,得到干净的目标列表。
  • ROW(A:A)-ROW(A9) 计算当前行与A9的偏移量(A10偏移1,A11偏移2,以此类推)。
  • 通过MOD(偏移量,2)=1判断当前行是否为奇数偏移(对应要显示唯一值的行):若是则用INDEX取对应位置的唯一值;偶数偏移行返回空值,实现间隔空行的效果。

方法二:用FLATTEN快速生成带空行的数组

如果希望一次性生成所有结果(包含末尾空行),可在A10输入:

=FLATTEN(HSTACK(UNIQUE(FILTER(B:B, B:B<>"", B:B<>"Header")), ""))

原理说明:

  • HSTACK(唯一值列表, "") 将每个唯一值与一个空值横向配对,形成类似[["Madrid", ""], ["Barcelona", ""]]的二维数组。
  • FLATTEN 将二维数组展平为一维,直接得到"Madrid"、空、"Barcelona"、空的序列。

为什么你之前的公式只返回第一个值?

你隔行使用的INDEX(...,1,1)固定了取唯一值列表的第1个元素,所以每次都得到相同结果。要实现动态取第n个值,需要让INDEX的行号参数随当前行变化,方法一的公式已自动处理了这个逻辑,无需手动修改行号。

内容的提问来源于stack exchange,提问作者LAmaral

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 21:22:47