艾伦可以使用数据验证来创建单元格有效选择的下拉列表。但是,他实际需要的是更复杂的。他具有大量的商品名称以及相关的商品代码。他可以在单元格B2中创建一个数据验证列表,该列表显示所有项目名称(搅拌器,电动机,泵,罐等)。然后,用户可以选择其中之一。但是,当他在其他地方引用单元格B2时,他希望该引用返回项目代码(而不是项目名称)。因此,参考将返回A,M,P,TK等,而不是搅拌器,电动机,泵,水箱等。

在Excel中没有直接的方法可以做到这一点。原因是因为数据验证列表设置为仅包含一维项目列表。这使列表很容易包含您的项目名称。

但是,您可以稍微扩展使用数据验证列表的方式以获得所需的内容。请按照下列步骤操作:

。在工作表数据右边的某个地方,建立一个数据表。

该表将包含您的商品名称,以及每个商品名称右侧的与该名称关联的商品代码。

。选择包含您的项目名称的单元格。 (不要选择商品代码,仅选择名称。)

。显示功能区的“公式”选项卡。

。单击“已定义名称”组中的“定义名称”工具。 Excel将显示“新名称”对话框。 (请参见图1。)

。在“名称”框中,输入描述性名称,例如ItemNames。 。单击“确定”添加名称,然后关闭对话框。

。选择单元格B2(您要在其中验证列表的单元格)。

。显示功能区的“数据”选项卡。

。单击“数据工具”组中的“数据验证”工具。 Excel将显示“数据验证”对话框。 (请参见图2。)

。使用“允许”下拉列表,选择“列表”。

。在“源”框中,输入等号,后跟您在步骤5中定义的名称(例如= ItemNames)。

。单击确定。

完成这些步骤后,人们仍然可以使用数据验证下拉列表来选择有效的项目名称。现在,您需要参考在步骤1中设置的数据表中的项目代码。您可以使用以下公式来做到这一点:

=VLOOKUP(B2,OFFSET(Itemlist,0,0,,2),2,FALSE)

该公式既可以单独使用(将所需的商品代码放入单元格中),也可以在较大的公式中使用(无论您最初引用的是B2的任何地方)。

如果由于某种原因而无法为商品名称和代码创建数据表,则可以通过创建数组公式来解决该问题:

=INDEX({"A","M","P","TK"},MATCH(B2,{"agitator","motor","pump","tank"},0))

与所有数组公式一样,您可以通过按Ctrl + Shift + Enter来输入此公式。它的最大缺点是,它可能很快变得笨拙,无法保持公式更新,并且对公式中可以包含多少对代码和项目有“生存力限制”。 (该限制由公式长度定义,因此取决于项目名称的长度。)此外,这种方法最好只将项目代码返回到另一个单元格中,而不是将其包含在较大的公式中。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(12078)适用于Microsoft Excel 2007、2010、2013和2016。您可以在此处为Excel的较旧菜单界面找到此技巧的版本:

链接:/ excel-Returning_Item_Codes_Instead_of_Item_Names [返回项目代码而不是项目名称]。