Tương tự như hàm LEFT, RIGHT là một hàm phổ biến trong MS Excel được sử dụng để lấy về dữ liệu tùy chỉnh theo những điều kiện nhất định. Nói một cách dễ hiểu, hàm RIGHT trong Excel được thiết kế để trả về một số ký tự được chỉ định từ phía ngoài cùng bên phải của chuỗi. Bài viết sau đây sẽ chia sẻ cho bạn đầy đủ thông tin về khái niệm, công thức và cách dùng hàm RIGHT độc lập cũng như khi kết hợp với các hàm khác.
RIGHT là một hàm chuỗi văn bản trong Excel giúp trích xuất các ký tự bắt đầu từ phía ngoài cùng bên phải sang bên trái. Kết quả trích xuất phụ thuộc vào số lượng các ký tự được chỉ định trong công thức.
Không chỉ dùng 1 mình, hàm RIGHT còn có thể kết hợp với các hàm như hàm VALUE, SUM, COUNT, DATE, DAY,..., để trích xuất dữ liệu nhằm thỏa mãn các điều kiện khác nhau.
* Lợi ích khi sử dụng hàm RIGHT
+ Giúp lấy những ký tự mình muốn ra khỏi 1 chuỗi ký tự dài, áp dụng được trên nhiều chuỗi dữ liệu khác nhau
+ Hàm RIGHT có cú pháp rất đơn giản, dễ hiểu, áp dụng được hết cho các phiên bản Excel của Microsoft và Google Sheets.
Cú pháp: RIGHT(text, n)
- Trong đó: + Text: (Tham số bắt buộc) chuỗi ký tự.
+ n: Số ký tự cần cắt ra từ chuỗi ký tự.
- Chức năng: Cắt ra n ký tự trong chuỗi text kể từ phía bên phải.
Một vài lưu ý:
- Tham số n phải luôn lớn hơn hoặc bằng 0
- Nếu không có tham số n thì Excel sẽ mặc định giá trị này là 1
- Nếu tham số n lớn hơn độ dài của chuỗi ký tự, kết quả trả về sẽ là toàn bộ chuỗi ký tự
- Hàm RIGHT luôn luôn trả về kết quả là các ký tự Text văn bản, các ký tự trả về có thể là các số và các bạn sẽ hiểu nhầm rằng đây là các số. Điều này hoàn toàn không đúng, mặc dù các giá trị trả về nhìn như là các số nhưng nó vẫn luôn là Text văn bản, tùy vào trường hợp cụ thể khi kết hợp với các hàm khác, bạn sẽ cần phải định dạng lại các kết quả này để nó được phù hợp khi tính toán và tra cứu.
Là một hàm trang tính, RIGHT có thể được nhập như một phần của công thức trong một ô của trang tính. Để hiểu rõ hơn về cách sử dụng hàm, chúng ta hãy xem xét một ví dụ sau đây:
Ví dụ 1: Cắt chuỗi với trường hợp không có tham số n:
Áp dụng hàm RIGHT để lấy ký tự của cột “Mã HS” trường hợp không có tham số n.
- Trên E5 ta gõ công thức như sau: E6= RIGHT (D6) và nhấn Enter.
- Ô D6 là ô chứa dữ liệu muốn cắt chuỗi.
- Kết quả sẽ hiển thị lên ô E6
Ví dụ 2: Cắt ra 2 ký tự từ chuỗi trong cột “Mã HS” kể từ phía bên phải.
Ta áp dụng hàm RIGHT để lấy 2 ký tự của cột “Mã HS”.
- Trên E6 ta gõ công thức như sau: E6= RIGHT (D6, 2) và nhấn Enter.
- Ô D6 là ô chứa dữ liệu muốn cắt chuỗi.
- Kết quả sẽ hiển thị lên ô E6
Trong thực tế, hàm RIGHT rất hiếm khi được sử dụng riêng. Thường thì trong hầu hết các trường hợp hàm RIGHT được sử dụng kết hợp với các hàm Excel khác trong các công thức phức tạp.
Trong trường hợp nếu muốn trích xuất chuỗi ký tự theo sau một ký tự cụ thể, sử dụng hàm SEARCH hoặc hàm FIND để xác định vị trí ký tự đó, trừ vị trí ký tự được chọn trong tổng chuỗi ký tự được trả về bạn dùng hàm LEN, kéo số ký tự muốn chọn từ phía bên phải chuỗi ban đầu.
Công thức chung:
RIGHT(string, LEN(string) - SEARCH(character, string))
Ví dụ ô A2 chứa họ và tên được cách nhau bởi dấu cách, mục đích của bạn là kéo phần tên cùng sang cột khác. Áp dụng công thức trên, sau đó nhập A2 vào khoảng trống của chuỗi, và nhập ký tự vào khoảng trống “”, như công thức dưới đây
=RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
Công thức trên trả về kết quả dưới đây:
Tương tự, bạn có thể trích xuất chuỗi theo sau bất kỳ một ký tự nào khác, chẳng hạn như dấu phẩy, hai chấm, hay dấu gạch nối, … . Ví dụ để trích xuất chuỗi theo sau dấu (-), bạn áp dụng công thức:
=RIGHT(A2,LEN(A2)-SEARCH("-",A2))
Công thức trên trả về kết quả dưới đây:
Khi xử lý các chuỗi phức tạp có một dấu phân cách xuất hiện nhiều lần, thường thì bạn phải trích xuất chuỗi văn bản sau dấu phân tách cuối cùng. Để mọi thứ dễ hiểu hơn, bạn cùng tham khảo ví dụ dưới đây:
Trong ảnh chụp màn hình ở trên, cột A chứa danh sách tên các lỗi. Mục đích của bạn là kéo phần mô tả lỗi ở sau dấu hai chấm sang cột khác. Tuy nhiên một điểm cần lưu ý đó là số lượng dấu hai chấm trong chuỗi ban đầu là khác nhau. Ví dụ ô A3 có 3 dấu hai chấm, còn cột A5 thì chỉ có một.
Chìa khóa ở đây là xác định vị trí dấu tách (tức dấu 2 chấm trong ví dụ này) cuối cùng trong chuỗi ban đầu. Để làm được điều này, bạn sẽ phải sử dụng kết hợp các hàm kết hợp:
1. Lấy số lượng các ký tự phân tách trong chuỗi ban đầu.
Đầu tiên tính tổng chiều dài của chuỗi bằng cách sử dụng hàm LEN:
LEN (A2)
Bước tiếp theo là tính chiều dài của chuỗi không có dấu phân tách bằng cách sử dụng hàm SUBSTITUTE, thay thế dấu hai chấm:
LEN(SUBSTITUTE(A2,":",""))
Cuối cùng trừ đi chiều dài chuỗi ban đầu mà không có dấu phân cách từ tổng chiều dài chuỗi:
LEN(A2)-LEN(SUBSTITUTE(A2,":",""))
Đảm bảo các công thức trên đều hoạt động. Bạn có thể nhập các công thức này vào các ô riêng biệt, và kết quả sẽ trả về là 2, là số lượng dấu hai chấm trong ô A2.
2. Thay thế dấu phân tách cuối cùng bằng 1 ký tự độc nhất. Để trích xuất văn bản sau dấu phân tách cuối cùng trong chuỗi, bạn sẽ phải đánh dấu dấu phân tách cuối cùng bằng ký tự nào đó. Để làm được điều này, bạn thay thế dấu phân tách cuối cùng (tức dấu 2 chấm) bằng ký tự mới không xuất hiện trong chuỗi ban đầu, chẳng hạn như (#).
Nếu đã quen thuộc với cú pháp hàm Excel SUBSTITUTE, hàm này có đối số tùy chọn thứ 4 (instance_num) cho phép thay thế 1 ký tự được chỉ định trong chuỗi văn bản. Và vì đã tính được số lượng các ký tự phân tách trong chuỗi, chỉ cần bổ sung thêm hàm trên làm đối số thứ 4 trong hàm SUBSTITUTE khác:
=SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))
Nếu nhập công thức trên vào một ô khác, kết quả trả về là chuỗi: ERROR:432#Connection timed out.
3. Lấy vị trí dấu phân tách cuối cùng trong chuỗi. Tùy thuộc vào ký tự mà bạn sử dụng để thay thế dấu phân tách cuối cùng, sử dụng hàm SEARCH hoặc hàm FIND không phân biệt chữ hoa chữ thường để xác định vị trí của ký tự đó trong chuỗi. Trong ví dụ này dấu phân tách (tức dấu hai chấm) được thay thế bằng dấu #, dưới đây là công thức được sử dụng để tìm vị trí của dấu #:
=SEARCH("#", SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))
Trong ví dụ này, kết quả trả về là 10, là vị trí của dấu # trong chuỗi đã được thay thế.
4. Trả về chuỗi bên phải dấu phân tách cuối cùng.
Sau khi đã biết vị trí dấu phân tách cuối cùng trong một chuỗi, tất cả những gì bạn cần làm bây giờ lấy tổng chiều dài chuỗi trừ đi vị trí dấu phân cách đó, và hàm RIGHT sẽ trả về chuỗi bên phải dấu phân tách cuối cùng trong chuỗi ban đầu:
=RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))
Như bạn có thể thấy trong ảnh chụp màn hình dưới đây, công thức hoạt động khá hoàn hảo:
Nếu đang làm việc mới một tập dữ liệu lớn, có nhiều ô chứa nhiều dấu phân tách khác nhau, bạn có thể lồng công thức trên vào hàm IFERROR để ngăn lỗi có thể xảy ra:
=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))), A2)
Trong trường hợp nếu một chuỗi cụ thể nào đó không chứa dấu phân tách được chỉ định, chuỗi ban đầu sẽ được trả về, như trong dòng số 6 trong ảnh chụp màn hình dưới đây:
Ngoài trích xuất một chuỗi con từ chuỗi ban đầu, hàm Excel RIGHT còn được sử dụng để loại bỏ số lượng các ký tượng từ chuỗi ban đầu.
Giả sử trong bộ dữ liệu được sử dụng trong ví dụ trước, nếu bạn muốn xóa từ ERROR xuất hiện ở đầu mỗi chuỗi và chỉ để lại số mã lỗi và phần mô tả. Để làm được điều này, chỉ cần trừ đi số ký tự được loại bỏ khỏi tổng chiều dài chuỗi ban đầu và sử dụng số đó làm đối số num_chars trong hàm Excel RIGHT:
RIGHT(string, LEN(string)-number_of_chars_to_remove)
Trong ví dụ này 6 ký tự đầu tiên được loại bỏ (bao gồm 5 chữ cái và 1 dấu hai chấm) khỏi chuỗi text trong ô A2, sử dụng công thức dưới đây:
=RIGHT(A2, LEN(A2)-6)
Như đã đề cập ở trên, hàm Excel RIGHT luôn trả về giá trị là chuỗi văn bản ngay cả khi giá trị ban đầu là số.
Tuy nhiên nếu làm việc với các số liệu và bạn muốn kết quả trả về cũng là số. Giải pháp đơn giản nhất là lồng hàm RIGHT trong hàm VALUE, được thiết kế đặc biệt để chuyển đổi chuỗi văn bản sang dạng số.
Ví dụ, để kéo 5 ký tự cuối cùng (mã bưu điện) từ chuỗi trong ô A2 và chuyển đổi các ký tự được trích xuất thành số, bạn sử dụng công thức này:
=VALUE(RIGHT(A2, 5))
Ảnh chụp màn hình dưới đây hiển thị kết quả cho thấy các số căn phải trong cột B, khác với chuỗi văn bản được căn trái trong cột A:
Vì hàm Excel RIGHT được thiết kế để làm việc với các chuỗi văn bản, còn ngày tháng được đại diện bằng các con số trong hệ thống Excel. Hàm RIGHT không thể lấy được từng phần như ngày, tháng hoặc năm. Nếu cố gắng sử dụng hàm RIGHT để làm điều này, tất cả những gì mà bạn sẽ nhận được là các con số cuối cùng trong chuỗi số ban đầu đại diện cho ngày.
Giả sử trong ô A1 là ngày 18/1/2017. Nếu bạn cố gắng sử dụng công thức RIGHT(A1,4) để trích xuất năm, kết quả sẽ trả về là 2753, đây là 4 số cuối cùng của số 42753 đại diện cho ngày 18/1/2017 trong hệ thống Excel.
Vậy làm thế nào để lấy 1 phần cụ thể của 1 ngày? Chỉ đơn giản là sử dụng 1 trong số các hàm Excel dưới đây:
Hàm DAY trích xuất 1 ngày: =DAY(A1)
Hàm MONTH để lấy tháng: =MONTH(A1)
Hàm YEAR để kéo theo năm: =YEAR(A1)
Ảnh chụp màn hình dưới đây hiển thị kết quả:
Nếu ngày của bạn được đại diện bởi chuỗi văn bản, thường xảy ra khi xuất dữ liệu từ một nguồn bên ngoài, bạn có thể sử dụng hàm RIGHT để kéo vài ký tự cuối cùng trong chuỗi đại diện cho một phần cụ thể của ngày tháng, chẳng hạn như ngày, tháng, năm:
Nếu một hàm Excel RIGHT không hoạt động trong bảng tính, có thể là do:
1. Trong dữ liệu ban đầu có một hoặc nhiều dấu cách. Để loại bỏ dấu cách, khoảng trống trong các ô, bạn sử dụng hàm Excel TRIM hoặc add-in Cell Cleaner.
2. Đối số num_chars nhỏ hơn 0. Tất nhiên bạn sẽ không sử dụng số âm trong công thức của mình, nhưng nếu đối số num_chars được tính bằng một hàm Excel khác hoặc lồng các hàm Excel với nhau, hàm RIGHT sẽ trả về lỗi #VALUE!.
Thử kiểm tra lại các hàm lồng nhau để tìm và khắc phục lỗi.
3. Giá trị ban đầu là ngày tháng. Như đã đề cập ở trên, hàm RIGHT không thể làm việc với ngày tháng, vì thế nếu các giá trị ban đầu là ngày tháng, hàm RIGHT sẽ trả về lỗi.
Trên đây chúng tôi đã giới thiệu đến các bạn hàm Right trong Excel, hàm này được dùng để lấy ký tự bên phải của chuỗi và qua ví dụ minh họa bạn sẽ hiểu rõ cú pháp và cách sử dụng hàm Right hơn.
Ngoài ra nếu muốn lấy ký tự ở giữa thì có thể sử dụng hàm Mid trong Excel, trong một xâu ký tự dài, việc lấy các ký tự ở giữa là tương đối vất vả nếu đó là một danh sách lên tới hàng nghìn cột, sử dụng hàm Mid trong trường hợp này sẽ là hiệu quả nhất
Hàm CONCATENATE hỗ trợ nối chuỗi ký tự trong các cột tính lại với nhau, không cần biết bạn có bao nhiêu dữ liệu trong cột cần nối lại, chỉ với hàm CONCATENATE, mọi chuyện sẽ được giải quyết một cách gọn nhẹ.
Bạn có hay sử dụng hàm Right trong công việc thực tế của mình không? Nếu có bạn hãy chia sẻ với chúng tôi một vài kinh nghiệm cũng như mẹo sử dụng hàm Right với chúng tôi bằng cách comment bên dưới nhé.
Bên cạnh đó, bạn đang muốn tìm hiểu cách chia chuỗi trong Excel, vậy hãy tham khảo bài viết tại đây.