Excel合并两列
我有两个栏目,每个栏目的国家列表略有不同 e、 g 如何“合并”这两列,以便在不重复这些值的情况下,在C列的A列或B列中都有值 i、 e 注意:我目前使用的是excel 2003 非常感谢 编辑:这是我目前的尝试,在“导出和导入测试”表的G列中,我试图从A列和D列的源代码中找到VLOOKUP,并将其与OR公式“合并”,然后在下一列中正确排序。它现在有一个N/A错误不幸的是 EDIT2:我试着使用下面发布的宏,同时编辑(通过猜测)它以满足我的需要,宏变成了这样: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() ' '
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列):
它没有完全起作用(存在重复项),我得到一个“对象不支持此属性或方法”错误。这是一种黑客行为,但您可以这样做:
=IF(A2=A1),“,
A2)
,然后向下拖动。只有当单词不同于
上面的字像这样的宏怎么样(我假设数据在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