Excel动态统计最后12个单元格中数字1出现次数的问题求助
解决方案
方法1:修复原思路——用INDIRECT转换文本引用
你之前的公式拼接出的是文本格式的单元格地址,COUNTIF无法直接识别,用INDIRECT函数把文本转成有效单元格区域即可:
=COUNTIF(INDIRECT("A"&(COUNTIF(A:A,"<>")-11)&":A"&COUNTIF(A:A,"<>")),1)
注意:INDIRECT属于易失函数,每次工作表刷新都会重新计算,数据量较大时可能拖慢性能。
方法2:用OFFSET实现高效动态区域
OFFSET可以基于基点动态生成区域,结合非空单元格计数,能更高效地定位最后12个填充单元格:
=COUNTIF(OFFSET(A1,COUNTIF(A:A,"<>")-12,0,12,1),1)
参数解释:
OFFSET(A1, COUNTIF(A:A,"<>")-12, 0, 12, 1):以A1为起点,向下偏移「非空单元格总数-12」行,列位置不变,选取12行1列的区域,刚好对应最后12个已填充单元格。- 若A列数据无空白,也可以用
COUNTA(A:A)替代COUNTIF(A:A,"<>"),效果一致。
方法3:Excel 365/2021专属——TAKE函数极简实现
如果你用的是支持动态数组的新版Excel,直接用TAKE函数取A列最后12行,公式更简洁且自动更新:
=COUNTIF(TAKE(A:A,,-12),1)
内容的提问来源于stack exchange,提问作者ImFabien75
相关产品推荐
相关产品推荐

