Em gửi lại công thức sử dụng trên Google Sheet cho bác nào online thì tham khảo
'=IFERROR(REGEXEXTRACT(REGEXREPLACE(A1;"3[2-9]|[4-9][0-9]|30/2|30/02";"");"\d{1,2}/\d{1,2}/\d{2,4}|\d{1,2}/\d{1,2}");TEXT(A1;"DD/MM/YYYY"))
Có thể nhiều người không hiểu ý tôi do tôi viết có thể không rõ.
Tất nhiên Google Sheets chạy ở đâu cũng cho kết quả như nhau. Google Sheets không liên quan gì hệ điều hành.
Cái tôi nói ở đây là công thức trong bài #5 sẽ trả kết quả sai khi người dùng có dữ liệu khác. Không phải Google Sheets làm sai mà là tác giả công thức không lường được sự đa dạng của dữ liệu đầu vào. Và công thức trả về kết quả
KHÔNG ĐƯỢC MONG ĐỢI. Lỗi của công thức chứ không phải của Google Sheets.
Tôi cho ví dụ. Công thức sẽ đúng với dữ liệu đầu vào của tác giả. Tức với dữ liệu là aab "akkd 02/03/2022" thì công thức trả về là "02/03/2022". Kết quả này đúng.
Bây giờ tôi nhận được của đối tác tập tin với công thức ở bài #5. Do tôi hàng ngày,
từ muôn đời, nhập ngày tháng là
02.03.2022, bởi
muôn đời system của tôi có thiết lập thế. Vậy thì chả lý gì tôi lại nhập "akkd 02/03/2022",
cái tay, cái đầu từ muôn đời nó luôn phải viết là "akkd 02.03.2022". Với dữ liệu đầu vào như thế thì công thức bài #5 trả về
kết quả "akkd 02.03.2022". Rõ ràng kết quả này
KHÔNG ĐƯỢC MONG ĐỢI.
Hoặc ai đó copy và paste dữ liệu từ đâu đó vào cột A, hàng nghìn dòng có dạng 02.03.2022, thì để ra được kết quả thì phải ngồi sửa tay hàng nghìn dữ liệu đầu vào thành dạng 02/03/2022? Thế có mà khóc ròng. Chính vì thế trong code của mình tôi xét cả 3 delimeter: ".", "-", "/".
Tất nhiên người viết công thức có thể chỉ phục vụ delimeter là ký tự "/". Vì thế trong bài #6 tôi không nói công thức SAI. Tôi chỉ lưu ý là có thể không tách được. Gì chứ nói về độ chính xác của câu từ thì
batman1 hơi bị tốt.
Gì chứ nói về hiểu biết system, hệ điều hành, và lô gíc thì
batman1 này không kém đâu. Dạy được
batman1 hơi bị khó đấy.