2012-04-26 141 views
0

我有公式看起来像下面这样:

=(IF(ISBLANK(B1),1, (IF($B1="Banana", 2.23, IF($B1="Cherry",3.5))))*C1*A1)

在这里,B1单元格的值被从数据有效性下拉列表,它不像上面的例子很让拉,很很长,有许多IF和OR操作员。它很快就不可能在我自己的公式中维护所有bannans和樱桃的关系。有什么点更新列表和公式与大部分相同的信息 - 只是为了给用户一个下拉列表:/

一个选项将是我把乘数值与下拉列表,然后使用VALUE(RIGHT(B1,LEN(B1)-FIND("x",B1))to pull it out。但在这种情况下,乘数是一个很长的小数,并会引起混乱给最终用户,如:“香蕉0.000000d325001”

我看到两种可能性:

1.Find办法隐藏从乘法器通过某种预处理在下拉菜单中显示给用户或者

  1. 找到一种方法将香蕉和樱桃联系在某种数组中键:不会显示的值关系在下拉菜单中。

有没有人知道这可能会实现 - 是可行的还是只是一个受伤的世界?

感谢大家的帮助。

+0

你有没有想过使用'VLOOKUP()'为“数组键:值关系”? – ktdrv 2012-04-26 21:56:02

+0

对于Excel来说是个新东西,所以并不知道VLOOKUP(),但是在帮忙的时候,我不知道我明白了。我可以将它与我设置的指定列表一起使用 - 将“香蕉”的值放在相邻列中吗? – orionrush 2012-04-26 22:03:04

+0

好吧,我想我更了解它。 - 但这仍然意味着我必须知道查找和列值并将它们插入到公式中。我意识到我想要一些动态的东西。就像我在列表中添加一个值时,它在下拉列表中显示为一个选项 - 我不想更新新查找值的公式。我想让公式看到用户选择“香蕉”,并知道在“香蕉”栏中搜索栏“A”,然后在相邻的单元格中查找该值。那可能吗?我开始寻找一个例子。 – orionrush 2012-04-26 22:11:52

回答

1

基本上两列命名的范围,你只需要与你的水果/价格信息一个表,那么你的查找和验证遵循该表。现在

Screen capture of Excel spreadsheet showing VLOOKUP formula and data

,我看到你的第二个意见,这个问题有点棘手。我会使用命名范围。而不是使用=VLOOKUP(B1,G$1:H$3,2,FALSE),请使用=VLOOKUP(B1,FruitTable,2,FALSE)

FruitTable是一个命名范围。您可以选择G1:H3,然后在配方栏左侧的框中输入FruitTable(在上图中,这是其中包含“C1”的框;如果您在该框中单击,它会让你输入一个名字)。

您也可以在验证菜单中使用此“命名范围”技术,除非您只想选择G1:G3并为其指定不同的名称,例如FruitList。然后,当您设置验证时,请使用=FruitList作为源。

现在,当您将新项目添加到列表中时,您只需调整命名范围(使用公式/名称管理器)即可。

+1

如果您向列表* inbetween *其他值中插入新项目,则会自动调整您命名的范围。在这种情况下,使用虚拟物品作为列表“分隔符”也是有用的。 – mousio 2012-04-29 20:47:33

+0

许多人非常感谢大家的帮助 - 我已经能够从您的优秀示例中拼凑出一份工作文档。丹麦 - 精彩的解释。正是我需要完成这项工作。 – orionrush 2012-04-30 18:55:09

+0

很高兴能帮到你! – devuxer 2012-04-30 21:12:32

0
=(IF(ISBLANK(B1), 1, VLOOKUP(B1,YOUR_NAMED_RANGE,2,FALSE)*C1*A1) 

哪里YOUR_NAMED_RANGE是包含香蕉,樱桃等在col1和乘法器在col2的