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

Google Sheets Array Formula故障求助:余额小于最大预设值时返回FALSE

Google Sheets ArrayFormula余额拆解功能修复

原公式问题根源

原嵌套IF逻辑仅处理了**余额≥最大预设值($B$11)**的场景,当余额小于$B$11时,所有嵌套条件均不触发,直接返回FALSE,完全遗漏了余额匹配次大值、第三大值以及可重复小值的分支。

修正后的ArrayFormula

将D2单元格的公式替换为:

=ArrayFormula(IF(C2:C25=0,"",IF(C2:C25>=0,
  IF(AND(C2:C25>=$B$11,COUNTIF(D$2:D2,$B$11)=0),$B$11,
    IF(AND(C2:C25>=$B$10,COUNTIF(D$2:D2,$B$10)=0),$B$10,
      IF(AND(C2:C25>=$B$9,COUNTIF(D$2:D2,$B$9)=0),$B$9,
        IF(C2:C25>0,INDEX($B$2:$B$8,MATCH(TRUE,$B$2:$B$8<=C2:C25,0)),"")
      )
    )
  ),""))

修正逻辑说明

  1. 优先处理余额为0的情况,返回空值避免无效输出
  2. 从最大的单次可用值($B$11)开始校验:余额足够且未使用过则扣减该值
  3. 依次校验次大($B$10)、第三大($B$9)的单次可用值,逻辑一致
  4. 若三个单次值均无法使用(余额不足或已用过),则从可重复的$B$2:$B$8中匹配最大的不超过当前余额的值,确保拆解步骤最短
  5. 余额为负时返回空值

注意事项

  • 需保证$B$2:$B$8区域为从小到大排序,MATCH(TRUE,$B$2:$B$8<=C2:C25,0)才能准确定位最大可用值
  • 数组公式仅需在D2输入一次,自动填充至D25区域

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 11:02:41