我有一张包含三种类型客户的表格: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”替换为您想要的输出