返回列表 上一主題 發帖

求解:多重對比合并資料

本帖最後由 hugh0620 於 2024-5-30 10:06 編輯

回復 1# 198188

有比對你檔案中的 Data 跟 Result 的資料。
如果僅是一次性的資料,可以做以下處理。
圖號:用excel視窗上"資料"、"移除重複",可以得到每筆圖號得唯一。
長、寬/米重、面積/重量 (M² / kg)的單計、,Data跟 Result 是一樣的,所以,可以用Vlookup就可以得到。
ex、長 D10  =VLOOKUP(B10,Data!$B$12:$G$1000,3,FALSE)

F欄位"數量"、H欄位"小計資料",可以用Sumif進行統計。
EX、 數量 F10  =SUMIF(Data!$B$12:$B$1000,Result!B10,Data!$F$12:$F$1000)

如果你要VBA處理,可以錄一段"圖號""移除重複"的程式碼,以下是用ChatGPT跑出來的程式碼
  1. Sub CopyUniqueValues()
  2.     Dim ws1 As Worksheet
  3.     Dim ws2 As Worksheet
  4.     Dim rng As Range
  5.     Dim cell As Range
  6.     Dim dict As Object
  7.     Dim i As Long
  8.    
  9.     ' 設定工作表
  10.     Set ws1 = ThisWorkbook.Sheets("Data")
  11.     Set ws2 = ThisWorkbook.Sheets("Result")
  12.    
  13.     ' 設定範圍
  14.     Set rng = ws1.Range("B12:B10000")
  15.    
  16.     ' 使用字典來儲存唯一值
  17.     Set dict = CreateObject("Scripting.Dictionary")
  18.    
  19.     ' 清空Result的B欄位
  20.     ws2.Range("B10:B10000").ClearContents
  21.    
  22.     ' 遍歷範圍中的每個儲存格,並將唯一值添加到字典中
  23.     For Each cell In rng
  24.         If Not dict.exists(cell.Value) And cell.Value <> "" Then
  25.             dict.Add cell.Value, Nothing
  26.         End If
  27.     Next cell
  28.    
  29.     ' 將唯一值寫入工作表2的A欄位
  30.     i = 10
  31.     For Each key In dict.keys
  32.         ws2.Cells(i, 2).Value = key
  33.         i = i + 1
  34.     Next key
  35. ' 对工作表2的B列进行排序
  36. ws2.Range("B10:B" & i - 1).Sort Key1:=ws2.Range("B9"), Order1:=xlAscending, Header:=xlNo
  37. End Sub
複製代碼
學習才能提升自己

TOP

        靜思自在 : 不要隨心所欲,要隨心教育自己。
返回列表 上一主題