Tách chuỗi bất kỳ vào các cột khi gặp ký tự -

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

vic_it

Thành viên mới
Tham gia
31/7/10
Bài viết
19
Được thích
2
Chào Anh/Chị,
Em đang bị kẹt khi xử lý dữ liệu tách 1 chuỗi thành các cụm từ độc lập.

Điều kiện bài toán:
- Chuỗi có độ dài bất kỳ, phân cách bởi ký tự - (có thể có các cụm 1 từ, 2 từ..4 từ như trong mẫu đính kèm).
- Không dùng tính năng text-to-collumn, do phải làm thủ công mấy bước.
- Không sử dụng hàm Textsplit, do hiện tại đang dùng bản office2021 v16.1x thiếu 1 số hàm mới.

Ngoài ra, hỏi thêm là trước đây có người dùng họ chia sẻ các add-in mới 365 có hàm textplit này. Tuy nhiên, họ đã đóng mục chia sẻ đó. Hy vọng Anh/Chị nào có lưu thì chia sẻ e dùng tạm, cho đến khi cập nhật lên Office365.
(Post đó ở link này: https://support.microsoft.com/en-us/office/textsplit-function-b1ca414e-4c21-4ca0-b1b7-bdecace8a6e7)

Cám ơn Anh/Chị
 

File đính kèm

  • Tách chuỗi bất kỳ vào các cột khi gặp ký tự -.xlsx
    9.6 KB · Đọc: 19
Chào Anh/Chị,
Em đang bị kẹt khi xử lý dữ liệu tách 1 chuỗi thành các cụm từ độc lập.

Điều kiện bài toán:
- Chuỗi có độ dài bất kỳ, phân cách bởi ký tự - (có thể có các cụm 1 từ, 2 từ..4 từ như trong mẫu đính kèm).
- Không dùng tính năng text-to-collumn, do phải làm thủ công mấy bước.
- Không sử dụng hàm Textsplit, do hiện tại đang dùng bản office2021 v16.1x thiếu 1 số hàm mới.

Ngoài ra, hỏi thêm là trước đây có người dùng họ chia sẻ các add-in mới 365 có hàm textplit này. Tuy nhiên, họ đã đóng mục chia sẻ đó. Hy vọng Anh/Chị nào có lưu thì chia sẻ e dùng tạm, cho đến khi cập nhật lên Office365.
(Post đó ở link này: https://support.microsoft.com/en-us/office/textsplit-function-b1ca414e-4c21-4ca0-b1b7-bdecace8a6e7)

Cám ơn Anh/Chị
Thử củ chuối tại I2
Mã:
=IFERROR(TRIM(MID(SUBSTITUTE($B2,"-",REPT(" ",100)),(COLUMN(A2)-1)*100+1,100)),"")
 
Dạ, đúng như yêu cầu. Em rất cám ơn Anh/Chị Chaoquay :)
 
M Code cho ai đang tìm hiểu về Query
Mã:
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Split Column by Delimiter" = Table.SplitColumn(Source, "Chuỗi đầu vào", Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv), {"Chuỗi đầu vào.1", "Chuỗi đầu vào.2", "Chuỗi đầu vào.3", "Chuỗi đầu vào.4", "Chuỗi đầu vào.5", "Chuỗi đầu vào.6", "Chuỗi đầu vào.7", "Chuỗi đầu vào.8"})
in
    #"Split Column by Delimiter"
 

File đính kèm

  • Untitled.png
    Untitled.png
    35.2 KB · Đọc: 11
Gửi Anh/Chị,
Chuỗi đầu vào trong ví dụ ban đầu chỉ có 8 cụm.
Với xử lý query có thể cho chuỗi vào ngẫu nhiên, không tuỳ thuộc vào việc khai báo không, hay lại phải khai báo tay từ ban đầu?
Với hàm của Anh/Chị chaoquay, em có thể điều chỉnh tham số 100 lên con số mong muốn để tăng số lượng chuỗi đầu vào được.
 
Gửi Anh/Chị,
Chuỗi đầu vào trong ví dụ ban đầu chỉ có 8 cụm.
Với xử lý query có thể cho chuỗi vào ngẫu nhiên, không tuỳ thuộc vào việc khai báo không, hay lại phải khai báo tay từ ban đầu?
Với hàm của Anh/Chị chaoquay, em có thể điều chỉnh tham số 100 lên con số mong muốn để tăng số lượng chuỗi đầu vào được.
Với Query , bạn nhập thêm dữ liệu vào cột B
Click phải vùng xanh lá chọn Refresh...
Đơn giản như đang giỡn...
 

File đính kèm

  • Tách chuỗi bất kỳ vào các cột khi gặp ký tự QUERY-.xlsx
    18.2 KB · Đọc: 5
Chào Anh/Chị,
Em đang bị kẹt khi xử lý dữ liệu tách 1 chuỗi thành các cụm từ độc lập.

Điều kiện bài toán:
- Chuỗi có độ dài bất kỳ, phân cách bởi ký tự - (có thể có các cụm 1 từ, 2 từ..4 từ như trong mẫu đính kèm).
- Không dùng tính năng text-to-collumn, do phải làm thủ công mấy bước.
- Không sử dụng hàm Textsplit, do hiện tại đang dùng bản office2021 v16.1x thiếu 1 số hàm mới.

Ngoài ra, hỏi thêm là trước đây có người dùng họ chia sẻ các add-in mới 365 có hàm textplit này. Tuy nhiên, họ đã đóng mục chia sẻ đó. Hy vọng Anh/Chị nào có lưu thì chia sẻ e dùng tạm, cho đến khi cập nhật lên Office365.
(Post đó ở link này: https://support.microsoft.com/en-us/office/textsplit-function-b1ca414e-4c21-4ca0-b1b7-bdecace8a6e7)

Cám ơn Anh/Chị
1715090220163.png
Thử với FilterXML xem sao :D
=TRANSPOSE(FILTERXML("<a><b>"&SUBSTITUTE(B2,"-","</b><b>")&"</b></a>", "//b"))
 
Web KT
Back
Top Bottom