![](/img/trans.png)
[英]if cell in column A is blank then vlookup column B against dataset in different sheet
[英]Concatenate column B row values in single cell against column A
我在“ A”列中有大約400多個記錄的數據,在“ B”列中有各種詳細信息。 工作表中共有3000多個行,例如:
Column A Column B
CHI150 UPS1
CHI150 TOWER1
CHI150 TOWER2
CHI160 EB1
CHI160 UPS1
CHI160 TOWER1
CHI163 EB1
CHI163 TOWER2
CHI163 UPS2
CHI195 TOWER1
CHI195 EB1
我想像下面提到的那樣連接數據。
Column A Column B
CHI150 UPS1, TOWER1, TOWER2
CHI160 EB1, UPS1, TOWER1
CHI163 EB1, TOWER2, UPS2
CHI195 TOWER1, EB1
請給解決方案,並在此先感謝
假設您在A和B列中分別有來自A2和B2單元的數據。
Sub test() 'change the sheet name as yours Sheets("Sheet1").Activate 'Change the range as yours and you need update the column as well in cells(rows.count,1) Set Rng = Range("A2", Cells(Rows.Count, 1).End(xlUp)) Set rng1 = Range("D2", Cells(Rows.Count, 4).End(xlUp)) Range("A2", Cells(Rows.Count, 1).End(xlUp)).Copy 'copy pasteing the column A and removing duplicates Range("D2").PasteSpecial xlPasteValues ActiveCell.RemoveDuplicates Columns:=1, Header:=xlNo ' now concordinating the values For Each cell In rng1 For Each cell1 In Rng If cell.Value = cell1.Value Then If cell.Offset(0, 1).Value = "" Then cell.Offset(0, 1).Value = cell1.Offset(0, 1).Value Else cell.Offset(0, 1).Value = cell.Offset(0, 1).Value & ", " & cell1.Offset(0, 1).Value End If End If Next cell1 Next cell End Sub
上面的宏將在D列的D2表格中生成結果。 希望這是您的期望。
感謝您對問題進行更改以更好地說明問題。
我制作了一個與您的問題類似的樣本表,並能夠在新的列C中獲得所需的結果。請嘗試以下步驟
在公式下方,從第2行(即C2)開始到C列的所有行。 這將檢查當前行的A列上的值是否與上一行相似,並將B列的值附加到C列中針對上一行的計算值。
= IF(A2 = A1,(C1&“,”&B2),B2)
對於D列的所有行,將公式放在第1行開始的下方
= IF(A1 = A2, “”, “改變”)
這應該用“ Changed”填充D列的某些行,然后可以僅針對包含“ Changed”作為值的記錄過濾D列。
這應該得到您想要的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.