Excel:创建以相同字符开头的数据列表

时间:2014-06-11 19:16:48

标签: excel-formula

我有一个巨大的零件编号列表12SWE-02423,我希望能够只将12SWE零件输入到单元格,并列出所有以12SWE开头的完整零件编号我可以把它们放在一个下拉菜单中。 最好是我可以将12SWE放入单元格A1并在A2中填充下拉菜单。

1 个答案:

答案 0 :(得分:0)

我找到了一种方法来做你想做的事,但有一些权衡(见下文)

1)制作一本新的练习册。在工作表1上将产品编号粘贴到第1列。

2)在单元格b1中写入(无引号)" =left(a1,5)" 。然后填充其余列(复制,选择,粘贴或单击右下角)

3)选择A和B列。转到"数据" - >"排序和过滤" - >" A-Z" (这很重要)

4)选择A栏中的所有数据。右键单击,然后"命名范围"。称之为" PNS" (没有引号)

5)选择B列中的所有数据。右键单击,然后"命名范围"。称之为" PNS_half" (没有引号)

6)在单元格中写入" 12SNE" (或其他测试PN第一部分)

7)转到公式 - >定义的名称 - >定义名称。在名称框中输入" list" (没有引号),而在"中指的是"盒子放(没有引号): =OFFSET($B$2,MATCH($C$1,PNS_half,0)-1,0,COUNTIF(PNS_half,$C$1),1)

8)选择单元格D1,转到"数据" - >"数据验证"。选择"列表"。在"来源"框写(没有引号)" =list"。点击确定。

当您在单元格C1中写入时,单元格D1中的下拉将会改变。

以类似的方式,您可以在C1中下载可能的PN第一部分,一旦选择将反过来填充单元格D1

        [A]             [B]         [C]         [D]
[1]     12SNE-02435     12SNE       12SWE       12SWE-02429(dropdown)
[2]     12SNE-02436     12SNE       
[3]     12SNE-02437     12SNE       
[4]     12SNE-02438     12SNE       
[5]     12SWB-02424     12SWB       
[6]     12SWB-02425     12SWB       
[7]     12SWB-02426     12SWB       
[8]     12SWE-02429     12SWE       
[9]     12SWE-02430     12SWE       
[10]    12SWE-02431     12SWE       

权衡交易:

  • 产品编号列表必须与下拉单元格位于同一工作表中(数据验证公式不会正常工作) - 但您可以隐藏这些列
  • 产品编号必须按字母顺序排序(例如添加后)
  • 如果产品编号出现多次,它也会不止一次出现在下拉列表中。
  • 更改单元格C1中的文本后,D1不会更新,直到打开下拉列表并单击
  • 如果您需要多个下拉框,则需要为每个下拉框创建一个命名范围,并手动设置数据验证列表(或者您可以运行宏来批量执行此操作)