Excel中INDEX-MATCH公式返回0的问题求助(提取最新列数据)
问题诊断与解决
数组公式输入方式错误:你的公式包含数组运算逻辑,在Excel 2019及更早版本中,必须按
Ctrl+Shift+Enter三键组合结束输入(不能直接按Enter),否则公式仅会计算第一个单元格的结果,最终返回0。若使用Excel 365/2021,因支持动态数组可直接按Enter,但仍需确保公式逻辑正确。列范围判断逻辑有误:原公式中
IF(Points!$A$1:$Z$1<>"", ...)包含了A1单元格(「Names」标题),这会让MAX计算时将A列的列数纳入统计,而你实际需要的是**日期列(B至Z)**的最新非空列。需将判断范围修改为Points!$B$1:$Z$1<>"",仅统计日期列的有效列。修正后的可用公式:
=INDEX(Points!$B:$Z, MATCH(A2, Points!$A:$A, 0), MAX(IF(Points!$B$1:$Z$1<>"", COLUMN(Points!$B$1:$Z$1)-COLUMN(Points!$B$1)+1)))(旧版Excel输入完成后按
Ctrl+Shift+Enter,新版直接按Enter即可)扩展范围优化建议:如果担心Z列的预留空间不足,可以将公式中的范围替换为Excel最大列范围
$B:$XFD,公式会自动忽略空列,不会影响性能:=INDEX(Points!$B:$XFD, MATCH(A2, Points!$A:$A, 0), MAX(IF(Points!$B$1:$XFD$1<>"", COLUMN(Points!$B$1:$XFD$1)-COLUMN(Points!$B$1)+1)))
内容的提问来源于stack exchange,提问作者Arkymedes
相关产品推荐
相关产品推荐

