一个单元格可以同时具有数据validation和查找吗?

基本上我有2个单元格。 一个是产品说明,一个是产品编号。 现在它的存在方式是,产品描述是数据validation的,产品编号是通过描述查找的。

我想要发生的是能够根据产品编号或产品描述进行查找,以便基本上如果我从下拉列表中select产品编号,则查找产品描述,如果从下拉列表中select产品描述,产品编号是查找。

这是可能的还是我想这是错误的方式?

回答一个老问题,就像没有其他人做的那样。希望这也能帮助别人。 另请参阅代码中的注释。

这不能用Excel公式和validation完成,因为它会创build循环引用 [不是你不能改变循环迭代的次数,但仍然…]

这在VBA中要简单得多…以下是任何想要使用它的代码

 Private Sub Worksheet_Change(ByVal Target As Range) Const sNumRng As String = "$A$1" Const sDescRng As String = "$B$1" '# both sListRngNum & sListRngDesc must be of the same size Const sListRngNum As String = "$K$1:$K$4" Const sListRngDesc As String = "$L$1:$L$4" '# EnableEvnent should be disabled first '# because the code will trigger it again '# by changing the next cell value Application.EnableEvents = False If Target.Address = sNumRng Then Range(sDescRng).Value = WorksheetFunction.Index(Range(sListRngDesc), _ WorksheetFunction.Match(Target.Value, Range(sListRngNum), 0)) ElseIf Target.Address = sDescRng Then Range(sNumRng).Value = WorksheetFunction.Index(Range(sListRngNum), _ WorksheetFunction.Match(Target.Value, Range(sListRngDesc), 0)) End If Application.EnableEvents = True End Sub 

将此代码粘贴到要实现此目的的工作表的工作表模块中。 根据您的需要更改范围地址。 此外,这可能已经完成dynamic数组,集合等..等..但这是非常简单的:)