0

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

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

用户单击一个单元格(在本例中为 N65),该单元格显示一个下拉列表。显示的值来自单独工作表上某个范围的第 1 列。用户选择一个 Col 1 值(在我的例子中是描述)。相应行的 Col 2 值(在我的例子中是索引值)被保存到工作表上的另一个单元格中,其中包含该位函数代码。

达达 是的。

在 2010 年工作得很好。

当用户使用 2007 打开文件时,不会出现下拉菜单。

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

=IF(ISNA(VLOOKUP(N65,Craft!$A$2:$B$501,2,FALSE)),"",(VLOOKUP(N65,Craft!$A$2:$B$501,2,FALSE)))

这是使用命名范围的同一位的变体。

=IF(ISNA(VLOOKUP(N65,Craft,2,FALSE)),"",(VLOOKUP(N65,Craft,2,FALSE)))

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

基本上,无论您在哪里粘贴该功能代码,该字段都将填充 VLOOKUP 从 Col 2 为包含用户的 Col 1 选择的行获取的任何内容。

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

选择一个值

工艺说明 1 | 工艺_1

工艺描述 2 | 工艺_2

ETC...

有没有人知道如何使用 Excel 2007 和 2010 进行这项工作?

谢谢!

4

2 回答 2

1

当用户使用 2007 打开文件时,不会出现下拉菜单。

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

您需要更正要使用的数据验证设置=TheRangeName,而不是=Sheet1!A1:A4. 在 Home 选项卡上单击 Find & Select 按钮并选择 Data Validation。这将选择当前工作表上具有数据验证的所有单元格。或者,单击您知道具有数据验证的单元格,然后从 Find & Select 列表中选择 Go To Special;从这里您可以选择包含Same验证的所有单元格作为当前单元格。如果找不到任何此类单元格,则需要从头开始重新创建验证。

于 2013-06-30T18:13:53.253 回答
0

我最终使用了 pnuts 建议。=IFERROR(VLOOKUP(DropDown,Codes,2,FALSE),"") 我让它工作的方式是在带有 desc 和代码的工作表上,我选择了 Desc 列并将其命名并在数据验证中使用它,因为它似乎只适用于单列。然后,我将 Desc 和代码的范围命名为与 VLOOKUP 函数一起使用,并且有效。

于 2013-07-01T18:37:06.093 回答