excel - 输出一列中对应于另一列条件的 y 的数量
问题描述
我正在努力输出与两列数据集中最后 5 个“a”相对应的“y”数量,例如,第一列包含由“a”或“b”占据的单元格。第二列包含包含“y”或“n”的单元格。有没有一种方法可以输出与第 1 列的最后 5 个 a 对应的第 2 列中的 y 数?(a 和 b 没有特定的顺序)。
解决方案
如果您的 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' 之一) )
推荐阅读
- mysql - MySQL 5.1.73 更改 general_log 文件的时间戳格式
- azure - 如何阻止 appSetting.config 中的反斜杠加倍
- python - 使用 crontab 安排 Python 脚本不起作用
- postgresql - AND 的参数必须是布尔类型,而不是 postgresql 中的整数类型
- javascript - 如果我选择了第一个下拉菜单,下拉值会发生变化
- python - 将活性探针添加到 Rest API
- r - 如何返回在短信中使用禁止词的学生的 ID(更新)
- magento2 - 保存产品后丰富的片段是可以的,但几分钟后失败,M2.3.4
- c# - C# 将 COM 引用添加到类库
- spring-data - 如何在spring mongodb中按一个字段分组并返回每组另一个字段中具有最大值的行?