Google Sheets:统计复选框为FALSE的唯一活动数量
Google Sheets统计复选框为FALSE的活动数量方案
适配当前列布局的公式
针对活动列位于复选框列之前的情况,调整原公式的列索引即可实现需求,公式如下:
=LET( 数据区域, A:C, // 替换为你的实际数据范围(活动列、复选框列、筛选条件列) 复选框状态追踪, SCAN(, INDEX(数据区域,,2), LAMBDA(上一状态, 当前值, IF(当前值=FALSE, 1, IF(当前值=TRUE, 0, 上一状态)))), 目标活动列表, FILTER(INDEX(数据区域,,1), 复选框状态追踪=1, INDEX(数据区域,,3)=Y34), MAP(UNIQUE(目标活动列表), LAMBDA(活动项, {活动项, COUNTIF(目标活动列表, 活动项)})) )
公式逻辑说明
- 定义数据区域:用
LET将数据范围赋值为变量,简化后续引用; - 追踪复选框状态:通过
SCAN遍历复选框列(第二列),当复选框为FALSE时标记为1,TRUE时标记为0,持续传递状态值; - 筛选目标活动:根据状态标记筛选出复选框为
FALSE对应的活动,同时匹配第三列的筛选条件(Y34); - 统计活动次数:对筛选出的活动去重后,统计每个活动的出现频次。
预期输出
应用公式后将得到你需要的结果:
Activity 5 3 Activity 7 1 Activity 8 2
针对你的疑问解答
- Lambda回溯前一个元素:可以实现,比如在
SCAN函数中保留上一次迭代的活动值,例如SCAN(, INDEX(数据区域,,1), LAMBDA(a,c, IF(INDEX(数据区域,,2,ROW(c))=FALSE, c, a))),但本次需求通过调整列索引更高效; - 数组逆序排序:可以用
SORT(数据区域, ROW(数据区域), FALSE)对整个数组逆序,不过此场景下无需逆序即可完成统计。
内容的提问来源于stack exchange,提问作者user3245228
相关产品推荐
相关产品推荐

