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ề 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 • 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. + "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) - 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ố â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. + 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 . 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 24 h 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. để 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 /20 08 được qui đổi thành 39,568 Ngày +. 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