Excel 2010 - IF() 语句内有多个计算

Excel 2010 - IF() 语句内有多个计算

我遇到过需要根据供应链长度计算运费的情况。很简单,但是我需要根据特定日期标准增加金额的情况。

我的示例如下:

  • Shipvalue= 100

  • Date1= 2013 年 1 月 1 日(1 月) - 发货量比平时增加 50%

  • Date2= 2013 年 2 月 1 日(2 月) - 发货量比平时增加 25%

  • Date3= 2013 年 3 月 1 日(3 月) - 发货量比平时增加 25%

    Supply chain length是:

  • 六月至十月 100天

  • 11月 - 3月 140天

  • 四月至六月 100天

我的问题是,随着天数的增加,我的公式:

IF( Date1-(Supply chain length + any extra days)=today's date,
    shipvalue+(shipvalue X 50%),
   IF( Date2-(Supply chain length + any extra days)=today's date,
       shipvalue+(shipvalue x 50%)
      IF( Date2-(Supply chain length + any extra days)=today's date,
           shipvalue+(shipvalue x 50%),
          IF( preceding cell<>0,shipvalue,
             0)
         )
      )
  )

现在的问题是,如果供应链的长度增加,那么公式就会忽略除第一次增加之外的所有增加。因此,我想到添加一个变量,每次增加运输量时,该变量都会递增并进行检查。

那么,我该如何计算增加的​​运费价值,并在 IF 语句的一部分中设置变量?

答案1

您需要研究如何在开发人员功能区上的 VBA 中编写 Select Case 语句。截至目前,您有 4 个 if 语句,它们都试图相互协作,而正如您所发现的那样,这只会导致问题。如果您开始在 VBA 中编写此代码,您将拥有足够的编码能力来完成您想要做的事情。

Private Function shippingvalue()
Select Case cell.value
    Case Date1-(Supply chain length + any extra days)
        today's date,shipvalue+(shipvalue X 50%)
    Case your next case
        your next assigned value
End Select
End Function

相关内容