gakon_Office
Nguyễn Hoàng Nhi
- Tham gia
- 18/9/11
- Bài viết
- 176
- Được thích
- 26
Tôi không hiểu rõ yêu cấu lắm, bạn thử với hàm này xemGPE xem có cách nào giúp em bài trên với ạ!
=LOOKUP(G4,G7:G20,H7:H20)
Ý của em là thế này ạ!
Em có một bảng dữ liệu bào gồm một cột ngày và một cột giờ như file ví dụ như file ở trên.
và em sẽ nhập số ngày & số giờ trong tương lai vào 2 cột này.
Em muốn làm thế nào để tìm được "số giờ" trong tương lai mà gần nhất (chuẩn bị đến) so với thời điểm hiện tại ấy ạ!
----------------
ví dụ đồng hồ hiện tại bây giờ là 7:10 PM
Nếu em nhập bên cột ngày là:09/03/2013 % cột giờ là 8:02PM
thì công thức sẽ trả về giá : 8:02PM (khi mà cột giờ không có dữ liệu trong khoảng từ 7:10 đến 8:02PM) tất nhiên điều kiện tìm giờ phải là trong ngày.. khác ngày không xét!
Xin cám ơn!
Hiểu đơn giản là thế này: Trong một danh sách các thời điểm (xem trong file), tìm ra thời điểm trong ngày lớn hơn hoặc bằng (>=) và gần nhất với thời điểm hiện tại (=NOW()).Tôi cố tìm từ điển "Việt - Việt" để dịch + đoán, vẫn không hiểu bạn muốn gì qua nhiều lần giải thích. Thôi bó tay.
Ai biết dịch dùm không?




=MIN(IF(G7:G14=TODAY(),H7:H14-MOD(NOW(),TODAY()),""))+MOD(NOW(),TODAY())
Có vẻ chưa ổn anh bebo à, em thử trong file thấy kết quả chưa đúng.Dùng công thức này thử xem:
Kết thúc bằng Ctrl-Shift-EnterMã:=MIN(IF(G7:G14=TODAY(),H7:H14-MOD(NOW(),TODAY()),""))+MOD(NOW(),TODAY())




=MIN(IF(G7:G14=TODAY(),H7:H14-MOD(NOW(),1),""))+MOD(NOW(),1)
Anh xem trong file sẽ rõ, với thời điểm hiện tại theo máy tính em là 11:43 PM ngày 9/3/2013 thì kết quả phải là 11:50 PM, nhưng công thức lại cho ra kết quả là 6:50 AM.OK. Thay bằng 1.
Chưa đúng chỗ nào nhỉ?
Chỉ xét các ô giờ cùng ngày hôm nay (IF(G7:G14=TODAY()...),
Lấy hiệu cột giờ và giờ hiện tại, sau đó lấy MIN.
MIN cộng ngược lại với giờ hiện tại thì ra kết quả, đúng không?
Mã:=MIN(IF(G7:G14=TODAY(),H7:H14-MOD(NOW(),1),""))+MOD(NOW(),1)
Anh xem trong file sẽ rõ, với thời điểm hiện tại theo máy tính em là 11:43 PM ngày 9/3/2013 thì kết quả phải là 11:50 PM, nhưng công thức lại cho ra kết quả là 6:50 AM.
=IF(Sheet1!$G$7:$G$20=TODAY(),Sheet1!$H$7:$H$20,"")
=ROW(INDIRECT("1:"&COUNT(Area)))
=LARGE(Area,Tmp)
=TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))
=INDEX(Res,MATCH(Time,Res,-1))
Cách này lợi ở chỗ công thức cuối cùng không cần Ctrl+Shift+Enter, nhưng có cảm giác nó hơi cao siêu, nhiều đối tượng trung gian.Theo cách giải thích của anh Nghĩa Phúc thì em nghĩ phải như thế này
.......................................................
À, mình hiểu rồi: Vì trong trường hợp không có thời điểm nào thỏa mãn điều kiện thì mảng này gồm toàn bộ là chuỗi rỗng, do đó kết quả của MIN bằng 0, và con số 12:00:00 AM chính là con số 0 này đấy.Tại thời điểm này em Test với công thức của anh sao chưa cho kết quả đúng. Với dữ liệu của bài #13 thì kế quả đúng phải là: 5:00:00 AM, còn công thức của anh cho kết quả 12:00:00 AM
Không biết em test có sai chỗ nào không?
Mặt khác nếu không có ngày hiện tại trong List thì kết quả cũng sai anh à.
=IF(SUMPRODUCT((G7:G20=TODAY())*(G7:G20+H7:H20>=NOW())),MIN(IF((G7:G20=TODAY())*(G7:G20+H7:H20>=NOW()),H7:H20,"")),"")
Hiểu đơn giản là thế này: Trong một danh sách các thời điểm (xem trong file), tìm ra thời điểm trong ngày lớn hơn hoặc bằng (>=) và gần nhất với thời điểm hiện tại (=NOW()).
Ví dụ: Trong ngày 9/3/2013 có các thời điểm đã nhập vào: 6:00 PM, 7:00 PM, 8:00 PM, 9:15 PM, 10:45 PM, 11:00 PM, 11:20 PM, 11:50 PM (các thời điểm này được nhập ngẫu nhiên, không theo thứ tự), và thời điểm bây giờ là 10:50 PM ngày 9/3/2013. Khi đó kết quả của công thức phải là 11:00 PM vì đây là thời điểm tương lai gần nhất với thời điểm hiện tại.
Cũng xin nói thêm là nếu các thời điểm đã nhập này nếu được sắp xếp theo một thứ tự (tăng hoặc giảm) thì có lẽ việc xây dựng công thức sẽ dễ dàng hơn.