Johna cần xác định xem một ngày cụ thể có nằm giữa hai ngày khác không. Ví dụ: cô ấy có thể cần phải xác định xem ngày 8 tháng 11 năm 2018 có nằm trong khoảng từ ngày 1 tháng 8 năm 2018 đến ngày 31 tháng 7 năm 2019. Cô ấy đang cố gắng tìm ra công thức sẽ đưa ra quyết định này.

Trên thực tế, có rất nhiều công thức bạn có thể sử dụng, từ ngắn đến rất dài. Tuy nhiên, trong mẹo này, tôi sẽ tập trung vào các cách tiếp cận công thức ngắn hơn. Trước khi làm như vậy, bạn nên nhớ rằng ngày (và giờ) được Excel lưu trữ bên trong dưới dạng số. Phần của ngày trước dấu thập phân (phần nguyên của số) là số sê-ri của ngày và phần ở bên phải của chữ số thập phân là thời gian.

Vì ngày và giờ được lưu trữ dưới dạng số, nên việc so sánh các số để xác định số nào cao hơn hay thấp hơn và liệu thứ gì nằm giữa giá trị cao và thấp sẽ trở thành một nhiệm vụ tương đối dễ dàng. Ví dụ: giả sử rằng bạn có ngày bắt đầu (ngày 1 tháng 8 năm 2018) trong ô A1 và ngày kết thúc (31 tháng 7 năm 2019) trong ô A2. Bạn có thể đặt ngày để kiểm tra vào ô D1 và sử dụng công thức sau:

=IF(AND(D1>=A1,D1<=A2),"Yes","No")

Công thức kiểm tra xem liệu ngày trong D1 có lớn hơn hoặc bằng A1 và nhỏ hơn hoặc bằng A2 hay không. Chỉ khi hai điều kiện đó được đáp ứng là “Có” được trả về, nếu không “Không” được trả về. (Xem Hình 1.)

image

Hình 1. So sánh các con số để xác định cái nào cao hơn hay thấp hơn và giữa giá trị cao và thấp.

Nếu bạn nghĩ rằng ngày bao gồm cả thời gian, thì bạn có thể muốn điều chỉnh bằng cách loại bỏ phần của số sê-ri biểu thị thời gian:

=IF(AND(TRUNC(D1,0)>=TRUNC(A1,0),TRUNC(D1,0)<=TRUNC(A2,0)),"Yes","No")

Nếu bạn thực sự đang so sánh các chuỗi văn bản và không nhận dạng được ngày tháng trong Excel, thì bạn sẽ cần sử dụng hàm DATEVALUE để chuyển đổi các chuỗi thành ngày tháng:

=IF(AND(DATEVALUE(D1)>=DATEVALUE(A1),DATEVALUE(D1)<=DATEVALUE(A2)),"Yes","No")

Kết quả của việc sử dụng hàm DATEVALUE sẽ tương tự như hình sau: (Xem hình 2.)

image

Hình 2. So sánh chuỗi văn bản bằng cách sử dụng hàm DATEVALUE để chuyển đổi chuỗi thành ngày tháng.

Mỗi công thức, cho đến nay, đều là công thức cơ bản giống nhau; điều duy nhất khác biệt giữa chúng là việc bổ sung các chức năng bổ sung để bù đắp cho các đặc điểm của cách lưu trữ ngày tháng trong các ô. Đối với một cách hoàn toàn khác để xác định xem một ngày có nằm giữa hai ngày khác hay không, bạn có thể sử dụng phương pháp công thức sau:

=IF(D1=MEDIAN(D1,A1,A2),"Yes","No")

Vì hàm MEDIAN được tính bằng ba số nên nó luôn trả về số nằm giữa số thấp hơn và số cao hơn. Điều này có nghĩa là nếu D1 thực sự nằm giữa hai cái kia, nó sẽ luôn được trả về; nếu D1 không nằm giữa hai cái kia, thì một trong những cái khác sẽ được trả về.

Thật thú vị, nếu bạn tổ chức lại dữ liệu của mình một chút để ba giá trị liền kề nhau (ví dụ: bằng cách chuyển ngày so sánh từ D1 sang A3), thì bạn có thể thay thế ba tham chiếu ô riêng biệt bằng một phạm vi ba ô , làm cho công thức thậm chí còn ngắn hơn:

=IF(A3=MEDIAN(A1:A3),"Yes","No")

Lợi thế khi sử dụng phương pháp MEDIAN đối với phương pháp AND là bạn không cần phải lo lắng giá trị phạm vi nào (A1 hoặc A2) là ngày bắt đầu hay ngày kết thúc để so sánh — hàm MEDIAN sắp xếp tất cả. (Xem Hình 3.)

image

Hình 3. So sánh các giá trị bằng cách sử dụng chức năng MEDIAN.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (12742) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.