Công thức tách chuỗi không đồng nhất

Liên hệ QC

thayphap

Thành viên mới
Tham gia
31/7/08
Bài viết
7
Được thích
1
Minh đang cần công thức để xử lý chuỗi như thế này, mày mò mãi không ra. Nhờ các anh xem tập tin đính kèm giúp dùm.
 

File đính kèm

Cái này bạn thử dùng chức năng Text to Columns xem có được không nhé.
Bạn bôi đen toàn bộ vùng dữ liệu. vào Data/Text to Columns bạn chọn Delimited, nhấn Next. Bạn tích vào Other, trong mục Other bạn nhập dấu “;” rối nhấn Next hoặc Finish
 
Cái này bạn thử dùng chức năng Text to Columns xem có được không nhé.
Bạn bôi đen toàn bộ vùng dữ liệu. vào Data/Text to Columns bạn chọn Delimited, nhấn Next. Bạn tích vào Other, trong mục Other bạn nhập dấu “;” rối nhấn Next hoặc Finish

Bổ sung tí, trong mục Dilmited, bạn có 5 lựa chọn: Tab (bước tab), semicolon (dấu chấm phẩy), comma (dấu phẩy), space (khoảng trắng) và Other (dấu khác). Trước hết bạn bỏ chọn Treat cons... Quay lại Dilmited, bạn cũng bỏ chọn tất cả, sau đó với trường hợp của bạn, bạn chọn semicolon (nếu dấu nào khác hoặc nhiều dấu, bạn mới chọn nhiều dấu và Other). Sau khi chọn xong, Bạn nên bấm Next, cái này khá quan trọng, nếu bạn thay thế luôn cái cột ban đầu thì chọn Finish luôn, còn không thì chọn nơi tách chuỗi tại Destination. Sau đó bấm Finish.
Thân.
 
Bạn dùng VBA viết hàm UDF thì đơn giản hơn rất nhiều so với dùng công thức thuần tuý. Mình nêu 1 giải pháp nhé. Hàm ngắn vậy nhưng chắc đáp ứng được yêu cầu của bạn.

PHP:
Function tach(Chuoi As String, Id As Integer) As String
Dim tam
tam = Split(Chuoi, ";")
If Id < 0 Or Id > UBound(tam) Then tach = "": Exit Function
tach = tam(Id)
End Function

Tại B1 nhập công thức =tach($A1,COLUMN()-2) rồi chép sang phải và xuống dưới là xong (Column()-2 tại B1 =0 tức là chuỗi đầu tiên)
 

File đính kèm

Lần chỉnh sửa cuối:
Minh đang cần công thức để xử lý chuỗi như thế này, mày mò mãi không ra. Nhờ các anh xem tập tin đính kèm giúp dùm.
Lần đầu tiên mới thấy yêu cầu như thế này, cứ làm theo hướng dẫn của các bạn hoangminhtien,minhthien,sealand là ổn thôi, còn muốn công thức thì công thức, không copy theo cột được mà chỉ kéo xuông theo dòng thôi nhưng nói thật là quá chua, mình chỉ đặt công thức ở 4 cột thôi, nếu muốn sử dụng bạn tự tìm hiểu rồi đặt tiếp. Phải chi cho biết mỗi cell có bi nhiêu thằng "chấm phẩy" thì đỡ cực biết mấy
Thân
 

File đính kèm

Bạn dùng VBA viết hàm UDF thì đơn giản hơn rất nhiều so với dùng công thức thuần tuý. Mình nêu 1 giải pháp nhé. Hàm ngắn vậy nhưng chắc đáp ứng được yêu cầu của bạn.

PHP:
Function tach(Chuoi As String, Id As Integer) As String
Dim tam
tam = Split(Chuoi, ";")
If Id < 0 Or Id > UBound(tam) Then tach = "": Exit Function
tach = tam(Id)
End Function

Tại B1 nhập công thức =tach($A1,COLUMN()-2) rồi chép sang phải và xuống dưới là xong (Column()-2 tại B1 =0 tức là chuỗi đầu tiên)

Trước hết cảm ơn bạn đã giúp mình xử lý vấn đề khá phức tạp này, nhưng sau khi tải tập tin này về các công thức đều báo #NAME?, nhờ bạn hướng dẫn rõ hơn dùm mình.
Trân trọng!
 
Bạn mở Excel lên đã---Vào Tools---Sercurity---Chọn Low---Thoat
Như vậy, từ giờ bạn mới được phép chơi với VBA.
Giờ thì bạn mở file của mình sẽ thấy khác.
Chúc bạn toại ý.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom