【问题标题】:Sort row data into columns with same heading in excel 2010在excel 2010中将行数据排序到具有相同标题的列中
【发布时间】:2013-04-21 14:43:48
【问题描述】:

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

它应该如何处理排序:

它还必须能够处理可能存在空单元格的情况。例如;如果第一个示例数据在第 3 行中没有 B,则数据不得向左移动,以使 C 位于 B 列等。

其他信息:手工操作不可行 - 超过 450 行。

【问题讨论】:

  • 有很多方法可以做到这一点。你试过任何代码吗?您可能想尝试并发布代码以便我们可以从那里获取它?
  • 我没有使用任何代码
  • 顺便说一句,上面也可以用一个简单的 COUNTIF 公式来实现。
  • 您对 Excel 公式感兴趣吗?
  • 如果它可以完成这项工作,那么当然可以

标签: excel spreadsheet excel-2010


【解决方案1】:

它还必须能够处理可能存在空单元格的情况。

考虑到上述情况。

非 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    相关资源
    最近更新 更多