有没有办法在 A1 单元格中使用下拉列表来规定在 A2 单元格中使用哪个公式

Is there a way to use a drop down in A1 cell to stipulate which formula to use in A2 Cell

假设这是完成我想做的事情的最佳方式... 这些是我希望能够在它们之间切换的 2 个论坛:

=150-(EDATE(F2, 37)>TODAY())*37.5-(EDATE(F2, 120)>TODAY())*37.5

=80-(EDATE(F2, 37)>TODAY())*20-(EDATE(F2, 120)>TODAY())*20

为了更好地了解我正在尝试做什么,请查看屏幕截图:

是使用数据验证制作的下拉菜单(全职、兼职)。 根据我的选择,我希望单元格 C1 反映正确的论坛... 顺便看一下 CellA1 的公式,根据服务年限,单元格

中将显示有多少休假天数

如果用户无法在 B2 中输入任何其他内容,您可以使用以下公式:

=IF(B2="Full Time", *FullTimeFormula*, *PartTimeFormula*)

如果用户可能输入自己的数据,则可能要使用以下公式:

=IF(B2="Full Time", *FullTimeFormula*, IF(B2="Part Time",*PartTimeFormula*,"[Error message here]"))

除了兼职版returns全职价值的8/15之外,这两个公式不是在做同样的事情吗?在这种情况下,您可以只使用一个公式,然后在 G2 = "part Time" 的情况下乘以 8/15,例如

=IF(G2="part time",8/15,1)*(150-(EDATE(F2, 37)>TODAY())*37.5-(EDATE(F2, 120)>TODAY())*37.5)

但就我个人而言,我会按照我在您最初的问题 中建议的那样使用 DATEDIF - 这样更容易调整:

然后看起来像这样:

=(MATCH(DATEDIF(F2,TODAY(),"y"),{0,3,10})+1)*IF(G2="part time",20,37.5)

尽管我注意到您将 EDATE 中的 36(代表 3 年)更改为 Jeeped 建议公式中的 37 - 这是故意的吗?

最终答案:

=If(B2="Full Time",150-(EDATE(F2, 37)>TODAY())*37.5-(EDATE(F2, 120)>TODAY())*37.5,If(B2="Part Time",80-(EDATE(F2, 37)>TODAY())*20-(EDATE(F2, 120)>TODAY())*20,0),0)