首页 > 电脑

刚开始学表格,请大神帮忙解释下这个代码的含义,及运算规则,越详细越好。谢谢

更新时间2019-07-01 22:42:58

=IF(A17="","",IF(MID(A17,1,1)="F","",IF(MID(A17,1,1)="H",(MID(A17,2,2)*1.5*IF(MID(A17,4,1)="M",1.1,1)+IF(RIGHT(A17,1)="1",40,15)*H17),IF(MID(A17,1,1)="C",(MID(A17,2,2)*6.6*IF(MID(A17,4,1)="Z",1,1.85)+IF(RIGHT(A17,1)="1",1252,68)*H17),H17*VLOOKUP(A17,代码!$B$2:$D$58,3,0)))))

1 单元格A17为""【空】时:公式返回""【空】;


MID(A17,m,n):A17的值,从第m个字符开始,连续取n个字符;


2 否则,单元格A17的值的首字符MID(A17,1,1)为"F"时:公式返回""【空】;


3 否则,单元格A17的值的首字符MID(A17,1,1)为"H"时:公式返回:

(MID(A17,2,2)*1.5*IF(MID(A17,4,1)="M",1.1,1)+IF(RIGHT(A17,1)="1",40,15)*H17)

首先取A17的第2,3两字符代表的数值乘以1.5的结果,如果A17的第4个字符为"M",该结果再乘以1.1;

然后加上:( (若A17最后一个字符RIGHT(A17,1)为"1",则取40,否则取15),乘以单元格H17的数值)


4 否则,单元格A17的值的首字符MID(A17,1,1)为"C"时:公式返回:

MID(A17,2,2)*6.6*IF(MID(A17,4,1)="Z",1,1.85)+IF(RIGHT(A17,1)="1",1252,68)*H17

首先取A17的第2,3两字符代表的数值乘以6.6的结果,如果A17的第4个字符为非"Z",该结果再乘以1.185;

然后加上:( (若A17最后一个字符RIGHT(A17,1)为"1",则取1252,否则取68),乘以单元格H17的数值)


5 否则,公式返回:H17*VLOOKUP(A17,代码!$B$2:$D$58,3,0)

首先以A17的字符串,比对工作表单"代码"中的$B$2:$B$58,找到相同值后,返回该相同值同一行对应的D列单元格上的数值;然后返回以该数值乘以本工作表单中单元格H17的数值;

其中:VLOOKUP为查询函数:在区间代码!$B$2:$D$58的第1列查询A17的值,找到后,返回该行对应的第3列[即D列]的值。

相关标签:谢谢大神运算

上一篇:易语言如何发送数据给客户端或者服务器

下一篇:如何让图片组成的视频更精美