簡體   English   中英

Excel合並兩列

[英]Excel merging two columns

我有兩列,每列的國家/地區列表略有不同

例如

 A         B         C
 Japan     Japan
 US        China
 UK        Brazil
 India     Canada
 China     Mexico
 Brazil    Germany
           France
           Peru

如何“合並”兩列,以便我可以擁有存在於C列的A列或B列中的值,而無需重復這些值?

 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

注意:我目前正在使用excel 2003

非常感謝!

編輯:這是我目前的嘗試,在“進出口測試”工作表的G列中,我試圖從A列和D列的來源進行VLOOKUP並將其與OR公式“合並”,然后對它進行正確排序下一欄。 不幸的是,現在有一個N / A錯誤...

http://wikisend.com/download/391826/Sample%20test.xls

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列):

在此處輸入圖片說明

它不是很有效(因為存在重復項),並且出現“對象不支持支持此屬性或方法”錯誤。

這是一種hack,但是您可以這樣做:

  1. 將兩列粘貼到同一列(A)中。
  2. 對A列進行排序。
  3. 在其旁邊創建一個新列(B),然后將公式=IF(A2=A1, "", A2)放下。 僅當單詞與其上方的單詞不同時,才會打印出該單詞。
  4. 按值復制並粘貼到B列中,然后對B列進行排序以將空單元格放在頂部。
  5. 刪除空單元格。

關於這樣的宏(我假設數據位於第2行開始且沒有間隙的A,B和C列中):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM