如何在 Excel 中编写一个基于 3 个参数执行计算的 IF 函数?

如何在 Excel 中编写一个基于 3 个参数执行计算的 IF 函数?

我有一张包含三种类型客户的表格:GOV、NProfit 和 COM,包含在 B 列中。每种类型的客户分别获得不同的计费率,分别为 1.50、2 和 3,这些计费率需要应用于 G 列中计费的单位。

我需要在 H 列中编写一个函数,读取 B 列中的客户类型,并将适合该客户类型的费率应用于 G 列中计费的单位,从而在 H 列中给出总账单。

答案1

尽管乍一看很诱人,但嵌套的 IF() 函数并不是处理这种情况的最佳方法。

为了便于维护,我强烈建议建立一个单独的表格,其中包含三种客户类型及其各自的计费率。一个简单的两列表格就可以了。A 列是客户类型,B 列是计费率。

然后您可以使用 VLookup 获取客户类型的计费率。

这种方法的好处是,如果费率发生变化,您不必像上面建议的那样更改所有带有嵌套 IF 语句的单元格。您只需在查找表中更改费率即可。

将查找表放入名为“查找”的新工作表中。第 1 行是标签。A1 是客户类型,B1 是费率。

在原始数据表上,你可以使用像这样的 Vlookup

=VLOOKUP(A1,Lookup!$A$1:$B$4,2,FALSE)

此查找假设客户类型位于当前工作表的 A1 单元格中。请根据您的情况进行调整。此外,您可以将 Vlookup 嵌套到另一个计算中。例如,如果您想进行涉及计费率的计算,您可以执行以下操作

=B1*VLOOKUP(A1,Lookup!$A$1:$B$4,2,FALSE)

其中当前工作表的 A1 是客户类型,当前工作表的 B1 是您想要与相应客户类型的计费率相乘的值。

如果您的数据可能并不总是具有客户类型,您可能需要对没有客户类型的数据使用一些错误捕获。通常,公式会返回错误消息。如果您将公式包装在 IFError() 语句中,则可以标记这些,例如

=IFERROR(B1*VLOOKUP(A1,Lookup!$A$1:$B$4,2,FALSE),"Please check data!")

答案2

您指的是类似这样的事情吗?

=IF(B1=1,"客户1",IF(B1=2,"客户2",IF(B1=3,"客户3","无效选项")))

将 1、2、3 替换为您要“测试”的实际值,并将“客户 1”、“客户 2”、“客户 3”替换为您想要的输出

相关内容