返回列表 上一主題 發帖

[發問] 請教資料抓取並且欄列轉換呈現

[發問] 請教資料抓取並且欄列轉換呈現

請問各位前輩 高人

要將已排序的兩欄資料(如附件 datatest01.rar (8.54 KB) )
name 有重複

Sheet1
name     phone
A            0911123456
A            0911123457
B            0911123458
B            0911123459
B            0911123460
C            0911123461
C            0911123462

在Sheet2中  變成name後面的phone在同一列中顯示 (比對資料抓取後 欄列轉換呈現出來)

Sheet2
name     phone
A           0911123456           0911123457
B           0911123458           0911123459           0911123460
C           0911123461           0911123462

小弟在150筆資料中 試了IF  index  match  COUNTIF...用了一整天都無法成功
土法煉鋼還比寫出來的函數語法快.........

請問各位前輩 高手
這樣的情況用什麼函數才適合?語法該怎麼寫呢?

附件 datatest01.rar (8.54 KB)
感謝賜教
Orz

謝謝論壇,謝謝各位前輩
後學藉此帖練習陣列與字典,學習方案如下,請各位前輩指教

執行結果:



Option Explicit
Sub TEST()
Dim Brr, Crr, V, Z, i&, R&, C%, Y&, X%, T$, T1$, T2$
Set Z = CreateObject("Scripting.Dictionary")
Brr = Range([Sheet1!B1], [Sheet1!A65536].End(3))
ReDim Crr(1 To UBound(Brr), 1 To 200)
For i = 2 To UBound(Brr)
   If i = 2 Then: Crr(1, 1) = Brr(1, 1) & " \ " & Brr(1, 2): Y = 1
   T1 = Brr(i, 1): T2 = Brr(i, 2): T = T1 & "|" & T2
   If Z(T) = 1 Then GoTo i01
   R = Z(T1): C = Z(T1 & "/c"): C = C + 1:  Z(T1 & "/c") = C
   If R = 0 Then Y = Y + 1: Crr(Y, 1) = T1: Z(T1) = Y: R = Y
   Crr(R, C + 1) = T2: Z(T) = 1
   If X < C Then X = C: Crr(1, C + 1) = C
i01: Next
Sheets("Sheet2").UsedRange.Clear
Sheets("Sheet2").[A1].Resize(Y, X + 1) = Crr
Set Z = Nothing: Erase Brr, Crr
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

http://blog.xuite.net/hcm19522/twblog/346436199

TOP

原來是這樣,雖然沒人回答,但分享一下
http://isvincent.pixnet.net/blog/post/38734269

TOP

請問有前輩能指點迷津嗎?

TOP

        靜思自在 : 慈悲沒有敵人,智慧不起煩惱。
返回列表 上一主題