将选定的excel下拉列表对象链接到与该对象直接关联的信息

将选定的excel下拉列表对象链接到与该对象直接关联的信息,excel,vba,macos,excel-formula,Excel,Vba,Macos,Excel Formula,问题就在这里。我在excel中创建了一个下拉列表,该列表链接到数据表。数据表由两个字段组成:产品和价格。我链接到此表的下拉列表位于单独的表中,用于计算定价。用户从下拉列表中选择产品,并将相关价格放置在单独的单元格中,然后在该单元格中计算总价。为了让它起作用,我制作了一个非常大的IF公式,其中嵌入了许多IF语句。它成功地工作了一段时间,直到我尝试更改数据表或添加超出当前范围的其他IF语句。Excel会说公式太长了。有没有更简单的方法来实现这一点?我搜索过建议,经常引用VBA,但我的VBA知识基本上

问题就在这里。我在excel中创建了一个下拉列表,该列表链接到数据表。数据表由两个字段组成:产品和价格。我链接到此表的下拉列表位于单独的表中,用于计算定价。用户从下拉列表中选择产品,并将相关价格放置在单独的单元格中,然后在该单元格中计算总价。为了让它起作用,我制作了一个非常大的IF公式,其中嵌入了许多IF语句。它成功地工作了一段时间,直到我尝试更改数据表或添加超出当前范围的其他IF语句。Excel会说公式太长了。有没有更简单的方法来实现这一点?我搜索过建议,经常引用VBA,但我的VBA知识基本上已经过时了。对于如何更好地构建这个公式,有什么建议吗

=IF(C18='data source '!$A$4, 'data source '!$B$4*Pricing!A18,IF(C18='data source '!$A$5, 'data source '!$B$5*Pricing!A18,IF(C18='data source '!$A$6, 'data source '!$B$6*Pricing!A18,IF(C18='data source '!$A$7, 'data source '!$B$7*Pricing!A18))))
使用
VLookup
可以大大简化:

=Pricing!A18 * VLOOKUP(C18,'data source '!$A:$B, 2,FALSE)
p、 为什么在工作表名称的末尾有一个空格(
“数据源”
)?你应该考虑删除它

使用
VLookup
可以大大简化:

=Pricing!A18 * VLOOKUP(C18,'data source '!$A:$B, 2,FALSE)

p、 为什么在工作表名称的末尾有一个空格(
“数据源”
)?你应该考虑删除它。

发布公式,我们无法在不看到它的情况下对其进行优化。它有点长:编辑你的原始帖子以添加它=如果(C18='data source'!$a$4,'数据源'!$B$4*定价!A18,如果(C18='data source'!$a$5,'数据源'!$B$5*定价!A18,如果(C18='data source'!$a$6,'数据源'!$B$6*定价!A18,如果(C18='data source'!$A$7',data source'!$B$7*定价!A18)))这是78个选项。发布公式,我们无法在不看到它的情况下对其进行优化。它有点长:编辑原始帖子以添加它=如果(C18='data source'!$A$4',data source'!$B$4*定价!A18,如果(C18='data source'!$A$5',data source!$B$5*定价!A18,如果(C18='data source'!$A$6'数据源'!$B$6*定价!A18,如果(C18='data source'!$A$7'数据源'!$B$7*定价!A18)))这是78个选项,非常好用!非常容易找到方法。非常感谢你的帮助!空间是自动放置的,没有任何原因。我可能会删除它。再次感谢,这非常好用!非常容易找到方法。非常感谢你的帮助!空间是自动放置的,没有任何原因。我可能会删除它。再次感谢