Kết nối các dãy ô (Microsoft Excel)
Excel cung cấp một hàm sổ làm việc và một toán tử có cùng mục đích — để kết hợp các chuỗi thành một chuỗi dài hơn. Hàm CONCATENATE và toán tử dấu và (&) về cơ bản có cùng mục đích.
Nhiều người sử dụng toán tử dấu và ưu tiên cho hàm CONCATENATE vì hàm này yêu cầu nhập ít hơn, nhưng hàm CONCATENATE sẽ trở nên vô cùng có giá trị nếu nó xử lý một loạt ô.
Thật không may, nó không có, nhưng bạn có thể tạo hàm do người dùng xác định của riêng bạn sẽ nối mọi ô trong một phạm vi rất độc đáo.
Hãy xem xét macro sau:
Function Concat1(myRange As Range, Optional myDelimiter As String) Dim r As Range For Each r In myRange Concat1 = Concat1 & r & myDelimiter Next r If Len(myDelimiter) > 0 Then Concat1 = Left(Concat1, Len(Concat1) - Len(myDelimiter)) End If End Function
Hàm này yêu cầu một phạm vi và cung cấp một dấu phân cách tùy chọn.
Câu lệnh “Nếu” cuối cùng xóa dấu phân cách cuối cùng khỏi chuỗi được nối. Với hàm CONCAT1, các ô có thể được thêm và xóa trong phạm vi mà không cần bảo trì bởi các công thức CONCATENATE hoặc ký hiệu và. Tất cả những gì bạn cần làm là gọi hàm theo một trong các cách sau:
=CONCAT1(C8:E10) =CONCAT1(C8:E10,"|")
Phương pháp gọi hàm thứ hai sử dụng dấu phân cách tùy chọn, được chèn vào giữa mỗi giá trị được nối từ phạm vi C8: E10. Tuy nhiên, có một vấn đề với điều này: Nếu một ô trong phạm vi đó trống, thì bạn có thể có hai dấu phân cách tuần tự. Nếu bạn chỉ muốn có một dấu phân tách duy nhất, thì bạn cần thực hiện một thay đổi nhỏ đối với hàm:
Function Concat2(myRange As Range, Optional myDelimiter As String) Dim r As Range For Each r In myRange If Len(r.Text) > 0 Then Concat2 = Concat2 & r & myDelimiter End If Next r If Len(myDelimiter) > 0 Then Concat2 = Left(Concat2, Len(Concat2) - Len(myDelimiter)) End If End Function
_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 (11247) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: