我们该如何修正这个公式?我们有一个问题:当C2的值大于500时,单元格会返回0

编程语言 2026-07-08

我们有这个表格:

c2           d2
----------------
100          34

我们需要

  • 若d0等于0,则将c2增加25%
  • 若d0不等于0,则
  • 当c2 < 500时,c2增加40%
  • 当500 < c2 < 1000时,c2增加35%
  • 当1000 < c2时,c2增加30%

这是我们的公式:

=ROUNDUP(IF(D2=0;(C2+C2*25/100);
        (IF(C2<500;(C2+C2*40/100);
        (IF(500<C2<1000;(C2+C2*35/100)*
        (IF(C2>1000;(C2+C2*30/100))))))));2)

解决方案

我不会直接给出答案,但会给你一种寻找答案的方法,使用所谓的“公式审计”:

公式审计

使用Excel的“评估公式”功能,你可以打开一个对话框,里面有一个“Step In”按钮。它会逐步评估你的公式。你只需要预测下一步的结果,一旦你预测错了,或许就找到了问题。

祝你排错愉快。

备选方案1

也许

=ROUNDUP(
    C2 *
        IF(
            D2 = 0,
            1.25,
            INDEX({1.4, 1.35, 1.3}, IFERROR(MATCH(C2, {500, 1000}), 0) + 1)
        ),
    2
)

备选方案2

在此处输入图片描述

在D2单元格尝试以下公式:

=IF(D2 = 0, C2 * 1.25, LOOKUP(D2, {0;500;1000}, C2 * {1.4,1.35,1.3}))
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章