我试图让我的工作变得更轻松,而且我遇到了一个问题,不仅我不知道如何解决,而且我也不知道为什么会这样。发生在第一位。 所以我试着录制一个宏,为了满足我的需要,我需要根据两个不同的值做一些计算。无论如何。每当我尝试录制宏并插入此公式时,一切都还可以!
=
IF(C1="LPPD";"MIPRU";
IF(C1="LPGR";"DCT";
IF(OR(C1="LPFL";C1="LPCR");"LADOX";
IF(OR(C1="LPPI";C1="LPSJ";C1="LPHR");"NOTMA";
"ERRO"))))
对于其他两个,我知道公式有效,因为我从中得到了预期的结果,但是Excel的宏记录器会弹出一条消息,说明"无法记录"。 以下是另外两个公式:
=
IF(C1="LPGR";"00:15";
IF(C1="LPPD";"00:30";
IF(AND(E1="DH8D";OR(C1="LPSJ";C1="LPHR"));"00:25";
IF(AND(E1="DH8B";OR(C1="LPFL";C1="LPCR"));"01:00";
IF(AND(E1="DH8B";OR(C1="LPPI";C1="LPSJ";C1="LPHR"));"00:30";
IF(AND(E1="DH8D";C1="LPPI");"00:20";
IF(AND(E1="DH8D";C1="LPFL");"00:40";
"ERRO")))))))
另一个:
=
IF(OR(C1="LPPI";C1="LPSJ";C1="LPHR");"FL100";
IF(AND(E1="DH8B";C1="LPPD");"FL120";
IF(AND(E1="DH8D";C1="LPPD");"FL180";
IF(AND(E1="DH8B";C1="LPGR");"FL060";
IF(AND(E1="DH8D";C1="LPGR");"FL080";
IF(AND(E1="DH8B";OR(C1="LPFL";C1="LPCR"));"FL140";
IF(AND(E1="DH8D";C1="LPFL");"FL180";
"ERRO")))))))
出于某种原因,Excel不允许我记录这个公式。你们是否会找出原因?我真的希望你能在这里帮助我! 将此公式转换为VBA将是一个痛苦的****,因为这个方法我只需在第一行输入公式,然后拖动以将它们扩展到以下行......
致以最诚挚的问候。
答案 0 :(得分:0)
用逗号替换所有这些分号。 Excel在技术上现在能够使用分号作为列表分隔符,但它可能会使宏混淆。
例如,请尝试以下第三个公式:
=IF(OR(C1="LPPI",C1="LPSJ",C1="LPHR"), "FL100",IF(AND(E1="DH8B",C1="LPPD"), "FL120",IF(AND(E1="DH8D",C1="LPPD"), "FL180",IF(AND(E1="DH8B",C1="LPGR"), "FL060",IF(AND(E1="DH8D",C1="LPGR"), "FL080",IF(AND(E1="DH8B",OR(C1="LPFL",C1="LPCR")), "FL140",IF(AND(E1="DH8D",C1="LPFL"), "FL180","ERRO")))))))