ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ¦r¦ê§R°£­«½Æ

¦^´_ 3# ­ã´£³¡ªL


    ÁÂÁ«e½ú
«á¾ÇÂǦ¹©«¾Ç²ß«e½úªº¤è®×µy§@ÅܤÆ,¤è®×¾Ç²ß¤ß±o¦Ü¸Ñ¦p¤U,½Ð«e½ú¦A«ü¾É

¸ê®Æªí:


µ²ªGªí°õ¦æ«e:


°õ¦æµ²ªG:



Option Explicit
Sub TEST()
Dim Arr, xD, i&, T1$, T2$, T3$
'¡ô«Å§iÅܼÆ
Set xD = CreateObject("Scripting.Dictionary")
'¡ôxDÅܼƬO ¦r¨å
Arr = Range([¦ì¸m!A1], [¦ì¸m!D65536].End(xlUp))
'¡ô¥OArrÅܼƬO ¤Gºû°}¦C,¥HÀx¦s®æ­È±a¤J°}¦C¤¤
For i = 2 To UBound(Arr)
'¡ô³]¶¶°j°é
    T1 = Arr(i, 1): T2 = Arr(i, 4)
    '¡ô¥O°j°éArr°}¦C­È¥HÅܼƩӸË,¶¶¹D©w¸q¨ä­È¬O¦r¦ê
    If T1 = "" Or T2 = "" Then GoTo i01
    '¡ô¦pªG«~¸¹©Î «~¦W¬OªÅªº,¤£°õ¦æ!¸õ¨ì i01¼Ð¥Ü¦ì¸mÄ~Äò°õ¦æ
    T3 = T1 & "|" & T2:  xD(T3) = xD(T3) + 1
    '¡ô¥OT3¬O¥H"|"¶¡¹jªº²Õ¦X¦r¦ê,
    '¥OT3ÅܼƷíkey,item¬O¦Û¨­²Ö¥[ 1,¯Ç¤JxD¦r¨å

    If xD(T3) = 1 Then xD(T1) = Trim(xD(T1) & " " & T2)
    '¡ô¦pªGT3ÅܼƬO²Ä1¦¸¯Ç¤J¦r¨å(item­È=1),
    '´N¥OT1ÅܼƷíkey,item¬O¦Û¨­­È³s±µT2ÅܼÆ,¤¤¶¡¥HªÅ¥Õ¦r¤¸¹j¶},
    '³Ì«á¦A¥h°£ÀY§ÀªºªÅ¥Õ¦r¤¸

i01: Next i
Arr = Range([®Æ¥ó!A1], [®Æ¥ó!A65536].End(xlUp))
'¡ô¥OArrÅܼƬO ¤Gºû°}¦C,¥HÀx¦s®æ­È±a¤J°}¦C¤¤
For i = 2 To UBound(Arr)
'¡ô³]¶¶°j°é
    Arr(i - 1, 1) = Replace(xD(Arr(i, 1) & ""), " ", ",")
    '¡ô¥O¥H°j°éArr°}¦C­È¬dxD¦r¨å±o¨ìitem­È,¸g¸m´«ªÅ¥Õ¦r¤¸¬°³r¸¹,
    'Âл\±¼­ìArr°}¦C­È

Next i
[®Æ¥ó!C2].Resize(UBound(Arr) - 1) = Arr
'¡ô¥O[®Æ¥ó!C2]ÂX®i¦V¤UArr°}¦C³Ì¤j¯Á¤Þ¸¹-1­ÓÀx¦s®æ½d³ò­È,
'¥HArr°}¦C±a¤J,¶W¹L¦¹½d³òªº°}¦C­È³Q©¿²¤

End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ¤f»¡¤@¥y¦n¸Ü¡A¦p¤f¥X½¬ªá¡F¤f»¡¤@¥yÃa¸Ü¦p¤f¦R¬r³D¡C
ªð¦^¦Cªí ¤W¤@¥DÃD