excel 2003需要比较来自b8的文本值,然后比较来自m8的文本值,然后根据它计算结果的值

时间:2014-02-23 18:54:39

标签: excel excel-2003

请原谅我,因为我在30年内没有做过任何编程,我希望我在主题行中提出的问题是有道理的。 好吧,我已经找到了基本方程并且正在工作,但我不明白如何让它看另一列并继续。  列b8可以是以下任何文本字段“uta-can”或“uta-acc”或“uta-hrt”或“m-di” 如果是的话那么我的S8公式就是

=IF(B8="UTA-CAN",O8*3.6,IF(B8="M-DI",O8*3.15,IF(B8="UTA-ACC",O8*3.15,IF(B8="","",IF(B8="UTA-HRT",O8*3.6)))))

这有效。

我现在需要检查列m8,如果文本是“检查”,则不需要进行任何更改

如果m8为“CC”,我需要s8B8计算为

=IF(B8="UTA-CAN",O8*.4*6,IF(B8="M-DI",O8*.4*6,IF(B8="UTA-ACC",O8*.4*6,IF(B8="","",IF(B8="UTA-HRT",O8*.4*6)))))

如果m8为“AE”,我需要s8来计算B8

=IF(B8="UTA-CAN",O8*.4,IF(B8="M-DI",O8*.4,IF(B8="UTA-ACC",O8*.4,IF(B8="","",IF(B8="UTA-HRT",O8*.4)))))

我希望你能帮助我。

1 个答案:

答案 0 :(得分:0)

我建议你在工作簿的任何空白处创建矩阵,你的公式会更简单:

=IF(B8="","",O8*VLOOKUP(B8,$V$2:$Y$5,1+MATCH(M8,$W$1:$Y$1,0),0))

enter image description here

或者如果您不想在工作表上创建矩阵,可以直接在公式中创建:

=IF(B8="","",O8*VLOOKUP(B8,{"uta-can"; 3.6;  2.4; 0.4,
                            "uta-acc"; 3.15; 2.4; 0.4,
                            "uta-hrt"; 3.15; 2.4; 0.4,
                            "m-di";    3.6;  2.4; 0.4
                           },1+MATCH(M8,{"check","CC","AE"},0),0))

根据您的本地设置,您在第二个公式中使用;,可能会遇到一些问题,这就是我添加test workbook链接的原因(T8中的第二个公式}})