返回列表 上一主題 發帖

如何判斷為同一組

本帖最後由 a5007185 於 2018-7-31 13:53 編輯

回復 1# s7659109

我是用VBA處理的,
請參考以下程式碼。
  1. Sub NumberCode()
  2.     Dim i%, Str$, ArrStr$
  3.     i = 2
  4.     ArrStr = "" '清空已記錄到的條件
  5.     Do Until Range("C" & i) = ""
  6.         '將A欄、B欄、D欄合併為一個字串作為條件
  7.         Str = Range("A" & i) & Range("B" & i) & Range("D" & i)
  8.         '若該條件未記錄過,則記錄之。
  9.         If InStr("," & ArrStr & ",", "," & Str & ",") = 0 Then ArrStr = ArrStr & "," & Str
  10.         '撈出Str在陣列ArrStr中的索引值
  11.         Range("F" & i) = "No. " & UBound(Split(Split(ArrStr, Str)(0), ","))
  12.         i = i + 1
  13.     Loop
  14. End Sub
複製代碼

TOP

回復 12# s7659109

如果是上百萬的,
我想如果是透過Excel還是需要一點時間,
我不太清楚你原始資料上百萬筆是什麼樣的狀況,
但是我將你原本的範例用自動填滿至Excel最大行數 1,048,576,
試著運作的結果大致上花了快兩分鐘的時間,
我想如果還需要減少運作時間,
可能你需要考慮其他語言的協助,
這樣可能對於你來講比較實用。

另外我想確定一下你附檔的用意,
我不太清楚你想表達的是什麼,
我不知道這和你原本的問題有什麼關聯性。

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題