Tìm hiểu cách thức tính toán Ngày Giờ trong Excel phần 2/3 Thời điểm 24h Ngày 31/12/1989 được Excel chọn làm mốc thời gian để tính toán các giá trị về Ngày Giờ.. Tất cả các giá trị về
Trang 1Tìm hiểu cách thức tính toán Ngày Giờ trong Excel phần 2/3
Thời điểm 24h Ngày 31/12/1989 được Excel chọn làm mốc thời gian để tính toán các giá trị về Ngày Giờ
Tất cả các giá trị về Ngày Giờ đều được Excel chuyển đổi thành một giá trị
số thống nhất để tính toán, và số này chính là số Ngày cách mốc thời gian
(31/12/1989) qui ước với một số Ngày nhất định
Ví dụ: 01/01/1900 10:30 AM được qui đổi thành 1.4375 ngày
18/04/2008 10:30 AM được qui đổi thành 39,556.4375 ngày
Như vậy, hôm nay vào lúc 10h30 Ngày 18/04/2008 là thời điểm cách mốc thời gian qui ước 39,556.4375 ngày Vì thế, đơn vị nhỏ nhất để tính toán các giá trị về
Ngày Giờ là số Ngày
+ Nếu như dữ liệu nhập vào có dạng Ngày tháng thì excel sẽ chuyển giá trị này thành số chỉ Ngày
Ví dụ: 30/04/2008 được qui đổi thành 39,568 Ngày
+ Nếu dữ liệu nhập vào có dạng Giờ, Phút, Giây thì excel sẽ chuyển đổi các giá trị này ra số ngày tương ứng Cách qui đổi như sau : Giờ = (1/24) Ngày, Phút =
1/24*60=(1/1,440) Ngày , Giây = (1/86,400) Ngày Lấy giá trị qui đổi của Giờ, cộng với Phút công với Giây để cho ra giá trị Ngày tương ứng
Ví dụ: 10:30:30 PM được qui đổi thành 0.937847222 Ngày
Một vài điều cần biết khi nhập giá trị về Ngày tháng:
+ Giá trị Năm trong biểu thức Ngày tháng có gía trị trong khoảng từ 1900 đến 9999
+ Nếu như khi nhập giá trị Ngày tháng, số chỉ Năm chỉ được viết với 2 con số thì những số nào có giá trị 0 và <30 thì excel sẽ chuyển đổi thành Năm với giá trị bằng giá trị này cộng với 2000, giá trị nào =30 thì công với 1900
Ví dụ: 01/01/29 sẽ chuyển thành 01/01/2029
Ví dụ: 01/01/30 sẽ chuyển thành 01/01/1930
+ Dữ liệu Ngày tháng khi nhập vào nếu không hợp lệ thì sẽ đuơc5 chuyển thành dạng text :
Ví dụ: 01/13/2008, 01/01/10000
+ Trong một vài trường hợp, nếu dữ liệu Ngày tháng nhập vào thông qua một hàm chuyển đổi thì excel sẽ tự động chuyển đổi các giá trị không đúng thành các giá trị khác tương ứng
Ví dụ: =DATE(2008,2,31) sẽ được chuyển đổi thành
=DATE(2008,3,1)=01/03/2008
+ Tùy theo cách định dạng mà Ngày tháng nhập vào sẽ có các dạng biểu thị khác nhau, nhưng giá trị vẫn không thay đổi
Ví dụ:
18/04/2008 được chuyển đổi định dạng thành Friday 18/04/2008 với định dạng kiểu dddd dd/mm/yyyy
Trang 2 18/04/2008 được chuyển đổi định dạng thành 39556 với định dạng kiểu General
18/04/2008 được chuyển đổi định dạng thành Fri 18-Apr-2008 với định dạng kiểu ddd dd-mmm-yyyy
Hàm DATE
Chức năng : Hàm DATE trả về một giá trị ngày tháng dựa trên các chỉ tiêu Ngày,
Tháng, Năm
Cấu trúc : DATE(year,month,day)
- Year : là số ứng với Năm mà ta muốn trả về trong công thức.
+ Năm trong Excel bắt đầu từ 1900 đến 9999 Nếu Năm 9999 hay <0 thì hàm trả
về giá trị là #NUM!
+ Nếu Năm có giá trị từ 1 <= a <=1899 thì excel sẽ trả về Năm có giá trị bằng 1900+a
- Month : là số ứng với Tháng mà ta muốn trả về trong công thức Tháng có giá trị
từ 1 đến 12
+ Nếu Tháng 12 thì excel tự động chuyển số tháng tròn năm lên Năm kế tiếp và trả
về Tháng còn lại
- Day : là số ứng với Ngày mà ta muốn trả về trong công thức
+ Nếu Ngày số ngày tương ứng với Tháng, Năm trong công thức thì Excel tự động chuyển đổi số ngày tròn tháng lên Tháng kế tiếp và trả về số Ngày còn lại
Ví dụ :
=DATE(2008,1,1) giá trị trả về : 01/01/2008
=DATE(108,1,1) giá trị trả về : 01/01/2008
=DATE(107,12,32) giá trị trả về : 01/01/2008
=DATE(10000,1,1) giá trị trả về : #NUM!
Hàm DATEDIF
Chức năng : Hàm DATEDIF trả về một giá trị, là số ngày, số tháng hay số năm
giữa hai khoảng thời gian theo tùy chọn
Cấu trúc : 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
Trang 3+ " 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
Ví dụ :
Hàm DATEVALUE
Chức năng : Hàm DATEVALUE chuyển đổi một chuỗi text có dạng ngày tháng
thành giá trị ngày tháng năm có thể tính toán được
Cấu trúc : DATEVALUE(date_text)
- Date_text : là chuỗi văn bản dạng ngày tháng cần chuyển đổi Các điều kiện đối
với date_text :
+ date_text phải được đặt trong dấu ngoặc kép “” Nếu là tham chiếu đến một ô khác thì ô này phải có định dạng là text
+ Năm trong date_text phải trong khoảng từ 1900 đến 9999, nếu vượt quá số này, hàm sẽ báo lỗi #Value
+ Thông thường date_text có 3 đối số (ngày, tháng, năm) Nếu date_text chỉ có 2 đối số thì excel sẽ tính toán như sau :
++ Nếu đối số thứ nhất < 32 và đối số thứ 2 < 13 thì excel coi đối số thứ nhất là Ngày, thứ 2 là tháng Năm là năm hiện hành
++ Nếu đối số thứ nhất <13, đối số thứ 2 12 thì excel coi đối số thứ nhất là tháng, thứ 2 là năm và cho ngày là 1
++ Các trường hợp khác hàm sẽ báo lỗi #Value
Ví dụ :
Hàm DAY
Chức năng : Hàm DAY trả về một giá trị, là số chỉ ngày của tháng trong một biểu
thức ngày tháng
Cấu trúc : DAY(serial_number)
Trang 4- Serial_number : là một biểu thức ngày tháng, có thể là một giá trị ngày tháng hay
một chuỗi ngày tháng (date_text)
+ date_text trong công thức phải được đặt trong dấu ngoặc kép "" Nếu là tham chiếu đến một ô khác thì ô này phải có định dạng là text
Ví dụ :
Hàm DAYS360
Chức năng : Hàm DAYS360 trả về một giá trị, là số ngày giữa hai khoảng thời
gian dựa trên qui ước 1 năm có 360 ngày
Cấu trúc : DAYS360(startdate,enddate,option)
- Startdate : 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 kiểu tính toán theo Mỹ (False or empty) hay Châu
Âu (True) :
+ False or empty: nếu Startdate nhằm ngày 31 của tháng, excel sẽ chuyển nó thành ngày 30 Nếu Enddate là ngày 31của tháng và startdate < ngày 30 của tháng thì excel chuyển Enddate thành ngày 1 của tháng kế tiếp
+ True : nếu Startdate or Enddate nhằm vào ngày 31 của tháng thì excel chuyển chúng thành ngày 30 của tháng đó
Ví dụ :
=DAYS360("01/01/07","31/10/08") giá trị trả về : 660
=DAYS360("01/01/07","31/10/08",TRUE) giá trị trả về : 659
=DAYS360(DATE(2007,1,1),DATE(2008,10,31)) giá trị trả về : 660
So sánh với hàm DATEDIF :
=DATEDIF("01/01/07","31/10/08","d") giá trị trả về : 669
Hàm EDATE
Chức năng : Hàm EDATE trả về một Ngày nào đó tính từ mốc thời gian cho trước
và cách mốc thời gian này một số tháng nhất định
Cấu trúc : EDATE(startdate,months)
- Startdate : là Ngày được chọn làm mốc thời gian để tính toán Startdate có thể là
Date_text hay tham chiếu đến ô có giá trị ngày tháng
- Months : là số tháng cách mốc thời gian cho trước Nếu Ngày cần tìm trước Ngày
làm mốc thì Months được ghi số
Trang 5âm "-" ngược lại ghi số dương "+" hay không dấu Nếu Months là một số lẻ thì excel sẽ lấy phần nguyên, phần lẻ sẽ bỏ đi
Ghi chú :
+ Nếu kết quả trả về là một Ngày không hợp lệ ( VD 31/04/08) thì excel sẽ trả về Ngày cuối cùng của tháng đó (30/04/08)
+ Nếu trong mục Insert Function không có hàm EDATE thì vào Tools\Add-ins check vào Analysis Toolpark để cài đặt
Ví dụ :
=EDATE("01/01/08",3) giá trị trả về : 01/04/08
=EDATE("31/05/08",2) giá trị trả về : 31/07/08
=EDATE("31/01/08",3) giá trị trả về : 30/04/08
=EDATE("30/04/08",-2) giá trị trả về : 29/02/08
Hàm EOMONTH
Chức năng : Hàm EOMONTH trả về Ngày cuối tháng của Tháng nào đó cách
mốc thời gian cho trước một số tháng nhất định
Cấu trúc : EOMONTH(startdate,months)
- Startdate : là Ngày được chọn làm mốc thời gian để tính toán Startdate có thể là
Date_text hay tham chiếu đến ô có giá trị ngày tháng
- Months : là số tháng cách mốc thời gian cho trước Nếu Ngày cần tìm trước Ngày
làm mốc thì Months được ghi số
âm "-" ngược lại ghi số dương "+" hay không dấu Nếu Months là một số lẻ thì excel sẽ lấy phần nguyên, phần lẻ sẽ bỏ đi
Ví dụ :
=EOMONTH("01/01/08",1) giá trị trả về : 29/02/08
=EOMONTH("01/05/08",-1) giá trị trả về : 30/04/08
=EOMONTH("01/05/08",-1.8) giá trị trả về : 30/04/08
Áp dụng : Công thức tìm ngày cuối tháng của một giá trị ngày tháng bất kỳ.
=DAY(EOMONTH("01/02/08",0)) giá trị trả về : 29
=DAY(DATE(YEAR(A1),MONTH(A1)+1,0)) giá trị trả về : 29 với A1=01/02/08
Hàm HOUR
Chức năng : Hàm HOUR trả về một giá trị, là số Giờ lẻ chưa tròn Ngày của một
giá trị thời gian
Cấu trúc : HOUR(serial_number)
- Serial_number : là một biểu thức thời gian, Serial_number có thể là Time_text,
Time_value hay một số nào đó (Number)
+ Time_text là một chuỗi biểu hiện thời gian (VD 10:30 AM), hàm sẽ báo lỗi (#Value) nếu chuỗi thời gian không hợp lệ (VD 13:30 AM)
+ Time_value là một giá trị thời gian, có thể là một hàm trả về thời gian (Time(,,)) hay tham chiếu đến ô có giá trị thời gian
Trang 6+ Number là số chỉ ngày trong một giá trị thời gian (0<Number<1) Nếu Number
là một số nguyên thì hàm trả về 0
Ví dụ :
=HOUR("10:30 AM") giá trị trả về là 10
=HOUR("10:30:30 PM") giá trị trả về là 22
=HOUR("13:30 AM") giá trị trả về là #Value
=HOUR(NOW()) giá trị trả về là 10
=HOUR(TIME(10,30,30)) giá trị trả về là 10
=HOUR(TIME(12,60,30)) giá trị trả về là 13
=HOUR(0.5) giá trị trả về là 12