Thủ Thuật Excel Facebook 2019-07-29T13:36:07Z Nếu như tách dữ liệu từ một chuỗi ra các ô khác nhau thì các bạn dùng Text To Columns, còn nối dữ liệu ở các ô lại với nhau thì các bạ...

Hướng Dẫn Nối Dữ Liệu Nhiều Ô Trong Excel

In ra - Lưu thành PDF - Gửi qua email


Nếu như tách dữ liệu từ một chuỗi ra các ô khác nhau thì các bạn dùng Text To Columns, còn nối dữ liệu ở các ô lại với nhau thì các bạn dùng cách gì? có rất nhiều hàm hỗ trợ việc này, tùy vào phiên bản office khác nhau để sử dụng hàm khác nhau, có những hàm chỉ có những phiên bản office cao hơn, nhưng không sao, chúng ta có thể dùng vba để giải quyết.

Ở bài viết này Thủ Thuật Excel sẽ giới thiệu với các bạn các hàm để sử dụng việc nối dữ liệu các ô lại với nhau từ cơ bản tới nâng cao, tùy theo từng mục đích sử dụng khác nhau.

1. Nối Chuỗi Bằng Ký Tự & Trong Excel.

Đơn giản nhất là các bạn sử dụng ký kiệu & để nối các chuỗi lại với nhau, như ví dụ bên dưới thì chúng ta sử dụng cú pháp như sau:

=B2&" "&C2&" "&D2

Ký tự " " mục đích là để tạo khoảng trống giữa các chữ với nhau


Kết quả

2. Nối Chuỗi Bằng Hàm Trong Excel.

2.1. Hàm CONCATENATE.

Chúng ta có thể sử dụng hàm Concatenate để nối các ký tự như sau:

=CONCATENATE(B2;" ";C2;" ";D2)

Tương tự như trên, đưa " " để tạo khoảng trắng giữa các chữ


Kết quả

2.2. Hàm CONCAT.

Nếu như sử dụng hàm Concatenate thì các bạn cho rằng khó nhớ vì phải gõ nhiều ký tự, thì hãy sử dụng hàm Concat để nối, cách sử dụng cũng như nhau, nhưng việc gõ sẽ ít hơn, tuy nhiên hàm này chỉ xuất hiện trên phiên bản office 2016 trở lên mà thôi, với các phiên bản office thấp hơn thì không sử dụng được, nếu muốn sử dụng thì hãy xem phần cuối của bài viết này.

Bạn sử dụng hàm Concat với cú pháp như sau:

=CONCAT(B2;" ";C2;" ";D2)

Nhắc lại sử dụng dấu " " để tạo khoảng trống


Kết quả

2.3. Hàm TEXTJOIN.

Đây là một hàm mới, như hàm Concat vậy, và chỉ hỗ trợ ở phiên bản office 2016 trở lên mà thôi, hãy xem hướng dẫn sử dụng cho các phiên bản cũ ở cuối bài viết này.

Các bạn thấy các cách trên tồn tại 1 nhược điểm phải không nào, đó là các bạn phải chọn từng dữ liệu một, nếu một hàng nhiều ô mà chọn vậy thì rất lâu, và không thể nào chọn hết được, rồi chọn sót dữ liệu....

Và hàm Textjoin sẽ khắc phục các lỗi trên, cú pháp như sau:

=TEXTJOIN(" ";TRUE;B2:D2)

Ở đây ký tự " " để tạo khoảng trắng, hàm này các bạn chọn TRUE hoặc FALSE để tùy theo mục đích, nhưng thông thường chúng ta nên chọn TRUE thay vì FALSE, sẽ có một bài viết cụ thể hơn về hàm này, còn ở đây chỉ nói về cách sử dụng mà thôi, còn B2:D2 là vùng dữ liệu cần nối.


Kết quả


Bạn có thể thay dấu cách bằng dấu phẩy, có một bạn gửi email yêu cầu nối các dữ liệu lại và có dấu phẩy ngăn cách, nên Thủ Thuật Excel giới thiệu luôn cách làm ở đây cho các bạn tiện theo dõi.


Kết quả

3. Cách Sử Dụng Hàm Concat, Textjoin Cho Các Phiên Bản Excel Thấp Hơn

Như đã nói ở trên, với các phiên bản office thấp hơn nghĩa là từ 2013 trở về như là office 2013, office 2010, office 2007..các bạn muốn sử dụng hàm này thì phải sử dụng code vba để tạo ra hàm.

➤ Code VBA của hàm Concat
Public Function CONCAT(ParamArray Text1() As Variant) As String
‘PURPOSE: Replicates The Excel 2016 Function CONCAT
‘SOURCE: www.TheSpreadsheetGuru.comDim RangeArea As Variant
Dim Cell As Range’Loop Through Each Cell in Given Input
For Each RangeArea In Text1
If TypeName(RangeArea) = “Range” Then
For Each Cell In RangeArea
If Len(Cell.Value) <> 0 Then
CONCAT = CONCAT & Cell.Value

‘Text String was Entered
CONCAT = CONCAT & RangeArea
End If
Next RangeAreaEnd Function
➤ Code VBA của hàm Textjoin
Public Function TEXTJOIN(Delimiter As String, Ignore_Empty As Boolean, ParamArray
Text1() As Variant) AsString
‘PURPOSE: Replicates The Excel 2016 Function CONCAT
‘SOURCE: www.TheSpreadsheetGuru.comDim RangeArea As Variant
Dim Cell As Range’Loop Through Each Cell in Given Input
For Each RangeArea In Text1
If TypeName(RangeArea) = “Range” Then
For Each Cell In RangeArea
If Len(Cell.Value) <> 0 Or Ignore_Empty = False Then
TEXTJOIN = TEXTJOIN & Delimiter & Cell.Value
End If
Next Cell
Else
‘Text String was Entered
If Len(RangeArea) <> 0 Or Ignore_Empty = False Then
TEXTJOIN = TEXTJOIN & Delimiter & RangeArea
End If
End If
Next
TEXTJOIN = Mid(TEXTJOIN, Len(Delimiter) + 1)
End Function
Code này tham khảo của một trang nước ngoài, trong code có ghi nguồn, các bạn sử dụng thì nên giữ nguyên coi như cám ơn và tôn trọng tác giả nhé còn cách sử dụng vba như thế nào thì các bạn xem lại các hướng dẫn trước nhé, hoặc vào bất kỳ một bài viết nào thuộc mục vba excel đề có hướng dẫn.

Chúc các bạn thành công.


 

Giới Thiệu Về: Thủ Thuật Excel

Là một chuyên trang chia sẻ về các thủ thuật excel và kiến thức tin học văn phòng, tại đây bạn có thể tự học kiến thức cũng như gửi các thắc mắc của mình về những gì liên quan đến excel và tin học văn phòng.

5 Thủ Thuật Excel: Hướng Dẫn Nối Dữ Liệu Nhiều Ô Trong Excel Nếu như tách dữ liệu từ một chuỗi ra các ô khác nhau thì các bạn dùng Text To Columns, còn nối dữ liệu ở các ô lại với nhau thì các bạ...

Bài Mới Nhất: