Mục lục
Hướng dẫn cho biết cách sử dụng IFERROR trong Excel để bắt lỗi và thay thế chúng bằng ô trống, giá trị khác hoặc thông báo tùy chỉnh. Bạn sẽ tìm hiểu cách sử dụng hàm IFERROR với Vlookup và Khớp chỉ mục cũng như cách hàm này so sánh với hàm IF ISERROR và IFNA.
"Hãy cho tôi một chỗ đứng, tôi sẽ dời trái đất," Archimedes đã từng nói. "Hãy cho tôi một công thức và tôi sẽ làm cho nó trả về lỗi," một người dùng Excel sẽ nói. Trong hướng dẫn này, chúng ta sẽ không xem xét cách trả lại lỗi trong Excel, chúng ta sẽ tìm hiểu cách ngăn chặn chúng để giữ cho trang tính của bạn sạch sẽ và công thức của bạn minh bạch.
Hàm IFERROR trong Excel - cú pháp và cách sử dụng cơ bản
Hàm IFERROR trong Excel được thiết kế để bẫy và quản lý lỗi trong các công thức và phép tính. Cụ thể hơn, IFERROR kiểm tra một công thức và nếu nó đánh giá là có lỗi, thì trả về một giá trị khác mà bạn chỉ định; ngược lại, trả về kết quả của công thức.
Cú pháp của hàm IFERROR trong Excel như sau:
IFERROR(giá trị, giá trị_nếu_lỗi)Ở đâu:
- Giá trị (bắt buộc) - nội dung cần kiểm tra lỗi. Nó có thể là một công thức, biểu thức, giá trị hoặc tham chiếu ô.
- Value_if_error (bắt buộc) - nội dung trả về nếu phát hiện thấy lỗi. Nó có thể là một chuỗi rỗng (ô trống), tin nhắn văn bản, giá trị số, một công thức hoặc phép tính khác.
Ví dụ: khi chia hai cột số, bạncó thể gặp nhiều lỗi khác nhau nếu một trong các cột chứa ô trống, số không hoặc văn bản.
Để ngăn điều đó xảy ra, hãy sử dụng hàm IFERROR để bắt và xử lý lỗi theo cách bạn muốn.
Nếu có lỗi, hãy để trống
Cung cấp một chuỗi trống (") cho đối số value_if_error để trả về một ô trống nếu phát hiện thấy lỗi:
=IFERROR(A2/B2, "")
Nếu có lỗi, hãy hiển thị thông báo
Bạn cũng có thể hiển thị thông báo của riêng mình thay vì ký hiệu lỗi tiêu chuẩn của Excel:
=IFERROR(A2/B2, "Error in calculation")
5 điều bạn nên biết về hàm IFERROR trong Excel
- Hàm IFERROR trong Excel xử lý tất cả các loại lỗi bao gồm lỗi # DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF!, và #VALUE!.
- Tùy thuộc vào nội dung của value_if_error đối số, IFERROR có thể thay thế lỗi bằng tin nhắn văn bản, số, ngày hoặc giá trị logic tùy chỉnh của bạn, kết quả của một công thức khác hoặc một chuỗi trống (ô trống).
- Nếu đối số giá trị là một ô trống, nó được coi là một chuỗi trống (''') nhưng không có lỗi.
- IFERROR đã được giới thiệu trong Excel 2007 và có sẵn trong tất cả các phiên bản tiếp theo của Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 và Excel 365.
- Để bẫy lỗi trong Excel 2003 và các phiên bản cũ hơn, hãy sử dụng hàm ISERROR kết hợp với IF, như trong ví dụ này.
Ví dụ về công thức IFERROR
Các ví dụ sauchỉ ra cách sử dụng IFERROR trong Excel kết hợp với các hàm khác để hoàn thành các tác vụ phức tạp hơn.
Excel IFERROR với Vlookup
Một trong những cách sử dụng phổ biến nhất của hàm IFERROR là cho người dùng biết rằng giá trị họ đang tìm kiếm không tồn tại trong tập dữ liệu. Đối với điều này, bạn bọc một công thức VLOOKUP trong hàm IFERROR như sau:
IFERROR(VLOOKUP( …),"Không tìm thấy")Nếu giá trị tra cứu không có trong bảng mà bạn đang tìm kiếm , một công thức Vlookup thông thường sẽ trả về lỗi #N/A:
Đối với người dùng của bạn, hãy đặt VLOOKUP trong IFERROR và hiển thị nhiều thông tin hơn và thân thiện với người dùng hơn thông báo:
=IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Not found")
Ảnh chụp màn hình bên dưới hiển thị công thức Iferror này trong Excel:
Nếu bạn chỉ muốn bẫy #N /A lỗi nhưng không phải tất cả lỗi, hãy sử dụng hàm IFNA thay vì IFERROR.
Để biết thêm các ví dụ về công thức IFERROR VLOOKUP trong Excel, vui lòng xem các hướng dẫn sau:
- Bẫy bẫy iferror với Vlookup và xử lý lỗi
- Cách nhận lần xuất hiện thứ N của giá trị tra cứu
- Cách nhận tất cả lần xuất hiện giá trị tra cứu
Hàm IFERROR lồng nhau để thực hiện Vlookup tuần tự trong Excel
Trong trường hợp bạn cần thực hiện nhiều Vlookup dựa trên việc Vlookup trước đó thành công hay thất bại, bạn có thể lồng hai hoặc nhiều IFERROR chức năng này sang chức năng khác.
Giả sử bạn có một số báo cáo bán hàng từ các chi nhánh khu vực của mìnhcông ty và bạn muốn nhận số tiền cho một ID đơn đặt hàng nhất định. Với A2 là giá trị tra cứu trong trang tính hiện tại và A2:B5 là phạm vi tra cứu trong 3 trang tính tra cứu (Báo cáo 1, Báo cáo 2 và Báo cáo 3), công thức như sau:
=IFERROR(VLOOKUP(A2,'Report 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 3'!A2:B5,2,0),"not found")))
Kết quả sẽ trông giống như sau:
Để biết giải thích chi tiết về logic của công thức, vui lòng xem Cách thực hiện Vlookup tuần tự trong Excel.
IFERROR trong công thức mảng
Có thể bạn đã biết, công thức mảng trong Excel dùng để thực hiện nhiều phép tính trong một công thức. Nếu bạn cung cấp một công thức mảng hoặc biểu thức dẫn đến một mảng trong đối số giá trị của hàm IFERROR, thì hàm này sẽ trả về một mảng giá trị cho mỗi ô trong phạm vi đã chỉ định. Ví dụ bên dưới hiển thị thông tin chi tiết.
Giả sử bạn có Total trong cột B và Price trong cột C và bạn muốn tính Tổng số lượng . Điều này có thể được thực hiện bằng cách sử dụng công thức mảng sau, , chia từng ô trong phạm vi B2:B4 cho ô tương ứng của phạm vi C2:C4, rồi cộng các kết quả:
=SUM($B$2:$B$4/$C$2:$C$4)
Công thức hoạt động tốt miễn là phạm vi ước số không có số 0 hoặc ô trống. Nếu có ít nhất một giá trị 0 hoặc ô trống, lỗi #DIV/0! lỗi được trả về:
Để khắc phục lỗi đó, chỉ cần thực hiện phép chia trong hàm IFERROR:
=SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))
Công thức thực hiện chức năng gìlà chia một giá trị trong cột B cho một giá trị trong cột C trong mỗi hàng (100/2, 200/5 và 0/0) và trả về mảng kết quả {50; 40; #DIV/0!}. Hàm IFERROR bắt tất cả lỗi #DIV/0! lỗi và thay thế chúng bằng số không. Và sau đó, hàm SUM cộng các giá trị trong mảng kết quả {50; 40; 0} và đưa ra kết quả cuối cùng (50+40=90).
Lưu ý. Hãy nhớ rằng các công thức mảng phải được hoàn thành bằng cách nhấn phím tắt Ctrl + Shift + Enter.
IFERROR so với IF ISERROR
Bây giờ bạn đã biết việc sử dụng hàm IFERROR trong Excel dễ dàng như thế nào, bạn có thể thắc mắc tại sao một số người vẫn nghiêng về việc sử dụng kết hợp IF ISERROR. Liệu nó có bất kỳ lợi thế so với IFERROR? Không có. Trong những ngày cũ tồi tệ của Excel 2003 trở xuống khi IFERROR không tồn tại, IF ISERROR là cách khả thi duy nhất để bẫy lỗi. Trong Excel 2007 trở lên, cách phức tạp hơn một chút để đạt được kết quả tương tự.
Ví dụ: để bắt lỗi Vlookup, bạn có thể sử dụng một trong các công thức bên dưới.
Trong Excel 2007 - Excel 2016:
IFERROR(VLOOKUP( … ), "Không tìm thấy")Trong tất cả các phiên bản Excel:
IF(ISERROR(VLOOKUP(…)), "Không tìm thấy ", VLOOKUP(…))Lưu ý rằng trong công thức IF ISERROR VLOOKUP, bạn phải Vlookup hai lần. Trong tiếng Anh đơn giản, công thức có thể được đọc như sau: Nếu kết quả Vlookup bị lỗi, hãy trả về "Không tìm thấy", nếu không, hãy xuất kết quả Vlookup.
Và đây là kết quả thực-ví dụ thực tế về công thức Excel If Iserror Vlookup:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)),"Not found", VLOOKUP(D2, A2:B5,2,FALSE ))
Để biết thêm thông tin, vui lòng xem Sử dụng hàm ISERROR trong Excel.
IFERROR so với IFNA
Được giới thiệu với Excel 2013, IFNA là một hàm nữa để kiểm tra lỗi trong công thức. Cú pháp của nó tương tự như cú pháp của IFERROR:
IFNA(value, value_if_na)IFNA khác với IFERROR ở điểm nào? Hàm IFNA bắt chỉ lỗi #N/A trong khi IFERROR xử lý tất cả các loại lỗi.
Bạn có thể muốn sử dụng IFNA trong trường hợp nào? Khi nó là không khôn ngoan để ngụy trang tất cả các lỗi. Ví dụ: khi làm việc với dữ liệu quan trọng hoặc nhạy cảm, bạn có thể muốn được cảnh báo về các lỗi có thể xảy ra trong tập dữ liệu của mình và thông báo lỗi Excel tiêu chuẩn có ký hiệu "#" có thể là chỉ báo trực quan sinh động.
Hãy cùng xem cách bạn có thể tạo một công thức hiển thị thông báo "Không tìm thấy" thay vì lỗi N/A, xuất hiện khi giá trị tra cứu không có trong tập dữ liệu, nhưng lại khiến bạn chú ý đến các lỗi Excel khác.
Giả sử bạn muốn kéo Qty. từ bảng tra cứu sang bảng tóm tắt như trong ảnh chụp màn hình bên dưới. Sử dụng công thức Excel Iferror Vlookup sẽ tạo ra kết quả đẹp mắt, điều này không chính xác về mặt kỹ thuật vì Lemons tồn tại trong bảng tra cứu:
Để nắm bắt # Không áp dụng nhưng hiển thị lỗi #DIV/0, hãy sử dụng hàm IFNA trong Excel 2013 và Excel2016:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Not found")
Hoặc, tổ hợp IF ISNA trong Excel 2010 và các phiên bản cũ hơn:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)),"Not found", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
Cú pháp của IFNA VLOOKUP và IF ISNA Công thức VLOOKUP tương tự như công thức IFERROR VLOOKUP và IF ISERROR VLOOKUP đã thảo luận trước đó.
Như minh họa trong ảnh chụp màn hình bên dưới, công thức Ifna Vlookup trả về "Không tìm thấy" chỉ cho mục không có trong bảng tra cứu ( Quả đào ). Đối với Lemons , nó hiển thị #DIV/0! cho biết rằng bảng tra cứu của chúng tôi có lỗi chia cho 0:
Để biết thêm chi tiết, vui lòng xem phần Sử dụng hàm IFNA trong Excel.
Các phương pháp hay nhất để sử dụng IFERROR trong Excel
Bây giờ bạn đã biết rằng hàm IFERROR là cách dễ nhất để phát hiện lỗi trong Excel và che giấu chúng bằng các ô trống, giá trị bằng 0 hoặc thông báo tùy chỉnh của riêng bạn. Tuy nhiên, điều đó không có nghĩa là bạn nên bọc từng công thức bằng cách xử lý lỗi. Các đề xuất đơn giản sau đây có thể giúp bạn giữ cân bằng.
- Đừng mắc lỗi mà không có lý do.
- Gói phần nhỏ nhất có thể của công thức trong IFERROR.
- Để chỉ xử lý các lỗi cụ thể, hãy sử dụng chức năng xử lý lỗi có phạm vi nhỏ hơn:
- IFNA hoặc IF ISNA để chỉ bắt lỗi #N/A.
- ISERR để bắt tất cả các lỗi ngoại trừ lỗi #N/A.
Đây là cách bạn sử dụng hàm IFERROR trong Excel để bẫy và xử lý lỗi. Để có một cái nhìn sâu hơn về các công thức được thảo luận trong nàyhướng dẫn, bạn có thể tải xuống sổ làm việc IFERROR Excel mẫu của chúng tôi. Tôi cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới.