Tra dữ liệu trong bảng (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tham gia
30/7/06
Bài viết
428
Được thích
383
Nghề nghiệp
GTVT
Nhờ các bác giúp cho cách tra bảng có 2 dạng có file kèm theo
Hiện 1 bảng tôi đã tách dữ liệu để nội suy nhưng kho nhập tại B22 >=10 thị bị lỗi.
vậy nhờ các bác giúp
 

File đính kèm

Nhờ các bác giúp cho cách tra bảng có 2 dạng có file kèm theo
Hiện 1 bảng tôi đã tách dữ liệu để nội suy nhưng kho nhập tại B22 >=10 thị bị lỗi.
vậy nhờ các bác giúp
Bạn cần làm rõ thêm:
1- B22 hiện không có dữ liệu
2- Số năm=2: dữ liệu này nhập tay? không liên quan đến kết quả tính toán?
3- Mã trong bảng 10.01 (dạng text, phân cách dấu chấm), mã nhập là dạng số?
Sau đó mới làm tiếp được.
 
Cảm ơn bạn đã quan tâm
Hiện mình cần là cách tra bảng và nội theo hàng mình đã nhập sẳn ở sheet bên cạnh
 
Nhờ các bác giúp cho cách tra bảng có 2 dạng có file kèm theo
Hiện 1 bảng tôi đã tách dữ liệu để nội suy nhưng kho nhập tại B22 >=10 thị bị lỗi.
vậy nhờ các bác giúp
Sai ở chỗ bảng tra hàm Match với tham số 1, như vd trên thì phải tham chiếu {0,1,3,4,6,7,9,10} thì mới OK. Lưu ý chú ý khi dùng hàm match với 1.
Khi chon 10 thì hàm match sẽ trả về 7 (E22) => +1 =8
Và sai là =INDEX($E$7:$K$12,1,E$22+1) do +1.
$E$7:$K$12 chỉ có 7 cột.
 
Nhờ các bác giúp cho cách tra bảng có 2 dạng có file kèm theo
Hiện 1 bảng tôi đã tách dữ liệu để nội suy nhưng kho nhập tại B22 >=10 thị bị lỗi.
vậy nhờ các bác giúp

Với cấu trúc bảng của bạn khá đẹp, nhưng chắc sẽ gây lỗi khi cần tra số 0<Số tra<=1
Mình nghĩ cái này do dòng 6 đem lại/gây ra!

Lí ra bạn nên thêm 1 dòng dưiới dòng 6 & copy [D5:K5] xuống vùng mới thêm. (Nếu ưa nhìn, ta có thể cho ẩn dòng này đi)

Tiện đây mình xin giới với bạn hàm nội suy; mà nó biết cảnh báo khi bạn đưa thông số vượt quá sức của nó!:
:
Mã:
Option Explicit
[B]Function NoiSuyGPE(VungTra As Range, xX As Double, yY As Double) As Double[/B]
[COLOR="#0000CD"]'Ham Noi Suy 2 Chieu Tai GPE.COM (Sa_DQ)'[/COLOR]
Dim iW As Integer, jI As Integer
Dim x1 As Double, x2 As Double, y1 As Double, y2 As Double
Dim a11 As Double, a12 As Double, a21 As Double, a22 As Double
Dim t1 As Double, t2 As Double

Dim RgNg As Range, RgDoc As Range
Dim Rng As Range, Clls As Range
Set RgNg = VungTra.Cells(1, 1).Resize(1, VungTra.Columns.Count - 1)
Set RgDoc = VungTra.Cells(1, 1).Resize(VungTra.Rows.Count, 1)

1 For Each Rng In RgNg
2    If Rng <= yY And Rng.Offset(, 1) >= yY Then
3       y1 = Rng: y2 = Rng.Offset(, 1)
            For Each Clls In RgDoc
5              If Clls <= xX And Clls.Offset(1) >= xX Then
                   x1 = Clls: x2 = Clls.Offset(1)
'3*'
7                    a11 = Cells(Clls.Row, Rng.Column): a12 = Cells(Clls.Row, Rng.Column + 1)
                     a21 = Cells(Clls.Row + 1, Rng.Column): a22 = Cells(Clls.Row + 1, Rng.Column + 1)
9                   t1 = (a12 - a11) * (yY - y1) / (y2 - y1) + a11
                     t2 = (a22 - a21) * (yY - y1) / (y2 - y1) + a21
11                  NoiSuyGPE = (t2 - t1) * (xX - x1) / (x2 - x1) + t1
                     Exit For
13            End If
           Next Clls
15     End If
    Next Rng
17 If NoiSuyGPE = 0 Then '!'
         MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
19 End If
[B]End Function[/B]
 
Lần chỉnh sửa cuối:
Giải quyết thêm điều kiện

Vâng em thêm IF điều kiện đầu va điều kiện cuối là giải quyết được nhưng em dùng hàm của bác SA_DQ thì bị lỗi không biết sai chổ nào ?
 

File đính kèm

Bạn xem trong file đính kèm xem sao.

======>>=======>>>>===========>>>
 

File đính kèm

Web KT

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

Back
Top Bottom