Excel合并两列

Excel合并两列,excel,excel-2003,Excel,Excel 2003,我有两个栏目,每个栏目的国家列表略有不同 e、 g 如何“合并”这两列,以便在不重复这些值的情况下,在C列的A列或B列中都有值 i、 e 注意:我目前使用的是excel 2003 非常感谢 编辑:这是我目前的尝试,在“导出和导入测试”表的G列中,我试图从A列和D列的源代码中找到VLOOKUP,并将其与OR公式“合并”,然后在下一列中正确排序。它现在有一个N/A错误不幸的是 EDIT2:我试着使用下面发布的宏,同时编辑(通过猜测)它以满足我的需要,宏变成了这样: Sub Macro1() ' '

我有两个栏目,每个栏目的国家列表略有不同

e、 g

如何“合并”这两列,以便在不重复这些值的情况下,在C列的A列或B列中都有值

i、 e

注意:我目前使用的是excel 2003

非常感谢

编辑:这是我目前的尝试,在“导出和导入测试”表的G列中,我试图从A列和D列的源代码中找到VLOOKUP,并将其与OR公式“合并”,然后在下一列中正确排序。它现在有一个N/A错误不幸的是

EDIT2:我试着使用下面发布的宏,同时编辑(通过猜测)它以满足我的需要,宏变成了这样:

Sub Macro1()
'
' Macro1 Macro
'

'
    Range("A3").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Range("G3").Select
    ActiveSheet.Paste
    Range("D3").Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("G3").Select
    Selection.End(xlDown).Select
    Range("G30").Select
    ActiveSheet.Paste
    Range("G3").Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    ActiveSheet.Range("$G$3:$G$60").RemoveDuplicates Columns:=1, Header:=xlNo
End Sub
下面是结果(G列):


它没有完全起作用(存在重复项),我得到一个“对象不支持此属性或方法”错误。

这是一种黑客行为,但您可以这样做:

  • 将两列粘贴到同一列(A)
  • 排序列A
  • 在其旁边创建一个新列(B),并将公式
    =IF(A2=A1),“,
    A2)
    ,然后向下拖动。只有当单词不同于 上面的字
  • 复制并粘贴B列中的值,然后对B列进行排序,将空单元格放在顶部
  • 删除空单元格

  • 像这样的宏怎么样(我假设数据在a、B和C列中,从第2行开始,没有间隙):


    您想在VBA中执行此操作还是使用公式执行此操作?如果要在VBA中执行此操作,可以将其分解为合并两个列表或数组,例如,请参见。如果你需要一个公式,stackoverflow.com可能不是问这个问题的合适地方,因为这不是一个编程问题。@chiccodoro公式不是代码?可能是重复的,但不是完全重复的,代码包含你所需要的。好吧,只要它能工作,两者都可以,虽然我以前从未使用过VBA…@chiccodoro虽然我同意OP在解决问题方面缺乏任何努力(为什么我会关闭它),但我一直认为如果您对excel中的公式有问题,那么stackoverflow将是一个很好的问题站点。我喜欢这个想法,但可以单独使用公式进行排序吗?基本上,我需要能够通过输入数据来实现自动化,而无需在输入数据后手动排序。你可以看看这个:我不知道用公式来实现这一点。我想您必须使用VBA。我会尝试一下,但我暂时无法回复您;我从未在Excel上使用过VBA。您需要阅读以下内容:@mucio-Erm我就是这样做的吗?我用有根据的猜测编辑了这个范围,虽然我不确定我是否正确输入了它(在“导出和导入测试”表上)@newbecel3724612抱歉,但我无法从我的办公室访问wikisend。无论如何,如果您在理解代码时遇到问题,请尝试录制新宏并使用“删除重复项”功能
     A         B         C
     Japan     Japan     Japan
     US        China     US
     UK        Brazil    UK
     India     Canada    India
     China     Mexico    China
     Brazil    Germany   Brazil
               France    Canada
               Peru      Mexico
                         Germany
                         France
                         Peru
    
    Sub Macro1()
    '
    ' Macro1 Macro
    '
    
    '
        Range("A3").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Range("G3").Select
        ActiveSheet.Paste
        Range("D3").Select
        Range(Selection, Selection.End(xlDown)).Select
        Application.CutCopyMode = False
        Selection.Copy
        Range("G3").Select
        Selection.End(xlDown).Select
        Range("G30").Select
        ActiveSheet.Paste
        Range("G3").Select
        Range(Selection, Selection.End(xlDown)).Select
        Application.CutCopyMode = False
        ActiveSheet.Range("$G$3:$G$60").RemoveDuplicates Columns:=1, Header:=xlNo
    End Sub
    
    Sub Macro1()
    '
    ' Macro1 Macro
    '
    
    '
        Range("A2").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Range("C2").Select
        ActiveSheet.Paste
        Range("B2").Select
        Range(Selection, Selection.End(xlDown)).Select
        Application.CutCopyMode = False
        Selection.Copy
        Range("C2").Select
        Selection.End(xlDown).Select
        Range("C10").Select
        ActiveSheet.Paste
        Range("C2").Select
        Range(Selection, Selection.End(xlDown)).Select
        Application.CutCopyMode = False
        ActiveSheet.Range("$C$2:$C$16").RemoveDuplicates Columns:=1, Header:=xlNo
    End Sub