我希望创建一个公式,根据多个条件从一个工作簿中选择一个值。
我有一个电子表格,其中包含各种价格和折扣值,具体取决于数量、服务级别和时间长度。我希望制作一个引用此电子表格的新工作簿,当输入三个变量的值时,Excel 将选择正确的对应值。
我不确定是否应该使用 if 或等等
本质上的逻辑是:
如果服务级别为 a(4 个选项)且合同期限为 b(4 个选项)且数量为 c(5 个选项)则每月价格为 x(参考单元格)
我不确定要使用什么语法和公式。任何帮助都非常感谢!
我正在使用 Excel 2013
非常感谢,
安德鲁
答案1
可以通过多种方式实现,具体取决于您的电子表格的外观、您选择选项的方式等等。由于没有任何进一步的信息,也没有进一步说明的回复,我只能举一个例子来说明它的外观。
(请注意,我的excel选项使用分号而不是逗号,对于大多数人来说,此图中的函数代码应该是 =VLOOKUP(B10,Table1,2)*C10*D10*(1-VLOOKUP(D10,Table3,2))
:)
假设它看起来是这样的。别介意它们在同一个工作表上,这很容易改变。
我在这里所做的就是数据验证创建几个下拉列表来选择服务、长度和数量。然后添加一个公式来汇总所选选项的结果。
下面是有关如何操作的简短指南:
步骤1
首先用数据创建表格。它们不必在表格中。
第2步
创建带有数据验证的下拉列表。
选择应代表服务级别的单元格,然后转到数据选项卡并选择数据验证.选择“列表”然后添加源。
对另外两个选择框重复该过程。
注意:对于单列表格(如本例中的表 2),你可以将源范围替换为=INDIRECT("Table2")
步骤 3
把所有内容加在一起。
这是原始问题,在这种情况下,将它们加在一起很简单。
想法是将选项字段相乘,就像
=B10*C10*D10
但在这种情况下,这显然行不通。
首先,B10 显示服务的名称,而不是价格。所以我们用它=VLOOKUP()
来查看服务的价格。VLOOKUP
的语法是 =VLOOKUP (value, table, col_index, [range_lookup])
要查找的值在 B10 中,我们要检查的表是“Table1”,我们想要的结果所在的列是第 2 列(如果不是表,则使用B3:C6效果一样好)。
我们B10
用替换VLOOKUP(B10,Table1,2)
。
现在我们有了=VLOOKUP(B10,Table1,2)*C10*D10
,但是等等,我们还缺少了一些东西!
折扣。我使用与确定数量折扣
相同的方法。VLOOKUP()
VLOOKUP(D10,Table3,2)
在这种情况下,返回值 0.02。但我们不能将其全部乘以 0.02,我们想要 2% 的折扣。因此我们添加(1-在此之前,对 % 取反,得到 0.98。
现在我们可以将其添加到函数中。结果是:
=VLOOKUP(B10,Table1,2)*C10*D10*(1-VLOOKUP(D10,Table3,2))
我希望这个例子能帮助你完成你的项目。祝你好运!
编辑
哦,差点忘了。要引用另一个工作表上的范围、表格或单元格,只需添加工作表名称和!在它前面。因此 Sheet2 上的 B2 表示Sheet2!B2
祝你好运!