简单地说,我需要根据列标题将特定范围的行数据排序到正确的列中。例如,如果有五列标记为A到E,则下面的行中的数据范围从A到E;我需要A列中的所有A,B列中的所有B等。 示例开始数据:
如何看待排序:
它也必须能够处理空单元格的可能性。例如;如果第一个示例数据在第3行中没有B,则数据不得向左移位,以便C在B列等中。
其他信息:手动操作不可行 - 超过450行。
答案 0 :(得分:2)
它也必须能够处理空单元格的可能性。
考虑到上述情况。
非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
并在Col A:E
上粘贴特殊值,以便公式更改为值,然后删除Cols H:L