IF 公式不起作用 - 尝试计算正确的物品运费 (Excel)

IF formula not working - Trying to calculate correct shipping costs on items (Excel)

我在尝试执行此公式时遇到问题,但它不起作用。谁能帮帮我?

=IF(JH2="13",CEILING(JD2/0.68+13,0.5)-0.01,""),IF(AND(JH2="6.95",(JD2/0.68))<50,CEILING(JD2/0.68+3,0.5)-0.01,CEILING(JD2/0.68+6.95,0.5)-0.01),IF(AND(M2="CA",ISNUMBER(SEARCH(S2,"INCONTINENCE"))),CEILING(JD2/0.68+6.95,0.5)-0.01,""))

仅供参考,

如果运费是 13,那么将成本价除以 .68,然后加上 13。

如果运费为 6.95 且成本价差 0.68 小于 50 美元,则加 3.00 美元,否则加 6.95。

如果 M2(这是计量单位)有 CA 并且列 S2(这是类别)包含单词 "Incontinence" 然后计算成本价格除以 .68 并添加 6.95 无论如何。

一切都四舍五入。

但无法让该死的东西工作。

试试这个,它是未经测试的:

=IFERROR(CEILING(IF(JH2=13,JD2/0.68+13,IF(AND(JH2=6.95,JD2/0.68<50),JD2/0.68+3,IF(JH2=6.95,JD2/0.68+6.95,IF(AND(M2="CA",ISNUMBER(SEARCH("INCONTINENCE",S2))),JD2/0.68+6.95,"")))),0.5)-0.01,"")

首先是一些唠叨和抱怨。

  1. 不可读的源代码。
  2. 引用未提供值的单元格。

现在是答案(至少是一部分,这取决于我是否遗漏了其他内容)。

如果你开始分解公式,你会注意到第一个 AND 首先有相等的条件(这是正确的)但是你会看到第二个condition only 是一个除法,而与 50 的不等式比较放在外面。

我认为那是你的错误。但这是基于我正确得到公式的假设。

作为在 Excel 中处理复杂公式的一般建议,我通常一次只执行一个步骤(将子结果放在单独的列中以验证它们是否正确)。完成并确认后,我可以将它们合并为一个。