关于Yu童孩个很长但很简单得公式解释
起因
因为一个很卡哇伊得友友想知道这个公式是咋回事,所以在这里简单解释下
if中得循环嵌套
#原来的公式:
=IF(AND(K999=300,V999="无支护"),1.18-0.2, #如果 K999单元值是300 而且 V999的值 是“无支护” 则1.18-0.2,否则看下面的if
IF(AND(K999=300,V999="挡土板"),1.48-0.2, #如果 K999单元值是300 而且 V999的值 是“挡土板” 则1.48-0.2,否则看下面的if
IF(AND(K999=300,OR(V999="挡土板",V999="槽钢(6m)",V999="拉森(9m)",V999="AH型")),1.58-0.2, #如果 K999单元值是300 而且 V999的值是“挡土板”,或者槽钢(6m)或者AH型 则1.58-0.2,否则看下面的if
IF(AND(K999=400,V999="无支护"),1.29-0.2, #如果 K999单元值是400 而且 V999的值是“无支护”, 则1.29-0.2,否则看下面的if
IF(AND(K999=400,V999="挡土板"),1.59-0.2,
IF(AND(K999=400,OR(V999="挡土板",V999="槽钢(6m)",V999="拉森(9m)",V999="AH型")),1.69-0.2,
IF(AND(K999=500,V999="无支护"),1.61,0)
)
)
)
)
)
)
+
IF(AND(K999=500,V999="挡土板"),1.91-0.2,
IF(AND(K999=500,OR(V999="挡土板",V999="槽钢(6m)",V999="拉森(9m)",V999="AH型")),2.01-0.2,0)
)
+
IF(AND(K999=426,V999="无支护"),1.29-0.2,
IF(AND(K999=426,V999="挡土板"),1.59-0.2,
IF(AND(K999=426,OR(V999="挡土板",V999="槽钢(6m)",V999="拉森(9m)",V999="AH型")),1.69-0.2,0)
)
)
经过解析原来得公式可以得出一个问题:就是该公式为了实现得需求是什么?
找出需求
其实就是为了判断单元格得值,然后返回想要得值。
K | V | 值 | 备注 |
---|---|---|---|
300 | 无支护 | 0.98 | |
300 | 挡土板 | 1.28 | |
300 | 槽钢(6m)、 拉森(9m) | 1.38 | |
400、426 | 无支护 | 1.09 | |
400、426 | 挡土板 | 1.39 | |
400、426 | 槽钢(6m)、 拉森(9m) | 1.49 | |
500 | 无支护 | 1.61 | |
500 | 挡土板 | 1.71 | |
500 | 槽钢(6m)、 拉森(9m) | 1.81 |
ifs缩短公式
=ifs(
AND(K999=300,V999="无支护"),0.98,
AND(K999=300,V999="挡土板"),1.28,
AND(K999=300,OR(V999="挡土板",V999="槽钢(6m)",V999="拉森(9m)",V999="AH型")),1.38,
AND(OR(K999=400,K999=426),V999="无支护"),1.09,
AND(OR(K999=400,K999=426),V999="挡土板"),1.39,
AND(OR(K999=400,K999=426),OR(V999="挡土板",V999="槽钢(6m)",V999="拉森(9m)",V999="AH型")),1.49,
AND(K999=500,V999="无支护"),1.61,
AND(K999=500,V999="挡土板"),1.71,
AND(K999=500,OR(V999="挡土板",V999="槽钢(6m)",V999="拉森(9m)",V999="AH型")),1.81
)