Kéo các ký tự khác nhau trong một chuỗi dài (Microsoft Excel)
John có một trang tính, trong cột A, có một số lượng lớn các chuỗi văn bản rất dài. Anh ta cần kéo riêng 249 ký tự đầu tiên từ mỗi chuỗi, đặt một ký tự trong mỗi ô ở bên phải của chuỗi.
Có một số cách để bạn có thể hoàn thành nhiệm vụ này. Nó khá dễ thực hiện thông qua việc sử dụng một công thức đơn giản. Ví dụ: nếu chuỗi văn bản đầu tiên của bạn nằm trong ô A1, hãy đặt công thức sau vào bên phải, trong ô B1:
=MID($A1,COLUMN()-1,1)
Công thức này sử dụng các hàm trang tính Excel để tách chuỗi văn bản ra. Trong trường hợp này, hàm COLUMN trả về giá trị 2 vì công thức nằm trong cột B và đó là cột thứ hai trong trang tính.
Giá trị này được giảm đi 1, và sau đó được sử dụng như một con trỏ vào chuỗi trong ô A1, đánh dấu nơi ký tự được trích xuất sẽ đến từ đâu. Khi bạn sao chép đúng công thức này, đối với bao nhiêu ô mong muốn, bạn sẽ có các ký tự riêng lẻ từ chuỗi, theo thứ tự liên tiếp.
Tất nhiên, nếu bạn có khá nhiều chuỗi trong trang tính (như John làm), thì việc sao chép công thức này trên 249 cột trở xuống, chẳng hạn, vài trăm hàng có thể tạo nên một trang tính rất chậm. Trong những tình huống như vậy, có thể mong muốn sử dụng macro để tách các chuỗi thay vì công thức. Macro sau, SplitUp, là một cách tiếp cận để thực hiện việc xé nhỏ thực tế.
Sub SplitUp() Dim c As Range Dim r As Range Dim sTemp As String Dim z As Integer Set r = Range("A1", Range("A1048576").End(xlUp)) For Each c In r sTemp = Left(c, 249) For z = 1 To Len(sTemp) c.Offset(0, z) = Mid(sTemp, z, 1) Next z Next End Sub
Macro bắt đầu bằng cách xác định một phạm vi (r) bao gồm tất cả các ô trong cột A có chứa giá trị. Sau đó, biến c được sử dụng để đại diện cho mỗi ô trong phạm vi và 249 ký tự đầu tiên được lấy từ mỗi ô. A Vòng lặp For … Next sau đó được sử dụng để kéo từng ký tự từ chuỗi và nhét nó vào một ô bên phải của chuỗi.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (12059) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.
Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: