我正在尝试构建一个Excel电子表格,它可以将y/n答案转换为一个数字,然后该数字可以反映在日期上。
我有四栏-
date列显示测试的日期。第二列需要反映它们是否需要辐射测试(y/n答案)。第三列需要反映它们是否需要弹片测试(y/n答案),最后一列显示由前面的答案决定的文件保存日期。
假设日期是2010年01月1日
希望我解释得对。任何帮助都会很好。
干杯。
发布于 2015-04-22 23:09:29
试一试
=EDATE(A2,IF(B2="y",50,IF(C2="y",20,10))*12)
发布于 2015-04-22 22:32:35
假设日期为A列,格式为日期01/01/2010,则B中的标准辐射和C中的碎片,答案(这个公式)放置在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)))
发布于 2015-04-22 23:34:25
我更喜欢在Excel中尽可能简单地使用IF
函数。它们可能会变得非常复杂,所以在这种情况下,我认为使用MAX
和IF
的组合是一种更干净的方法。
=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的日期格式作为消除歧义的问题,但是对于给出的数据和在这个问题中产生的结果来说并不重要。
https://stackoverflow.com/questions/29809573
复制相似问题