根据结果​​添加年数的公式

时间:2015-04-22 21:52:41

标签: excel formulas

我正在尝试构建一个Excel电子表格,可以将y / n答案转换为可以在日期中反映的数字。

我有4列 -

  • 日期
  • 辐射
  • 弹片
  • 文件已保存至日期

日期列显示测试日期。第二栏需要反映他们是否需要辐射测试(y / n答案)。第三列需要反映是否需要弹片测试(y / n答案),最后一列显示由先前答案确定的文件保存日期。

想象一下日期是01/01/2010

  • 如果辐射标记为“Y”,则需要在上述日期添加50年。
  • 如果弹片标记为“Y”,则需要在上述日期添加20年。
  • 如果两者都勾选“Y”,则辐射优先,并在该日期加50年(不是50 + 20)。
  • 如果两个都没有勾选“N”,那么你只能加10年。

希望我已正确解释。任何帮助都会很棒。

干杯。

3 个答案:

答案 0 :(得分:1)

= EDATE(A2,IF(B2 = “Y”,50,IF(C2 = “Y”,20,10))* 12)

enter image description here

答案 1 :(得分:0)

假设日期是A列,格式为日期01/01/2010,则B中的标准辐射和C中的Shrapnel答案(此公式)放置在D(但可能是任何地方)单元格中,结果需要格式化为没有小数位的数字。

任何问题让我知道,希望有所帮助:)

=IF(AND(B2="Y",C2="Y"),YEAR(A2)+50,IF(AND(B2="Y",C2="N"),YEAR(A2)+50,IF(AND(B2="N",C2="Y"),YEAR(A2)+20,YEAR(A2)+10)))

答案 2 :(得分:0)

我更喜欢在Excel中保留IF函数尽可能简单。它们可能变得非常复杂,因此在这种情况下,我认为使用MAXIF的组合是一种更清晰的方法。

=EDATE([@Date],MAX(IF([@Radiation]="Y",50,10),IF([@Shrapnel]="Y",20,10))*12)

这给出了这个结果:

+---+------------+-----------+----------+---------------------+
|   |     A      |     B     |    C     |          D          |
+---+------------+-----------+----------+---------------------+
| 1 | Date       | Radiation | Shrapnel | File saved til date |
| 2 | 2010-01-01 | N         | N        | 2020-01-01          |
| 3 | 2010-01-01 | Y         | N        | 2060-01-01          |
| 4 | 2010-01-01 | N         | Y        | 2030-01-01          |
| 5 | 2010-01-01 | Y         | Y        | 2060-01-01          |
+---+------------+-----------+----------+---------------------+

注意:我已经使用ISO日期格式来消除歧义,但是对于给出的数据和此问题产生的结果并不重要。