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

Àx¦s®æ¤º¹J¹y¸¹¦p¦ó¤ñ¹ï«á±a¥X¸ê®Æ¤Î§@¼Ï¯Ã¤ÀªR

Àx¦s®æ¤º¹J¹y¸¹¦p¦ó¤ñ¹ï«á±a¥X¸ê®Æ¤Î§@¼Ï¯Ã¤ÀªR

°ÝÃD1¡G
½Ð°ÝÀx¦s®æ¤º¹J¨ì¹y¸¹¡A¦p¦ó¤ñ¹ï¥X¬ì¥Ø
CÄæ¥N¸¹¤ñ¹ïGÄæ¡A¦bDÄæ±a¥XHÄæ¬ì¥Ø¡A¦ý¹J¨ìCÄ榳¹y¸¹µLªk±a¥X¡A¥¿½Tµª®×¬°EÄæ

°ÝÃD2¡G
¥t¥~¡A¦pªGDÄæ¨D¥X¦pEÄæ¸ê®Æ¡A¦p¦ó§Q¥ÎAÄæ¦ÜDÄæ§@¼Ï¯Ã¤ÀªR¡Aª©­±°t¸m¦p¤U¡G
joyce

¤£¦n·N«ä¡A°ÝÃD¢±¼Ï¯Ã¤ÀªR³¡¥÷¤£¥Î¸ÑÃD¡A¦]¬°ª÷ÃB³¡¥÷¥¼©î¥X¨Ó
joyce

TOP

¢°¡^¥N¸¹¦b¤@®æ¤º³Ì¦h¢±­Ó¡H
¢±¡^¥N¸¹©T©w¢²­Ó¦r¤¸¡H
¢²¡^¥N¸¹¤¤¡e¹y¸¹¡f«á­±¦³¤@­Ó¤£¥i¨£¦r¤¸¡A¬O¥¿½Tªº¡H¡@¨Cµ§³£¬O¡H

¢Ò¢±¡G¥ý¸Õ³o­Ó
=IFERROR(VLOOKUP(LEFT(C2,3),G:H,2,),"")&IFERROR("¡B"&VLOOKUP(MID(C2,6,3),G:H,2,),"")

TOP

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


    ÁÂÁ¦^ÂÐ

¢°¡^¥N¸¹¦b¤@®æ¤º³Ì¦h¢±­Ó¡H                                                                                      ANS¡G¨S¦³­­¨î´X­Ó
¢±¡^¥N¸¹©T©w¢²­Ó¦r¤¸¡H                                                                                              ANS¡G©T©w¢²­Ó¦r¤¸
¢²¡^¥N¸¹¤¤¡e¹y¸¹¡f«á­±¦³¤@­Ó¤£¥i¨£¦r¤¸¡A¬O¥¿½Tªº¡H¡@¨Cµ§³£¬O¡H              ANS¡G½Ð°Ý±z«ç»ò·|·Q¨ì§PÂ_¦³¤£¥i¨£¦r¤¸¡C¡C¡C§Ú¥ÎALT+160¥h´M§ä½T¹ê¦³
joyce

TOP

¦^´_ 4# leiru

¥N¸¹­Ó¼Æ¤£©T©w, ¨S¦³³Ì·sª©ªº¤å¦r³s±µ¨ç¼Æ, ¦ô­p­n¥ÎVBA!
G/HÄæ½d¨Ò¸ê®Æ¤Ó¤Ö, ¥i¯à¦³§PÂ_¤£¨ìªº¦a¤è,
¨º¤£¥i¨£¦r¤¸, ¦ü¦³ÁÙµL, ¬O­ÓÀY¯k°ÝÃD~~

µ¥¨Ç¤Ñ, ­Y¨S¦³¤H´£¥X¤½¦¡¸Ñ, ¦AÂà¨ìµ{¦¡°Ï§a~~

TOP

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


    ÁÂÁÂ
BÄæ,CÄæ,DÄæ³£¦³2­Ó¦r¦ê,½Ð°Ý¹J¨ìBÄæª÷ÃB,CÄæ¥N¸¹,DÄæ¬ì¥ØÂà´«¦¨³v¦CÅã¥Ü¡A¨Ò¦p¡GB4:D4Âà´«¦¨B31:D32

Àx¦s®æ¤º¹J¹y¸¹¦p¦ó¤ñ¹ï«á±a¥X¸ê®Æ.zip (9.59 KB)

joyce

TOP

¦^´_ 6# leiru


Sub ­«¾ã()
Dim Arr, Brr, A, B, xD, i&, j%, N&, T$
[I2:L6000].Clear
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([G2], [F65536].End(xlUp))
For i = 1 To UBound(Arr)
    xD(Arr(i, 1) & "") = Arr(i, 2)
Next i
Arr = Range([C2], [A65536].End(xlUp))
ReDim Brr(1 To 20000, 1 To 4)
For i = 1 To UBound(Arr)
    A = Split(Replace(Arr(i, 2), ChrW(160), ""), "¡B")
    B = Split(Replace(Arr(i, 3), ChrW(160), ""), "¡B")
    If UBound(A) <> UBound(B) Then MsgBox "²Ä " & i + 1 & " ¦æ¼Æ¾Ú¦³°ÝÃD!! ": Exit Sub
    For j = 0 To UBound(A)
        N = N + 1:  T = T & "¡B" & xD(B(j) & "")
        Brr(N, 1) = Arr(i, 1):   Brr(N, 2) = A(j)
        Brr(N, 3) = B(j):   Brr(N, 4) = xD(B(j) & "")
    Next j
    Arr(i, 1) = Mid(T, 2): T = ""
Next i
With [I2].Resize(N, 4)
     .Columns(2).NumberFormatLocal = "#,##0 ;-#,##0 "
     .Columns(3).HorizontalAlignment = xlCenter
     .Columns(4).NumberFormatLocal = "@"
     .Borders.LineStyle = 1:  .Font.Size = 10
     .Value = Brr
End With
[D2].Resize(UBound(Arr)) = Arr '¶ñ¤JDÄæ¹ïÀ³­È
End Sub


Xl0000397.rar (30.75 KB)

TOP

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2023-11-9 09:20 ½s¿è

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


    ÁÂÁ½׾Â,ÁÂÁ«e½ú«ü¾É
«á¾ÇÂǦ¹©«¾Ç²ß«e½úªº¤è®×,°õ¦æµ²ªG»P¤ß±oµù¸Ñ¦p¤U,½Ð«e½ú¦A«ü¾É

°õ¦æ«e:


°õ¦æµ²ªG:



Sub ­«¾ã()
Dim Arr, Brr, A, B, xD, i&, N&, j%, T$
'¡ô«Å§iÅܼÆ:(Arr,Brr,A,B,xD)¬O³q¥Î«¬ÅܼÆ,(i,N)¬Oªø¾ã¼Æ,j¬Oµu¾ã¼Æ,T¬O¦r¦êÅܼÆ
[I2:L6000].Clear
'¡ô¥O[I2:L6000]³o½d³òÀx¦s®æ²M°£
Set xD = CreateObject("Scripting.Dictionary")
'¡ô¥OxD³o³q¥Î«¬ÅܼƬO ¦r¨å
Arr = Range([G2], [F65536].End(xlUp))
'¡ô¥OArr³o³q¥Î«¬ÅܼƬO¤Gºû°}¦C,¥H[G2]¨ìFÄæ³Ì«á¦³¤º®eÀx¦s®æ­È±a¤J°}¦C¤¤
For i = 1 To UBound(Arr)
'¡ô³]¶¶°j°é!¥Oi±q1 ¨ìArr°}¦CÁa¦V³Ì¤j¯Á¤Þ¦C¸¹
    xD(Arr(i, 1) & "") = Arr(i, 2)
    '¡ô¥Oi°j°é¦C1ÄæArr°}¦C­È(¦r¦ê)·íkey,
    'item¬O i°j°é¦C1ÄæArr°}¦C­È,¯Ç¤JxD¦r¨å¤¤

Next i

Arr = Range([C2], [A65536].End(xlUp))
'¡ô¥OArr°}¦C´«¸Ë²± [C2]¨ìAÄæ³Ì«á¦³¤º®eÀx¦s®æ ­È
ReDim Brr(1 To 20000, 1 To 4)
'¡ô«Å§iBrrªÅ°}¦Cªº½d³ò,Áa¦V¯Á¤Þ¸¹1~20000,¾î¦V1~4
For i = 1 To UBound(Arr)
'¡ô³]¶¶°j°é!¥Oi±q1 ¨ìArr°}¦CÁa¦V³Ì¤j¯Á¤Þ¦C¸¹
    A = Split(Replace(Arr(i, 2), ChrW(160), ""), "¡B")
   '¡ô¥OA³o³q¥Î«¬ÅܼƬO ¤@ºû°}¦C:
    'i°j°é¦C2ÄæArr°}¦C­È¸g¦Ü´«¦r¤¸(ªÅ®æ>>ªÅ¦r¤¸)¦¨ªº·s¦r¦ê,¦A¥H"¡B"¤À³Î¦¨ªº°}¦C

    https://learn.microsoft.com/zh-t ... haracter-set-128255
    B = Split(Replace(Arr(i, 3), ChrW(160), ""), "¡B")
    '¡ô¥OB³o³q¥Î«¬ÅܼƬO ¤@ºû°}¦C:
    'i°j°é¦C3ÄæArr°}¦C­È¸g¦Ü´«¦r¤¸(ªÅ®æ>>ªÅ¦r¤¸)¦¨ªº·s¦r¦ê,¦A¥H"¡B"¤À³Î¦¨ªº°}¦C

    If UBound(A) <> UBound(B) Then MsgBox "²Ä " & i + 1 & " ¦æ¼Æ¾Ú¦³°ÝÃD!! ": Exit Sub
    '¡ô¦pªGA°}¦C³Ì¤j¯Á¤Þ¸¹»P ¦pªGB°}¦C³Ì¤j¯Á¤Þ¸¹¤£¦P?
    'true´N¸õ¥X´£¥Üµ¡~~~:µ²§ôµ{¦¡°õ¦æ

    For j = 0 To UBound(A)
    '¡ô³]¶¶°j°é!¥Oj±q1 ¨ìA°}¦C³Ì¤j¯Á¤Þ¸¹
        N = N + 1:  T = T & "¡B" & xD(B(j) & "")
        '¡ô¥ON³oªø¾ã¼ÆÅܼƲ֥[1
        '¡ô¥OT³o¦r¦êÅܼƬO ¦Û¨­³s±µ "¡B" ¦A³s±µ(¥Hj°j°éB°}¦C­È¦r¦ê¬dxD¦r¨å¦^¶Ç­È)

        Brr(N, 1) = Arr(i, 1):   Brr(N, 2) = A(j)
        '¡ô¥ONÅܼƦC1ÄæBrr°}¦C­È¬O i°j°é¦C1ÄæArr°}¦C­È
        '¡ô¥ONÅܼƦC2ÄæBrr°}¦C­È¬O j°j°éA°}¦C­È

        Brr(N, 3) = B(j):   Brr(N, 4) = xD(B(j) & "")
        '¡ô¥ONÅܼƦC3ÄæBrr°}¦C­È¬O j°j°éB°}¦C­È
        '¡ô¥ONÅܼƦC4ÄæBrr°}¦C­È¬O ¥Hj°j°éB°}¦C­È¦r¦ê¬dxD¦r¨å¦^¶Ç­È

    Next j
    Arr(i, 1) = Mid(T, 2): T = ""
    '¡ô¥Oi°j°é¦C1ÄæArr°}¦C­È¬O TÅܼƥh°£²Ä1­Ó¦r¤¸ªº·s¦r¦ê
    '¥OTÅܼƦr¦ê²MªÅ
Next i

With [I2].Resize(N, 4)
'¡ô¥H¤U¬OÃö©ó[I2]ÂX®i¦V¤UNÅܼƦC,ÂX®i¦V¥k4ÄæÀx¦s®æ½d³òªºµ{§Ç
     .Columns(2).NumberFormatLocal = "#,##0 ;-#,##0 "
     '¡ô¥O³o½d³òÀx¦s®æ²Ä2Äæ®æ¦¡­nÅã¥Ü¤d¤À¦ì²Å¸¹(,)
     .Columns(3).HorizontalAlignment = xlCenter
     '¡ô¥O³o½d³òÀx¦s®æ²Ä3ÄæÀx¦s®æ­È ¤ô¥­¹ï»ô¤è¦¡¸m¤¤
     .Columns(4).NumberFormatLocal = "@"
     '¡ô¥O³o½d³òÀx¦s®æ²Ä4Äæ®æ¦¡¬O¤å¦r
     .Borders.LineStyle = 1:  .Font.Size = 10
     '¡ô¥O³o½d³òÀx¦s®æ®Ø½u¬O²Ó¹ê½u
     '¡ô¥O³o½d³òÀx¦s®æ¤å¦r¤j¤p¬°10

     .Value = Brr
     '¡ô¥O³o½d³òÀx¦s®æ­È¥HBrr°}¦C­È±a¤J
End With

[D2].Resize(UBound(Arr)) = Arr '¶ñ¤JDÄæ¹ïÀ³­È
'¡ô¥O[D2]ÂX®i¦V¤U(Arr°}¦C³Ì¤j¯Á¤Þ¸¹¼Æ¦C)Àx¦s®æ½d³ò¥HArr°}¦C­È±a¤J
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : Ãø¦æ¯à¦æ¡AÃø±Ë¯à±Ë¡AÃø¬°¯à¬°¡A¤~¯àª@µØ¦Û§Úªº¤H®æ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD