2019 thì bạn có hàm CONCAT rồi. Thử với công thức sau xem sao nhé:Em muốn tách kí tự đầu từ câu ở cột B sang kết quả như cột C. Mọi người giúp em công thức sử dụng ở excel 2019 với ạ.
Em cảm ơn.


trao đổi về phương diện nghiên cứu thôi nhé. công thức đầu tiên của bạn có chút lợn cợn, nó chỉ giới hạn ở 20 từ thôi sao? tại sao không thay ROW($1:$20) bằng ROW(INDIRECT("1:"&LEN(B2))) cho được nhiều? với lại nếu 1 chữ nào đó trong câu có độ dài rất lớn, cỡ vài chục ký tự thì sao? biết rằng nó dùng được với 99,99% các trường hợp nhưng nó không hoàn hảo.2019 thì bạn có hàm CONCAT rồi. Thử với công thức sau xem sao nhé:
=CONCAT(UPPER(LEFT(TRIM(MID(SUBSTITUTE(" "&B2," ",REPT(" ",99)),ROW($1:$20)*99,99)))))
=CONCAT(UPPER(LEFT(FILTERXML("<x><s>"&SUBSTITUTE(B2," ","</s><s>")&"</s></x>","//s"))))
Hoặc 365 thì có thể :
=MAP(B2:B4,LAMBDA(s,CONCAT(UPPER(LEFT(TEXTSPLIT(s," "))))))
=REGEXREPLACE(PROPER(B2:B4),"\B\p{L}|\s",)

=UPPER(LEFT(B1;1)&CONCAT(TRIM(IF(MID(B1;ROW(A1:INDEX(A:A;LEN(B1)));1)=" ";MID(B1;ROW(A1:INDEX(A:A;LEN(B1)))+1;1);" "))))


dạ được, do chat gpt bảo hàm indirect là hàm bay hơi nên đề xuất dùng index cho nhẹMã:=CONCAT(UPPER(IFERROR(MID(B1,FIND("|",SUBSTITUTE(" "&B1," ","|",ROW(INDIRECT("1:"&LEN(B1))))),1),"")))
![]()


Dạ không, thuật toán này là em tự nghĩ ra sau đó viết công thức. Rồi sau cùng mới đi hỏi chat gpt ,xem có cách tối ưu không thôi. Chứ AI cũng không nghĩ ra dc đâu, chịu khó nghĩ cho đầu óc nó tăng động lên bác ạ.Cái thằng Copilot hướng dẫn xài VLOOKUP() với bảng phụ!
Hết biết!

