首页 > 解决方案 > 输出一列中对应于另一列条件的 y 的数量

问题描述

我正在努力输出与两列数据集中最后 5 个“a”相对应的“y”数量,例如,第一列包含由“a”或“b”占据的单元格。第二列包含包含“y”或“n”的单元格。有没有一种方法可以输出与第 1 列的最后 5 个 a 对应的第 2 列中的 y 数?(a 和 b 没有特定的顺序)。

标签: excelexcel-formula

解决方案


如果您的 Excel 版本支持新的动态数组功能,则可以使用:

A具有“a”/“b”数据,列B具有“y”/“n”数据

=SUM((FILTER(B:B,A:A="a")="y")*(SEQUENCE(COUNTIFS(A:A,"a"),1,COUNTIFS(A:A,"a"),-1)<=5))

这个怎么运作:

FILTER(B:B,A:A="a")

溢出范围 (1),“y”/“n”数据的过滤器,其中“a”/“b”数据 =“a”

.

(FILTER(B:B,A:A="a")="y")

'TRUE' / 'FALSE' 的溢出范围 (2):'TRUE' 其中溢出范围 (1) = 'y'

.

COUNTIFS(A:A,"a")

列中“a”的计数A(= 溢出范围 (1) 中的行数)

.

SEQUENCE(COUNTIFS(A:A,"a"),1,COUNTIFS(A:A,"a"),-1)

从 'a' 的数量倒数到 1 的数字溢出范围 (3)

.

(SEQUENCE(COUNTIFS(A:A,"a"),1,COUNTIFS(A:A,"a"),-1)<=5)

“TRUE”/“FALSE”的溢出范围 (4):“TRUE”,其中溢出范围 (3) <= 5(即最后 5 个“a”)

.

SUM(( ... )*( ...))

溢出范围之和 (2) * 溢出范围 (4)
即 Sum( (A 列 = 'a' 和 B 列 = 'y') * ('a' 是最后 5 个 'a' 之一) )


推荐阅读