Excel嵌套问题

我有一个公式,它返回一个错误,通知IFs嵌套太多。 为了得到我需要的结果,是否有可能以另一种方式做到这一点?

请看下面的例子:

<table> <tr><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td><td>H</td><td>I</td><td>J</td></tr> <tr><td>SKU</td><td>Description</td><td>Height</td><td>Depth</td><td>Width</td><td>Box</td><td>Depth</td><td>Height</td><td>Width</td><td>Exceed by 5%?</td></tr> <tr><td>30200616</td><td>DORMA MIRRORED WALL CLOCK 44*44 CHAMP</td><td>460</td><td>70</td><td>450</td><td>"=IF(G2+H2+I2>=50%*1265, IF(AND(G2<=BOXES!$B$2, H2<=BOXES!$C$2, I2<=BOXES!$D$2), BOXES!$A$2, IF(AND(G2<=BOXES!$B$3, H2<=BOXES!$C$3, I2<=BOXES!$D$3), BOXES!$A$3, IF(AND(G2<=BOXES!$B$4, H2<=BOXES!$C$4, I2<=BOXES!$D$4), BOXES!$A$4, IF(AND(G2<=BOXES!$B$5, H2<=BOXES!$C$5, I2<=BOXES!$D$5), BOXES!$A$5, IF(AND(G2<=BOXES!$B$6, H2<=BOXES!$C$6, I2<=BOXES!$D$6), BOXES!$A$6, BOXES!$A$7))))),BOXES!$A$8)"</td><td>"=MIN(C2:E2)"</td><td>"=MAX(C2:E2)"</td><td>"=SMALL(C2:E2, 2)"</td><td>"=IF(G2+H2+I2>=50%*1265, IF(AND(G2<=BOXES!$B$2, H2<=BOXES!$C$2, I2<=BOXES!$D$2), BOXES!$A$2, IF(AND(G2<=BOXES!$B$7, H2<=BOXES!$C$7, I2<=BOXES!$D$7), BOXES!$A$7, IF(AND(G2<=BOXES!$B$3, H2<=BOXES!$C$3, I2<=BOXES!$D$3), BOXES!$A$3, IF(AND(G2<=BOXES!$B$8, H2<=BOXES!$C$8, I2<=BOXES!$D$8), BOXES!$A$8, IF(AND(G2<=BOXES!$B$4, H2<=BOXES!$C$4, I2<=BOXES!$D$4), BOXES!$A$4, IF(AND(G2<=BOXES!$B$9, H2<=BOXES!$C$9, I2<=BOXES!$D$9), BOXES!$A$9, IF(AND(G2<=BOXES!$B$5, H2<=BOXES!$C$5, I2<=BOXES!$D$5), BOXES!$A$5, IF(AND(G2<=BOXES!$B$10, H2<=BOXES!$C$10, I2<=BOXES!$D$10), BOXES!$A$10, IF(AND(G2<=BOXES!$B$6, H2<=BOXES!$C$6, I2<=BOXES!$D$6), BOXES!$A$6, IF(AND(G2<=BOXES!$B$11, H2<=BOXES!$C$11, I2<=BOXES!$D$11), BOXES!$A$11, BOXES!$A$12)))))))))),BOXES!$A$13)"</td></tr> </table> 

如果项目略大于箱子尺寸,J栏应提供信息。 如果是这样,它应该在这里返回信息。

下面的Bin Size选项卡

在这里输入图像说明

请指导我是否有可能实现该function,避免嵌套限制?

概念validation

概念验证

你所拥有的桌子是我相信你的答案的关键。 您将需要对表进行sorting以满足您的需求,因为以下答案将返回满足所有三个类别的表的第一行。 因此,您可能希望按高度或宽度对表格进行sorting。

 =IF(G2+H2+I2>=1265/2,IFERROR(INDEX($O$3:$O$12,AGGREGATE(15,6,ROW($O$3:$O$12)/(($P$3:$P$12>=G2)*($Q$3:$Q$12>=H2)*($R$3:$R$12>=I2)),1)-ROW($O$3)+1),"BIG KITE"),"No Packaging - Too small") 

该公式假定您的表格在O2到R14的范围内,O2是标题行。

第一个if是必需的,因为你的TOO SMALL检查不遵循你的表的逻辑。 所以我们做特殊情况检查,决定是否要进入表格或先说明它太小。 如果在表上没有find,则返回一个错误。 因此,使用IFERROR我们返回“大风筝”的结果。 随意自定义内引号。 聚合函数然后试图find满足您的尺寸要求的第一行,这就是为什么您的表需要按照图片中显示的方式sorting。 如果你不这样做,那么稍微超过方框1的物品将会select方框2。