如何根据其他日期,请求类型和优先级值

时间:2018-03-20 14:07:43

标签: excel vba excel-vba

今天我想找出为我的问题创建解决方案的最佳方法。 我正在尝试生成截止日期(第J列)。此截止日期基于另一个日期(列N),因此从该日期开始,我需要检查优先级(列L),其中有4个不同的值。优先级:2,3,4或5.优先级是K列。然后我需要检查C列中字符串的前两个字母。 C列中有3种不同的选项可供选择,如DR和SR以及A4,但A4可以一起忽略。以下是DR和SR的公式

DR'S --------------------------------------------------------

2A (or B) - Column N + 29 = Column J(The solution)
=DATE(YEAR(N29)+0,MONTH(N29)+0,DAY(N29)+29)

3A (or B) - Column N + 89 = cColumn J(The solution)
=DATE(YEAR(N29)+0,MONTH(N29)+0,DAY(N29)+89)

4A (or B) - Column N + 179 = Column J(The solution)
=DATE(YEAR(N29)+0,MONTH(N29)+0,DAY(N29)+179)

5A (or B) - Column N + 364 = Column J(The solution)
=DATE(YEAR(N29)+0,MONTH(N29)+0,DAY(N29)+364)

SR'S -----------------------------------------------------------

2A (or B) - Column N + 89 = Column J(The solution)
=DATE(YEAR(N29)+0,MONTH(N29)+0,DAY(N29)+89)

3A (or B) - Column N + 179 = Column J(The solution)
=DATE(YEAR(N29)+0,MONTH(N29)+0,DAY(N29)+179)

4A (or B) - Column N + 269 = Column J(The solution)
=DATE(YEAR(N29)+0,MONTH(N29)+0,DAY(N29)+279)

5A (or B) - Column N + 364 = Column J(The solution)
=DATE(YEAR(N29)+0,MONTH(N29)+0,DAY(N29)+364)

我希望能够朝着正确的方向努力,以及对实现这一目标的最佳方式的一些见解。

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试,

=m29+if(left(c29, 2)="DR", choose(left(k29)-1, 29, 89, 179, 364), if(left(c29, 2)="SR", choose(left(k29)-1, 89, 179, 279, 364), 0))

可能需要将目标单元格的格式设置为日期,否则您可能会收到类似43,089的答案。