Excel按Estimated Effort in Hours值匹配IT4YOU T-Shirt的公式问题
Excel 工时区间匹配T-Shirt等级公式问题排查与解决方案
公式错误排查
- 区间边界不匹配:你需求中定义的阈值是0-3h、3-10h,但是现有公式
VERGLEICH函数的判断阈值数组为{0;0,1;16,1;40,1;80,1;160,1},既没有和需求的小时区间对齐,也和后续返回结果标注的PD(人天)单位换算逻辑不统一。 - 入参数量不匹配:
VERGLEICH的阈值数组有6个值,对应WAHL函数需要返回6个结果,但你现有WAHL后仅配置了5个返回值,匹配失败会直接报错。 - 区间逻辑冲突:你使用的
VERGLEICH匹配模式为1(匹配小于等于查找值的最大项),工时为0时会匹配第一个阈值返回-,和你需求中0-3h返回指定值的逻辑冲突。 - 区域格式不兼容:如果是简体中文环境的Excel,公式参数分隔符应为逗号
,而非分号;,小数分隔符应为点.而非逗号,,格式不匹配也会导致公式运行失败。
可行解决方案
方案1:修正原有WAHL+VERGLEICH逻辑
适配你原有公式结构,对齐区间逻辑后公式如下:
- 德语/欧洲区域Excel(分号做参数分隔符、逗号做小数分隔符):
=WAHL(VERGLEICH([@[Estimated Effort in Hours]];{0;3;10;48;80;128};1);"-";"X | 0-3 h";"Y | 3-10 h";"S | 3-5 PD";"M | 6-10 PD";"L | 11-20 PD")
- 简体中文区域Excel:
=WAHL(VERGLEICH([@[Estimated Effort in Hours]],{0,3,10,48,80,128},1),"-","X | 0-3 h","Y | 3-10 h","S | 3-5 PD","M | 6-10 PD","L | 11-20 PD")
注:以上公式默认按1PD=8工时做单位换算,可根据你的实际工时换算规则调整阈值数组的数值。
方案2:IFS函数实现(逻辑更清晰易修改)
不需要对齐阈值数组和返回值的数量对应关系,直接按区间写判断条件即可,后续调整规则成本更低:
- 德语/欧洲区域Excel:
=WENNFEHLER(IFS([@[Estimated Effort in Hours]]<0;"-";[@[Estimated Effort in Hours]]<=3;"X | 0-3 h";[@[Estimated Effort in Hours]]<=10;"Y | 3-10 h";[@[Estimated Effort in Hours]]<=48;"S | 3-5 PD";[@[Estimated Effort in Hours]]<=80;"M | 6-10 PD";[@[Estimated Effort in Hours]]<=160;"L | 11-20 PD";WAHR;"-");"-")
- 简体中文区域Excel:
=IFERROR(IFS([@[Estimated Effort in Hours]]<0,"-",[@[Estimated Effort in Hours]]<=3,"X | 0-3 h",[@[Estimated Effort in Hours]]<=10,"Y | 3-10 h",[@[Estimated Effort in Hours]]<=48,"S | 3-5 PD",[@[Estimated Effort in Hours]]<=80,"M | 6-10 PD",[@[Estimated Effort in Hours]]<=160,"L | 11-20 PD",TRUE,"-"),"-")
内容的提问来源于stack exchange,提问作者YoungProgrammer1009
相关产品推荐
相关产品推荐

