原贴地址:https://bbs.wps.cn/topic/22128
您好,您的公式非常长,而且嵌套了很多IF函数,这可能会导致公式难以阅读和维护。我建议使用IFS函数来简化您的公式。IFS函数可以让您不必嵌套多个IF,使公式更加清晰。
=IFS(
U4="白关卡航普快", INDEX(AB4:AB23, MATCH(T4, {100,110,120,130,140,150,160,170,180,190,200,250,300,350,400,500,600,800,1000,10000}, 1)),
U4="西线单一品名特快", INDEX(AC4:AC23, MATCH(T4, {100,110,120,130,140,150,160,170,180,190,200,250,300,350,400,500,600,800,1000,10000}, 1)),
U4="北疆特快散货-百货", INDEX(AE4:AE22, MATCH(T4, {100,110,120,130,140,150,160,170,180,190,200,250,300,350,400,600,800,1000,10000}, 1)),
U4="北疆特快散货-服装", INDEX(AG4:AG19, MATCH(T4, {100,110,120,130,140,150,160,170,180,190,200,250,300,350,400,10000}, 1)),
U4="普快散货-百货", INDEX(AI4:AI22, MATCH(T4, {100,110,120,130,140,150,160,170,180,190,200,250,300,350,400,600,800,1000,10000}, 1)),
U4="普快散货-服装", INDEX(AK4:AK19, MATCH(T4, {100,110,120,130,140,150,160,170,180,190,200,250,300,350,400,10000}, 1)),
U4="一带一路小百拼柜", INDEX(AM4:AM23, MATCH(T4, {100,110,120,130,140,150,160,170,180,190,200,250,300,350,400,500,600,800,1000,10000}, 1)),
U4="玩具专线", INDEX(AO4:AO13, MATCH(T4, {120,130,140,150,160,170,180,190,200,10000}, 1))
)
在这个公式中,我使用了INDEX和MATCH函数来查找和返回正确的值。MATCH函数会查找T4单元格中的值在数组中的位置,然后INDEX函数会根据这个位置返回相应的单元格中的值。我还在数组的最后添加了一个很大的数字10000,以便处理T4大于1000的情况。
原公式:2472个字符
新公式:989个字符
优化后的公式使用INDEX和MATCH函数替代了多层嵌套的IF,这样做减少了重复的逻辑判断,使得公式的执行更为高效。
🔔 | 请根据您的实际需要调整单元格范围和数组中的值。如果您有任何疑问,或者需要进一步的帮助,请留言,谢谢。 |