- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
本帖最後由 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跑出來的程式碼- Sub CopyUniqueValues()
- Dim ws1 As Worksheet
- Dim ws2 As Worksheet
- Dim rng As Range
- Dim cell As Range
- Dim dict As Object
- Dim i As Long
-
- ' 設定工作表
- Set ws1 = ThisWorkbook.Sheets("Data")
- Set ws2 = ThisWorkbook.Sheets("Result")
-
- ' 設定範圍
- Set rng = ws1.Range("B12:B10000")
-
- ' 使用字典來儲存唯一值
- Set dict = CreateObject("Scripting.Dictionary")
-
- ' 清空Result的B欄位
- ws2.Range("B10:B10000").ClearContents
-
- ' 遍歷範圍中的每個儲存格,並將唯一值添加到字典中
- For Each cell In rng
- If Not dict.exists(cell.Value) And cell.Value <> "" Then
- dict.Add cell.Value, Nothing
- End If
- Next cell
-
- ' 將唯一值寫入工作表2的A欄位
- i = 10
- For Each key In dict.keys
- ws2.Cells(i, 2).Value = key
- i = i + 1
- Next key
- ' 对工作表2的B列进行排序
- ws2.Range("B10:B" & i - 1).Sort Key1:=ws2.Range("B9"), Order1:=xlAscending, Header:=xlNo
- End Sub
複製代碼 |
|