Mục lục
Hướng dẫn giải thích các vấn đề cơ bản của các hàm MONTH và EOMONTH trong Excel. Bạn sẽ tìm thấy một loạt các ví dụ về công thức minh họa cách trích xuất tháng từ ngày trong Excel, lấy ngày đầu tiên và ngày cuối cùng của tháng, chuyển đổi tên tháng thành số, v.v.
Trong bài viết trước, chúng tôi đã khám phá nhiều công thức khác nhau để tính các ngày trong tuần. Hôm nay, chúng ta sẽ hoạt động trên một đơn vị thời gian lớn hơn và tìm hiểu các chức năng mà Microsoft Excel cung cấp trong nhiều tháng.
Trong hướng dẫn này, bạn sẽ học:
Excel Hàm MONTH - cú pháp và cách sử dụng
Microsoft Excel cung cấp một hàm MONTH đặc biệt để trích xuất một tháng từ ngày, hàm này trả về số tháng nằm trong khoảng từ 1 (tháng 1) đến 12 (tháng 12).
Hàm Hàm MONTH có thể được sử dụng trong tất cả các phiên bản Excel 2016 - 2000 và cú pháp của hàm này đơn giản nhất có thể:
MONTH(serial_number) Trong đó serial_number
là bất kỳ ngày hợp lệ nào của tháng mà bạn đang cố tìm.
Để các công thức MONTH của Excel hoạt động chính xác, bạn phải nhập ngày bằng cách sử dụng hàm DATE(năm, tháng, ngày). Ví dụ: công thức =MONTH(DATE(2015,3,1))
trả về 3 vì DATE đại diện cho ngày đầu tiên của tháng 3 năm 2015.
Các công thức như =MONTH("1-Mar-2015")
cũng hoạt động tốt, mặc dù có thể xảy ra sự cố trong các trường hợp phức tạp hơn nếu ngày được nhập dưới dạng văn bản.
Trong thực tế, thay vì chỉ định một ngày trong hàm MONTH, sẽ thuận tiện hơn khi tham chiếu đến một ô có ngày hoặcMONTH và EOMONTH để thực hiện các phép tính khác nhau trong trang tính của bạn, bạn có thể tiến thêm một bước và cải thiện bản trình bày trực quan. Đối với điều này, chúng ta sẽ sử dụng các khả năng định dạng có điều kiện của Excel cho ngày tháng.
Ngoài các ví dụ được cung cấp trong bài viết đã đề cập ở trên, bây giờ tôi sẽ chỉ cho bạn cách bạn có thể nhanh chóng đánh dấu tất cả các ô hoặc toàn bộ hàng liên quan đến một tháng nhất định.
Ví dụ 1. Đánh dấu các ngày trong tháng hiện tại
Trong bảng từ ví dụ trước, giả sử bạn muốn đánh dấu tất cả các hàng có ngày tháng hiện tại.
Trước hết, bạn trích xuất các số tháng từ các ngày trong cột A bằng cách sử dụng công thức =MONTH($A2) đơn giản nhất. Và sau đó, bạn so sánh những con số đó với tháng hiện tại được trả về bởi =MONTH(TODAY()). Kết quả là bạn có công thức sau trả về TRUE nếu số tháng khớp với nhau, FALSE nếu không:
=MONTH($A2)=MONTH(TODAY())
Tạo quy tắc định dạng có điều kiện trong Excel dựa trên công thức này và kết quả của bạn có thể giống với ảnh chụp màn hình bên dưới (bài viết được viết vào tháng 4 nên tất cả các ngày trong tháng 4 đều được đánh dấu).
Ví dụ 2. Đánh dấu ngày theo tháng và ngày
Và đây là một thử thách khác. Giả sử bạn muốn làm nổi bật các ngày lễ lớn trong trang tính của mình bất kể năm nào. Giả sử ngày Giáng sinh và Năm mới. Bạn sẽ tiếp cận công việc này như thế nào?
Chỉ cần sử dụng hàm DAY của Excel đểtrích xuất ngày trong tháng (1 - 31) và hàm MONTH để lấy số tháng, sau đó kiểm tra xem NGÀY có bằng 25 hay 31 không và THÁNG có bằng 12 không:
=AND(OR(DAY($A2)=25, DAY($A2)=31), MONTH(A2)=12)
Đây là cách hoạt động của hàm MONTH trong Excel. Nó có vẻ linh hoạt hơn nhiều so với vẻ ngoài của nó phải không?
Trong một vài bài đăng tiếp theo, chúng tôi sẽ tính toán số tuần và số năm và hy vọng bạn sẽ học được một số thủ thuật hữu ích hơn. Nếu bạn quan tâm đến các đơn vị thời gian nhỏ hơn, vui lòng xem các phần trước của loạt bài Ngày trong Excel của chúng tôi (bạn sẽ tìm thấy các liên kết bên dưới). Tôi cảm ơn bạn đã đọc và hy vọng được gặp bạn vào tuần tới!
cung cấp một ngày được trả về bởi một số chức năng khác. Ví dụ: =MONTH(A1)
- trả về tháng của một ngày trong ô A1.
=MONTH(TODAY())
- trả về số của tháng hiện tại.
Thoạt nhìn, MONTH trong Excel chức năng có thể trông đơn giản. Nhưng hãy xem qua các ví dụ bên dưới và bạn sẽ ngạc nhiên khi biết nó thực sự có thể làm được bao nhiêu điều hữu ích.
Cách lấy số tháng từ ngày trong Excel
Có một số cách để lấy tháng từ ngày trong Excel. Việc chọn cái nào phụ thuộc vào kết quả chính xác mà bạn đang cố gắng đạt được.
Hàm MONTH trong Excel - lấy số tháng từ ngày
Đây là cách rõ ràng nhất và dễ nhất cách đổi ngày thành tháng trong excel. Ví dụ:
-
=MONTH(A2)
- trả về tháng của một ngày trong ô A2. -
=MONTH(DATE(2015,4,15))
- trả về 4 tương ứng với tháng 4. -
=MONTH("15-Apr-2015")
- rõ ràng là trả về số 4 cũng vậy.
Hàm TEXT trong Excel - trích xuất tháng dưới dạng chuỗi văn bản
Một cách khác để lấy số tháng từ một ngày trong Excel là sử dụng hàm Hàm TEXT:
-
=TEXT(A2, "m")
- trả về số tháng không có số 0 đứng đầu, như 1 - 12. -
=TEXT(A2,"mm")
- trả về số tháng có số 0 đứng đầu, như 01 - 12.
Hãy hết sức cẩn thận khi sử dụng công thức TEXT vì chúng luôn trả về số tháng dưới dạng chuỗi văn bản. Vì vậy, nếu bạn định thực hiện thêm một số phép tính hoặc sử dụng các số được trả về trong các công thức khác, tốt hơn hết bạn nên sử dụng hàm MONTH trong Excelchức năng.
Ảnh chụp màn hình sau đây minh họa kết quả trả về của tất cả các công thức trên. Vui lòng lưu ý căn lề phải của các số do hàm MONTH trả về (ô C2 và C3) trái ngược với giá trị văn bản căn lề trái do hàm TEXT trả về (ô C4 và C5).
Cách trích xuất tên tháng từ ngày trong Excel
Trong trường hợp bạn muốn lấy tên tháng thay vì số, bạn sử dụng lại hàm TEXT nhưng với mã ngày khác:
-
=TEXT(A2, "mmm")
- trả về tên tháng viết tắt, từ tháng 1 đến tháng 12. -
=TEXT(A2,"mmmm")
- trả về tên tháng đầy đủ, từ tháng 1 đến tháng 12.
Nếu bạn không thực sự muốn chuyển đổi ngày thành tháng trong bảng tính Excel của mình, bạn chỉ muốn chỉ hiển thị tên tháng thay vì ngày đầy đủ, thì bạn không muốn bất kỳ công thức nào.
Chọn (các) ô có ngày tháng, nhấn Ctrl+1 để mở hộp thoại Định dạng ô . Trên tab Số , chọn Tùy chỉnh và nhập "mmm" hoặc "mmmm" vào hộp Loại để hiển thị tên viết tắt hoặc tên đầy đủ của tháng tương ứng. Trong trường hợp này, các mục nhập của bạn sẽ giữ nguyên các ngày Excel có đầy đủ chức năng mà bạn có thể sử dụng trong tính toán và các công thức khác. Để biết thêm chi tiết về cách thay đổi định dạng ngày, vui lòng xem Tạo định dạng ngày tùy chỉnh trong Excel.
Cách chuyển đổi số tháng thành tên tháng trong Excel
Giả sử, bạn có một danh sách các số (1 đến 12)trong trang tính Excel mà bạn muốn chuyển đổi thành tên tháng. Để thực hiện việc này, bạn có thể sử dụng bất kỳ công thức nào sau đây:
Để trả về tên tháng viết tắt (tháng 1 - tháng 12):
=TEXT(A2*28, "mmm")
=TEXT(DATE(2015, A2, 1), "mmm")
Để trả về tên tháng đầy đủ (Tháng 1 - Tháng 12):
=TEXT(A2*28, "mmmm")
=TEXT(DATE(2015, A2, 1), "mmmm")
Trong tất cả các công thức trên, A2 là một ô có số tháng. Và sự khác biệt thực sự duy nhất giữa các công thức là mã tháng:
- "mmm" - viết tắt 3 chữ cái của tháng, chẳng hạn như tháng 1 - tháng 12
- "mmmm" - tháng đánh vần hoàn toàn
- "mmmmm" - chữ cái đầu tiên của tên tháng
Cách thức hoạt động của các công thức này
Khi sử dụng cùng với các mã định dạng tháng như "mmm" và "mmmm", Excel coi số 1 là Ngày 1 của tháng 1 năm 1900. Nhân 1, 2, 3, v.v. với 28, bạn sẽ nhận được các Ngày 28, 56, 84, v.v. của năm 1900, tức là vào tháng 1, tháng 2, tháng 3, v.v. Mã định dạng "mmm" hoặc "mmmm" chỉ hiển thị tên tháng.
Cách chuyển đổi tên tháng thành số trong Excel
Có hai hàm Excel có thể giúp bạn chuyển đổi tên tháng thành số - DATEVALUE và MONTH. Hàm DATEVALUE của Excel chuyển đổi một ngày được lưu trữ dưới dạng văn bản thành một số sê-ri mà Microsoft Excel nhận dạng là một ngày. Và sau đó, hàm MONTH trích xuất một số tháng kể từ ngày đó.
Công thức đầy đủ như sau:
=MONTH(DATEVALUE(A2 & "1"))
Trong đó A2 trong ô chứa tên thángbạn muốn chuyển thành số (&"1" được thêm vào để hàm DATEVALUE hiểu đó là ngày).
Cách lấy ngày cuối cùng của tháng trong Excel (Hàm EOMONTH)
Hàm EOMONTH trong Excel dùng để trả về ngày cuối cùng của tháng dựa trên ngày bắt đầu đã chỉ định. Nó có các đối số sau, cả hai đều bắt buộc:
EOMONTH(ngày_bắt đầu, tháng)- Ngày_bắt đầu - ngày bắt đầu hoặc tham chiếu đến ô có ngày bắt đầu.
- Tháng - số tháng trước hoặc sau ngày bắt đầu. Sử dụng giá trị dương cho ngày trong tương lai và giá trị âm cho ngày trong quá khứ.
Dưới đây là một vài ví dụ về công thức EOMONTH:
=EOMONTH(A2, 1)
- trả về ngày cuối cùng của tháng, một tháng sau ngày trong ô A2.
=EOMONTH(A2, -1)
- trả về ngày cuối cùng của tháng, một tháng trước ngày trong ô A2.
Thay vì tham chiếu ô, bạn có thể mã hóa ngày trong ô Công thức EOMONTH. Ví dụ: cả hai công thức dưới đây đều trả về ngày cuối cùng của tháng 4.
=EOMONTH("15-Apr-2015", 0)
=EOMONTH(DATE(2015,4,15), 0)
Để trả về ngày cuối cùng của tháng hiện tại , bạn sử dụng hàm TODAY() trong đối số đầu tiên của công thức EOMONTH để ngày hôm nay được coi là ngày bắt đầu. Và, bạn đặt 0 trong đối số months
vì bạn không muốn thay đổi tháng theo bất kỳ cách nào.
=EOMONTH(TODAY(), 0)
Lưu ý. Vì hàm Excel EOMONTH trả về số sê-ri đại diện cho ngày, nên bạn cóđể áp dụng định dạng ngày cho (các) ô có công thức của bạn. Vui lòng xem Cách thay đổi định dạng ngày trong Excel để biết các bước chi tiết.
Và đây là kết quả được trả về bởi các công thức Excel EOMONTH đã thảo luận ở trên:
Nếu bạn muốn tính xem còn lại bao nhiêu ngày cho đến cuối tháng hiện tại, bạn chỉ cần trừ ngày do TODAY() trả về từ ngày do EOMONTH trả về và áp dụng định dạng Chung cho một ô:
=EOMONTH(TODAY(), 0)-TODAY()
Cách tìm ngày đầu tiên của tháng trong Excel
Như bạn đã biết, Microsoft Excel chỉ cung cấp một hàm trả về ngày cuối cùng của tháng (EOMONTH). Khi nói đến ngày đầu tiên của tháng, có nhiều cách để lấy.
Ví dụ 1. Lấy ngày đầu tiên của tháng theo số tháng
Nếu bạn có số tháng, sau đó sử dụng công thức NGÀY đơn giản như sau:
=DATE( năm , số tháng , 1)Ví dụ: =DATE(2015, 4, 1) sẽ trả về 1-Apr-15.
Nếu các số của bạn nằm trong một cột nhất định, chẳng hạn như trong cột A, bạn có thể thêm tham chiếu ô trực tiếp vào công thức:
=DATE(2015, B2, 1)
Ví dụ 2. Lấy ngày đầu tiên của tháng từ một ngày
Nếu bạn muốn tính ngày đầu tiên của tháng dựa trên một ngày, bạn có thể sử dụng lại hàm DATE của Excel, nhưng lần này bạn cũng sẽ cần hàm MONTH để trích xuất số tháng:
=DATE( năm , MONTH( ô có ngày ) , 1)Dành choví dụ, công thức sau sẽ trả về ngày đầu tiên của tháng dựa trên ngày trong ô A2:
=DATE(2015,MONTH(A2),1)
Ví dụ 3. Tìm ngày đầu tiên của tháng dựa trên ngày hiện tại
Khi tính toán của bạn dựa trên ngày hôm nay, hãy sử dụng liên kết của hàm Excel EOMONTH và TODAY:
=EOMONTH(TODAY(),0) +1
- trả về ngày đầu tiên của tháng tiếp theo.
Như bạn còn nhớ, chúng ta đã sử dụng công thức EOMONTH tương tự để lấy ngày cuối cùng của tháng hiện tại. Và bây giờ, bạn chỉ cần cộng 1 vào công thức đó để có ngày đầu tiên của tháng tiếp theo.
Theo cách tương tự, bạn có thể lấy ngày đầu tiên của tháng trước và tháng hiện tại:
=EOMONTH(TODAY(),-2) +1
- trả về ngày đầu tiên của tháng trước.
=EOMONTH(TODAY(),-1) +1
- trả về ngày đầu tiên của tháng hiện tại.
Bạn cũng có thể sử dụng hàm DATE của Excel để xử lý nhiệm vụ này, mặc dù các công thức sẽ dài hơn một chút. Ví dụ: hãy đoán xem công thức sau đây làm gì?
=DATE(YEAR(TODAY()), MONTH(TODAY()), 1)
Đúng vậy, nó trả về ngày đầu tiên của tháng hiện tại.
Và làm cách nào để buộc nó trả về ngày đầu tiên của tháng hiện tại? ngày đầu tiên của tháng sau hay tháng trước? Thuận tiện :) Chỉ cần cộng hoặc trừ 1 vào/từ tháng hiện tại:
Để trả về ngày đầu tiên của tháng tiếp theo:
=DATE(YEAR(TODAY()), MONTH(TODAY())+1, 1)
Để trả về ngày đầu tiên của tháng trước:
=DATE(YEAR(TODAY()), MONTH(TODAY())-1, 1)
Cách tính số ngày trong tháng
Trong Microsoft Excel, có nhiều hàm để làm việc với ngày và thánglần. Tuy nhiên, nó thiếu chức năng tính số ngày trong một tháng nhất định. Vì vậy, chúng ta sẽ cần bù đắp cho sự thiếu sót đó bằng các công thức của riêng mình.
Ví dụ 1. Để lấy số ngày dựa trên số tháng
Nếu bạn biết số tháng, công thức DAY / DATE sau đây sẽ trả về số ngày trong tháng đó:
=DAY(DATE( năm , số tháng + 1, 1) -1)Trong công thức trên, hàm DATE trả về ngày đầu tiên của tháng tiếp theo, từ đó bạn trừ 1 để được ngày cuối cùng của tháng mà bạn muốn. Sau đó, hàm DAY chuyển đổi ngày thành số ngày.
Ví dụ: công thức sau trả về số ngày của tháng 4 (tháng thứ 4 trong năm).
=DAY(DATE(2015, 4 +1, 1) -1)
Ví dụ 2. Để lấy số ngày trong tháng dựa trên ngày
Nếu bạn không biết số tháng nhưng có bất kỳ ngày nào trong tháng đó, bạn có thể sử dụng YEAR và MONTH chức năng trích xuất số năm và tháng từ ngày. Chỉ cần nhúng chúng vào công thức NGÀY / NGÀY được thảo luận trong ví dụ trên và nó sẽ cho bạn biết một tháng nhất định có bao nhiêu ngày:
=DAY(DATE(YEAR(A2), MONTH(A2) +1, 1) -1)
Trong đó A2 là ô có ngày.
Ngoài ra, bạn có thể sử dụng công thức NGÀY / EOMONTH đơn giản hơn nhiều. Như bạn còn nhớ, hàm EOMONTH trong Excel trả về ngày cuối cùng của tháng, vì vậy bạn không cần thực hiện thêm bất kỳ phép tính nào:
=DAY(EOMONTH(A1, 0))
Ảnh chụp màn hình sau minh họakết quả trả về của tất cả các công thức và như bạn thấy chúng giống hệt nhau:
Cách tính tổng dữ liệu theo tháng trong Excel
Trong một bảng lớn với nhiều dữ liệu, bạn có thể thường cần lấy tổng các giá trị cho một tháng nhất định. Và đây có thể là một vấn đề nếu dữ liệu không được nhập theo thứ tự thời gian.
Giải pháp đơn giản nhất là thêm một cột trợ giúp bằng công thức MONTH trong Excel đơn giản sẽ chuyển đổi ngày thành số tháng. Giả sử, nếu ngày của bạn ở cột A, bạn sử dụng =MONTH(A2).
Và bây giờ, hãy viết ra danh sách các số (từ 1 đến 12 hoặc chỉ những số tháng mà bạn quan tâm ) trong một cột trống và tính tổng các giá trị cho mỗi tháng bằng cách sử dụng công thức SUMIF tương tự như sau:
=SUMIF(C2:C15, E2, B2:B15)
Trong đó E2 là số tháng.
Ảnh chụp màn hình sau đây hiển thị kết quả tính toán:
Nếu bạn không muốn thêm cột trợ giúp vào trang tính Excel của mình, không vấn đề gì, bạn có thể thực hiện mà không cần thêm cột trợ giúp. Hàm SUMPRODUCT phức tạp hơn một chút sẽ hoạt động hiệu quả:
=SUMPRODUCT((MONTH($A$2:$A$15)=$E2) * ($B$2:$B$15))
Trong đó cột A chứa ngày, cột B chứa các giá trị để tính tổng và E2 là số tháng.
Ghi chú. Xin lưu ý rằng cả hai giải pháp trên cộng tất cả các giá trị cho một tháng nhất định bất kể năm nào. Vì vậy, nếu trang tính Excel của bạn chứa dữ liệu trong vài năm, thì tất cả dữ liệu đó sẽ được tính tổng.
Cách định dạng có điều kiện ngày dựa trên tháng
Bây giờ bạn đã biết cách sử dụng Excel