如何统计列中行内首次条目行数及行内仅单一条目的列行数
针对两个表格统计需求的解决方案
嘿,我来帮你搞定这两个统计需求!假设我们是在Excel里处理数据(如果是Google Sheets或其他表格工具,逻辑基本一致,公式稍作调整就能用),下面是具体的实现方案:
需求1:统计指定列中条目为所在行首个条目的行数
假设你的数据从第2行开始(第1行是表头),指定统计的列为C列,我们可以用SUMPRODUCT结合数组判断来实现:
=SUMPRODUCT(--(C2:C100<>""), --(MIN(IF(A2:C100<>"", COLUMN(A2:C100), ""))=COLUMN(C:C)))
公式解释:
IF(A2:C100<>"", COLUMN(A2:C100), ""):遍历每行的A到C列,给非空单元格标记对应的列号,空单元格留空MIN(...):提取每行里最小的列号,也就是该行第一个非空单元格的列位置--(MIN(...)=COLUMN(C:C)):判断这个第一个非空单元格的列是否正好是我们指定的C列,符合条件返回1,否则返回0--(C2:C100<>""):确保C列的单元格本身是非空的(毕竟要统计“条目存在”的行)SUMPRODUCT:把两个条件的结果相乘后求和,最终得到符合要求的总行数
需求2:统计指定列存在条目、且所在行未出现第二个条目的行数
这个需求就是要统计:C列有内容,并且整行只有这一个非空单元格(也就是没有第二个条目)的行数,同样用SUMPRODUCT实现:
=SUMPRODUCT(--(C2:C100<>""), --(COUNTA(A2:C100)=1))
公式解释:
COUNTA(A2:C100)=1:统计每行的非空单元格数量,判断是否恰好为1(也就是整行只有一个条目)--(C2:C100<>""):确保这个唯一的条目就在我们指定的C列SUMPRODUCT:将两个条件的结果相乘求和,得到所有符合要求的行数
如果你的数据范围或指定列不同,只需要把公式里的A2:C100和C2:C100替换成你实际的单元格范围就行啦!
内容的提问来源于stack exchange,提问作者DEH
相关产品推荐
相关产品推荐

