假设这是我想要做的最佳方式...... 这些是我希望能够在两个论坛之间切换的论坛:
=150-(EDATE(F2, 37)>TODAY())*37.5-(EDATE(F2, 120)>TODAY())*37.5
=80-(EDATE(F2, 37)>TODAY())*20-(EDATE(F2, 120)>TODAY())*20
为了更好地了解我正在尝试做什么,这是一个截图:
是使用数据验证进行的下拉(FUll Time,Part Time)。 根据我的选择,我希望Cell C1能够反映出适当的论坛... 顺便说一下,公式看看CellA1,并根据服务年数显示单元格中显示的休假天数
答案 0 :(得分:0)
如果用户无法在B2中输入任何其他内容,您可以使用以下公式:
=IF(B2="Full Time", *FullTimeFormula*, *PartTimeFormula*)
如果用户可以输入自己的数据,您可能需要使用以下公式:
=IF(B2="Full Time", *FullTimeFormula*, IF(B2="Part Time",*PartTimeFormula*,"[Error message here]"))
答案 1 :(得分:0)
除了兼职时间版本返回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)
就个人而言,我会按照我在原始问题here中的建议使用DATEDIF
- 这样会更容易调整:
然后看起来像这样:
=(MATCH(DATEDIF(F2,TODAY(),"y"),{0,3,10})+1)*IF(G2="part time",20,37.5)
虽然我注意到你在{strong> Jeeped 建议的公式中将EDATE
(代表3年)中的36改为37 - 这是故意的吗?
答案 2 :(得分:0)
最终答案:
=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)