Tìm dữ liệu từ Sheet khác?

Liên hệ QC

toquanghuy

Thành viên mới
Tham gia
14/8/09
Bài viết
4
Được thích
0
Nhờ mọi người xem file đính kèm và giúp mình:-\\/.
Input là bảng giá trị x,y,z ở Sheet MAIN.
Từ các giá trị này, tìm dữ liệu tương ứng ở bảng bên sheet TABLE rồi điền vào 3 cột tương ứng Vz, Vy, Vz ở Sheet MAIN.-+*/
Một điều rất quan trọng nữa là nếu khi tìm trên bảng mà không có chính xác giá trị cần tìm thì phải tìm giá trị gần nhất của nó. **~**
Xin cảm ơn các Bros !:-=
 

File đính kèm

  • look_up_from_table.xls
    13.5 KB · Đọc: 74
Phần chính macro của bạn đây, xin mời

Macro này mới truy xuất cho bạn cột 'X', nếu có thể bạn thêm vòng lặp For . . . Next 1 đến 3 để trám đủ dữ liệu trong bảng cần tìm; Nếu chưa được thì sẽ có bạn giúp tiếp


PHP:
Option Explicit
Sub TimGanDung()
 Dim Sh As Worksheet, Rng As Range, sRng As Range, Clls As Range, aRng As Range
 Dim Am As Double, Duong As Double, TriTim As Double, vMax As Double, vMin As Double
 Dim lNum As Integer, Dem As Integer, jJ As Byte:     Dim Thoat As Boolean
 
 Sheets("MAIN").Select:                               Set Sh = Sheets("Table")
 Set Rng = Sh.Range(Sh.[a1], Sh.[a1].End(xlDown))
 vMax = WorksheetFunction.Max(Rng)
 vMin = WorksheetFunction.Min(Rng):                   lNum = (vMax - vMin) * 200
 
 For Each Clls In Range([A2], [A2].End(xlDown))
   TriTim = Clls.Value
   Set sRng = Rng.Find(TriTim, , xlFormulas, xlWhole)
   If sRng Is Nothing Then
      For Dem = 1 To lNum
         Am = TriTim - Dem * 0.01
         Duong = TriTim + Dem * 0.01
 '        MsgBox Am, , Duong '
         For jJ = 1 To 2
            Set aRng = Rng.Find(Choose(jJ, Am, Duong), , xlFormulas, xlWhole)
            If Not aRng Is Nothing Then
               Clls.Offset(, 3).Value = aRng.Offset(, 1).Value
               Thoat = Not Thoat:                     Exit For
            End If
         Next jJ
         If Thoat Then
            Thoat = Not Thoat:                        Exit For
         End If
      Next
   Else
      Clls.Offset(, 3).Value = sRng.Offset(, 1).Value
   End If
 Next Clls
End Sub
 
Lần chỉnh sửa cuối:
Ồi khó quá.
Dùng Vlookup có được ko bạn?
 
Nhờ mọi người xem file đính kèm và giúp mình:-\\/.
Input là bảng giá trị x,y,z ở Sheet MAIN.
Từ các giá trị này, tìm dữ liệu tương ứng ở bảng bên sheet TABLE rồi điền vào 3 cột tương ứng Vz, Vy, Vz ở Sheet MAIN.-+*/
Một điều rất quan trọng nữa là nếu khi tìm trên bảng mà không có chính xác giá trị cần tìm thì phải tìm giá trị gần nhất của nó. **~**
Xin cảm ơn các Bros !:-=
Ồi khó quá.
Dùng Vlookup có được ko bạn?
Nếu dùng Vlookup thì khi tìm không có giá trị chính xác thì nó cho giá trị nhỏ hơn gần nhất chứ không phải là gần nhất như Bạn muốn, Bạn có chấp nhận điều này không?
 
Tại D2 bạn nhập công thức sau xem có được không nhé!, hơi củ chuối 1 tí

=IF(ABS(A2-OFFSET(TABLE!$A$1,MATCH(MAIN!A2,TABLE!$A$2:$A$14,1),0))<ABS(A2-OFFSET(TABLE!$A$1,MATCH(MAIN!A2,TABLE!$A$2:$A$14,1)+1,0)),VLOOKUP(OFFSET(TABLE!$A$1,MATCH(MAIN!A2,TABLE!$A$2:$A$14,1),0),TABLE!$A$1:$D$14,COLUMNS($A:B),0),VLOOKUP(OFFSET(TABLE!$A$1,MATCH(MAIN!A2,TABLE!$A$2:$A$14,1)+1,0),TABLE!$A$1:$D$14,COLUMNS($A:B),0))
 
nhờ các bác chỉ giúp em làm thế nào để có thể tham chiếu được từ sheet2 sang sheet1. các bác chỉ rõ họ em với nh.ví dụ như ở sheet 2 em có 2 cột số liệu và ở sheet 1 em muon chọn dữ liệu ở sheet2 but chỉ cần chọn 1 cột tự khắc sẽ được cột thứ 2.
thank u các b nhiều.
 
Web KT

Bài viết mới nhất

Back
Top Bottom