Hướng dẫn cách dùng hàm nối ký tự trong Excel

Đánh giá bài viết

Hãy cùng chúng tôi tìm hiểu chi tiết về cách dùng hàm nối ký tự trong Excel trong bài viết bên dưới nhé!

Nghệ Thuật Ghép Nối Ký Tự

Sử dụng ghép nối kí tự có rất nhiều lí do, có thể là bạn tạo 1 ID để phục vụ cho việc tra cứu hay chỉ đơn giản là ghép các thông tin lại với nhau. Ví dụ như là tên thành phố với quốc gia, họ và tên các thành viên trong danh sách,… Nhận thấy nhu cầu này, học Excel đã hỗ trợ được việc nối dữ liệu, tạo ra hai hàm mới giúp bạn có thể thực hiện hợp nhất văn bản chỉ với các thao tác đơn giản.

Hàm Nối Ký Tự – CONCAT

CONCAT () được đánh giá là một hàm thú vị; có trong các phiên bản mới nhất của Excel ( Excel 2016, Excel Mobile hay Excel Online). Mặc dù hàm trước đó CONCATENATE() vẫn luôn có trong các phiên bản mới kể trên, nhưng chúng tôi vẫn luôn khuyến khích bạn nên sử dụng hàm CONCAT thay thế cho các hàm đó. Hàm CONCAT () bao hàm được tất cả tính năng mà hàm CONCATENATE đã có trước đó nhưng tăng thêm tính linh hoạt.

Cùng xem ví dụ dưới đây:

Bạn có thể dùng hàm CONCATENATE() để thực hiện tạo thành tên đầy đủ, nhưng cũng có một cách đơn giản hơn đó chính là sử dụng ký hiêu (ie &) để tiến hành ghép nội dung các ô lại với nhau.

Chú ý là phải để lại một khoảng trống (ie “ “) giữa ô A2 và ô B2 để trong lúc nối lại bạn sẽ có khoảng cách giữa họ và tên. Tiếp đó hãy xem kết quả khi đã áp dụng với hàm CONCENTENATE ().

Từ những ví dụ trên bạn có thể thấy rằng cùng một kết quả ta có thể thực hiện được bằng nhiều cách khác nhau. Đến đây bạn sẽ cho rằng sử dụng CONCATENATE sẽ phức tạp hơn so với hai phương pháp nêu trên bởi độ dài của các chữ cái cần gõ. Cú pháp của hàm CONCENTENATE là : =CONCATENATE (text1, [text2], …). Xét về cơ bản, hàm này cho phép bạn nối nội dung trong nhiều ô bằng việc đặt dấu phẩy giữa mỗi chuỗi văn bản dù nó là ô hay chữ. Trước khi tiến hành chuyển sang tính năng mới của hàm CONCAT thì mời bạn xem cách mà ta có thể mở rộng việc nối nội dung trong nhiều ô bằng việc chèn chữ vào trong chuỗi để nối với nhau. Xem dữ liệu bên dưới: Mục tiêu  ở đây sẽ là tạo một câu để tổng kết về doanh thu bán hàng của tháng. Đối với trường hợp này, không những bạn phải chèn nội dung của các ô vào công thức CONCATENATE() mà còn có cả các chữ để có thể tạo thành câu. Kết quả có được sẽ như sau: We saw 24% growth with sales reaching $105M.

Ở những lí giải dưới đây, hãy lưu ý rằng khoảng trống được chèn thêm vào văn bản (ie “We saw “).  Khi bạn thực hiện chèn bất kì thứ gì vào giữa hai dấu ngoặc kép thì lúc này sẽ được xuất hiện trong kết quả.

Pro Tip: Nếu như bạn đang cần thêm dấu ngoặc kép vào trong câu, thì có thể dùng công thức =CHAR(34) để tiến hành tạo hai dấu ngoặc kẹp. Ví dụ: = CHAR(34) & “Sales” & CHAR(34) thì sẽ cho ra kết quả là “Sale”. Như đã nhắc lại từ ví dụ đầu tiên, hàm CONCATENATE() được dùng để nối nội dung các ô mà ta đưa vào công thức. Và cần nhớ thêm rằng khoảng trống giữa các chữ.

Giới Thiệu Hàm Mới- Hàm CONCAT Điểm hạn chế chính của hàm CONCATENATE() mà hàm CONCAT() đã có thể khắc phục được đó chính là bây giờ người dùng hoàn toàn có quyền chọn một dải ô để nối lại với nhau trong khi trước đó ta bị giới hạn khi phải ấn chọn lần lượt từng ô đơn lẻ. Đây chính là một trong những tính năng rất hữu ích, đặc biệt khi có nhiều cột dữ liệu cần nối. Không những thế, chú ý rằng trong dòng 3 ở ví dụ trên, trong trường hợp không có dữ liệu ở cột B, hàm CONCAT() đã hoàn toàn bỏ qua nó và rồi tiếp tục nối dữ liệu trong ô tiếp theo.

Xem thêm: Hướng dẫn cách làm giảm dung lượng file Excel

Thêm Dấu Tách Khoảng Trống Với Hàm TEXTJOIN Như ví dụ trước, ta có thể dùng một hàm khác tên là TEXTJOIN() để thực hiện thêm khoảng cách trong tên đầy đủ. Trước tiên hãy xem 3 đầu vào cần nhập của TEXTJOIN():

  1. Delimiter (Dấu tách): là dấu được chỉ định hoặc là một chuỗi các dấu được chèn vào giữa văn bản hay ô.
  2. Ignore_Empty: Hỏi rằng bạn có muốn bỏ qua những giá trị trống không? Nếu bạn chọn FALSE, thì có thể sẽ bị 2 dấu tách đặt cạnh nhau ( ví dụ : kết quả là “Apple,Orange,Banana”có thể thành “Apple, Orange,,Banana”)
  3. Text: văn bản cần nối. Ở đây có thể là chuỗi văn bản hoặc là một dãy các chuỗi ( một dải ô). Điều này cũng tương tự như khi bạn áp dụng với hàm CONCATENATE() hay CONCAT().

Đến đây thì ta đã biết cách nhập công thức cho hàm TEXTJOIN(), Giờ hãy cùng quay lại với ví dụ về tên và thử thực hiện nối tên, tên đệm cùng họ lại và có khoảng cách giữa chúng. Vậy là ta đã phân tách gía trị ở các ô bằng khoảng trống cũng như bỏ qua các giá trị trống ( ô B3).

Đến đây, hãy xem kết quả ra sao nếu ta thay đổi Ignore_Empty thành FALSE. Hãy tham khảo thêm một ví dụ khác khi thực hiện phân cách bằng dấu phẩy để thấy rõ hơn. Như đã thấy, phần được nhấn mạnh trong hình trên, vì giá trị trống ở ô B3 đã tạo ra kết quả là 2 dấu phẩy được đứng liền nhau. Tùy theo các kết quả mà bạn mong muốn, nhưng theo chúng tôi thì trong hầu hết trường hợp thì nên để  Ignore_Empty là TRUE.

Hàm Do Người Dùng Định Nghĩa (User Defined Functions ) VBA Cho Các Phiên Bản Trước 2016

Trong trường hợp bạn không dùng Excel 2016, thì vẫn có cách khác để dùng các hàm này. Dưới đây là quy trình lập mã VBA, đây là thứ mà có thể bắt chước tính năng của CONCAT và TEXTJOIN. Bạn hoàn toàn có thể nhúng mã macro VBA này vào trong bảng tính và gọi chúng ra từ thanh công thức giống như các hàm bình thường khác.

Để thêm hàm này, hãy dùng phím tắt ALT + F11 để mở Visual Basic Editor. Khi thực hiện chỉnh sửa, bạn thực hiện theo các bước sau:: Bước 1: Nhấn chuột phải vào tên file đang sử dụng

Bước 2: Vào Insert

Bước 3: Chọn Module

Bước 4: Ở phần trống, dán mã code

Bước 5: Thoát ra khỏi cửa sổ Visual Basic Editor

Bước 6: Lưu file Và đến đây thì bắt đầu gõ tên hàm trong thanh công thức, nó sẽ xuất hiện trong hộp gợi ý. 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 End If Next Cell Else ‘Text String was Entered CONCAT = CONCAT & RangeArea End If Next RangeAreaEnd Function

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

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *