返回列表 上一主題 發帖

[發問] 将A列对应的B列用函数不重复的列出在D列?

回復 3# flying008
(1)你的意思是:
140102  底板-→140102  底板
140106  底板  140102  晶片
140102  晶片  140106  底板
140102  底板

(2)或是:
140102  底板-→140102  底板
140106  底板  140102  晶片
140102  晶片  
140102  底板

TOP

回復 5# flying008
(1)你的意思是:
如果 材料名稱 相同, 生產批號 不相同,
則 生產批號 與 材料名稱 均保留
140102  底板-→140102  底板
140106  底板  140102  晶片
140102  晶片  140106  底板
140102  底板

(2)或是:
只要 材料名稱 相同, 不管 生產批號 是否相同,
只保留 生產批號 較小的
140102  底板-→140102  底板
140106  底板  140102  晶片
140102  晶片  
140102  底板

同樣的範例(前提), 結果不同,
(1)保留了三項, (2)只保留二項,
怎會都可以?
到底大大的需求是什麼, 可不可以說清楚點?

TOP

回復 7# flying008
大大你好:
公式我正在學, 請試試vba
  1. Private Sub CommandButton1_Click()
  2.    Dim sh As Worksheet, i, 數量 As Integer, rngA As Range
  3.    Set sh = ThisWorkbook.Sheets("Sheet1")
  4.    數量 = sh.[A1].End(xlDown).Row - 1
  5.    sh.[D2].Resize(數量, 2) = ""
  6.    sh.[A2].Resize(數量, 3).Sort _
  7.          Key1:=Range("B2"), _
  8.          Key2:=Range("A2"), _
  9.          Order1:=xlAscending, _
  10.          Order2:=xlAscending, _
  11.          Header:=xlNo
  12.    sh.[D2].Resize(1, 2).Value = sh.[A2].Resize(1, 2).Value
  13.    For i = 3 To 數量 + 1
  14.        If sh.Cells(i, 1) <> Cells(i - 1, 1) Then
  15.            sh.Cells(sh.[D1].End(xlDown).Row + 1, 4).Resize(1, 2).Value = sh.Cells(i, 1).Resize(1, 2).Value
  16.        ElseIf sh.Cells(i, 1) = Cells(i - 1, 1) And sh.Cells(i, 2) <> Cells(i - 1, 2) Then
  17.            sh.Cells(sh.[D1].End(xlDown).Row + 1, 4).Resize(1, 2).Value = sh.Cells(i, 1).Resize(1, 2).Value
  18.        End If
  19.    Next
  20.    sh.[D2].Resize(數量, 2).Sort _
  21.          Key1:=Range("D2"), _
  22.          Order1:=xlAscending, _
  23.          Header:=xlNo
  24. End Sub
複製代碼

TOP

本帖最後由 yen956 於 2014-3-2 12:27 編輯

回復 7# flying008
如果你有2010+的版本,可參考下列作法(數篇),
(我只有2003版本, 未試)
http://www.7headlines.com/article/show/342595316

TOP

        靜思自在 : 【做人的開始】每一天都是故人的開始,每一個時刻都是自己的警惕。
返回列表 上一主題