我的数据中,“频率”在 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))....有办法解决这个问题吗?
与 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
)