Excel formula Excel:制作以相同字符开头的数据列表

Excel formula Excel:制作以相同字符开头的数据列表,excel-formula,Excel Formula,例如,我有一个巨大的零件号12SWE-02423列表,我希望能够将12SWE零件输入一个单元格,并列出以12SWE开头的所有完整零件号,以便我可以将它们放在下拉菜单中。 最好是这样,我可以将12SWE放入单元格A1中,让下拉菜单填充到A2中。我找到了一种方法来做您想做的事情,但有一些权衡(见下文) 1) 制作新工作簿。在第1页上,将产品编号粘贴到第1列 2) 在单元格b1中写入(无引号)“=左(a1,5)”。然后填充列的其余部分(复制、选择、粘贴或单击右下角) 3) 选择A列和B列。转到“数据”

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

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

1) 制作新工作簿。在第1页上,将产品编号粘贴到第1列

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

3) 选择A列和B列。转到“数据”->“排序和筛选”->“A-Z”(这很重要)

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

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

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

7) 转到公式->定义名称->定义名称。在名称框中输入“列表”(无引号),在“引用”框中输入(无引号):
=抵销($B$2,匹配($C$1,PNS\u-half,0)-1,0,COUNTIF(PNS\u-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       
权衡-s:

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

您可以使用=left(A1,5),其中A1是您的单元格。我想这会将您推入宏。我不认为VisualBasic是一个标签,也不确定你的经验水平。您对使用自动过滤器感到满意吗?您熟悉宏和visual basic吗?