| ©«¤l1516 ¥DÃD40 ºëµØ0 ¿n¤À1540 ÂI¦W0  §@·~¨t²ÎWindows  7 ³nÅ骩¥»Excel 2010 & 2016 ¾\ŪÅv100 ©Ê§O¨k ¨Ó¦Û¥xÆW µù¥U®É¶¡2020-7-15 ³Ì«áµn¿ý2025-10-31 
 | 
                
| ¦^´_ 12# ã´£³¡ªL 
 ÁÂÁ½׾Â,ÁÂÁ«e½ú
 «á¾ÇÂǦ¹©«¾Ç²ß«e½úªº¤è®×,¤è®×¾Ç²ß¤ß±oµù¸Ñ¦p¤U,½Ð«e½ú¦A«ü¾É
 
 °õ¦æ«e:
 
     
 °õ¦æµ²ªG:
 
     
 
 Option Explicit
 Sub TEST()
 Dim R&, Arr, T$, TT$, TS, xD, i&
 '¡ô«Å§iÅܼÆ
 Set xD = CreateObject("Scripting.Dictionary")
 '¡ô¥OxDÅܼƬO ¦r¨å
 Arr = Range([D1], [D65536].End(xlUp)(2))
 '¡ô¥OArrÅܼƬO ¤Gºû°}¦C,¥HDÄæÀx¦s®æÈ±a¤J°}¦C
 For i = 2 To UBound(Arr)
 If Arr(i, 1) <> "" Then xD(Arr(i, 1) & "") = ""
 Next i
 '¡ô³]¶¶°j°é±N°}¦CÈ·íkey,item¬OªÅªº,¯Ç¤JxD¦r¨å¸Ì
 Arr = Range([A2], [A65536].End(xlUp)(2))
 '¡ô¥OArr°}¦C´«¸ËAÄæÀx¦s®æÈ(¤£§t¼ÐÃD¦C)
 For i = 1 To UBound(Arr)
 '¡ô³]¶¶°j°é
 TT = "": T = Replace(Arr(i, 1), "=", "+")
 '¡ô¥OTTÅܼƬO ªÅ¥Õ,¥OTÅܼƬO °}¦Cȸm´« "=" ¬° "+"
 If T = "" Then GoTo 101
 '¡ô¦pªGTÅܼƬOªÅ¥Õ!´N¸õ¨ì¼Ð¥Ü101¦ì¸mÄ~Äò°õ¦æ(ªÅ¥Õ¤£³B²z)
 For Each TS In Split(T, "+")
 '¡ô³]³v¶µ°j°é!¥OTSÅܼƬO (TÅܼƥH"+"¤À³Î«áªº¤@ºû°}¦C)°}¦CÈ
 If TS <> "" And xD.Exists(TS & "") Then TT = TT & "¡B" & TS
 '¡ô¦pªGTSÅܼƤ£¬OªÅ¥Õ,¥BTSÅܼƤ£¦bxD¦r¨å¸Ì?
 '¥OTSÅܼÆ(¦r¦ê)©ñ¦bTTÅܼÆ(¦r¦ê)«á¤è,¥H "¡B" ¶¡¹j
 Next
 Arr(i, 1) = Mid(TT, 2)
 '¡ô¥OTTÅܼƨú²Ä2¦r¥H«áªº¦r¤¸¼g¤JArr°}¦C¸Ì
 101: Next i
 [B2].Resize(UBound(Arr)) = Arr
 '¡ô¥OArr°}¦Cȱq[B2]¶}©l¼g¤JÀx¦s®æ¸Ì
 End Sub
 | 
 |