excel求助,急

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:02:36
我作了个公式,主要是显示职工假天数
=IF(D3=1,"1天",IF(D3=2,"2天",IF(D3=3,"3天",IF(D3=4,"4天",IF(D3=5,"4天",IF(D3=6,"5天",IF(D3=7,"5天",IF(D3=8,"6天"))))))))
这个太复杂,而且写到这就不让继续写下去了
请问有更方便简洁的公式吗?

IF函数只能嵌套6层,换个公式你看行吗:
=D3&"天"
没看清你的问题,当数字和天数不一样时不适用。给你两个方法供你参考:
1:建两列辅助列,如:E,F列E1:E31填日期,F1:F31填天数,建立对应关系,公式为:
=VLOOKUP(D3,E1:F31,2)
2: 不建辅助行,直接利用数组,公式为:
=VLOOKUP(D3,{1,"1天";2,"2天";....6,"5天";31,"12天"},2)
每对数中间用英文逗号,各组之间用英文分号。
在关系列表中,相同天数可以合并,保留最小天数一行,如:15,16,17,18,19对应12天,则保留15---12天一行,其他去掉。

我想应该只能这样了吧,就算再简单也简单不到哪里去。看看其他高手的吧,也许有好的意见

方法太多, 无法尽录, 建议用CHOOSE函数, 29个条件都OK
=CHOOSE(D3,1,2,3,4,4,5,5,6)&"天"