7 Lỗi Phổ Biến Khi Dùng Hàm RIGHT Và Cách Khắc Phục Trong 30 Giây

Hàm RIGHT trả về kết quả sai mặc dù công thức trông hoàn toàn đúng. Tôi thường thấy hiện tượng này khi copy dữ liệu từ nguồn khác hoặc kết hợp RIGHT với các hàm phức tạp. Tin tốt là hầu hết lỗi đều có cách fix nhanh chóng.

Lỗi 1: Khoảng Trắng Thừa Làm Thiếu Ký Tự

Đây là lỗi phổ biến nhất với hàm RIGHT. Khi copy dữ liệu từ website hoặc ứng dụng khác sang Excel, các ô thường chứa khoảng trắng ẩn ở cuối. Công thức =RIGHT(A2,4) nên trả về 4 ký tự cuối nhưng chỉ hiển thị 3 ký tự vì ký tự thứ 4 là khoảng trắng.

Cách phát hiện: Nhấp vào ô dữ liệu nguồn, xem thanh công thức. Nếu con trỏ không dừng ngay sau ký tự cuối, ô đó có khoảng trắng thừa.

Cách khắc phục: Lồng hàm TRIM bên ngoài để tự động xóa khoảng trắng:

=RIGHT(TRIM(A2),4)

TRIM loại bỏ khoảng trắng đầu, cuối và chỉ giữ lại 1 khoảng trắng giữa các từ. Áp dụng công thức này cho toàn bộ cột data ngay từ đầu giúp tránh lỗi sau này.

Lỗi 2: Giá Trị Âm Gây Lỗi #VALUE!

Công thức =RIGHT(A2,-3) luôn trả về lỗi #VALUE! vì tham số num_chars không chấp nhận số âm. Lỗi này thường xảy ra khi kết hợp RIGHT với các hàm tính toán như LEN hoặc SEARCH mà không kiểm soát kết quả.

XEM THÊM:  Tôi Kiểm Tra Email Hợp Lệ Trong Excel Nhanh Gấp 10 Lần Với Hàm REGEXTEST

Ví dụ tình huống: Bạn muốn lấy phần sau dấu gạch ngang, dùng công thức:

=RIGHT(A2, LEN(A2)-SEARCH("-",A2))

Nếu ô A2 không chứa dấu gạch ngang, SEARCH trả về lỗi, làm toàn bộ công thức sập.

Cách khắc phục: Dùng hàm IF hoặc IFERROR để xử lý trường hợp ngoại lệ:

=IFERROR(RIGHT(A2, LEN(A2)-SEARCH("-",A2)), A2)

Công thức này trả về toàn bộ chuỗi nếu không tìm thấy dấu gạch ngang thay vì báo lỗi. Phương pháp tương tự áp dụng cho mọi tổ hợp hàm có khả năng sinh ra số âm.

Lỗi 3: Dùng RIGHT Với Ngày Tháng Trả Về Số Lạ

Công thức =RIGHT(A2,4) để lấy năm từ ngày 15/03/2024 không trả về 2024 mà là 5375 hoặc một số khác. Nguyên nhân là Excel lưu ngày tháng dưới dạng số tuần tự. Ngày 15/03/2024 thực chất là số 45375 trong hệ thống Excel.

Tại sao RIGHT không hoạt động: Hàm RIGHT cắt 4 chữ số cuối của số 45375, trả về “5375” thay vì năm 2024 mà bạn mong đợi.

Cách khắc phục đúng: Dùng hàm YEAR để trích xuất năm:

=YEAR(A2)

Hoặc dùng TEXT để chuyển ngày thành chuỗi trước khi cắt:

=RIGHT(TEXT(A2,"dd/mm/yyyy"),4)

Công thức thứ hai linh hoạt hơn vì cho phép lấy tháng, ngày hoặc bất kỳ phần nào. Tuy nhiên YEAR nhanh hơn và rõ ràng hơn khi chỉ cần năm.

Lỗi 4: Kết Quả Là Văn Bản Không Tính Toán Được

Công thức =RIGHT(A2,5) lấy 5 chữ số cuối từ mã sản phẩm “ABC-12345” trả về “12345” nhưng không cộng trừ được. Hàm SUM bỏ qua giá trị này vì RIGHT luôn trả về kết quả dạng văn bản.

Dấu hiệu nhận biết:

  • Số căn lề trái thay vì phải
  • Thanh trạng thái chỉ hiện COUNT không hiện SUM
  • Công thức tính toán cho kết quả 0
XEM THÊM:  Hàm ARRAYTOTEXT trong Excel: Chuyển Mảng Thành Text Dễ Đọc (Hoặc Mã Máy Tính Hiểu Được)

Cách khắc phục: Lồng hàm VALUE bên ngoài để chuyển văn bản thành số:

=VALUE(RIGHT(A2,5))

Hoặc cách nhanh hơn, nhân với 1:

=RIGHT(A2,5)*1

Tôi thường dùng VALUE cho rõ ràng, còn nhân 1 tiện khi cần formula ngắn gọn. Cả hai đều cho kết quả giống nhau.

Lỗi 5: Kết Hợp RIGHT-LEN-SEARCH Sai Công Thức

Công thức phức tạp như =RIGHT(A2, LEN(A2)-SEARCH(" ",A2)) để lấy họ từ họ tên thường báo lỗi #VALUE! khi gặp các trường hợp đặc biệt như tên một chữ hoặc nhiều khoảng trắng.

Nguyên nhân phổ biến:

  • Thiếu hoặc thừa dấu ngoặc đóng
  • SEARCH không tìm thấy ký tự đang tìm
  • LEN trả về số nhỏ hơn SEARCH trong một số trường hợp

Cách debug nhanh: Tách công thức thành từng phần riêng:

Ô B2: =SEARCH(" ",A2)
Ô C2: =LEN(A2)
Ô D2: =C2-B2
Ô E2: =RIGHT(A2,D2)

Kiểm tra kết quả từng bước giúp phát hiện chính xác phần nào gây lỗi. Sau khi tìm được nguyên nhân, gộp lại thành công thức đầy đủ.

Công thức an toàn hơn:

=IFERROR(RIGHT(TRIM(A2), LEN(TRIM(A2))-SEARCH(" ",TRIM(A2))), TRIM(A2))

Công thức này xử lý cả khoảng trắng thừa và trường hợp không có khoảng trắng trong chuỗi.

Lỗi 6: Khoảng Trắng Không Phá Được

Hàm TRIM đã chạy nhưng RIGHT vẫn trả về thiếu ký tự. Nguyên nhân là dữ liệu chứa khoảng trắng không phá được (non-breaking space, mã ASCII 160) thường có trong dữ liệu từ website. TRIM chỉ xóa khoảng trắng thường (ASCII 32).

Cách phát hiện: Sau khi dùng TRIM mà vẫn thấy khoảng trắng cuối chuỗi, đó là non-breaking space.

Cách khắc phục: Dùng SUBSTITUTE để thay non-breaking space thành khoảng trắng thường trước khi TRIM:

=RIGHT(TRIM(SUBSTITUTE(A2,CHAR(160)," ")),4)

Hoặc dùng CLEAN kết hợp TRIM để xóa mọi ký tự không in được:

=RIGHT(TRIM(CLEAN(A2)),4)

CLEAN xóa 32 ký tự không in đầu tiên trong bảng mã ASCII, bao gồm cả non-breaking space. Phương pháp này an toàn cho dữ liệu từ nguồn ngoài.

XEM THÊM:  Hàm TRIM Giúp Bạn Tiết Kiệm 30 Phút Mỗi Ngày Khi Làm Việc Với Excel

Lỗi 7: Nhầm Lẫn Giữa Số Ký Tự Và Số Byte

Hàm RIGHTB (RIGHT Byte) trả về số byte thay vì số ký tự. Với tiếng Việt hoặc các ký tự đặc biệt, 1 ký tự có thể chiếm 2-3 byte. Công thức =RIGHTB(A2,4) lấy 4 byte có thể chỉ trả về 2 ký tự tiếng Việt.

Khi nào dùng RIGHTB:

  • Làm việc với cơ sở dữ liệu yêu cầu giới hạn byte
  • Xử lý dữ liệu tiếng Nhật, Trung, Hàn
  • Tương tác với hệ thống cũ tính theo byte

Cách tránh nhầm lẫn: Luôn dùng RIGHT cho tiếng Việt. Chỉ dùng RIGHTB khi yêu cầu cụ thể về byte. Nếu làm việc với dữ liệu đa ngôn ngữ, test kỹ với ký tự có dấu trước khi áp dụng cho toàn bộ cột.

Kiểm Tra Lỗi Trước Khi Chạy Hàng Loạt

Trước khi áp công thức RIGHT cho hàng nghìn dòng, test với 5-10 mẫu đại diện. Kiểm tra các trường hợp:

  • Chuỗi rỗng
  • Chuỗi ngắn hơn num_chars
  • Khoảng trắng đầu cuối
  • Ký tự đặc biệt
  • Số âm từ phép tính

Cách nhanh nhất là tạo sheet riêng với các test case trên. Công thức nào pass hết mới copy sang sheet làm việc. Phương pháp này giúp tôi tránh được việc phải sửa lại 10000 ô sau khi phát hiện lỗi.

Công Thức An Toàn Cho Mọi Tình Huống

Nếu muốn một công thức xử lý hầu hết các lỗi trên, dùng:

=IFERROR(VALUE(RIGHT(TRIM(CLEAN(SUBSTITUTE(A2,CHAR(160)," "))),4)), "")

Công thức này lần lượt:

  1. Thay non-breaking space thành khoảng trắng thường
  2. Xóa ký tự không in được
  3. Xóa khoảng trắng thừa
  4. Lấy 4 ký tự cuối
  5. Chuyển thành số
  6. Trả về rỗng nếu có lỗi

Trông phức tạp nhưng chạy ổn định với mọi loại dữ liệu. Tôi lưu công thức này trong file template để dùng lại khi cần.

Tương Thích Và Phiên Bản

Hàm RIGHT có mặt trong mọi phiên bản Excel từ 2003 đến nay. Các hàm bổ trợ như TRIM, VALUE, IFERROR, CLEAN đều tương thích Excel 2007 trở lên. Nếu file cần mở trong Excel 2003, tránh dùng IFERROR và thay bằng IF kết hợp ISERROR.

Phần lớn lỗi RIGHT xuất phát từ dữ liệu nguồn chứ không phải công thức. Dọn dẹp data trước khi áp hàm cắt chuỗi tiết kiệm rất nhiều thời gian debug sau này.

Related Posts

Để lại một bình luận

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 *