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

基于相邻单元格日期文本位置的SUMIF特定数值求和需求

解决方案

针对你遇到的特殊求和场景,核心问题是需要提取J列单元格的公式文本而非计算结果,同时匹配K列多行日期的位置来对应取值,以下是可行的公式方案(适用于Google Sheets):

最终公式

=SUM(IFNA(BYROW('Mar 2017'!$K:$J, LAMBDA(row, 
  LET(
    dates, SPLIT(INDEX(row,1), CHAR(10)),
    nums, SPLIT(SUBSTITUTE(FORMULATEXT(INDEX(row,2)), "=", ""), "+"),
    pos, MATCH(TEXT($A3, "mm/dd/yyyy"), TEXT(dates, "mm/dd/yyyy"), 0),
    VALUE(INDEX(nums, pos))
  ))), 0)

公式拆解

  • FORMULATEXT(INDEX(row,2)):获取J列单元格的原始公式文本(比如=416.19+1987.92+1064.14)
  • SUBSTITUTE(..., "=", ""):去掉公式开头的等号,得到纯数值相加字符串
  • SPLIT(..., "+"):将字符串拆分为单独的数值数组
  • SPLIT(INDEX(row,1), CHAR(10)):把K列单元格的多行日期拆分为日期数组
  • MATCH(...):定位目标日期在日期数组中的位置
  • BYROW(...):遍历K-J列的每一行,对符合条件的行提取对应位置的数值
  • SUM(IFNA(...,0)):汇总所有提取到的数值,忽略错误值(无匹配的行)

注意事项

  1. 确保K列的日期格式与TEXT($A3, "mm/dd/yyyy")的格式完全一致,避免匹配失败
  2. J列的公式必须是纯数值相加的形式(无其他函数或引用),否则拆分逻辑需要调整
  3. 若使用Excel而非Google Sheets,需替换FORMULATEXT为GET.CELL(6, 单元格)(需定义名称或使用宏表函数),同时BYROW和LAMBDA需要Excel 365及以上版本支持

内容的提问来源于stack exchange,提问作者David J. Myers

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 18:43:32