Xin giúp tính toán về thời gian

Liên hệ QC
Tại bạn đặt vấn đề trong BOX hàm tự tạo nên tặng bạn hàm tự tạo đây

PHP:
Option Explicit
Function Culy_ThGian(DTM As Byte, Optional Sang As String = "s", _
   Optional GiaoMau As Byte = 0, Optional Culy As Boolean = True)
 Dim sRng As Range, Rng As Range, Sh As Worksheet
 Dim Rws As Long
 
 Set Sh = Sheets("Tong"):              Set Rng = Sheets("Tong").Range("BangTra")
 Rws = Rng.Rows.Count:                 Sang = UCase$(Sang)
 Set Rng = Rng.Cells(1, 1).Resize(Rws)
 Set sRng = Rng.Find(DTM, , xlFormulas, xlWhole)
 If Culy Then
   Culy_ThGian = sRng.Offset(, IIf(GiaoMau = 0, 6, 5)).Value
 Else
   If Sang = "S" Then
      Culy_ThGian = sRng.Offset(, IIf(GiaoMau = 0, 2, 1)).Value
   Else
      Culy_ThGian = sRng.Offset(, IIf(GiaoMau = 0, 4, 3)).Value
   End If
 End If
End Function

Chú í: Mình đã gán tên cho vùng tra rồi đó nha!
 

File đính kèm

  • GPE.rar
    11.1 KB · Đọc: 39
Sếp giao cho em bài toán này để tính thời gian cho nhân viên mà e làm hoài không ra. Mong các anh chị em giúp đỡ. đây là link: http://www.megaupload.com/?d=GOJTPCVE

http://www.megaupload.com/?d=GOJTPCVE


Thanks đc giúp đỡ. -\\/.
Bạn xem lại ví dụ 2 và 4 có vấn đề gì không:
nếu ĐTM = 2, buổi chiều (c) và không giao mẫu (0) thì tổng giờ là 3.5, tổng km là 28
nếu ĐTM = 2, buổi chiều (c), km thêm = 10 và có giao mẫu (1) thì tổng giờ là 3.5, tổng km là (28+10 = 38)
 

File đính kèm

  • bt4.rar
    7.8 KB · Đọc: 20
Gửi bác SA_DQ
Bác khó tính quá ^^ E không biết đặt ở box nào nên đặt vào đây ý mà.

Vậy là bạn chưa hoàn toàn hiểu ý mình rồi.

Mình tưởng bạn cần viết 1 hàm tự tạo thì mình viết & vậy thôi. . .

Thế này nha: Ở trang tính 'Tong' ta cứ coi như là bảng tra của hàm VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

lookup_value: đó là ĐTM cần tra;
table_array là vùng Tong!A3:G45
Ta chỉ còn thiếu col_Index_Num; Ta chỉ cần viết 1 hàm tự tạo để:
Ứng với 3 tham số S/c, G/0G & ThGia/cự li sẽ cho ra (trả về) trị Col_Index_Num tương ứng

Như ví dụ của bạn, tại 'I2' ta nhập công thức:
=VLOOKUP(D2,BangTra,HeSo(C2,E2,FALSE),FALSE)

HeSo(C2,E2, False) là hàm tự tạo;
Nó có nội dung sau:

PHP:
Option Explicit
Function HeSo(Sang As String, GiaoMau As Byte, Optional CuLy As Boolean = True) As Byte
 Dim Temp As Byte
 If UCase$(Sang) = "S" Then
   HeSo = 2
 ElseIf UCase$(Sang) = "C" Then
   HeSo = 4
 End If
 If CuLy Then HeSo = 6
 If GiaoMau = 0 Then HeSo = HeSo + 1
End Function

Chắc sau khi đọc bài này, bạn sẽ dễ hiểu hơn bài trên của mình.

Chúc vui!
 
Lần chỉnh sửa cuối:
thanks bác SA_DQ nhiều. Đóng topic này ở đây nha :)
 
e cung muon hoi ve tinh thoi gian lam viec trong ngay, chi tiet theo gio , phut?moi nguoi giup e voi huhuh
 
Web KT
Back
Top Bottom