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


- Tham gia
- 18/2/08
- Bài viết
- 1,475
- Được thích
- 2,470
- Nghề nghiệp
- Công chức
Cũng có thể như vầy, gọn xíu í mà! :Mình làm hàm tự tạo để tính:
Option Explicit
Function NoiSuy(N As Currency)
Dim J As Integer
For J = 2 To 6
With Cells(4, J)
If .Value <= N And .Offset(, 1).Value >= N Then
NoiSuy = .Offset(1) + ((N - .Value) * (.Offset(1, 1) - .Offset(1))) / (.Offset(, 1) - .Value)
Exit Function
End If
End With
Next
End Function
Function Noisuy(XNum As Double, XRng As Range, YRng As Range) As Double
If XNum = 0 Then Noisuy = 0: Exit Function
Dim KnownX, KnownY, i, k
k = 1
ReDim KnownX(1 To XRng.Count)
ReDim KnownY(1 To XRng.Count)
For Each Cll In XRng
KnownX(k) = Cll.Value
k = k + 1
Next
k = 1
For Each Cll In YRng
KnownY(k) = Cll.Value
k = k + 1
Next
For i = 1 To XRng.Count
If KnownX(i) <= XNum And KnownX(i + 1) >= XNum Then
Noisuy = KnownY(i) + ((XNum - KnownX(i)) * _
(KnownY(i + 1) - KnownY(i))) / (KnownX(i + 1) - KnownX(i))
Exit Function
End If
Next
End Function
=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)))))