如何用COUNTIF统计数据库中最后30条指定条件的记录
统计Excel数据库最后30条符合条件的记录
原公式会统计E列所有符合条件的记录,要限定只统计最后30条,需先定位到目标列的最后30行数据,再用COUNTIF完成统计。
适用于Excel 365/2021及以上版本(支持动态数组)
直接用TAKE函数提取E列最后30行,公式如下:
=COUNTIF(TAKE(Database!E:E,-30)," "&[@[Jogador Casa]]&" "&[@[Jogador Fora]]&" ")
TAKE(Database!E:E,-30):自动提取Database表E列的最后30条非空数据,忽略表头和空行- 条件部分保留原逻辑,通过前后空格确保匹配完整的球员名称组合,避免部分字符匹配导致的误统计
适用于旧版Excel(无动态数组支持)
用OFFSET函数定位最后30行范围,公式如下:
=COUNTIF(OFFSET(Database!E1,COUNTA(Database!E:E)-30,0,30,1)," "&[@[Jogador Casa]]&" "&[@[Jogador Fora]]&" ")
COUNTA(Database!E:E):统计E列非空单元格总数(包含表头)OFFSET(Database!E1,COUNTA(Database!E:E)-30,0,30,1):从E1单元格开始,向下偏移「总行数-30」行,生成一个30行1列的区域,即E列最后30条数据
特殊情况处理(E列存在空行)
如果Database表E列有零散空行,COUNTA会统计不准确,此时改用以下数组公式(输入后按Ctrl+Shift+Enter确认):
=COUNTIF(INDIRECT("Database!E"&MAX(ROW(Database!E:E)*(Database!E:E<>""))-29&":E"&MAX(ROW(Database!E:E)*(Database!E:E<>"")))," "&[@[Jogador Casa]]&" "&[@[Jogador Fora]]&" ")
该公式通过MAX(ROW(Database!E:E)*(Database!E:E<>""))获取E列最后一行的行号,再计算出最后30行的起止范围,彻底避免空行干扰统计结果。
内容的提问来源于stack exchange,提问作者Marco Túlio Fonseca
相关产品推荐
相关产品推荐

