Làm thế nào để tách chuỗi văn bản trong Excel theo dấu phẩy

Liên hệ QC

quock30

Thành viên mới
Tham gia
25/5/17
Bài viết
4
Được thích
1
Giới tính
Nam
Tại ô A1 có đoạn text: aa, bb, cc, dd, ee, fff, kk, gg, hh, xxx, mm, dd, zz, xx, vv, dd, gg, ss, 7uu

Vậy mình muốm B1: "aa, bb, cc, dd, ee, fff, kk, gg, hh, xxx, mm, dd, zz, xx" thì làm như thế nào? em xin cảm ơn mọi người.
 
Tại ô A1 có đoạn text: aa, bb, cc, dd, ee, fff, kk, gg, hh, xxx, mm, dd, zz, xx, vv, dd, gg, ss, 7uu

Vậy mình muốm B1: "aa, bb, cc, dd, ee, fff, kk, gg, hh, xxx, mm, dd, zz, xx" thì làm như thế nào? em xin cảm ơn mọi người.
Bạn muốn theo cột hay hàng ngang vậy?
PHP:
=trim(mid(substitute(a1,",",rept(" ",100),row(a1)-1)+1*100),100)
 
Lần chỉnh sửa cuối:
Gợi ý:
Bạn dùng hàm substitute để thay dấu phẩy thứ 15 thành một ký tự gì đó không in được, Char(1) chẳng hạn.
Dùng hàm Find để tìm ký tự này. Lấy Left.
Chú: nếu có dưới 15 dấu phẩy sẽ bị lỗi. Bajun tự tìm cách bắt lỗi.
 
Dòng 1, dấu phẩy thứ 14?

Dòng 2, dấu phẩy thứ 15?
 
Tại ô A1 có đoạn text: aa, bb, cc, dd, ee, fff, kk, gg, hh, xxx, mm, dd, zz, xx, vv, dd, gg, ss, 7uu
Vậy mình muốm B1: "aa, bb, cc, dd, ee, fff, kk, gg, hh, xxx, mm, dd, zz, xx" thì làm như thế nào? em xin cảm ơn mọi người.
Không biết bạn muốn làm cái gì và có bí mật quốc gia gì không mà không dám đưa dữ liệu thực tế lên.

Tôi góp ý cho bạn thế này:
1/ Theo cách bạn làm thì không có cơ sở khoa học, cách tốt nhất là nhập dữ liệu theo quy ước, lý do:
- Lúc nào dữ liệu của bạn cũng có 2 vế nhưng vô chừng, vô độ thì tốt nhất khi nhập liệu ta cho nó một dấu gạch nối dưới ( _ ) để tách bạch 2 vế, ví dụ: aa, bb, cc _ dd, ee.
2/ Nếu làm như kiểu này (dấu gạch nối dưới) thì không cần biết phía trước có bao nhiêu dấu phẩy thì chỉ dùng Text to Columns tách ra làm 2 vế chỉ trong nháy mắt.
3/ Hoặc nhập liệu theo kiểu quy ước của quốc gia có 10 con số: 2 số đầu mã tỉnh, 3 số kế mã huyện, 5 số cuối mã xã thì cứ theo quy ước mà tra ra tỉnh, huyện, xã (cái này cần có bảng tra).
 
Lần chỉnh sửa cuối:
mình có 2 câu; câu 1 trong câu có 18 dấu phẩy, câu 2 trong có 21 dấu phẩy. mình muốn xuất ra mỗi câu có chứa 14 dấu phẩy trong câu. giống như phải mình đính kèm đó bạn
Nếu chán công thức thì bạn dùng thử code này
Mã:
Sub Dauphay14()
Dim i, Arr, MyText
Dim Res
With Sheet1
    Arr = .Range("a1", .Range("a1").End(xlDown))
    ReDim Res(1 To UBound(Arr), 1 To UBound(Arr, 2))
    For i = 1 To UBound(Arr)
        MyText = Split(Arr(i, 1), ",")
        ReDim Preserve MyText(14)
        Res(i, 1) = Join(MyText, ",")
    Next i
    .Range("b1").Resize(UBound(Res), UBound(Res, 2)) = Res
End With
End Sub
 
Gợi ý:
Bạn dùng hàm substitute để thay dấu phẩy thứ 15 thành một ký tự gì đó không in được, Char(1) chẳng hạn.
Dùng hàm Find để tìm ký tự này. Lấy Left.
Chú: nếu có dưới 15 dấu phẩy sẽ bị lỗi. Bajun tự tìm cách bắt lỗi.
thenk bạn nhiều nha!
Bài đã được tự động gộp:

Nếu chán công thức thì bạn dùng thử code này
Mã:
Sub Dauphay14()
Dim i, Arr, MyText
Dim Res
With Sheet1
    Arr = .Range("a1", .Range("a1").End(xlDown))
    ReDim Res(1 To UBound(Arr), 1 To UBound(Arr, 2))
    For i = 1 To UBound(Arr)
        MyText = Split(Arr(i, 1), ",")
        ReDim Preserve MyText(14)
        Res(i, 1) = Join(MyText, ",")
    Next i
    .Range("b1").Resize(UBound(Res), UBound(Res, 2)) = Res
End With
End Sub
thenk bạn nhiều !
 
Người Việt dùng từ "cám ơn" với ý nghĩa trân trọng.
Người Tây dùng từ "thanks" rất là tiện đâu nói đó. Nó chỉ là một câu nói kết thúc, ngụ ý "được rồi", chưa chắc nó đã là "cám ơn".
Không biết người Việt thích dùng từ "thanks" để tháy thế "cám ơn" là tại vì muốn bắt chước theo lối này của Tây?
 
Chào mọi người,
Theo như chủ đề thì: "tách chuỗi sau dấu phẩy".
Nhưng mình có chuỗi này muốn tách theo điều kiện thế này thì sao nhỉ,
Mong mọi người giúp đỡ,
Cám ơn mọi người
 

File đính kèm

  • help1.xlsx
    8.3 KB · Đọc: 12
Chào mọi người,
Theo như chủ đề thì: "tách chuỗi sau dấu phẩy".
Nhưng mình có chuỗi này muốn tách theo điều kiện thế này thì sao nhỉ,
Mong mọi người giúp đỡ,
Cám ơn mọi người
Anh/chị thử:
Công thức ô C2: =TRIM(RIGHT(SUBSTITUTE(A2,"/",REPT(" ",100)),100))
Công thức ô B2: =LEFT(A2,LEN(A2)-LEN(C2)-1)
 
Chào mọi người,
Theo như chủ đề thì: "tách chuỗi sau dấu phẩy".
Nhưng mình có chuỗi này muốn tách theo điều kiện thế này thì sao nhỉ,
Mong mọi người giúp đỡ,
Cám ơn mọi người
Hổng biết có đúng ý của bạn chưa ?
Mã:
B2=TRIM(MID(SUBSTITUTE($A2,"/",REPT(" ",50)),(COLUMN()-2)*50+1,50))
Rồi kéo sang phải và xuống dưới.
 
thanks các bạn,
đã dùng được công thức của bạn "Loc Uyen"
công thức của bạn "khi ta 20" không ra kết quả nơi.
Dù sao vấn đề cũng được giải quyết, nhưng giờ mình muốn rộng một tý. Giả sử ký tự "/" xuất hiện 1, 2, 3, 4, 5,... lần, mình muốn tách chuối ra hai phần tại ký tự "/" thứ "n" như ý muốn thì sao nhỉ,
 
Web KT
Back
Top Bottom