使用 Excel 2007,我在一个单元格中得到了 3 个结果,这些信息还取决于另外两个单元格中的内容

使用 Excel 2007,我在一个单元格中得到了 3 个结果,这些信息还取决于另外两个单元格中的内容

在此处输入图片描述

放大: 在此处输入图片描述

我们对 4 位特殊客户设定了特定价格。为了帮助验证发票,我试图避免人为错误。如果某家公司位于第一列,则需要在第 5 个单元格中反映正确的价格。价格取决于请求的天数为 =>3、=2 或 =<1。因此,这有 3 个价格、4 家公司,而且很头疼...

例如1 我无法添加任何参数:

=IF(X30="skanska","110",IF(X30="conway","95",IF(X30="cappagh","90",IF(X30="","80","100"))))

eg2 再次出现过多参数:

=IF(AC18>=3,IF(X18="skanska","110","70 "),IF(X18="conway","90"," 60"))

我有点失落……

现在我正在尝试看一下vlookup并尝试将其与if语句结合起来。

例如 3,我在将两者结合起来时遇到了问题:

=VLOOKUP(A31,vtable_area,4,0)

答案1

在这里,您使用 VLOOKUP 是正确的。我建议采用这种方法:创建一个表格(在另一张表上),其中一列用于特殊客户,另一列用于可能的天数(大概从 1 开始),并在其中输入正确的价格。

那么你的 VLOOKUP 公式可能类似于:

=VLOOKUP(Customer,VTable,Days+1,FALSE)

其中“客户”是您的数据中包含客户名称的列(A 或其他位置)。因此,这将找到具有匹配客户名称的行,然后从匹配天数的列中返回一个值。+1 是为了偏移,以避免包含客户名称的第一列。换句话说,1 天的值在第二列,2 天的值在第三列,等等。因此您的结果可能看起来像:

=VLOOKUP(X31,Lookup_table_area,AC31+1,FALSE)

理想情况下,您可以将其包装在错误捕获条件中,以返回“标准”客户的值。例如:

=IFERROR(VLOOKUP(X31,Lookup_table_area,AC31+1,FALSE),999)

相关内容