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
Như vậy khi mình copy công thức của bạn vào file của mình thì "A1:A" vẫn không thay đổi chứ ?
Khi copy công thức, bạn chỉ cần thay đổi các tham chiếu về ngày nghỉ đầu tiên, ngày nghỉ cuối cùng và ngày lễ thôi. Còn cái "A1:A" thì cứ để nguyên.
 
cách đếm ngày

Dear all,
Anh chị cho em hỏi tý với. Em muồn đếm từ ngày đến ngày là bao nhiêu ngày thì làm thế nào?
Ví dụ: Từ ngày 17/01/2010 đến ngày 08/02/2010 là 23 ngày.
em đọc trong phần công thức date thì chỉ có hàm Networkdays nhưng hàm này lại bỏ 2 ngày nghỉ và ngày lễ nên khi áp dụng để đếm ngày làm việc thi nó chỉ là 16 ngày.
anh chị có cách nào chỉ cho em với. Thanks
 
Dear all,
Anh chị cho em hỏi tý với. Em muồn đếm từ ngày đến ngày là bao nhiêu ngày thì làm thế nào?
Ví dụ: Từ ngày 17/01/2010 đến ngày 08/02/2010 là 23 ngày.
em đọc trong phần công thức date thì chỉ có hàm Networkdays nhưng hàm này lại bỏ 2 ngày nghỉ và ngày lễ nên khi áp dụng để đếm ngày làm việc thi nó chỉ là 16 ngày.
anh chị có cách nào chỉ cho em với. Thanks
Thì lấy ngày cuối trừ cho ngày đầu rồi cộng thêm 1 thôi
Ví dụ:
= B1 - A1 + 1
Gõ công thức và Enter xong bạn được kết quả dạng 23/01/1900 ---> Hãy bấm tổ hợp phím Ctrl + Shitt + ~ để chuyển về dạng General (thành số 23)
 
Thì lấy ngày cuối trừ cho ngày đầu rồi cộng thêm 1 thôi
Ví dụ:
= B1 - A1 + 1
Gõ công thức và Enter xong bạn được kết quả dạng 23/01/1900 ---> Hãy bấm tổ hợp phím Ctrl + Shitt + ~ để chuyển về dạng General (thành số 23)
ôi cảm ơn anh nhiều
đầu óc em bị làm sao rồi, đơn giám thế mà cũng không nghĩ ra lại cứ tìm công thức ở trời biển nào ấy.
đa tạ, đa tạ
 
Bạn có thể dùng hàm DATEDIF để tính số ngày, tháng, năm.
 
dùng hàm này thử coi sao
DATEDIF(firstdate,enddate,option)
- firstdate : là Ngày bắt đầu của khoảng thời gian cần tính toán
- Enddate : là Ngày kết thúc của khoảng thời gian cần tính toán
- Option: là tùy chọn, xác định kết quả tính toán sẽ trả về trong công thức. Các tùy chọn theo sau :
+ "d" : Hàm sẽ trả về số ngày giữa hai khoảng thời gian.
+ "m" : Hàm sẽ trả về số tháng (chỉ lần phần nguyên) giữa hai khoảng thời gian.
+ "y" : Hàm sẽ trả về số năm (chỉ lần phần nguyên) giữa hai khoảng thời gian.
+ "yd" : Hàm sẽ trả về số ngày lẻ của năm (số ngày chưa tròn năm) giữa hai khoảng thời gian.
+ "ym" : Hàm sẽ trả về số tháng lẻ của năm (số tháng chưa tròn năm) giữa hai khoảng thời gian.
+ "md" : Hàm sẽ trả về số ngày lẻ của tháng (số ngày chưa tròn tháng) giữa hai khoảng thời gian.
 
Bạn có thể dùng hàm DATEDIF để tính số ngày, tháng, năm.
----------------
dùng hàm này thử coi sao
DATEDIF(firstdate,enddate,option)
- firstdate : là Ngày bắt đầu của khoảng thời gian cần tính toán
- Enddate : là Ngày kết thúc của khoảng thời gian cần tính toán
- Option: là tùy chọn, xác định kết quả tính toán sẽ trả về trong công thức. Các tùy chọn theo sau :
+ "d" : Hàm sẽ trả về số ngày giữa hai khoảng thời gian.
+ "m" : Hàm sẽ trả về số tháng (chỉ lần phần nguyên) giữa hai khoảng thời gian.
+ "y" : Hàm sẽ trả về số năm (chỉ lần phần nguyên) giữa hai khoảng thời gian.
+ "yd" : Hàm sẽ trả về số ngày lẻ của năm (số ngày chưa tròn năm) giữa hai khoảng thời gian.
+ "ym" : Hàm sẽ trả về số tháng lẻ của năm (số tháng chưa tròn năm) giữa hai khoảng thời gian.
+ "md" : Hàm sẽ trả về số ngày lẻ của tháng (số ngày chưa tròn tháng) giữa hai khoảng thời gian.
Câu hỏi của tác giả cũng đơn giản như bài toán: "Từ cây cột mốc Km số 10 đến cây cột mốc Km số 20 bao gồm bao nhiêu cây cột mốc?"
Vậy có cần phải dùng đến DATEDIF không? (dù rằng dùng nó hoàn toàn đúng)
 
Cảm ơn các bạn nhiều.
Bạn Cuong0202 cho rớ hỏi thêm với. Tớ dùng thử hàm Datedì rồi nhưng nó chỉ cho ngày trong khoảng thời gian thôi. Có cách nào dùng hàm mà cho cả ngày bắt đầu và ngày kết thúc không? Tương tự như vậy cho cả tháng và năm nữa?
VD: từ 17/01 đến 8/02/2010 Thì số tháng sẽ là 2
 
VD: từ 17/01 đến 8/02/2010 Thì số tháng sẽ là 2
Từ 17/01/2010 đến 08/02/2010 chỉ có 22 ngày (là 23 nếu tính luôn ngày đầu) mà Bạn muốn kết quả là 2 tháng?!
Bác Bill không tính trước được tình huống này nên chắc không có hàm nào như vậy đâu.
Bạn tự làm thôi, ví dụ =month(B1)-month(A1)+1 hay gì gì đó theo ý Bạn.
Thân.
 
Từ 17/01/2010 đến 08/02/2010 chỉ có 22 ngày (là 23 nếu tính luôn ngày đầu) mà Bạn muốn kết quả là 2 tháng?!
Bác Bill không tính trước được tình huống này nên chắc không có hàm nào như vậy đâu.
Bạn tự làm thôi, ví dụ =month(B1)-month(A1)+1 hay gì gì đó theo ý Bạn.
Thân.
Thế theo công thức trên thì từ 25/12/2009 đến 15/1/2010 sẽ ra kết quả bao nhiêu tháng đây?
Ẹc... Ẹc...
(Cải tiến tiếp nhé ---> Vì đây cũng là 1 như cầu tính toán khá thực tế)
 
Thế theo công thức trên thì từ 25/12/2009 đến 15/1/2010 sẽ ra kết quả bao nhiêu tháng đây?
Ẹc... Ẹc...
(Cải tiến tiếp nhé ---> Vì đây cũng là 1 như cầu tính toán khá thực tế)
Quả thật tôi không biết đây cũng là 1 nhu cầu tính toán khá thực tế,
Nếu là tôi chắc phải "cải tiến" như thế này:
=(YEAR(B1)-YEAR(A1))*12+MONTH(B1)-MONTH(A1)+1
Tuy nó dài thoòòng, nhưng tôi hiểu "nó muốn gì"
 
Lần chỉnh sửa cuối:
Quả thật tôi không biết đây cũng là 1 nhu cầu tính toán khá thực tế,
Nếu là tôi chắc phải "cải tiến" như thế này:

Tuy nó dài thoòòng, nhưng tôi hiểu "nó muốn gì"
Đó cũng là cách mà tôi hay dùng!
Ngoài ra cũng còn 1 cách khác. Thuật toán như sau:
- Chuyển NGÀY ĐẦU thành ngày mồng 1
- Chuyển NGÀY CUỐI thành ngày mồng 1
- Dùng DATEDIF với 2 ngày vừa chuyển
Ví dụ:
NGÀY ĐẦU (tại cell A1) = 25/12/2009
NGÀY CUỐI (tại cell B1) = 15/1/2010
Vậy:
- Chuyển NGÀY ĐẦU thành ngày mồng 1 bằng công thức =A1-DAY(A1)+1
- Chuyển NGÀY CUỐI thành ngày mồng 1 bằng công thức =B1-DAY(B1)+1
- Dùng DATEDIF với 2 kết quả trên =DATEDIF(A1-DAY(A1)+1,B1-DAY(B1)+1,"m")
- Rút gọn =DATEDIF(A1-DAY(A1),B1-DAY(B1),"m")
(Công thức có vẽ ngắn hơn đấy)
 
Đó cũng là cách mà tôi hay dùng!
Ngoài ra cũng còn 1 cách khác. Thuật toán như sau:
- Chuyển NGÀY ĐẦU thành ngày mồng 1
- Chuyển NGÀY CUỐI thành ngày mồng 1
- Dùng DATEDIF với 2 ngày vừa chuyển
Ví dụ:
NGÀY ĐẦU (tại cell A1) = 25/12/2009
NGÀY CUỐI (tại cell B1) = 15/1/2010
Vậy:
- Chuyển NGÀY ĐẦU thành ngày mồng 1 bằng công thức =A1-DAY(A1)+1
- Chuyển NGÀY CUỐI thành ngày mồng 1 bằng công thức =B1-DAY(B1)+1
- Dùng DATEDIF với 2 kết quả trên =DATEDIF(A1-DAY(A1)+1,B1-DAY(B1)+1,"m")
- Rút gọn =DATEDIF(A1-DAY(A1),B1-DAY(B1),"m")
(Công thức có vẽ ngắn hơn đấy)
Bổ sung thêm theo đúng yêu cầu thực tế của tác giả nhé:
- Rút gọn =DATEDIF(A1-DAY(A1),B1-DAY(B1),"m")+1
 
Hàm tính tổng số ngày

Trong một ngày hoạt động có thể diễn ra ở nhiều xã
Ví dụ: Hoạt động giám sát đánh giá các hoạt động môi trường diễn ra ở xã Ngoc Lau vào ngày mùng 1/1, 3/1....
An Binh vào các ngày 1/1. 4/1....
Giúp em tìm công thức để tính xem mỗi một hoạt động trong từng tháng thì 1 xã có tổng số ngày diễn ra hoạt động đó là bao nhiêu.?
Em không biết thiết kế bảng biểu ntn cho hợp lý và công thức nào để tính dc tổng số ngày diễn ra hoạt động đó
Em xin cảm ơn ạ +-+-+-+
 

File đính kèm

  • FILE TINH TONG SO NGAY.xls
    21.5 KB · Đọc: 95
Bạn xài thử hàm tự tạo như sau:

PHP:
Option Explicit
Function SumFor(LookupRange As Range, Diaf As Range)
 Dim Clls As Range
 For Each Clls In LookupRange
   If InStr(Clls.Value, Diaf.Value) > 0 Then _
      SumFor = SumFor + 1
'   If IsNumeric(Clls.Value) = False Then MsgBox Diaf.Value, , Clls.Value'
 Next Clls
End Function

Chú í cần thiết:

(*) Điạ danh các xã trong vùng từ E6:I6 phải trừng hợp với vùng sau cột J

(*) Cú fáp tại [E8] như sau: =sumfor($J8:$AN8,E6)

(Bạn có thể fill Right công thức này đến i8 đó nha.
 
Anh SA_DQ ơi, anh giúp em thì giúp cho chót với, vì em mới học excel, vẫn chưa thành thạo thì làm sao em biết dùng mã code.
Anh thử nghĩ cách khác giùm em được không ạ.
Nếu ko có cách nào mà bắt buộc phải dùng mã code như trên thì anh hướng dẫn em cách làm để tạo code đó với.
Em cảm ơn anh nhiều
Chúc anh một ngày tốt lành
 
Anh SA_DQ ơi, anh giúp em thì giúp cho chót với, vì em mới học excel, vẫn chưa thành thạo thì làm sao em biết dùng mã code.
Anh thử nghĩ cách khác giùm em được không ạ.
Nếu ko có cách nào mà bắt buộc phải dùng mã code như trên thì anh hướng dẫn em cách làm để tạo code đó với.
Em cảm ơn anh nhiều
Chúc anh một ngày tốt lành

Bạn thử xem thế này có được không?
 

File đính kèm

  • FILE TINH TONG SO NGAY.xls
    22.5 KB · Đọc: 102
Lần chỉnh sửa cuối:
Nếu như đúng yêu cầu của tác giả và như kết quả của bạn thanh_tks thì chỉ cần:
Tại Ô E8 dùng;
PHP:
=COUNTIF($J8:$AN8,"*"&E$6&"*")
rồi fill sang phải, xuống dưới,

Ừh há ! đúng đấy! mình cứ nghĩ tận đẩu đâu nên mới làm ra vậy
 
Web KT
Back
Top Bottom