我在包含STRING值列的A和B的2個工作表(WS1 & WS2)中有2列。 我想在第三個工作表中填充第三列「C」 (WS3)有所不同。Excel:在A和B之間填充列C
簡而言之,我想用WS1:A中的項目名稱填充列WS3:C,但不是在WS2:B中。
我在包含STRING值列的A和B的2個工作表(WS1 & WS2)中有2列。 我想在第三個工作表中填充第三列「C」 (WS3)有所不同。Excel:在A和B之間填充列C
簡而言之,我想用WS1:A中的項目名稱填充列WS3:C,但不是在WS2:B中。
其實你可以做的很簡單:
在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
謝謝!我現在就去... –
我必須對工作簿進行更改,這意味着這些列現在在單獨的工作表上 - 可以修改此公式或者VBS現在是更好的選擇嗎? –
@DigitalLightcraft只需在每個範圍之前指定工作表,比如'Sheet'1!A1'或'Sheet2'!$ B $ 1:$ B $ 10' – CallumDA
更多很容易與VBA - 是這樣的你會很樂意使用什麼? – CallumDA
是的我對VB非常熟悉(我寫的是VB.NET ASP) –
我最初誤解了,我不認爲你需要VBA這裏 – CallumDA