Hỏi về cách viết Hàm If để tính thời gian theo ca

Liên hệ QC

donganhnguyen

Thành viên mới
Tham gia
21/6/18
Bài viết
31
Được thích
2
Cty mình thời gian theo ca:
Ca 1: 6:00AM - 6:00PM, Ca 2: 6:00PM - 6:00AM -> Tổng cho 1 ca = 12h, sau 12h (tức là 13h hay 14h, số giờ đó sẽ đc tính là tăng ca)
* Trường hợp 1 = ca 1:
IN: 6:00AM - OUT 6:00PM -> Mình làm CT =IF((F7-E7)*24>12,12,IF((F7-E7)*24<12,(F7-E7)*24,12)), đã trả về giá trị đúng 12/ca dù có thay đổi số giờ OUT là 7:00PM, nên mình nghĩ CT này đúng, nhưng khi thay đổi IN = PM, OUT = AM -> -12h (tức là qua ngày hôm sau, là giống như tăng ca á, nhưng k tính zy, tính zy thì k đúng vs quy định cty: mình có nói ở trên), nên mới xảy ra TH 2 ->
* Trường hợp 2 = ca 2:
IN: 6:00PM - OUT 6:00AM (là thành qua giờ của ngày hôm sau) -> Mình làm CT như trên chỉ thay đổi dấu <>, =IF((F7-E7)*24<12,12,IF((F7-E7)*24>12,(F7-E7)*24,12)), nó vẫn trả về giá trị đúng 12/ca dù có thay đổi số giờ OUT là 7:00PM, nhưng ngược lại nếu số giờ OUT là 4:00 PM (tức là sớm hơn 2h), nó k trả về đúng là 10h, mình nghĩ chắc là sai mà hok biết sai chỗ nào? mong mn giúp mình với, mình nghĩ đi nghĩ lại nó cứ rối với cái thời gian, không cách nào mà nghĩ ra được, huhuhu
Nếu gộp được cả 2 trường hợp trên vào 1 cột hay 1 công thức chung cho cả 2 thì tốt, hoặc làm sao để mình chủ động khi thay đổi thời gian IN-OUT ở bất cứ thời điểm nào của ca mà CT k bị ảnh hưởng, nó trả về đúng số giờ ạ
Cảm ơn mn, mn giúp em với....
Mong chờ hồi âm từ mn
 

File đính kèm

  • Book1.3.xlsx
    24.6 KB · Đọc: 11
Lần chỉnh sửa cuối:
Cty mình thời gian theo ca:
Ca 1: 6:00AM - 6:00PM, Ca 2: 6:00PM - 6:00AM -> Tổng cho 1 ca = 12h, sau 12h (tức là 13h hay 14h, số giờ đó sẽ đc tính là tăng ca)
* Trường hợp 1 = ca 1:
IN: 6:00AM - OUT 6:00PM -> Mình làm CT =IF((F7-E7)*24>12,12,IF((F7-E7)*24<12,(F7-E7)*24,12)), đã trả về giá trị đúng 12/ca dù có thay đổi số giờ OUT là 7:00PM, nên mình nghĩ CT này đúng, nhưng khi thay đổi IN = PM, OUT = AM -> -12h (tức là qua ngày hôm sau, là giống như tăng ca á, nhưng k tính zy, tính zy thì k đúng vs quy định cty: mình có nói ở trên), nên mới xảy ra TH 2 ->
* Trường hợp 2 = ca 2:
IN: 6:00PM - OUT 6:00AM (là thành qua giờ của ngày hôm sau) -> Mình làm CT như trên chỉ thay đổi dấu <>, =IF((F7-E7)*24<12,12,IF((F7-E7)*24>12,(F7-E7)*24,12)), nó vẫn trả về giá trị đúng 12/ca dù có thay đổi số giờ OUT là 7:00PM, nhưng ngược lại nếu số giờ OUT là 4:00 PM (tức là sớm hơn 2h), nó k trả về đúng là 10h, mình nghĩ chắc là sai mà hok biết sai chỗ nào? mong mn giúp mình với, mình nghĩ đi nghĩ lại nó cứ rối với cái thời gian, không cách nào mà nghĩ ra được, huhuhu
Nếu gộp được cả 2 trường hợp trên vào 1 cột hay 1 công thức chung cho cả 2 thì tốt, hoặc làm sao để mình chủ động khi thay đổi thời gian IN-OUT ở bất cứ thời điểm nào của ca mà CT k bị ảnh hưởng, nó trả về đúng số giờ ạ
Cảm ơn mn, mn giúp em với....
Mong chờ hồi âm từ mn
Thử:
PHP:
M7=MIN(12,MAX(K7-L7,L7-K7)*24)
 
Thử:
PHP:
M7=MIN(12,MAX(K7-L7,L7-K7)*24)
Bài đã được tự động gộp:

Cảm ơn bạn nhiều nha, CT này dùng 2 TH trên thì ok bạn à, nhưng cũng TH2: IN: 6:00PM - OUT: 9:00AM (tăng ca 3h): nó k trả về đúng 12h, mà ra 9h (trừ mất 3h), hoặc OUT: 4:00AM (về sớm 2h): nó lại k trả về 10h mà là 12h, hihihi, còn cách nào khác hok bạn
 
Lần chỉnh sửa cuối:
Bài đã được tự động gộp:

Cảm ơn bạn nhiều nha, CT này dùng 2 TH trên thì ok bạn à, nhưng cũng TH2: IN: 6:00PM - OUT: 9:00AM (tăng ca 3h): nó k trả về đúng 12h, mà ra 9h (trừ mất 3h), hoặc OUT: 4:00AM (về sớm 2h): nó lại k trả về 10h mà là 12h, hihihi, còn cách nào khác hok bạn
Thử lại:
PHP:
G7=MIN(MAX(F7-E7,0),1+F7-E7,1)*24
 
Lần chỉnh sửa cuối:
Bạn thử file của mình xem. bạn phải chèn thêm cột để trả về thông báo.
 

File đính kèm

  • Book1.3.xlsx
    25.1 KB · Đọc: 3
Bạn thử file của mình xem. bạn phải chèn thêm cột để trả về thông báo.
Thanks b nha, nhưng vấn đề hok phải là trả về thông báo, mình cần nó trả về đúng thời gian 1 ca = 12h, nếu out sớm thì vẫn lấy đúng số giờ, còn nếu quá 12h thì vẫn là 12h, cột ở phía sau mình đã tách số giờ tăng ca riêng rùi, vì tiền tăng ca tính khác tiền giờ bt
Bài đã được tự động gộp:

Thử lại:
PHP:
G7=MIN(MAX(F7-E7,0),1+F7-E7)*24
vẫn hok được bạn ơi, huhuhu
TH1 nếu mà quá 12h nó trả lại 13h -> nên TH2 cũng k trả về đúng bất cứ giờ nào
 
Lần chỉnh sửa cuối:
bạn xem lại nhé
 

File đính kèm

  • Book1.3.xlsx
    25.2 KB · Đọc: 1
Cảm ơn b nha, nhưng vấn đề hok phải là trả về thông báo, mình cần nó trả về đúng thời gian 1 ca = 12h, nếu out sớm thì vẫn lấy đúng số giờ, còn nếu quá 12h thì vẫn là 12h, cột ở phía sau mình đã tách số giờ tăng ca riêng rùi, vì tiền tăng ca tính khác tiền giờ bt
Bài đã được tự động gộp:


vẫn hok được bạn ơi, huhuhu
TH1 nếu mà quá 12h nó trả lại 13h -> nên TH2 cũng k trả về đúng bất cứ giờ nào
Tôi có chỉnh lại công thức rồi đó bạn:
G7=MIN(MAX(F7-E7,0),1+F7-E7,1)*24
 
Thử lại:
PHP:
G7=MIN(MAX(F7-E7,0),1+F7-E7,1)*24
Mình có thấy, dùng thử rồi, vẫn như trên mình nói á
Mình có test thử cho TH2 =INT(F7-(E7-12), nếu dùng này cho TH2 đối với mọi thời gian ra sớm hay muộn nó vẫn trả về đúng 12h, nhưng không biết dùng cho TH1 thì sao? & gộp cho cả 2 TH? K biết sao cho đúng vs CT này
 
Hết cách rồi
AM->PM
Mã:
=MEDIAN("6:00 AM"+{"0:00","12:00"},E7+MOD(F7-E7,1))-MEDIAN("6:00 AM"+{"0:00","12:00"},E7)
PM->AM : thay AM ở công thức trên bằng PM
 
Hết cách rồi
AM->PM
Mã:
=MEDIAN("6:00 AM"+{"0:00","12:00"},E7+MOD(F7-E7,1))-MEDIAN("6:00 AM"+{"0:00","12:00"},E7)
PM->AM : thay AM ở công thức trên bằng PM
Thanks bạn nà, mình muốn gộp cả 2 CT trên thành 1 được hok bạn? thay vì phải tách làm 2 cột 2 CT, chứ hok mình đã tách làm 2 cho dễ ùi, hihihi
 
Bạn dễ chơi quá hi, xấu đẹp gì cũng được hết à
Tui thấy dữ liệu của bạn chỉ có ca ngày thôi, bạn phải đưa dữ liệu thật mới tính được
 
Bạn dễ chơi quá hi, xấu đẹp gì cũng được hết à
Tui thấy dữ liệu của bạn chỉ có ca ngày thôi, bạn phải đưa dữ liệu thật mới tính được
dữ liệu đó là bao gồm cả 2 ca đó bạn, thay vì phải tách dữ liệu làm 2 ca, thì mình gộp lại
cột IN & OUT: TH1: 6:00AM - 6:00PM, hoặc có thể: 5:00AM - 6:pM, vv,...., TH2 vẫn là 2 cột đó mình nhập & sửa lại khoảng AM-PM thành PM-AM thôi à 6:00PM - 6:00AM & điều chỉnh giờ sớm, muộn như TH1, còn bạn hỏi dữ liệu thật là sao mình chưa hiểu, hì
file nè bạn
 

File đính kèm

  • Book1.3.xlsx
    26.2 KB · Đọc: 7
dữ liệu đó là bao gồm cả 2 ca đó bạn, thay vì phải tách dữ liệu làm 2 ca, thì mình gộp lại
cột IN & OUT: TH1: 6:00AM - 6:00PM, hoặc có thể: 5:00AM - 6:pM, vv,...., TH2 vẫn là 2 cột đó mình nhập & sửa lại khoảng AM-PM thành PM-AM thôi à 6:00PM - 6:00AM & điều chỉnh giờ sớm, muộn như TH1, còn bạn hỏi dữ liệu thật là sao mình chưa hiểu, hì
file nè bạn
Thử lại cách này, khi đăng bài nên cho nhiều kết quả để tiện, như tôi khá kém về làm thời gian:
PHP:
=MIN((F7<=E7)+F7-E7,0.5)*24
 
Lần chỉnh sửa cuối:
Thử lại cách này, khi đăng bài nên cho nhiều kết quả để tiện, như tôi khá kém về làm thời gian:
PHP:
=MIN((F7<E7)+F7-E7,0.5)*24
Vui quá, cảm ơn bạn nha, CT trên ok rồi, cái phần chính tổng số giờ đã xog nhưng mà còn 1 nùi phần phụ sau mình hok biết sao...hix, như tính tăng ca ban đầu chưa có PS TH2 (PM-AM)
Mình làm CT (AM-PM)
=IF((F7-E7)*24>12,((F7-E7)*24)-12,0)+IF((R7-Q7)*24>12,((R7-Q7)*24)-12,0) ---> kết quả số giờ tăng ca: 3h (mình có lấy vd bôi vàng trong file), nhưng khi đổi lại PM-AM: thành 1h
Còn chưa nói đến số phút đi trễ về sớm nữa...huhu
Boss lỡ giúp ùi boss giúp nốt mình cho xong lun nha, hihihi
 

File đính kèm

  • Book1.3.xlsx
    26.5 KB · Đọc: 8
Vui quá, cảm ơn bạn nha, CT trên ok rồi, cái phần chính tổng số giờ đã xog nhưng mà còn 1 nùi phần phụ sau mình hok biết sao...hix, như tính tăng ca ban đầu chưa có PS TH2 (PM-AM)
Mình làm CT (AM-PM)
=IF((F7-E7)*24>12,((F7-E7)*24)-12,0)+IF((R7-Q7)*24>12,((R7-Q7)*24)-12,0) ---> kết quả số giờ tăng ca: 3h (mình có lấy vd bôi vàng trong file), nhưng khi đổi lại PM-AM: thành 1h
Còn chưa nói đến số phút đi trễ về sớm nữa...huhu
Boss lỡ giúp ùi boss giúp nốt mình cho xong lun nha, hihihi
Bạn giải thích khó hiểu quá. Ví dụ mình muốn tính thời gian tăng ca mà không biết thời gian 1 ca là bao nhiêu có áp dụng đi sớm hay về trễ vào thời gian ca không. Muốn tính là tính những ô nào kết quả ô nào tại sao lại ra như vậy.
Chứ không phải bạn để công thức vào đó rồi tôi lại mò.
 
Bạn giải thích khó hiểu quá. Ví dụ mình muốn tính thời gian tăng ca mà không biết thời gian 1 ca là bao nhiêu có áp dụng đi sớm hay về trễ vào thời gian ca không. Muốn tính là tính những ô nào kết quả ô nào tại sao lại ra như vậy.
Chứ không phải bạn để công thức vào đó rồi tôi lại mò.
Sori bạn, :) không phải mình để công thức để bạn dò tim,... mình để chỉ muốn tham khảo, xin ý kiến mn xem, có sai chỗ nào k thôi, chứ k có ý gì hay làm khó mn...:(
Thời gian 1 ca = 12 tiếng, nếu vượt quá 12h, như 13h hay 14h thì 1h, 2h đó là tính tăng ca --> áp dụng lun cho việc đi sớm hay về trễ, thời gian tính ca đó cũng được áp dung lun cho 2 TH: AM-PM & PM-AM ạ. Mình muốn tính trong 1 cột cho tổng thời gian tăng ca trong 1 tháng lun (giống như tổng thời gian họ làm bnhiu như ct trc bạn làm giúp mình í)
Thanks nhiều :)
 
Sori bạn, :) không phải mình để công thức để bạn dò tim,... mình để chỉ muốn tham khảo, xin ý kiến mn xem, có sai chỗ nào k thôi, chứ k có ý gì hay làm khó mn...:(
Thời gian 1 ca = 12 tiếng, nếu vượt quá 12h, như 13h hay 14h thì 1h, 2h đó là tính tăng ca --> áp dụng lun cho việc đi sớm hay về trễ, thời gian tính ca đó cũng được áp dung lun cho 2 TH: AM-PM & PM-AM ạ. Mình muốn tính trong 1 cột cho tổng thời gian tăng ca trong 1 tháng lun (giống như tổng thời gian họ làm bnhiu như ct trc bạn làm giúp mình í)
Cảm ơn nhiều :)
Như này cho dễ hiểu, giờ bạn nói cần tính tổng vậy thì nó là cột bao nhiêu tô màu vàng ô đó đưa ra kết quả.
Giải thích kết quả đó là tính những ô nào, ô nào cần chú ý.
 
Web KT
Back
Top Bottom