Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel在列表中查找ID并以逗号分隔附加它们_Excel_Excel Formula_Vba - Fatal编程技术网

Excel在列表中查找ID并以逗号分隔附加它们

Excel在列表中查找ID并以逗号分隔附加它们,excel,excel-formula,vba,Excel,Excel Formula,Vba,我试图在一列中搜索一个ID(可能会多次使用此ID),然后获取找到的ID的下一列,并将文本放在逗号分隔的字段中。我认为这张图片比我用蹩脚的英语表现得更好 所有这些都应该自动发生。如果可能,使用VBA或公式 左边的列表应该翻译到右边。关于如何实现类似目标的任何线索?要在没有VBA的情况下实现这一点,您可以使用帮助器列,该列将拾取要添加到特定数字列表中的每个附加字母,然后搜索与每个数字相关联的完整凹面单元格,以获得结果 请注意,我建议您从底部开始创建辅助列并向上复制-这将使您更容易在末尾提取凹面值,而

我试图在一列中搜索一个ID(可能会多次使用此ID),然后获取找到的ID的下一列,并将文本放在逗号分隔的字段中。我认为这张图片比我用蹩脚的英语表现得更好

所有这些都应该自动发生。如果可能,使用VBA或公式


左边的列表应该翻译到右边。关于如何实现类似目标的任何线索?

要在没有VBA的情况下实现这一点,您可以使用帮助器列,该列将拾取要添加到特定数字列表中的每个附加字母,然后搜索与每个数字相关联的完整凹面单元格,以获得结果

请注意,我建议您从底部开始创建辅助列并向上复制-这将使您更容易在末尾提取凹面值,而无需使用数组公式

将公式放入C21[假设21是您的最后一个数据行],并将其复制到列表顶部:

=IFERROR(INDEX($C$22:C22,MATCH(A21,$A$22:A22,0)),"")&","&B21
这样做的目的是在C列中搜索当前行下的所有行,以查看该数字的最新缩聚结果。然后,它提取该文本值[“”如果没有先前的匹配],并为当前行添加列B中的值。当你复制它时,每个数字的“连接文本”将继续增长,在数字值匹配的地方添加字母

然后,要将这些结果放入右侧的表格中,只需在E1中执行以下操作并向下复制:

=INDEX(C:C,MATCH(D1,A:A,0))
这将拉入第一个匹配行,该行具有您正在搜索的数字值,并从列C返回该行上的值。由于第一个匹配值将是包含其前面所有相关值的值,因此这将是该数字匹配的完整列表


还请注意,此方法将底部行的字母值放在连接字符串的开头。

若要在没有VBA的情况下执行此操作,您可以使用帮助器列,该列将拾取要添加到特定数字列表中的每个附加字母,然后搜索与每个数字相关联的完整缩进单元格,以获得结果

请注意,我建议您从底部开始创建辅助列并向上复制-这将使您更容易在末尾提取凹面值,而无需使用数组公式

将公式放入C21[假设21是您的最后一个数据行],并将其复制到列表顶部:

=IFERROR(INDEX($C$22:C22,MATCH(A21,$A$22:A22,0)),"")&","&B21
这样做的目的是在C列中搜索当前行下的所有行,以查看该数字的最新缩聚结果。然后,它提取该文本值[“”如果没有先前的匹配],并为当前行添加列B中的值。当你复制它时,每个数字的“连接文本”将继续增长,在数字值匹配的地方添加字母

然后,要将这些结果放入右侧的表格中,只需在E1中执行以下操作并向下复制:

=INDEX(C:C,MATCH(D1,A:A,0))
这将拉入第一个匹配行,该行具有您正在搜索的数字值,并从列C返回该行上的值。由于第一个匹配值将是包含其前面所有相关值的值,因此这将是该数字匹配的完整列表


还请注意,此方法将底部行的字母值放在连接字符串的开头。

如果数据的顺序不重要,透视表对您是有用的

要创建一个透视表标签,请在第1行中创建两列,并按照我从google获得的以下说明进行操作

在“插入”选项卡上的“表”组中,单击“数据透视表…”。。。 在“创建数据透视表”对话框中,确保选择了“选择表”或“范围”,然后在“表/范围”框中,验证单元格的范围。。。 执行以下操作之一:。。。 单击确定。

选择行的ID列(在数据透视表字段中拖放)和列的数据列(列2)


无论何时修改数据,都要刷新透视表(通过右键单击)

如果数据的顺序不重要,透视表对您是有用的

要创建一个透视表标签,请在第1行中创建两列,并按照我从google获得的以下说明进行操作

在“插入”选项卡上的“表”组中,单击“数据透视表…”。。。 在“创建数据透视表”对话框中,确保选择了“选择表”或“范围”,然后在“表/范围”框中,验证单元格的范围。。。 执行以下操作之一:。。。 单击确定。

选择行的ID列(在数据透视表字段中拖放)和列的数据列(列2)


无论何时修改数据,都要刷新透视表(通过右键单击)

实际上,我甚至不知道如何开始。我可以通过MySQL轻松做到这一点,但使用Excel,我无法回答这个问题:你所要求的在一个公式中是不可能的;它需要VBA或helper列。实际上我甚至不知道如何开始。我可以通过MySQL轻松做到这一点,但使用Excel,我无法回答这个问题:你所要求的在一个公式中是不可能的;它需要VBA或辅助列。