【问题标题】:Excel merge columnsExcel 合并列
【发布时间】:2010-10-20 13:56:31
【问题描述】:

大家好,我想合并到 excel 2003 中的列。

例如:

Col1    Col2
------------
1       5
3       4
4       6
7       6

合并后的列应如下所示:

Col3
----
1
3
4
4
5
6
6
7

谢谢!!

【问题讨论】:

  • 使用什么语言?使用 VBA?
  • 如果没有任何代码(使用 excel 工具或函数)就可以更好。如果不是这样,那么是的,VBA

标签: excel merge excel-2003


【解决方案1】:

假设您的 Col1Col2Col3 是列 ABC,你可以使用 makro:

Range("A1:" & Range("A65536").End(xlUp).Address).Select
Selection.Copy

Range("C1").Select
ActiveSheet.Paste

Range("B1:" & Range("B65536").End(xlUp).Address).Offset(1, 0).Select
Selection.Copy

Range("C65536").End(xlUp).Select
ActiveSheet.Paste

来源:link

【讨论】:

  • 我每列有 500 行,合并后的列是 999 :S
  • .Offset(1, 0) 解决了您的问题吗?
【解决方案2】:

虽然您可以轻松地使用 Excel 的内置函数将每列的值复制并粘贴到第三列,但您没有说明是否需要对 Col3 中的结果进行排序,或者是否存在重复值是否应该删除。如果是这样,您可能必须在 Excel VBA 中编写一个用户定义的函数(相当于 Excel 宏)来执行此操作。

您的解决方案可能如下所示(伪代码):

  • 遍历 Col1 中的所有行并将值存储在数组中
  • 遍历 Col2 中的所有行并将值存储在第二个数组中
  • 创建一个新数组并合并其他两个数组中的值
  • 将组合数组中的值输出到 Col3 中

您的函数/宏可能需要接受三个输入参数,即两个源列和输出列的范围。

【讨论】:

    猜你喜欢
    • 2014-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 2011-02-27
    • 2016-10-24
    • 1970-01-01
    相关资源
    最近更新 更多