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

[µo°Ý] ¦h±ø¥óªºVLOOPUP

[µo°Ý] ¦h±ø¥óªºVLOOPUP

¦U¤j¤j:

½Ð°Ý¦p¦ó±Nªí1ªº¸ê®Æ, ¥H¨ç¼Æ©ñ¸m¦bªí2, ¦]¬°­n¥H¨â­Ó±ø¥ó¨Ï¥ÎVLOOKUP (²Ä¤@²Õ±ø¥ó®É¬q¤ÎÁ~ª÷, ²Ä¤G²Õ¬O±ø¥ó®É¬q¤Î¥[¯Z)                       
©êºp¦]Åv­­¤£¨¬¥¼¯à¤W¶ÇÀÉ®×:(
               
ªí1       
A                      B                                     C
                        ®É¬q                                ª÷ÃB       
Á~ª÷                 2013¦~1¤ë-2¤ë        10000       
                         2013¦~3¤ë-5¤ë        20000       
                         2013¦~5¤ë                        25000       
¥[¯Z                 2013¦~1¤ë-5¤ë        1000       
                       
                       
ªí2                       
A                      B             C
®É¬q                 Á~ª÷         ¥[¯Z       
2013¦~1¤ë        10000        1000       
2013¦~2¤ë        10000        1000       
2013¦~3¤ë        20000        1000       
2013¦~4¤ë        20000        1000       
2013¦~5¤ë        25000        1000

¦^´_ 1# missbb

¤£¯àª½±µ¤W¸üexcelÀÉ, ­nÀ£¦¨ZIP¦A¤W¸ü.
ss

TOP

¦^´_ 1# missbb

ªí1ªº¸ê®Æ¤¤¡A®É¬q¥Î°Ï¬q¤è¦¡°O¿ý¡A¤£¦X¥G¸ê®Æ®w·Ç«h
­n°µ¤À¤ë¬d¸ß¬O¤£¯à¥¿½T±o¨ì
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

ªí1        
A                      B                                     C
                        ®É¬q                                ª÷ÃB        
Á~ª÷                 2013¦~1¤ë-2¤ë        10000        
                         2013¦~3¤ë-5¤ë        20000        
                         2013¦~5¤ë                        25000        
¥[¯Z                 2013¦~1¤ë-5¤ë        1000     

¬õ¦â¦r 5¤ë¬O§_À³§ï¬° 4¤ë
{...} ªí¥Ü»Ý­n¥Î CTRL+SHIFT+ENTER ¤TÁä¿é¤J¤½¦¡

TOP

¦^´_ 4# ML089

:lol ¬O©O, ¥´¿ù¤F.

TOP

³o­Ó¥ÎVLOOKUP¤Ó½ÆÂø¤F
¥ÎVBA³B²z¥i¯à·|¤ñ¸û²³æ

TOP

¦^´_ 6# nissin


   ©ú¥Õ, ¤w¦b¾Ç²ß¤¤!:P

TOP

¸Õ¸Õ³o­Ó
  1. Sub copydata()
  2. Dim s1 As Long, s2 As Long, s3 As Long, d1 As Long, d2 As Long
  3. Dim wages As Long, OT As Long

  4. i = 1
  5. While Sheets(1).Cells(i, 1) <> "Á~ª÷"
  6.     i = i + 1
  7. Wend
  8. wages = i

  9. While Sheets(1).Cells(i, 1) <> "¥[¯Z"
  10.     i = i + 1
  11. Wend
  12. OT = i

  13. For i = wages To Sheets(1).UsedRange.Rows.Count
  14.     s1 = Left(Sheets(1).Cells(i, 2), 4)
  15.     s2 = Mid(Sheets(1).Cells(i, 2), 6, InStr(1, Sheets(1).Cells(i, 2), "¤ë") - 5 - 1)
  16.     If InStr(1, Sheets(1).Cells(i, 2), "-") <> 0 Then
  17.         s3 = Mid(Sheets(1).Cells(i, 2), InStr(1, Sheets(1).Cells(i, 2), "-") + 1, Len(Sheets(1).Cells(i, 2)) - (InStr(1, Sheets(1).Cells(i, 2), "-") + 1))
  18.     Else
  19.         s3 = 0
  20.     End If
  21.     For j = 2 To Sheets(2).UsedRange.Rows.Count
  22.         d1 = Left(Sheets(2).Cells(j, 1), 4)
  23.         d2 = Mid(Sheets(2).Cells(j, 1), 6, InStr(1, Sheets(2).Cells(j, 1), "¤ë") - 1 - 5)
  24.         
  25.         If d1 * 100 + d2 >= s1 * 100 + s2 Then
  26.             If s3 <> 0 Then
  27.                 If d1 * 100 + d2 <= s1 * 100 + s3 Then
  28.                     If i >= OT Then
  29.                         Sheets(2).Cells(j, 3) = Sheets(1).Cells(i, 3)
  30.                     Else
  31.                         Sheets(2).Cells(j, 2) = Sheets(1).Cells(i, 3)
  32.                     End If
  33.                 End If
  34.             Else
  35.                 If i >= OT Then
  36.                     Sheets(2).Cells(j, 3) = Sheets(1).Cells(i, 3)
  37.                 Else
  38.                     Sheets(2).Cells(j, 2) = Sheets(1).Cells(i, 3)
  39.                 End If
  40.             End If
  41.         End If
  42.     Next j
  43. Next i
  44. End Sub
½Æ»s¥N½X

TOP

¦^´_ 8# nissin
¦hÁ±z§r !:D

TOP

¥»©«³Ì«á¥Ñ Hsieh ©ó 2013-11-26 23:43 ½s¿è

¦^´_ 1# missbb
§A¬O­n¾ã²z¸ê®Æ¦¨¬°¸ê®Æ®w«¬ºA§a
  1. Sub ex()
  2. Dim OT$, Ary(), r&, y$, a$, i%, s&
  3. Set dic = CreateObject("Scripting.Dictionary")
  4. Set dic1 = CreateObject("Scripting.Dictionary")
  5. r = 2
  6. With Sheets(1)
  7. Do Until .Cells(r, 2) = ""
  8. OT = IIf(.Cells(r, 1) <> "", .Cells(r, 1), OT)
  9. y = Split(.Cells(r, 2), "¦~")(0)
  10. a = Split(.Cells(r, 2), "¦~")(1)
  11.    If InStr(a, "-") > 0 Then
  12.    ar = Split(a, "-")
  13.    For i = Val(ar(0)) To Val(ar(1))
  14.       dic(y & "¦~" & i & "¤ë" & OT) = .Cells(r, 3)
  15.       dic1(y & "¦~" & i & "¤ë") = ""
  16.    Next
  17.    Else
  18.    dic(y & "¦~" & a & OT) = .Cells(r, 3)
  19.    n = .Cells(r, 2)
  20.    dic1(.Cells(r, 2) & "") = ""
  21.    End If
  22.    r = r + 1
  23. Loop
  24. ay = Array("®É¬q", "Á~ª÷", "¥[¯Z")
  25. ReDim Preserve Ary(s)
  26. Ary(s) = ay
  27. s = s + 1
  28. For Each ky In dic1.keys
  29. ReDim Preserve Ary(s)
  30. Ary(s) = Array(ky, dic(ky & ay(1)), dic(ky & ay(2)))
  31. s = s + 1
  32. Next
  33. With Sheets(2)
  34. .Columns("A:C") = ""
  35. .[A1].Resize(s, 3) = Application.Transpose(Application.Transpose(Ary))
  36. End With
  37. End With
  38. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¡i°µ¤Hªº¶}©l¡j¨C¤@¤Ñ³£¬O¬G¤Hªº¶}©l¡A¨C¤@­Ó®É¨è³£¬O¦Û¤vªºÄµ±§¡C
ªð¦^¦Cªí ¤W¤@¥DÃD