简而言之,我需要根据该列标题将特定范围的行数据排序到正确的列中。例如,如果有五列标记为 A 到 E,并且下面的行中的数据范围从 A 到 E;我需要所有 A 都在 A 列中,所有 B 都在 B 列中等等。示例起始数据:

它应该如何处理排序:

它还必须能够处理有空单元格的可能性。例如; 如果第一个示例数据在第 3 行中没有 B,则数据不得向左移动,以使 C 位于 B 列等。
其他信息:手工操作不可行 - 超过 450 行。
简而言之,我需要根据该列标题将特定范围的行数据排序到正确的列中。例如,如果有五列标记为 A 到 E,并且下面的行中的数据范围从 A 到 E;我需要所有 A 都在 A 列中,所有 B 都在 B 列中等等。示例起始数据:

它应该如何处理排序:

它还必须能够处理有空单元格的可能性。例如; 如果第一个示例数据在第 3 行中没有 B,则数据不得向左移动,以使 C 位于 B 列等。
其他信息:手工操作不可行 - 超过 450 行。
它还必须能够处理有空单元格的可能性。
综合以上情况。
非 VBA 方式
插入足够多的列,使数据向右移动

接下来在第一行中,复制数据中的值

接下来在单元格中输入A2这个公式
=IF(COUNTIF($H$2:$L$2,A1)>0,A1,"")

把公式复制到右边

接下来从表格范围中删除“$”并将其添加到单元格中公式的标题中,A2以便我们可以将公式复制下来。这就是它的样子
=IF(COUNTIF(H2:L2,$A$1)>0,$A$1,"")
同样,您的B2公式将如下所示
=IF(COUNTIF(H2:L2,$B$1)>0,$B$1,"")
改变它的其余部分

如何突出显示单元格A2:E2并向下复制公式。

您的最终Sorted数据如下所示。

复制列A:E并在 ColA:E本身上粘贴特殊值,以便公式更改为值,然后删除Cols H:L