Bài viết: Tại sao hai giá trị bằng nhau mà thật ra lại không bằng?

Liên hệ QC

kyo

Nguyễn Khắc Duy
Thành viên danh dự
Tham gia
4/6/06
Bài viết
901
Được thích
2,714
Tại sao hai giá trị bằng nhau mà thật ra lại không bằng?


Sẽ có nhiều lúc bạn cảm thấy khó hiểu khi rõ ràng có hai giá trị giống nhau y chang nhưng lại cho bạn các kết quả khác nhau, đó là bởi vì bạn đã dính phải một trong những lỗi nằm ở dưới đây mà bạn nghĩ là nó vô hại. Và nó sẽ càng tệ hại hơn nếu bạn biết rằng, chính từ những điều này làm cho bạn trong nhiều trường hợp, không thể nhận biết được mình đang sai ở đâu với một chuỗi công thức đồ sộ tầng tầng lớp lớp. Vì thế, bài viết này mong muốn gợi mở cho bạn một số trường hợp nhằm giúp bạn có cái nhìn tổng quát hơn nhằm có biện pháp phòng tránh.

1/ Lỗi khoảng trắng

36600467180_f1d9cf72c3_o.png


Đây là một ví dụ điển hình và cũng là một trong những lỗi rất nhiều người gặp phải, đó chính là lỗi khoảng trắng. Bạn có thể thấy trong ví dụ trên, cùng là hai dòng chữ rất giống nhau, tuy nhiên chỉ bằng một khoảng trắng nhỏ thôi, công thức của bạn sẽ sai ngay lập tức (kiểm tra bằng hàm LEN có thể thấy độ dài khác nhau của hai ô).

Vậy trường hợp này phải xử lý thế nào? Cách đơn giản nhất bạn có thể dùng đó chính là hàm TRIM.

36161770384_7628439820_o.png


Hàm TRIM sẽ giúp bạn hầu hết tất cả các trường hợp khi bạn bị sơ sót trong lúc nhập liệu. Do vậy, một kinh nghiệm là khi bạn tin chắc giá trị của bạn là đúng nhưng kết quả ra lại không chính xác, hãy thử sử dụng hàm TRIM vì biết đâu có một khoảng trắng nào đó đang tồn tại.

2/ Lỗi định dạng số và chữ

Đây là một trong số những lỗi khá khó chịu, đặc biệt thường xảy ra với số. Giả sử tôi có 2 bảng dữ liệu thế này:

36161770034_6b66a5b678_o.png


Bạn thấy có một số SKU giống nhau đúng không? Bạn nghĩ nó có thật sự giống nhau không? Bây giờ tôi sẽ so sánh dòng 1 và dòng 2 của hai bảng này nhé (chúng đều cùng SKU 1050301 và 1050302).

36161769744_7033ccda90_b.jpg


Và kết quả bạn nhận được là FALSE. Đó là tại vì cột A được định dạng số và cột P được định dạng chữ. Chỉ vì định dạng thế này, nó sẽ kéo theo các rắc rối khác, chẳng hạn khi bạn VLOOKUP, bạn sẽ nhận được kết quả là #N/A do Excel không tìm thấy giá trị vốn dĩ là số mà đang được định dạng là chữ của bạn. Và nếu bạn kết hợp thêm IFERROR, sự nguy hiểm sẽ càng gia tăng vì bạn chỉ thấy mỗi giá trị 0 khi Excel trả về từ VLOOKUP, và bạn mặc định là không có giá trị nào cả.

36161769494_ba04ea48d8_b.jpg


Để có thể tránh được trường hợp này, cách tốt nhất vẫn là bạn nên kiểm tra kỹ định dạng trước khi thực hiện các công đoạn khác. Cụ thể, nếu bạn không canh lề, thì mặc định số sẽ nằm ở lề phải và chữ sẽ là lề trái, hoặc bạn có thể sử dụng hàm ISNUMBER.

Ngoài ra, bạn cũng có thể sử dụng một số hàm bổ trợ khác nhằm điều chỉnh định dạng. Chẳng hạn như với ví dụ trên, vì bảng tham chiếu của tôi là PivotTable, và tôi không thể chuyển định dạng cho cột P được, cũng như giả sử tôi có danh sách rất dài ở cột T và không thể định dạng nó thành chữ hết do cột T còn được sử dụng với các mục đích khác. Vậy tôi dùng công thức như sau:

36161769164_819b9b7bbe_b.jpg


Và kết quả sẽ ra được đúng ý mà tôi muốn. Trong trường hợp ngược lại, thay vì dùng hàm TEXT để biến số thành chữ, nếu bạn muốn biến chữ thành số, hãy dùng hàm VALUE.

3/ Lỗi viết hoa thường khác nhau

Đây cũng là một dạng lỗi khác và thông thường chúng ta sẽ mắc vào 1 trong 2 trường hợp, hoặc là chúng ta nghĩ công thức có phân biệt chữ hoa và thường nhưng thực tế lại không, hoặc là chúng ta nghĩ công thức không phân biệt điều đó nhưng thực tế lại có.

Lý do là bởi vì bạn không biết những hàm nào của Excel có sự phân biệt đó và hàm nào thì không dẫn đến việc sử dụng hàm là không chính xác.

Bạn có thể xem ví dụ dưới đây giữa hai hàm FIND và SEARCH. Cả hai hàm đều giúp bạn tìm vị trí của một ký tự nào đó. Tuy nhiên, việc sử dụng hàm không đúng cách cũng như sự khác nhau giữa viết hoa và viết thường dẫn đến những kết quả rất khác nhau. Chẳng hạn ở đây, hàm FIND thì phân biệt chữ hoa và thường trong khi hàm SEARCH thì không quan tâm đến điều đó.

36161768544_80a01c3f18_o.png


Hay như một ví dụ khác về VLOOKUP, đây là một hàm không phân biệt chữ hoa và thường.

36161768254_34e712c6d9_o.png


Bạn thấy không, dù cho tôi có cố ý tìm chữ GIẢI PHÁP EXCEL, nhưng hàm VLOOKUP vẫn trả về giá trị đầu tiên là Giải pháp excel.

Một số bài viết có liên quan:
1/ Offset truyền kỳ (kỳ 2)
2/ Offset truyền kỳ (kỳ 1)
3/ Kết hợp các chữ ở nhiều ô thành 1 dòng chỉ trong tíc tắc
4/ SUMPRODUCT và Công thức mảng - Phép tính có nhiều điều kiện
5/ Sử dụng Excel để ra quyết định hằng ngày
6/ Excel nâng cao: Sử dụng sự lặp lại và các tham chiếu tuần hoàn
7/ 10 lý do để học công thức Excel
8/ Làm việc với công thức mảng trong Excel
9/ VLOOKUP với Cột động
10/ Sử dụng hàm Subtotal
 
Lần chỉnh sửa cuối:
Upvote 0
Xin góp thêm 1 lỗi nữa. Đó là dùng bảng mã Unicode và Unicode tổ hợp trên 2 ô khác nhau.

Nhìn nút Font là cùng Font. Với các văn bản có dấu Việt, hình thức văn bản là hoàn toàn như nhau. Nhưng dùng hàm len thì thấy độ dài khác nhau.

Tất nhiên lỗi này chỉ xảy ra khi sao chép dữ liệu do nhiều người tạo ra.
 
Cho em hỏi làm sao để đăng câu hỏi lên được ạ
 
Web KT
Back
Top Bottom