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

[µo°Ý] ­«½Æ¤ñ¹ï

[µo°Ý] ­«½Æ¤ñ¹ï

Book1.rar (2.01 KB)

¤p©f§Ú¥u·|¤ñ¹ï³æ¤@­È (vlookup)¡A­Y»Ý­n­«½Æ¤ñ¹ï ¯uªº¥Î¨ì©ü­Ë :L
§Ú¦³¤@¥÷¸ê®Æ(sheet1) »Ý­n¤ñ¹ï ¤ý¤p©ú+ÁʶR¤é´Á ±a¥Xµo²¼¸¹½X (sheet2¸ê®Æ)
³Â·Ð¦U¦ì°ª¤â¤F ÁÂÁ :P

2!´¡¤J¤@Äæ
A1=B1&C1¤U©Ô
1!D2=VLOOKUP(B2&A2,2!A:D,4,0)
ª¾¤§¬°ª¾¤§¡A¤£ª¾¬°¤£ª¾¡A¸Û¹ê¤]¡I

TOP

2!´¡¤J¤@Äæ
A1=B1&C1¤U©Ô
1!D2=VLOOKUP(B2&A2,2!A,4,0)
gong µoªí©ó 2011-2-13 18:54



    ÁÂÁÂ :)

TOP

D2°}¦C¤½¦¡
{=INDIRECT("'2'!C"&SMALL(IF((('2'!$B$2:$B$25=A2)*('2'!$A$2:$A$25=B2)),ROW($C$2:$C$25),""),1))}
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

=LOOKUP(2,1/('2'!$A$1:$A$25='1'!B2)*('2'!$B$1:$B$25='1'!A2),'2'!$C$1:$C$25)

TOP

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2023-3-15 10:34 ½s¿è

¦^´_ 1# yuras
¦^´_ 4# Hsieh


    ÁÂÁ½׾Â,ÁÂÁ«e½ú
Âdzo©«¤µ¤Ñ«á¾Ç¦A½m²ß°}¦C»P¦r¨å,½Ð¦U¦ì«e½ú«ü±Ð
1.¨âÄæÃöÁä¦r¥H"|"²Å¸¹²Õ¦X¦¨key
2.Item¥H¦C¸¹¦b«e,®Ö½ÆÄæ¦b«á,¤¤¶¡¥H"|"²Å¸¹²Õ¦X
3.»ÝŪ¨úitem¤¤ªº¦C¸¹®É,¥HVAL(item)¤èªk«K¥i¨ú±o

¸ê®Æªí:


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


°õ¦æµ²ªG:




Option Explicit
Sub Test()
Dim Brr, Crr, Y, i&, T$
'¡ô«Å§iÅܼÆ:(Brr,Crr,Y)¬O³q¥Î«¬ÅܼÆ,i¬Oªø¾ã¼Æ,T¬O¦r¦êÅܼÆ
Set Y = CreateObject("Scripting.Dictionary")
'¡ô¥OY³o³q¥Î«¬ÅܼƬO ¦r¨å
Brr = Sheets("1").UsedRange
'¡ô¥OBrr³o³q¥Î«¬ÅܼƬO¤Gºû°}¦C,¥Hªí1¦³¨Ï¥ÎÀx¦s®æ­È±a¤J
Crr = Sheets("2").UsedRange
'¡ô¥OCrr³o³q¥Î«¬ÅܼƬO¤Gºû°}¦C,¥Hªí2¦³¨Ï¥ÎÀx¦s®æ­È±a¤J
For i = 2 To UBound(Crr)
'¡ô³]¶¶°j°é!i±q2¨ì CrrÁa¦V³Ì¤j¯Á¤Þ¦C¸¹
   T = Crr(i, 1) & "|" & Trim(Crr(i, 2))
   '¡ô¥OT³o¦r¦êÅܼƬO i°j°é¦C²Ä1ÄæCrr°}¦C­È³s±µ"|"¦A³s±µ
   'i°j°é¦C²Ä2ÄæCrr°}¦C­È¥h°£ÀY§ÀªÅ¥Õ¦r¤¸«áªº·s¦r¦ê

   If Y.Exists(T) Then
   '¡ô¦pªG¬dY¦r¨å¸Ì¦³ TÅܼƳokey?
      If Split(Y(T), "|")(1) <> Trim(Crr(i, 3)) Then
      '¡ô¦pªG¥HTÅܼƬdY¦r¨å¦^¶Çitem­È¥Î"|"¤À³Î«áªº¤@ºû°}¦C1¯Á¤Þ¸¹
      '°}¦C¤l ¤£¦P©ó i°j°é¼Æ²Ä3ÄæCrr°}¦C­È¥h°£ÀY§ÀªÅ¥Õ¦r¤¸ªº·s¦r¦ê?

         MsgBox T & " ¸ê®Æ¦³½Æ¿ï,½Ð½T»{": Exit Sub
         '¡ô¸õ¥X´£¥Üµ¡~~  :«ö½T»{«áµ²§ôµ{¦¡°õ¦æ
      End If
      Else
         Y(T) = i & "|" & Trim(Crr(i, 3))
         '¡ô§_«h´N¥HTÅܼƬ°key,item¬O i°j°é¼Æ³s±µ"|"¦A³s±µ
         'i°j°é¼Æ²Ä3ÄæCrr¦C­È¥h°£ÀY§ÀªÅ¥Õ¦r¤¸ªº·s¦r¦ê«áªº·s¦r¦ê,
         '¯Ç¤JY¦r¨å

   End If
Next
For i = 2 To UBound(Brr)
'¡ô³]¶¶°j°é!i±q2¨ì BrrÁa¦V³Ì¤j¯Á¤Þ¦C¸¹
   T = Trim(Brr(i, 2)) & "|" & Brr(i, 1)
   '¡ô¥OT³o¦r¦êÅܼƬO i°j°é¦C²Ä2ÄæBrr°}¦C­È¥h°£ÀY§ÀªÅ¥Õ¦r¤¸«áªº·s¦r¦ê
   '³s±µ"|"¦A³s±µ i°j°é¦C²Ä1ÄæBrr°}¦C­È

   Brr(i, 4) = Crr(Val((Y(T))), 3)
   '¡ô¥Oi°j°é¦C²Ä4ÄæBrr°}¦C­È¬O Val((Y(T)))¦C²Ä3ÄæCrr°}¦C­È,
   'Val((Y(T)))¦C:¥HTÅܼƬdY¦r¨å¦^¶Çªºitem­ÈÂà¤Æ¬°¼Æ­È ¦C

Next
[1!G1].Resize(UBound(Brr), 4) = Brr
'¡ô¥O¦W1ªº¤u§@ªí±q [G1]¶}©lÂX®i¦V¤U Brr°}¦CÁa¦V³Ì¤j¯Á¤Þ¦C¸¹¼Æ¦C,
'¦V¥kÂX®i 4Äæ,³oÂX®i½d³òªºÀx¦s®æ¥HBrr°}¦C­È±a¤J

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

TOP

¥»©«³Ì«á¥Ñ hcm19522 ©ó 2023-3-15 11:34 ½s¿è

D2:D4{=VLOOKUP(A2&B2,IF({1,0},'2'!B$2:B$25&'2'!A$2:A$25,'2'!C$2:C$25),2,)
google"EXCEL°g"  blog  ©Îgoogleºô§}:https://hcm19522.blogspot.com/

TOP

¥»©«³Ì«á¥Ñ hcm19522 ©ó 2023-3-15 11:34 ½s¿è

https://blog.xuite.net/hcm19522/twblog/590757733
google"EXCEL°g"  blog  ©Îgoogleºô§}:https://hcm19522.blogspot.com/

TOP

        ÀR«ä¦Û¦b : ·R¤£¬O­n¨D¹ï¤è¡A¦Ó¬O­n¥Ñ¦Û¨­ªº¥I¥X¡C
ªð¦^¦Cªí ¤W¤@¥DÃD