Các câu hỏi về thời gian, tính toán giờ, ngày, tháng, năm được post ở đây

Liên hệ QC
Cho em hỏi các pác 1 chút:
Em có cell A1 là 10/20/2012 định dạng (mm/dd/yyyy) - ngày bắt đầu, cell B1 là 4:37:00 PM - giờ bắt đầu,
Cell C1 là 10/22/2012 định dạng (mm/dd/yyyy) – ngày kết thúc, cell D1 là 9:39:00 AM - giờ kết thúc.
Cho em xin công thức và định dạng tại cell E1 tính được ra thời gian (đơn vị là giờ phút dạng thập phân hoặc hh:mm:ss cũng được) giữa hai khoảng thời gian trên.
Mong các pác giúp đỡ

Em đã làm đúng như pác ndu96081631 chỉ, xong kết quả không ra 41:02:00 mà lại ra 17:02:00 tại sao vậy ạ? Nhờ pác chỉ rõ giúp em. Thanks!

Đã nói là phải định dạng theo kiểu [h]:mm:ss cơ mà

Capture.JPG
 
Đúng là do em định dạng sai nên kết quả không như mong muốn. Pác cho em hỏi thêm một chút. Với ô kết quả như vậy 41:02:00 em muốn so sánh với một thời gian thời gian cụ thể như là 24:00:00 chẳng hạn để kết quả là một giá trị logic dùng cho lệnh if chẳng hạn thì em phải làm như thế nào?
 
Đúng là do em định dạng sai nên kết quả không như mong muốn. Pác cho em hỏi thêm một chút. Với ô kết quả như vậy 41:02:00 em muốn so sánh với một thời gian thời gian cụ thể như là 24:00:00 chẳng hạn để kết quả là một giá trị logic dùng cho lệnh if chẳng hạn thì em phải làm như thế nào?

Nên nhớ rằng: Định dạng chỉ để "nhìn cho thuận mắt", nó hoàn toàn không ảnh hưởng gì đến giá trị thật
Vậy bạn cứ so sánh thoài mái, miễn là 2 giá trị so sánh có cùng kiểu dữ liệu là được rồi
 
Em gõ =if(G2>24:00:00,1,0) thì excel không nghe, mà gõ =IF(G2>24,1,0) thì lại ra kết quả là 0, không đúng vậy cụ thể phải hiểu kiểu dữ liệu trong ô kết quả là gì cho đúng ạ. Em hỏi pác hơi nhiều mong pác thông cảm nhé! Giúp em!
 
Em gõ =if(G2>24:00:00,1,0) thì excel không nghe, mà gõ =IF(G2>24,1,0) thì lại ra kết quả là 0, không đúng vậy cụ thể phải hiểu kiểu dữ liệu trong ô kết quả là gì cho đúng ạ. Em hỏi pác hơi nhiều mong pác thông cảm nhé! Giúp em!
Dòng G2>24:00:00 chắc chắn là sai
Còn việc phải sửa thế nào, bạn chon file lên đây tôi xem trực tiếp thì mới biết
 
Trước hết em cảm ơn anh rất nhiều!
Em định tự tìm hiểu rối làm nhưng khó quá, anh giúp em giải quyết trong file em đính kèm nhé.
Còn lại 2 yêu cầu trong sheet “yêu cầu”.
 

File đính kèm

  • báo cáo mất liên lạc.xls
    25 KB · Đọc: 12
Trước hết em cảm ơn anh rất nhiều!
Em định tự tìm hiểu rối làm nhưng khó quá, anh giúp em giải quyết trong file em đính kèm nhé.
Còn lại 2 yêu cầu trong sheet “yêu cầu”.
Thế thì quá đơn giản! 24:00:00 giờ chính = 1 ngày
Vậy ta có công thức ở G2 là: =IF(F2>1,1,0)
Hoặc công thức đơn giản hơn: =1*(F2>1)
Vậy thôi
----------
Lưu ý chung: Thông thường các phép tính về ngày, giờ thường có đơn vị tính là NGÀY
 
Lần chỉnh sửa cuối:
Em nhờ anh giúp em tính Thời mất liên lạc trong giờ hành chính trong file em đính kèm, biết rằng giờ hành chính sáng từ 7:00 đến 11:30 chiều từ 13:30 đến 17:00. Ngày báo, giờ báo có thể nằm trong giờ hành chính hoặc ngoài giờ hành chính.
 
Em nhờ anh giúp em tính Thời mất liên lạc trong giờ hành chính trong file em đính kèm, biết rằng giờ hành chính sáng từ 7:00 đến 11:30 chiều từ 13:30 đến 17:00. Ngày báo, giờ báo có thể nằm trong giờ hành chính hoặc ngoài giờ hành chính.

Đây là 1 bài toán khó, tôi nghĩ phải lập trình VBA mới có thể giải quyết được!
Nếu bạn đồng ý giải pháp lập trình, ta sẽ tiếp tục nhé
 
Thực sự dùng VBA thì em chỉ mới được xem, đã đọc một chút nhưng chưa biết bắt đầu từ đâu để có thể làm được. Nếu bắt buộc phải dùng giải pháp lập trình mới làm được và không tốn quá nhiều thời gian của anh, anh giúp em với. Em sẽ cố học để hiểu. Cảm ơn anh!
 
Thực sự dùng VBA thì em chỉ mới được xem, đã đọc một chút nhưng chưa biết bắt đầu từ đâu để có thể làm được. Nếu bắt buộc phải dùng giải pháp lập trình mới làm được và không tốn quá nhiều thời gian của anh, anh giúp em với. Em sẽ cố học để hiểu. Cảm ơn anh!
Không biết có thể học. Còn việc xài đồ có sẵn thì.. quá dễ. Công việc của bạn chỉ là biết cách Enable Macro (để cho phép code chạy). Vậy là xong
----------------
Có 1 vấn đề lý ra nên hỏi bạn: Tính Time giữa 2 thời điểm có bỏ qua ngày chủ nhật không?
Ví dụ: Giữa ngày 20/10/2012 và ngày 22/10/2012 có ngày 21/10/2012 là chủ nhật --> Vậy có bỏ qua nó không?
Trong khi chờ bạn trả lời, tôi viết code cho phép bạn lựa chọn bỏ qua chủ nhật hay không (tùy bạn truyền tham số vào)
PHP:
Public Const p1 = #7:00:00 AM#
Public Const p2 = #11:30:00 AM#
Public Const p3 = #1:30:00 PM#
Public Const p4 = #5:00:00 PM#
Function NWTIMES(ByVal StartDate As Long, StartTime As Double, _
                 ByVal EndDate As Long, ByVal EndTime As Double, _
                 Optional ByVal IgnoreSunday As Boolean = False) As Double

  Dim t1 As Double, tA As Double, tB As Double, dTotal As Double
  Dim dstTime As Double, dndTime As Double
  Dim lstDate As Long, lndDate As Long, tmpDays As Long, lSuns As Long
  dstTime = StartTime: dndTime = EndTime
  lstDate = StartDate: lndDate = EndDate
  If IgnoreSunday Then
    If Weekday(lstDate) = 1 Then
      lstDate = lstDate + 1
      dstTime = p1
    End If
    If Weekday(lndDate) = 1 Then
      lndDate = lndDate - 1
      dndTime = p4
    End If
  End If
  If lndDate + dndTime >= lstDate + dstTime Then
    If dstTime < p1 Then dstTime = p1
    If dstTime > p4 Then dstTime = p4
    If dndTime < p1 Then dndTime = p1
    If dndTime > p4 Then dndTime = p4
    If dstTime <= p2 And dndTime >= p3 Then
      t1 = dndTime - p3 + p2 - dstTime
    ElseIf (dstTime <= p2 And dndTime <= p2) Or (dstTime >= p3 And dndTime >= p3) Then
      t1 = dndTime - dstTime
    ElseIf dstTime <= p2 And dndTime <= p3 Then
      t1 = p2 - dstTime
    ElseIf dstTime >= p2 And dndTime >= p3 Then
      t1 = dndTime - p3
    End If
    If dstTime >= p3 Then
      tA = p4 - dstTime
    ElseIf dstTime >= p2 Then
      tA = p4 - p3
    Else
      tA = p4 - p3 + p2 - dstTime
    End If
  
    If dndTime <= p2 Then
      tB = dndTime - p1
    ElseIf dndTime <= p3 Then
      tB = p3 - p1
    Else
      tA = dndTime - p3 + p2 - p1
    End If
  
    If lndDate = lstDate Then
      dTotal = t1
    ElseIf lndDate - lstDate = 1 Then
      dTotal = tA + tB
    Else
      If IgnoreSunday Then
        lSuns = Int((lndDate - lstDate - Weekday(lndDate) + 8) / 7)
        tmpDays = lndDate - lstDate - 1 - lSuns
      Else
        tmpDays = lndDate - lstDate - 1
      End If
      dTotal = tA + tB + tmpDays * (p4 - p3 + p2 - p1)
    End If
    NWTIMES = dTotal
  End If
End Function
4 hằng số p1, p2, p3 và p4 bạn có thể sửa lại nếu muốn
Cú pháp khi gõ trên bảng tính:
=NWTIMES(Ngày bắt đầu, giờ bắt đầu, ngày kết thúc, giờ kết thúc, tuỳ chọn bỏ qua ngày CN)
Tùy chọn bỏ qua ngày CN theo mặc định sẽ = FALSE (tức tính luôn ngày CN). Nếu cho nó =TRUE nghĩa là bỏ qua CN
Ví dụ:
=NWTIMES(B2, C2, D2, E2) ---> tính luôn CN
hoặc
=NWTIMES(B2, C2, D2, E2, TRUE) ---> Bỏ qua CN
-----------------
Xem chi tiết trong file. Tôi mới viết sơ qua, không biết có trục trặc gì không, bạn test nhé
 

File đính kèm

  • NWTimes_3.xls
    33.5 KB · Đọc: 13
Lần chỉnh sửa cuối:
Em test thử chạy tốt anh ạ. Thực sự, anh nói rất đúng, "xài đồ có sẵn thì.. quá dễ", em hứa sẽ học để có thể tự mình làm được. Cảm ơn anh rất nhiểu!
 
nhờ hướng dẫn về hàm cộng thời gian

chào các anh chị.
Các anh chị giúp em với
Em đang vướng mắc về hàm cộng thời gian.
Em có ví dụ thế này:
Cell A1: có công thức: = now() ( fomart theo kiểu h:mm)
vậy có công công thức nào cộng thêm được 15 phút và cho ra kết quả ở cell B1 không?
Các anh chi vui lòng giải đáp giúp em với!
Em cảm ơn
 
chào các anh chị.
Các anh chị giúp em với
Em đang vướng mắc về hàm cộng thời gian.
Em có ví dụ thế này:
Cell A1: có công thức: = now() ( fomart theo kiểu h:mm)
vậy có công công thức nào cộng thêm được 15 phút và cho ra kết quả ở cell B1 không?
Các anh chi vui lòng giải đáp giúp em với!
Em cảm ơn

Có 2 cách, hoặc là bạn gõ ở ô A2: 00:15 rồi công thức tại B1 = A1+A2

Hoặc bạn gõ tại B1 =A1+TIME(0,15,0)
 
Mình muốn tổng hợp dữ liệu từ bảng bên trên xuống bảng tổng hợp ở dưới .

Số liệu sẽ thống kê theo từng tháng, mã hàng nào phát sinh trong tháng nào sẽ nhập vào tháng đó . Các bạn xem giúp phải làm như thế nào . Cám ơn các bạn nhiều
 

File đính kèm

  • Tong ket du lieu theo thang.xls
    16.5 KB · Đọc: 2
Mình muốn tổng hợp dữ liệu từ bảng bên trên xuống bảng tổng hợp ở dưới .

Số liệu sẽ thống kê theo từng tháng, mã hàng nào phát sinh trong tháng nào sẽ nhập vào tháng đó . Các bạn xem giúp phải làm như thế nào . Cám ơn các bạn nhiều

Mình làm trong file đính kèm bạn xem thử có được không.
 

File đính kèm

  • Tong ket du lieu theo thang.xls
    19 KB · Đọc: 7
Cám ơn bạn rất nhiều , rất đơn giản và dễ hiểu.
 
Mình muốn tổng hợp dữ liệu từ bảng bên trên xuống bảng tổng hợp ở dưới .

Số liệu sẽ thống kê theo từng tháng, mã hàng nào phát sinh trong tháng nào sẽ nhập vào tháng đó . Các bạn xem giúp phải làm như thế nào . Cám ơn các bạn nhiều

linhvn-vpc đã viết:
Mình làm trong file đính kèm bạn xem thử có được không.
Các bạn s/d cthức này, khỏi cần cột fụ (cột E)
PHP:
=SUMPRODUCT((MONTH($A$7:$A$20)=C$23)*($D$7:$D$20=$B25);$C$7:$C$20)
Fill cthức qua fải & xuống dưới
 
Giúp em bài tính số ngày nghỉ này với

Em dùng excel 2010
1 năm làm được nghỉ 12 ngày phép
Cứ làm 5 năm thì được thêm +1 ngày phép
Em đang làm tính số ngày nghỉ còn lại trong năm
Nhưng mà rắc rối là ở chỗ: Ví dụ tính số ngày nghỉ còn trong năm 2013
-Nếu mà người ta còn ngày nghỉ phép từ năm 2012 thì nếu nghỉ phép trong quí 1(3tháng đầu năm 2013) thì số ngày phép được trừ vào ngày phép còn năm 2012. 12 ngày phép của năm 2013 vẫn còn.
-Còn nếu người ta không còn phép từ năm 2012 thì mình trừ thẳng vào phép 2013
Em muốn xin công thức tính số ngày nghỉ còn lại trong năm 2013 bao gồm cả 2 điều kiện trên ạ.
Mong mọi người giúp đỡ em ạ. Không được em không biết ăn nói với sếp sao lun huhuhu.
 

File đính kèm

  • thunghiem.xlsx
    38.8 KB · Đọc: 6
Thử cho trường hợp đầu tiên:
Mã:
=H2-IF(J2-I2>=0,J2-I2,0)
Nếu sai thì kết quả đúng là bao nhiêu?
 
Web KT
Back
Top Bottom