2017-06-15 14 views
1

我在包含STRING值列的A和B的2個工作表(WS1 & WS2)中有2列。 我想在第三個工作表中填充第三列「C」 (WS3)有所不同。Excel:在A和B之間填充列C

簡而言之,我想用WS1:A中的項目名稱填充列WS3:C,但不是在WS2:B中。

+0

更多很容易與VBA - 是這樣的你會很樂意使用什麼? – CallumDA

+0

是的我對VB非常熟悉(我寫的是VB.NET ASP) –

+0

我最初誤解了,我不認爲你需要VBA這裏 – CallumDA

回答

1

其實你可以做的很簡單:

enter image description here

在C列的公式是

=IF(COUNTIF($B$1:$B$10,A1),"",A1) 

這裏是一個VBA的選擇:

Option Explicit 

Sub DisplayUnique() 
    Dim output As Range, r As Range 
    Dim dict As Object 

    Set dict = CreateObject("Scripting.Dictionary") 

    Set output = ThisWorkbook.Worksheets("Sheet1").Range("C1") 

    For Each r In ThisWorkbook.Worksheets("Sheet1").Range("A1:A10") 
     If ThisWorkbook.Worksheets("Sheet1").Range("B1:B10").Find(r.Value, , , xlWhole) Is Nothing Then 
      If Not dict.exists(r.Value) Then dict.Add r.Value, r.Value 
     End If 
    Next r 

    output.Resize(dict.Count, 1).Value = Application.Transpose(dict.keys) 
End Sub 
+0

謝謝!我現在就去... –

+0

我必須對工作簿進行更改,這意味着這些列現在在單獨的工作表上 - 可以修改此公式或者VBS現在是更好的選擇嗎? –

+1

@DigitalLightcraft只需在每個範圍之前指定工作表,比如'Sheet'1!A1'或'Sheet2'!$ B $ 1:$ B $ 10' – CallumDA

相關問題