請測試下一個代碼。根據您的問題和評論,它應該以合乎邏輯的方式返回。它假定表示所需輸出的圖片是錯誤的。從“E1”開始返回同一頁。當然,它可能很容易適應返回任何地方: Sub TestExtractFruitsPerAccount() Dim sh As Worksheet, lastR As Long, arr, arrIt, i As Long Dim arrFin, j As Long, dict As Object Set sh = ActiveSheet lastR = sh.Range("A" & sh.rows.count).End(xlUp).Row arr = sh.Range("A1:C" & lastR).value Set dict = CreateObject("Scripting.Dictionary") For i = 2 To UBound(arr) If Not dict.Exists(arr(i, 1)) Then dict.Add arr(i, 1), Array(arr(i, 2) & "|" & arr(i, 3)) Else arrIt = dict(arr(i, 1)): ReDim Preserve arrIt(UBound(arrIt) + 1) arrIt(UBound(arrIt)) = arr(i,