无法在Excel公式中添加更多“if”语句

问题描述 投票:0回答:1

我的数据中,“频率”在 N 列中定义为周或月,在 M 列中定义为“最后完成日期”。频率为:

1周、2周、1个月、3个月、6个月、12个月、24个月、36个月、84个月

我需要将相应的频率添加到我上次完成的日期中。如果添加“月份” - 那么我需要该月的最后一天。我的公式为:

=IF(J2="1 week",K2+7,IF(J2="2 weeks",K2+14,IF(J2="1 month",EOMONTH(EDATE(K2,1),0),IF(J2="3 months",EOMONTH(EDATE(K2,3),0),IF(J2="6 months",EOMONTH(EDATE(K2,6),0),IF(J2="12 months",EOMONTH(EDATE(K2,12),0),IF(J2="24 months",EOMONTH(EDATE(K2,24),0),IF(J2="36 months",EOMONTH(EDATE(K2,36),0),if(J2="84 months",eomonth(K2,84),0),if(or(J2="",K2=""),"Frequency or date not known","Entry Error")))))))))

Excel 生成“参数过多”错误 - 如果我删除最后 2 个 if 语句,则该公式有效(除非我错误地编码了 if(or))....有办法解决这个问题吗?

excel formula
1个回答
0
投票

与 Scot 和 Michal 的建议非常相似:

使用 Excel 2021 及更高版本

=LET(
    j2_, J2,
    k2_, K2,
    j2_count, --LEFT(j2_, FIND(" ", j2_) - 1),
    completed_date, IFS(
        (j2_ = "") + (k2_ = ""),
        "Frequency or date not known",
        ISNUMBER(SEARCH("week", j2_)),
        k2_ + j2_count * 7,
        ISNUMBER(SEARCH("month", j2_)),
        EOMONTH(EDATE(k2_, j2_count), 0),
        TRUE,
        "Entry Error"
    ),
    completed_date
)
© www.soinside.com 2019 - 2024. All rights reserved.