Bài viết: Kết hợp các chữ ở nhiều ô thành 1 dòng chỉ trong tíc tắc

Liên hệ QC

kyo

Nguyễn Khắc Duy
Thành viên danh dự
Tham gia
4/6/06
Bài viết
901
Được thích
2,716
KẾT HỢP CÁC CHỮ TRONG NHIỀU Ô THÀNH MỘT DÒNG CHỈ TRONG TÍC TẮC


Có bao giờ bạn tự hỏi làm thế nào để kết hợp 1 loạt các chữ trong các ô thành 1 văn bản lớn hơn chưa? Ví dụ:

24036432814_9dc7d50ea9_o.jpg


GPE xin giới thiệu cách nhanh chóng và dễ dàng để ghép 1 loạt các giá trị văn bản lại với nhau:
1/ Hãy chỉ ra các ô mà bạn muốn ghép. Theo ví dụ trên, ta có A1:A20
2/ Tại 1 ô trống bất kỳ bạn muốn ghép tất cả các chữ, gõ : =CONCATENATE(TRANSPOSE(A1:A20))


24036432724_4f16690917_o.jpg


Khoan nhấn Enter vội
3/ Kéo chọn công thức TRANSPOSE(A1:A20) và nhấn F9 (gọi lỗi các công thức bằng cách sử dụng phím F9)

24369045080_3371a5b1d6_o.jpg


4/ Thay thế TRANSPOSE(A1:A20) với kết quả sau đó

24638381366_b3a1bda722_b.jpg


5/ Bây giờ thì hãy xoá dấu ngoặc nhọn { }

24664592975_6d374475b0_b.jpg


6/ Bấm Enter được rồi đó
Xong…

24369044780_c36e2a305f_b.jpg


Tặng thêm cho bạn vài chiêu:

- Nếu bạn không thể sử dụng F9 vì lý do nào, sử dụng tổ hợp phím CTRL + =
- Nếu bạn muốn thêm 1 dấu phẩy hoặc 1 khoảng trắng sau mỗi chữ trong văn bản, bạn có thể sử dụng:

=TRANSPOSE(A1:A20 & " ")
Hoặc : =TRANSPOSE(A1:A20 & ",")
- Nếu bạn muốn nối các chữ trải đều qua các cột, ví dụ (A1:K1), bạn có thể bỏ qua công thức TRANSPOSE và viết lại công thức như sau : =CONCATENATE(A1:K1). Kéo chọn A1:K1, bấm F9 và xoá dấu ngoặc nhọn { } giống như các bước ở trên.

Ghi nhớ:
- Sau khi F9 thay thế các công thức với các giá trị, nếu bạn thay đổi dữ liệu ban đầu, bạn phải gõ lại CONCATENATE(TRANSPOSE(….)) lần nữa.
- Nếu bạn muốn giữ cho các công thức còn sống, sử dụng hàm tự tạo CONCAT() để chọn vùng và 1 giới hạn, làm cho các văn bản kết hợp dễ dàng hơn.

Mã:
Function concat(useThis As Range, Optional delim As String) As String
Dim retVal, dlm As String
  
    retVal = ""
    If delim = Null Then
        dlm = ""
    Else
        dlm = delim
    End If
  
    For Each cell In useThis
        If CStr(cell.Value) <> "" And CStr(cell.Value) <> " " Then
            retVal = retVal & CStr(cell.Value) & dlm
        End If
    Next


    If dlm <> "" Then
        retVal = Left(retVal, Len(retVal) - Len(dlm))
    End If
  
    concat = retVal
End Function

Cảm ơn bạn đã đọc. Chúc bạn thành công

Nguyễn Bảo Khanh

Một số bài viết có liên quan:
1/ [VIDEO] Tạo Timeline trong Excel
2/ Kiểm tra việc nhập dữ liệu bằng Data Validation
3/ PivotTable trong Excel 2010 - 2013
4/ Làm thế nào để thay thế các chữ OK, CANCEL,... nhàm chán của Msgbox
5/ Dùng Macro 4 để tạo menu
6/ Bảng chấm công & bảng lương mẫu
7/ Highlight hàng khi di chuyển chuột
8/ Áp dụng các quy tắc Data Validation cho các ô
9/ Làm thế nào để đồ thị hoạt động hiệu quả?
10/ Sử dụng các nút điều khiển (Form Controls) trong một bảng tính
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom