xin giúp đỡ tách chuỗi! (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

smjler0109

Thành viên mới
Tham gia
19/8/11
Bài viết
13
Được thích
1
em là người mới học excel lên còn mù mờ và gặp một vấn đề như sau, em có một chuỗi:
CT-97x150x6x9x1600
H300x300x10x15x20790
CT-97x150x6x9x973
giờ em muốn tách lấy các ký tự của chuỗi trừ những ký tự bắt đầu từ phải qua trái va gặp dấu "x" đầu tiên
vd:CT-97x150x6x9x1600
em muốn chỉ lấy CT-97x150x6x9
bác nào biết thi chỉ em dùm với hjx hjx
thank!
 
em là người mới học excel lên còn mù mờ và gặp một vấn đề như sau, em có một chuỗi:
CT-97x150x6x9x1600
H300x300x10x15x20790
CT-97x150x6x9x973
giờ em muốn tách lấy các ký tự của chuỗi trừ những ký tự bắt đầu từ phải qua trái va gặp dấu "x" đầu tiên
vd:CT-97x150x6x9x1600
em muốn chỉ lấy CT-97x150x6x9
bác nào biết thi chỉ em dùm với hjx hjx
thank!
A1 chứa chuỗi cần tách :
Công thức để tách :
PHP:
=LEFT(A1,MAX(IF(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="x",ROW(INDIRECT("1:"&LEN(A1))),""))-1)
Kết thúc bằng Ctrl+shift+E
 
Lần chỉnh sửa cuối:
em là người mới học excel lên còn mù mờ và gặp một vấn đề như sau, em có một chuỗi:
CT-97x150x6x9x1600
H300x300x10x15x20790
CT-97x150x6x9x973
giờ em muốn tách lấy các ký tự của chuỗi trừ những ký tự bắt đầu từ phải qua trái va gặp dấu "x" đầu tiên
vd:CT-97x150x6x9x1600
em muốn chỉ lấy CT-97x150x6x9
bác nào biết thi chỉ em dùm với hjx hjx
thank!
nếu excel 2007--2010 thì dùng đỡ cái này
PHP:
=LEFT(A1,MAX(IFERROR(SEARCH("X",A1,ROW(INDIRECT("1:"&LEN(A1)))),""))-1)
Kết thúc bằng Ctrl+shift+Enter
 
em là người mới học excel lên còn mù mờ và gặp một vấn đề như sau, em có một chuỗi:
CT-97x150x6x9x1600
H300x300x10x15x20790
CT-97x150x6x9x973
giờ em muốn tách lấy các ký tự của chuỗi trừ những ký tự bắt đầu từ phải qua trái va gặp dấu "x" đầu tiên
vd:CT-97x150x6x9x1600
em muốn chỉ lấy CT-97x150x6x9
bác nào biết thi chỉ em dùm với hjx hjx
thank!
Góp thêm một công thức bình thường:
PHP:
=SUBSTITUTE(TRIM(LEFT(SUBSTITUTE(A1;"x";REPT(" ";50));LEN(SUBSTITUTE(A1;"x";REPT(" ";50)))-10));" ";"x")
 
xin chân thành cảm ơn các bác nhiều nhiều ạ hjhj
 
trong 3 hàm giúp em thì chỉ có hàm của bác hoamattroicoi la ok hjhj thanks bác rất nhiều hjhj nếu bác co thể giải thích hàm đó cho em thì tốt quá ạ hj
 
trong 3 hàm giúp em thì chỉ có hàm của bác hoamattroicoi la ok hjhj thanks bác rất nhiều hjhj nếu bác co thể giải thích hàm đó cho em thì tốt quá ạ hj
Chỉ có một là OK thôi sao, xem lại file này xem.
Chú ý rằng đây là công thức thường, Enter là xong, còn công thức mảng phải Ctrl + Shift + Enter.
 

File đính kèm

trong 3 hàm giúp em thì chỉ có hàm của bác hoamattroicoi la ok hjhj thanks bác rất nhiều hjhj nếu bác co thể giải thích hàm đó cho em thì tốt quá ạ hj
Cách làm chung của mình là :

- Nếu ký tự nào trong chuỗi là "x" thì đánh dấu vị trí của ký đó, chỗ ROW(INDIRECT("1:"&LEN(A1))) = ROW(1:Y) VỚI Y = LEN(A1)= độ dài của chuỗi ký tự (ví dụ chuỗi của bạn có 15 ký tự thì hàm đó sẽ trở thành : Row(1:15)), hàm MID sẽ tách những ký tự trong chuỗi ra, gặp ký tự là "x" thì đánh dấu vị trí đó, không phải "x" thì trả về giá trị rỗng.

- Chỗ : MAX(IF(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="x",ROW(INDIRECT("1:"&LEN(A1))),"")) sẽ trả về số thứ tự vị trí cuối cùng của chữ "x" trong chuỗi, sau đó dùng hàm LEFT với số ký tự cần lấy là kết quả của hàm MAX trả về ( trừ đi 1 vì ta k lấy chữ "x" cuối cùng vào) để lấy tất cả ký tự trước "x" ra thôi.
 
Chỉ có một là OK thôi sao, xem lại file này xem.
Chú ý rằng đây là công thức thường, Enter là xong, còn công thức mảng phải Ctrl + Shift + Enter.
em đã thử lại và thấy rất ok! xin lỗi bác hồi nãy em nghĩ nó là công thức mảng hjhj bác đừng giận em nha hj
 
Cách làm chung của mình là :

- Nếu ký tự nào trong chuỗi là "x" thì đánh dấu vị trí của ký đó, chỗ ROW(INDIRECT("1:"&LEN(A1))) = ROW(1:Y) VỚI Y = LEN(A1)= độ dài của chuỗi ký tự (ví dụ chuỗi của bạn có 15 ký tự thì hàm đó sẽ trở thành : Row(1:15)), hàm MID sẽ tách những ký tự trong chuỗi ra, gặp ký tự là "x" thì đánh dấu vị trí đó, không phải "x" thì trả về giá trị rỗng.

- Chỗ : MAX(IF(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="x",ROW(INDIRECT("1:"&LEN(A1))),"")) sẽ trả về số thứ tự vị trí cuối cùng của chữ "x" trong chuỗi, sau đó dùng hàm LEFT với số ký tự cần lấy là kết quả của hàm MAX trả về ( trừ đi 1 vì ta k lấy chữ "x" cuối cùng vào) để lấy tất cả ký tự trước "x" ra thôi.
do kiến thức em còn hạn hẹp nên chưa hiểu lắm nhưng em sẽ mày mò để hiểu hjhj cám ơn bác thêm một lần nữa hjhj
 
Web KT

Bài viết mới nhất

Back
Top Bottom