我遇到过需要根据供应链长度计算运费的情况。很简单,但是我需要根据特定日期标准增加金额的情况。
我的示例如下:
Shipvalue
= 100Date1
= 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