Excel 如何列出搜索值的所有可能性?
在我的项目中,我们只是简单地给同样有名字的房间指定位置代码。但可能会有一堆相同的命名位置,具有不同的规范 例如:位置代码:B2-001(B列)Excel 如何列出搜索值的所有可能性?,excel,excel-formula,vba,Excel,Excel Formula,Vba,在我的项目中,我们只是简单地给同样有名字的房间指定位置代码。但可能会有一堆相同的命名位置,具有不同的规范 例如:位置代码:B2-001(B列) 位置名称:Loby(C列) “B2”代表楼层编号和“-”后面的数字,简单地给该房间以形成位置代码,该位置代码对于该房间是唯一的,无论我的列表中还有多少相同的位置名称 我的问题是,我需要一个公式/宏来简单地列出书面位置名称的所有可能位置代码 例如“Loby”- B1-018 B2-034 B2-051 最后,列表(查看/搜索名称和代码的表)和结果(在写下位
位置名称:Loby(C列) “B2”代表楼层编号和“-”后面的数字,简单地给该房间以形成位置代码,该位置代码对于该房间是唯一的,无论我的列表中还有多少相同的位置名称 我的问题是,我需要一个公式/宏来简单地列出书面位置名称的所有可能位置代码 例如“Loby”-
B1-018
B2-034
B2-051
最后,列表(查看/搜索名称和代码的表)和结果(在写下位置名称后列表出现的位置)将在同一工作手册中的两张不同的表中。好吧,让您先用字母然后用数字给所有楼层编号,您可以使用它的concatation来迭代所有楼层索引可能性,如下所示:
Dim MyHotel As New Collection
For i = 1 To 100 'as much as floors numbers you have
For j = 65 To 91 'as much as floor letters you have
MyHotel.Add (Chr(j) & "-" & i) 'chr convert from number using ascii
Next j
Next i
Worksheets.Add After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Select
i = 1
For Each Floor In MyHotel
Cells(i, "A").Value = Floor
i = i + 1
Next
有两种方法可以做到这一点:
也可以使用数组公式。在结果表的A1中输入“Loby”,然后使用CTRL+shift+Enter在A2中输入以下公式并将其下拉:-
=IFERROR(INDEX(List!$B$2:$B$10, MATCH(0, IF($A$1=List!$C$2:$C$10, COUNTIF($A$1:$A1, List!$B$2:$B$10), ""), 0)),"")
它假设您的列表表如下所示:-
结果表应该是这样的:-
No@pnuts,是关于Excel的。
=IFERROR(INDEX(List!$B$2:$B$10, MATCH(0, IF($A$1=List!$C$2:$C$10, COUNTIF($A$1:$A1, List!$B$2:$B$10), ""), 0)),"")