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

如何理解Google Sheets中的嵌套ARRAYFORMULA数组公式?

Google Sheets数组公式详细解析

核心待解析公式

=ARRAYFORMULA(COUNTIFS(COUNTIFS(A2:A, A2:A), 1, ROW(A2:A), "<="&ROW(A2:A)))

已理解部分说明

你拆分出的以下公式:

=ARRAYFORMULA(COUNTIFS(ROW(A2:A), "<="&ROW(A2:A)))

作用是对每一行,统计当前行及以上的总行数,返回从1开始的递增序列(例如第2行返回1,第3行返回2,以此类推)。

E列公式的疑问解答

E列使用的公式:

=ARRAYFORMULA(COUNTIFS(A2:A, A2:A))

为何空白单元格计数为0?

COUNTIFS对空白单元格的统计规则分两种情况:

  • 真正的空单元格:未输入任何内容(包括没输入=""),COUNTIFS(A2:A, A2:A)在数组模式下,不会将空单元格作为有效匹配值,所以返回0。
  • 输入=""的单元格:这类单元格内容是空文本,属于有明确内容的单元格,COUNTIFS(A2:A, A2:A)会统计所有内容为空文本的单元格数量,所以你在A6输入=""后,只有该行的计数会变化,其他真正的空单元格依然返回0。

嵌套COUNTIFS公式全解析

我们把公式拆成两层逐个分析:

第一层:内层COUNTIFS(A2:A, A2:A)

这是一个数组公式,对A列每一行的内容,返回该内容在A2:A区域中出现的总次数:

  • 若某行内容是Apple且A列中Apple出现3次,该行返回3;
  • 真正的空单元格返回0;
  • 空文本(输入="")返回其在A列的出现次数。

第二层:外层COUNTIFS(..., 1, ROW(A2:A), "<="&ROW(A2:A))

外层公式的作用是统计当前行及以上的行中,内容出现次数恰好为1的行数,也就是累计到当前行时,A列中「唯一值(仅出现一次的内容)」的总数。

外层的两个条件:

  1. COUNTIFS(A2:A, A2:A), 1:筛选出A列中内容只出现过一次的行(包括空文本仅出现一次的情况);
  2. ROW(A2:A), "<="&ROW(A2:A):限定统计范围为当前行及以上的所有行。

组合后,公式最终效果是:对每一行,计算从A2到当前行范围内,所有仅出现过一次的内容的累计数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 08:45:36