Google Sheets公式求助:指定已计数单元格为最小值后执行常规计数
Google Sheets 动态数据统计解决方案
针对动态更新的数据集,要实现「为每个被统计的取值先记录其最小值,再统计该值出现次数」的需求,可以用动态数组函数组合来实现,无需手动更新公式或拖拽填充:
核心公式示例
假设原始数据在A2:A(待统计的取值列),在空白单元格输入以下公式:
=ARRAYFORMULA( IFERROR( QUERY( {A2:A, A2:A}, "SELECT Col1, MIN(Col2), COUNT(Col1) WHERE Col1 IS NOT NULL GROUP BY Col1 LABEL Col1'取值', MIN(Col2)'最小值', COUNT(Col1)'计数'", 1 ) ) )
公式说明
{A2:A, A2:A}:将原始数据列复制为两列,作为QUERY函数的数据源SELECT Col1, MIN(Col2), COUNT(Col1):按取值分组,提取每组的取值、该组的最小值、该组的计数WHERE Col1 IS NOT NULL:忽略空单元格,避免统计无效数据GROUP BY Col1:按取值分组计算LABEL ...:自定义结果表头,方便阅读ARRAYFORMULA:确保公式能自动适配A2:A中新增的行数据,无需手动调整IFERROR:屏蔽空数据时的错误提示
替代方案(用MINIFS+COUNTIFS)
如果更习惯用基础函数组合,也可以用以下公式(假设在C2输入,自动扩展):
=ARRAYFORMULA( IF(ROW(A2:A)=2, {"取值", "最小值", "计数"}, IFERROR( VLOOKUP( UNIQUE(FILTER(A2:A, A2:A<>"")), {A2:A, MINIFS(A2:A, A2:A, A2:A), COUNTIFS(A2:A, A2:A)}, {1,2,3}, FALSE ) ) ) )
这个方案通过UNIQUE(FILTER(...))动态获取所有非空的唯一取值,再用VLOOKUP匹配对应的最小值和计数,同样支持数据动态更新。
内容的提问来源于stack exchange,提问作者Scraper2022
相关产品推荐
相关产品推荐

