Cơ quan nọ có bễ chứa hình dạng đặt biệt
Để tính thể tích chất lõng còn lại trong bễ người ta đo chiều cao; Chiều cao này được đo chính xác đến mm
Người ta đã xây dựng 2 bảng tra;
1 bảng để tra thể tích ứng với số đo chiều cao tính bằng Cm
1 bảng còn lại để hiệu chuẩn tăng thể tích tương ứng với đơn vị đo là mm còn lại
Ví dụ chiều cao đo được là 127 mm;
Người ta lấy 12 Cm đêm tra ờ bảng 1 (Barem 1) & được con số nào đó, như 9.2632
Sau đó lấy con số 7 mm tra ở bảng hiệu chuẩn & được thêm con số 0.49886 để cộng vô thể tích tương ứng với 12 Cm
Hàm người dùng sau đây sẽ giúp chúng ta tra trực tiếp số liệu từ 2 bảng tra
Xin các bạn xem trong file sẽ rõ hơn.
Để tính thể tích chất lõng còn lại trong bễ người ta đo chiều cao; Chiều cao này được đo chính xác đến mm
Người ta đã xây dựng 2 bảng tra;
1 bảng để tra thể tích ứng với số đo chiều cao tính bằng Cm
1 bảng còn lại để hiệu chuẩn tăng thể tích tương ứng với đơn vị đo là mm còn lại
Ví dụ chiều cao đo được là 127 mm;
Người ta lấy 12 Cm đêm tra ờ bảng 1 (Barem 1) & được con số nào đó, như 9.2632
Sau đó lấy con số 7 mm tra ở bảng hiệu chuẩn & được thêm con số 0.49886 để cộng vô thể tích tương ứng với 12 Cm
Hàm người dùng sau đây sẽ giúp chúng ta tra trực tiếp số liệu từ 2 bảng tra
PHP:
Option Explicit
Function TraBang(Num As Double) As Double
Dim Cent As Long, Mil As Long, Rws As Long, Offs As Byte, Dg As Long
Dim Sh As Worksheet, Rng As Range, sRng As Range, WF As Object
Cent = Num \ 10: Mil = Num Mod 10
Set Sh = ThisWorkbook.Worksheets("Barem")
Set WF = Application.WorksheetFunction
Rws = Sh.[A9999].End(xlUp).Row
Set Rng = Union(Sh.[A4].Resize(Rws), Sh.[c4].Resize(Rws), Sh.[e4].Resize(Rws), Sh.[g4].Resize(Rws))
Set sRng = Rng.Find(Cent, , xlValues, xlWhole)
If Not sRng Is Nothing Then
TraBang = BaSoLe(sRng.Offset(, 1).Value)
Else
TraBang = "Nothing"
End If
If Mil = 0 Then Exit Function
Set Sh = ThisWorkbook.Worksheets("FanLe")
If Num < 4537 Then Dg = 7 Else Dg = 18
Offs = Switch(Num <= 1537, 3, Num <= 3037, Dg, Num < 4537, 11 _
, Num <= 6037, 3, Num <= 7537, 7, Num > 7537, 11)
TraBang = TraBang + BaSoLe(WF.VLookup(Mil, Sh.Cells(Dg, Offs).Resize(10, 2), 2, False))
End Function
Mã:
[B]Function BaSoLe(Num As Double) As Double[/B]
Const Ng As Integer = 1000
BaSoLe = (Num * Ng \ 1) / Ng
[B]End Function[/B]
Xin các bạn xem trong file sẽ rõ hơn.