Google Sheets多区间工时薪酬计算公式编写求助
正确的Google Sheets薪酬计算公式写法
你之前用AND连接多个IF公式的方式逻辑错误,因为AND是用来判断多个条件同时成立,但你的工时区间是互斥的,应该用分支判断来依次匹配区间。以下是几种可行的正确写法:
嵌套IF公式(最基础通用)
这是最直接的写法,依次判断工时所在区间:
=IF(ISBETWEEN(A1,1,8), C5*1, IF(ISBETWEEN(A1,9,16), C5*2, IF(ISBETWEEN(A1,17,24), C5*3, "")))
最后一个空字符串""可以替换为你需要的默认值(比如0或者"无效工时"),用于处理不在1-24范围内的工时。
SWITCH函数写法(更直观)
Google Sheets支持SWITCH函数,用TRUE作为匹配条件,依次检查每个区间,写法更清晰:
=SWITCH(TRUE, ISBETWEEN(A1,1,8), C5*1, ISBETWEEN(A1,9,16), C5*2, ISBETWEEN(A1,17,24), C5*3, "")
LOOKUP函数写法(最简洁)
因为你的工时区间是连续且倍数递增的,可以用LOOKUP来匹配对应的倍数,公式最简洁:
=C5*LOOKUP(A1, {1,9,17}, {1,2,3})
这里{1,9,17}是每个倍数区间的起始值,{1,2,3}是对应的倍数,LOOKUP会自动匹配A1落在的区间对应的倍数。
内容的提问来源于stack exchange,提问作者Josh Fagan
相关产品推荐
相关产品推荐

