Friday, March 29, 2013

Excel: hàm nối chuỗi

(Anhgolden's Blog)-Để nối chuỗi trong Excel ta dùng ký tự "&".
=String1&String2... &StringN

Ngoài ra, ta có thể sử dụng hàm Concatenate như sau:
=Concatenate(String1,String2,...,StringN)

Trong trường hợp, muốn chèn thêm ký tự đặc biệt ở giữa các chuỗi, ta dùng công thức:
=String1&";"&String2&";"...

Để chủ động, ta có thể viết 1 hàm bằng VB Script để nối chuối và chèn giữa bằng ký tự đặc biệt, công thức như sau:
=NoiChuoi(Cellx:Celly,"kytu")

Xin giới thiệu cách làm hàm nối chuỗi như sau:

Bước 1: Mở Excel, mở Microsoft Visual Basic (Alt-F11)
Bước 2: Insert Module
Bước 3: Chép đoạn code sau:

Function NoiChuoi(chuoi As Range, kytu As String) As String
Dim strResult As String
strResult = ""
Dim iCount As Integer
iCount = 0
For Each Item In chuoi.Cells
    iCount = iCount + 1
    If iCount < chuoi.Cells.Count Then
        strResult = strResult & Item.Value & kytu
    Else
        strResult = strResult & Item.Value
    End If
Next
NoiChuoi = strResult

End Function

1 comment:

anhgolden said...

Trong trường hợp nối chuỗi gồm nhiều trường dữ liệu trống, chuỗi kết quả sẽ có nhiều dấu phân cách liền nhau.
Ví dụ: 1,2,3,,,,5,,,,,,8. Để có kết quả như 1,2,3,5,8 chúng ta làm như sau:
=SUBSTITUTE(TRIM(SUBSTITUTE(A1,","," "))," ",",")

Ghi chú: Trong trường hợp này Cell A1 có dữ liệu 1,2,3,,,,5,,,,,,8

Diễn giải:
B1: thay thế dấu phân cách "," bằng khoảng trắng
B2: dùng hàm TRIM để loại bỏ khoảng trắng dư (chỉ giữ lại 1 khoảng trắng)
B3. thay thế trở lại khoảng trắng thành dấu phân cách ban đầu

Post a Comment