关于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
)

posted @ 2023-11-20 15:32  SheZQ  阅读(4)  评论(0编辑  收藏  举报