Lớp học GPE tháng 10 - TPHCM: Conditional Formatting và Data Validation (tối 4, 6/10) | Excel cơ bản (tối 9, 11, 13/10) |
Thuần thục các hàm dò tìm (tối 10, 12/10) | Tất tần tật về PivotTable (tối 16, 18, 20/10) |
Tất tần tật về Filter và Advanced Filter (tối 23, 25/10) | Name động và biểu đồ (tối 24, 26, 28/10)

Đăng ký học Khởi đầu cùng Google Spreadsheet - 2 chủ nhật 1 và 8/10 - TPHCM

Đăng ký học Xây dựng ứng dụng Form bằng VBA - 2 chủ nhật 15 và 22/10 - TPHCM

Công thức tính hệ số nội suy ?

Thảo luận trong 'Hàm và công thức Excel' bắt đầu bởi TrungChinhs, 7 Tháng bảy 2011.

  1. TrungChinhs

    TrungChinhs Thành viên tích cực

    Tôi có file tính hệ số nội suy, công thức trong kết quả đã được lập theo đúng công thức tổng quát và đã cho kết quả đúng nhưng tôi thấy nó dài quá. Nhờ các Bạn viết giúp công thức cho gọn hơn. Thanks !
     

    Các file đính kèm:

  2. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    =HLOOKUP($C8;$C$4:$H$5;2;1)-(HLOOKUP($C8;$C$4:$H$5;2;1)-OFFSET($C$5;0;MATCH($C8;$C$4:$H$4;1)))*(C8-H8)/(OFFSET($C$4;0;MATCH($C8;$C$4:$H$4;1))-HLOOKUP($C8;$C$4:$H$5;1;1))

    Còn khoảng 1/2 chiều dài.

    Có lẽ vẫn còn có thể rút gọn hơn. Anh xem file. Sử dụng thêm 1 giá trị 0
    Các cột phụ là nháp để anh xem cho dễ (xem xong xoá), cột cuối là công thức chính.
     

    Các file đính kèm:

    Lần chỉnh sửa cuối: 7 Tháng bảy 2011
  3. ChanhTQ@

    ChanhTQ@ Thành viên già cỗi.

    Bạn thử xài công thức này

    =IF($J4<=NTi,0.64,IF($J4<=ChT,0.64-((0.64-0.43)*($J4-NTi))/NTi,IF($J4<=N0Ti,0.43-((0.43-0.3)*($J4-ChT))/B0T,IF($J4<=TrTi,0.3-((0.3-0.23)*($J4-N0Ti))/N0Ti,IF($J4<=N00Ti,0.23-((0.23-0.13)*($J4-TrTi))/B0T*10,0)))))
     
  4. thanhlanh

    thanhlanh Thành viên tích cực

    Mình làm hàm tự tạo để tính:
     

    Các file đính kèm:

    Lần chỉnh sửa cuối: 8 Tháng bảy 2011
  5. HYen17

    HYen17 Thành viên cằn cỗi.

    Cũng có thể như vầy, gọn xíu í mà! :
    PHP:
    Option Explicit
    Function NoiSuy(As Currency)
     
    Dim J As Integer
     
    For 2 To 6
        With Cells
    (4J)
            If .
    Value <= And .Offset(, 1).Value >= N Then
                NoiSuy 
    = .Offset(1) + ((- .Value) * (.Offset(11) - .Offset(1))) / (.Offset(, 1) - .Value)
                Exit Function
            
    End If
        
    End With
     Next
    End 
    Function
     
  6. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Nếu dùng hàm tự tạo, tôi sẽ viết hàm với 3 tham số:

    Function Noisuy(XNum As Double, XRng As Range, YRng As Range) As Double

    Như vậy, có thể dùng hàm với 2 dãy số tại bất kỳ vị trí nào và kích thước bao nhiêu.
     
  7. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    PHP:
    Function Noisuy(XNum As DoubleXRng As RangeYRng As Range) As Double
    If XNum 0 Then Noisuy 0: Exit Function
    Dim KnownXKnownYik
    1
    ReDim KnownX
    (1 To XRng.Count)
    ReDim KnownY(1 To XRng.Count)
    For 
    Each Cll In XRng
        KnownX
    (k) = Cll.Value
        k 
    1
    Next
    1
    For Each Cll In YRng
        KnownY
    (k) = Cll.Value
        k 
    1
    Next
            
    For 1 To XRng.Count
                
    If KnownX(i) <= XNum And KnownX(1) >= XNum Then
                    Noisuy 
    KnownY(i) + ((XNum KnownX(i)) * _
                    
    (KnownY(1) - KnownY(i))) / (KnownX(1) - KnownX(i))
                    Exit Function
                
    End If
            
    Next
    End 
    Function
     

    Các file đính kèm:

  8. TrungChinhs

    TrungChinhs Thành viên tích cực

    Thầy ơi chữ màu đỏ có phải là Name không ạ ?

    Cảm ơn các bạn ! các phương án các bạn đưa ra đều cho kết quả đúng nhưng tôi chưa kịp hiểu, tôi sẽ nghiên cứu từng PA nếu có gì chưa hiểu sẽ nhờ các bạn chỉ giáo tiếp.
     
    Lần chỉnh sửa cuối: 8 Tháng bảy 2011

Chia sẻ trang này