Hàm Textjoin nối chuỗi có định dạng ngày tháng

Liên hệ QC

cantl

!!! Giải thoát !!!
Tham gia
6/8/08
Bài viết
1,653
Được thích
1,046
Giới tính
Nam
Các bác ạ,
Hàm Textjoin của MS thật đúng với tên gọi của nó. Với dữ liệu thế này:

skafh​
04/08/2023
sksafh​
564​

kết quả là thế này: skafh , 45142, sksafh , 564

Có cách nào dùng hàm này mà nó trả về ngày dạng "date" không các bác ạ?
 
Các bác ạ,
Hàm Textjoin của MS thật đúng với tên gọi của nó. Với dữ liệu thế này:

skafh​
04/08/2023
sksafh​
564​

kết quả là thế này: skafh , 45142, sksafh , 564

Có cách nào dùng hàm này mà nó trả về ngày dạng "date" không các bác ạ?
Thử bọc bằng hàm text(...,"dd/mm/yyyy") xem được không?
 
TextJoin chỉ lấy giá trị Value2 của Cell để làm việc. Nếu là ngày thì nó cũng coi như số thực.
Để phân biệt ngày, bạn phải tự biết ngày là hạn nào (ví dụ >=25000 tức 11/06/1968)
TEXT(range, ""[>=25000]dd-mm-yyyy;0")
Như vậy, số 564 vẫn được tính như số, vì nó không thỏa điều kiện <=25000

Tuy nhiên nếu bạn muốn giới hạn ngày trong 25000~50000 thì phải dùng hàm IF. Tôi chưa tìm ra cách thực hiện với conditional format type.
 
Có lẽ định dạng sẽ tạm như thế này. Có những dữ liệu đặc biệt thì phải sửa tay thôi ạ.
=TEXTJOIN(", ",1,TEXT(A1:G1,"[>55153]0;[>27513]dd/mm/yyyy;#;@"))
1697857279538.png
 
Có lẽ định dạng sẽ tạm như thế này. ...
Định dạng như thế nào không quan trọng. Điểm chốt yếu là bạn nhận thức:
1. Dữ liệu của bạn có 3 loại: chuỗi, ngày, và số. Vì Excel không phân biệt ngày và số cho nên khi bạn concatenate, nó chỉ nhận ra 2 loại.
2. Do đó bạn có hai vấn đề:
2.1. Làm cách nào để nói với Excel cái nào là ngày và cái nào là số
2.2. Có 2.1 rồi thì làm cách nào để ngày sẽ ở dạng dd/mm/yyyy

Nguyên tắc giải vấn đề ở bảng tính trải rộng (Excel/G Sheets/...) là vậy.
- Tuần tự tách vấn đề lớn ra nhiều chi tiết nhỏ. Lưu ý rằng trong đó có những chi tiết đi theo tuyến tính và những chi tiết đi rẽ nhánh.
- Giải từng chi tiết
- Gộp chúng lại. Lúc này, người quen làm sẽ thấy có những chi tiết có thể giải chung một lượt, đây là cơ hội chỉnh lại công thức cho gọn và hiệu quả hơn.

Cách làm thật ra gần với đầu óc Vật lý hơn nhưng nhiều người tưởng lầm là gần toán. Tôi cho rằng vì chúng ta quen học cách dùng toán để bổ sung các môn khoa học khác.
 
Các bác ạ,
Hàm Textjoin của MS thật đúng với tên gọi của nó. Với dữ liệu thế này:

skafh​
04/08/2023
sksafh​
564​

kết quả là thế này: skafh , 45142, sksafh , 564

Có cách nào dùng hàm này mà nó trả về ngày dạng "date" không các bác ạ?
=TEXTJOIN(", ", TRUE, A1,TEXT(B1, "dd/mm/yyyy"))

#Giải thích, chuyển kiểu ngày tháng sang dạng Text trước khi dùng Textjoin
 
Tự dưng đào mồ mọt thớt đã 6 tháng lên rồi trả lời một câu thừa thải.
Chịu khó đọc bài #2 và #5 đi bạn vàng.
#2 thì đã nêu được nguyên nhân chính, nhưng khó hoặc cần nhiều thời gian hơn cho cho những người ít kinh nghiệp và đang gặp vấn đề tương tự. Còn #5 thì nó vẫn hơi dài và cũng ko hoàn toàn giống #9. Có thể #9 của mình là thừa thải với bạn nhưng có thể hữu ích hoặc làm phong phú hơn đối với những bạn khác. Hi vọng bạn ko cấm mình bình luận chứ?
 
#2 thì đã nêu được nguyên nhân chính, nhưng khó hoặc cần nhiều thời gian hơn cho cho những người ít kinh nghiệp và đang gặp vấn đề tương tự. Còn #5 thì nó vẫn hơi dài và cũng ko hoàn toàn giống #9. Có thể #9 của mình là thừa thải với bạn nhưng có thể hữu ích hoặc làm phong phú hơn đối với những bạn khác. Hi vọng bạn ko cấm mình bình luận chứ?
Vậy thì đọc bài #3 đi.
 
=TEXTJOIN(", ", TRUE, A1,TEXT(B1, "dd/mm/yyyy"))

#Giải thích, chuyển kiểu ngày tháng sang dạng Text trước khi dùng Textjoin
Xin cảm ơn, tớ mới kết thúc kỳ nghỉ đình chỉ về đây.
Cái công thức tớ cần là tối ưu, tối ưu nghĩa là quét hàng loạt luôn chứ chọn từng ô thì không phải tối ưu.
Hề hề.
 
Web KT
Back
Top Bottom