You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中获取3D区域内最后一个非空单元格的返回值?

获取Excel 3D区域中最后一个非空单元格的值

看起来你已经把跨工作表汇总的基础功能搞定了,那针对「获取3D区域最后一个非空单元格值」这个需求,我可以根据你使用的Excel版本给出不同的解决方案:

方案1:适用于Excel 365/2021及以上(支持动态数组)

直接用TAKE和FILTER组合,简洁高效:

=TAKE(FILTER(Jul:Jun!B3, Jul:Jun!B3<>""), -1)
  • 原理:FILTER(Jul:Jun!B3, Jul:Jun!B3<>"")会筛选出Jul到Jun这12张工作表中B3单元格的所有非空值,形成一个动态数组;TAKE(..., -1)则提取这个数组的最后一个元素,也就是你要的最后一个非空单元格的值。

方案2:适用于旧版Excel(无动态数组支持)

用经典的LOOKUP函数实现,兼容性拉满:

=LOOKUP(2, 1/(Jul:Jun!B3<>""), Jul:Jun!B3)
  • 原理:1/(Jul:Jun!B3<>"")会把非空单元格转换为1,空单元格转换为#DIV/0!错误值;LOOKUP函数在查找比所有1都大的2时,会自动忽略错误值,并匹配最后一个有效的1对应的单元格值,也就是最后一个非空的内容。

额外注意事项

  • 确保所有月度工作表的结构完全一致,目标单元格(比如B3)的位置在所有表中都相同,否则3D引用会出现错误。
  • 如果所有工作表的目标单元格都为空,上述公式会返回#N/A,你可以用IFERROR包装来优化显示:
    =IFERROR(LOOKUP(2, 1/(Jul:Jun!B3<>""), Jul:Jun!B3), "无有效数据")
    
  • 要是需要给季度工作表实现相同功能,只需把引用范围换成对应季度的月份即可,比如Q1对应Jul-Sep,公式为:
    =LOOKUP(2, 1/(Jul:Sep!B3<>""), Jul:Sep!B3)
    

内容的提问来源于stack exchange,提问作者user4907546

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:27:05