我有一个包含三种类型客户的表:GOV,NProfit和COM,包含在B列中。每个客户都收到不同的计费率,分别为1.50,2和3,需要应用于G栏中的单位。
我需要在H列中编写一个函数来读取B列中的客户类型,并将客户类型的适当费率应用于G列中的单位,在H列中给出总帐单。
我有一个包含三种类型客户的表:GOV,NProfit和COM,包含在B列中。每个客户都收到不同的计费率,分别为1.50,2和3,需要应用于G栏中的单位。
我需要在H列中编写一个函数来读取B列中的客户类型,并将客户类型的适当费率应用于G列中的单位,在H列中给出总帐单。
Answers:
虽然初看起来很诱人,但嵌套的IF()函数并不是处理这种情况的最佳方法。
为了便于维护,我强烈建议建立一个包含三种客户类型及其各自计费率的单独表格。一个包含两列的简单表格就可以了。 A列是客户类型,B列是计费率。
然后,您可以使用VLookup获取客户类型的计费率。
这种方法的好处是,如果计费率发生变化,您将不必像上面建议的那样使用嵌套的IF语句更改所有单元格。您只需在查找表中更改结算费率。
将查找表放入一个名为“Lookup”的新工作表中。第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!")