Excel中如何用相对引用统计行数?及按用户统计指定内容出现次数
Excel 相对引用实用技巧解答
嘿,针对你提出的两个问题,我来一步步给你拆解:
1. 用相对引用统计行数
其实用相对引用统计行数,核心是让公式下拉时能自动适配当前行的范围。举两个常见场景:
- 统计从表头到当前行的总行数:比如在B2单元格输入
=ROW()-ROW(A$1),这里ROW(A$1)是固定表头行的绝对引用,ROW()是当前行的相对引用,下拉后ROW()会自动变成对应行号,就能算出到当前行的行数。 - 统计某列从表头到当前行的非空单元格数:在B2输入
=COUNTA(A$1:A2),这里A2是相对引用,下拉时会扩展成A3、A4...,从而动态统计范围里的非空行数。
2. 按用户统计SHEET1中COL1列“x”的出现次数
这个需求用COUNTIFS函数就能完美解决,而且能自然用到相对引用,比单独用COUNTIF更简单靠谱。
假设SHEET2的A列是用户名(A2=user_a,A3=user_b,A4=user_c),要在B列输出对应统计结果,直接在SHEET2的B2单元格输入:
=COUNTIFS(SHEET1!$A:$A, A2, SHEET1!$B:$B, "x")
输入完成后下拉填充整列就行。
引用逻辑说明:
SHEET1!$A:$A和SHEET1!$B:$B用了绝对引用(加了$),目的是下拉时统计范围不会偏移,始终锁定SHEET1的整列数据;A2是相对引用,下拉时会自动变成A3、A4...,对应SHEET2里的每个用户名,精准匹配每个用户在SHEET1中的记录,统计COL1为“x”的次数。
用你提供的测试数据验证,结果完全符合预期:user_a得1,user_b得0,user_c得2。
如果非要用COUNTIF的话,虽然可以结合INDIRECT实现,但写法复杂且容易出错,不推荐,还是COUNTIFS更直观稳定。
内容的提问来源于stack exchange,提问作者linuxfix
相关产品推荐
相关产品推荐

