2016-10-04 40 views
0

我尋找Excel公式爲下面要求:需要兩列在Excel比較,並把多個參考成單細胞

我有兩片,在該工作表Sheet包含以下數據:

Column1包含:R1,R1,R1,R2,R2,R3,R3,R4 第2列包含:T1,T2,T3,T4,T5,T6,T7,T8

第二張表包含以下數據:

Column1包含:R1,R2,R3,R4現在在列2我期待的輸出作爲 T1,T2,T3爲R1 T4,T5爲R2 T6,T7爲R3 T8爲R4

注:I將需要把T1,T2,T3在單細胞中。像其他匹配值一樣明智。

目前我使用下面的公式:

= INDEX( '表' 1A3:A100,MATCH(A3, 'SHEET2' A3:A100,0)) 對於上述formale我得到該出把爲:

列1:R1,R2 列2:T1,T2

感謝您的支持!

回答

0

VBA代碼將執行您所需的操作,下面是一個將獲得您所需結果的示例。幾件事情要指出:

列沒有標題

牀單被命名工作表Sheet1和Sheet2的

A需要按升序或降序排列爲這個宏將在Sheet1列中的數據如果要處理的值未組合在一起,則不起作用。

根據需要修訂:

Sub ExampleMacro() 

Dim LastRow As Integer 
Dim CurrentRow As Integer 
Dim i As Integer 
Dim RefResult 

With Sheets("Sheet1") 
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row 
End With 

CurrentRow = 1 
For i = 1 To LastRow 

If Sheets("Sheet2").Range("A1").Value = Sheets("Sheet1").Range("A" & CurrentRow).Value Then  
Sheets("Sheet2").Range("B1").Value = RefResult 
Else 

If Sheets("Sheet2").Range("A1").Value <> Sheets("Sheet1").Range("A" & CurrentRow).Value Then 
RefResult = Sheets("Sheet1").Range("B" & CurrentRow).Value 
Sheets("Sheet2").Rows("1:1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
Sheets("Sheet2").Range("A1").Value = Sheets("Sheet1").Range("A" & CurrentRow).Value  
Sheets("Sheet2").Range("B1").Value = RefResult  
Else 
End If 

End If 

CurrentRow = CurrentRow + 1 
RefResult = RefResult & ", " & Sheets("Sheet1").Range("B" & CurrentRow).Value 

Next I 

End Sub 
+0

謝謝你這麼多的解決方案。但是因爲我不想使用宏,有沒有其他辦法可以解決我的問題?謝謝您的幫助 :) –