Excel 嵌套如果太多参数无需查找即可修复

Excel nested if too many arguments fix without lookup

我知道以前有人问过这个问题。我想知道是否可以在不使用带索引功能的查找的情况下修复它。我查看了 this 问题并尝试添加 AND 但没有成功。

这是我的公式:

=IF(C49="", "", IF(R49="2 months/mois",DATE(YEAR(C49),MONTH(C49)+2,DAY(C49)), IF(R49="3 months/mois",DATE(YEAR(C49),MONTH(C49)+3,DAY(C49)), IF(R49="4 months/mois",DATE(YEAR(C49),MONTH(C49)+4,DAY(C49)), IF(R49="5 months/mois",DATE(YEAR(C49),MONTH(C49)+5,DAY(C49)),IF(R49="6 months/mois",DATE(YEAR(C49),MONTH(C49)+6,DAY(C49)), IF(R49="7 months/mois",DATE(YEAR(C49),MONTH(C49)+7,DAY(C49)), IF(R49="8 months/mois",DATE(YEAR(C49),MONTH(C49)+8,DAY(C49)), IF(R49="9 months/mois",DATE(YEAR(C49),MONTH(C49)+9,DAY(C49)), IF(R49="10 months/mois",DATE(YEAR(C49),MONTH(C49)+10,DAY(C49)), IF(R49="11 months/mois",DATE(YEAR(C49),MONTH(C49)+11,DAY(C49)),IF(R49="12 months/mois",DATE(YEAR(C49),MONTH(C49)+12,DAY(C49)), "0"))))))))))))

如何修改此公式以免出现太多参数错误?

您可以使用以下方法避免使用多个 IF 语句:

=DATE(YEAR(C49),MONTH(C49)+LEFT(R49,2),DAY(C49))

这将自动从 R49 单元格的前两个字符开始添加月份。 只需要添加判断C49是否为空的条件即可。

编辑:

如果你想检查C49和R49是否为空你可以使用:

=IF(C49="","",IFERROR(DATE(YEAR(C49),MONTH(C49)+LEFT(R49,2),DAY(C49)),"0"))

if C49 is 31st Dec and you add 2 months what result do you expect?

如果您希望它是 2 月 28 日,那么您应该使用@barry houdini 的方法。我的公式(基于您的嵌套 IF)将在 3 月 3 日 return。