下拉功能在2010年工作,但在2007年没有

时间:2013-06-28 17:08:45

标签: excel excel-2007 excel-2010

好的 - 这就是我所拥有的。 一个Excel文件,要求用户填写一些字段。

第一张表格中有一些字段需要填写。 为了帮助用户,某些字段是下拉列表。这是为了确保使用正确的索引值。

用户点击一个单元格(在本例中为N65),该单元格显示一个下拉列表。 显示的值来自单独工作表上范围的第1列。 用户选择Col 1值(在我的情况下为描述)。 相应行的Col 2值(在我的情况下为索引值)将保存到工作表中具有此位功能代码的另一个单元格中。

TA-DA。呀。

2010年效果很好。

当用户使用2007打开文件时,不会显示下拉列表。

这是进入目标单元格的内容,该单元格最终将最终保留Col 2中的索引值。在这种情况下,工作表名为Craft。

= IF(ISNA(VLOOKUP(N65,工艺$ A $ 2:$ B $ 501,2,FALSE)), “”,(VLOOKUP(N65,工艺$ A $ 2:$ B $ 501,2,FALSE) ))

以下是使用命名范围的相同位的变体。

= IF(ISNA(VLOOKUP(N65,工艺,2,FALSE)), “”,(VLOOKUP(N65,工艺,2,FALSE)))

在任何一个示例中,使用Excel 2010时,例如,在用户选择Col 1值后,字段R69最终会填充Col 2值。

基本上,只要你坚持使用那一段功能代码,那么该字段就会被包含用户Col 1选择的行中第二列的VLOOKUP抓取。

工艺表只有两列,共501行:

选择值

工艺描述1 | Craft_1

Craft Desc 2 | Craft_2

等等...

有没有人知道如何使用Excel 2007和2010?

谢谢!

2 个答案:

答案 0 :(得分:1)

  

当用户使用2007打开文件时,不会显示下拉列表。

在Excel 2007中,我们必须创建一个范围名称,以便将DataValidation与另一个工作表中的List一起使用,并在=TheRangeName框中输入Source。在Excel 2010中,这不是必需的,在定义源时,我们可以突出显示另一个工作表中的范围。我怀疑这可能是个问题。

您需要更正数据验证设置以使用=TheRangeName,而不是=Sheet1!A1:A4。在“主页”选项卡上,单击“查找”和“选择按钮,然后选择数据验证。这将选择当前工作表上具有数据验证的所有单元格。或者,单击您知道具有“数据验证”的单元格,然后从“查找和放大”中选择“转到特殊”。选择清单;从这里,您可以选择包含Same验证的所有单元格作为当前单元格。如果找不到任何此类单元格,则需要从头开始重新创建验证。

答案 1 :(得分:0)

我最后使用了pnuts的建议。 = IFERROR(VLOOKUP(DropDown,Codes,2,FALSE),“”)我让它工作的方式是在工作表上使用desc&代码我选择了Desc列并将其命名并在数据验证中使用它,因为它似乎只适用于单个列。然后我命名了Desc& amp;的范围。与VLOOKUP功能一起使用的代码。