11:56 EDT Thứ bảy, 25/10/2014

Thống kê truy cập

Đang truy cậpĐang truy cập : 20

Thành viên online : 1

Máy chủ tìm kiếm : 5

Khách viếng thăm : 14


Hôm nayHôm nay : 6274

Tháng hiện tạiTháng hiện tại : 156961

Tổng lượt truy cậpTổng lượt truy cập : 1344526

Đề thi tiếng anh mới nhất

Trang nhất » Tin Học » Ms Excel

Các hàm xử lý lỗi trong excel

Chủ nhật - 24/11/2013 08:17

Các lập trình viên giỏi, khi lập trình họ sẽ phải đánh giá những khả năng có thể xảy ra, các lỗi thường gặp phải và đi xử lý nó triệt để thì mới có được một sản phẩm hoàn chỉnh, một phần mềm thân thiện với người dùng. Đối với Excel cũng vậy khi khi thiết lập các công thức tính toán thì đôi khi cũng xảy ra các trường hợp các hàm sử dụng không hoạt động do kết quả trả về của hàm trước đó bị lỗi.

Ví dụ: Tính đơn giá cho số hàng bán được trong ngày tại của hàng hoa quả.
D2=C2/B2

Hoa quả Số lượng Tổng tiền Đơn giá
Banana 200 40 0,2
Apple 125 69 0,552
Pear 0 30 #DIV/0!
Pineapple None 210 #VALUE!
Orange 20 None #VALUE!
  Tổng cộng 349  

Ở bản dữ liệu trên, ta thấy, Ô D4,D5,D6 kết quả trả về bị lỗi, do các số bị chia và số chia không thỏa mãn điều kiện của phép chia.
Bây giờ nếu ta không muốn kết quả của các ô này là các giá trị bị lỗi, thì ta có thể dùng hàm xử lý lỗi để giải quyết.

1. Hàm IFerror. Hàm này chỉ hoạt động ở Excel 2007 trở lên.

=IFERROR(value,value_if_error)
Trong đó:
1. Value: Là giá trị cần đánh giá lỗi.
2. Value_if_error

 Cách thức hoạt động của hàm này như sau:

Nếu Value bị lỗi thì hàm sẽ trả về giá trị của Value_if_error

ở ví dụ trên, ta muốn hàm kết quả trả về là 0 nếu phép chia bị lỗi.
Ta có
D2=iferror(C2/B2,0)
Value sẽ là: C2/B2 và Value_if_error là 0
 
Hoa quả Số lượng Tổng tiền Đơn giá Kết quả
Banana 200 40 =iferror(C2/B2,0) 0,2
Apple 125 69 =iferror(C3/B3,0) 0,552
Pear 0 30 =iferror(C4/B4,0) 0
Pineapple None 210 =iferror(C5/B5,0) 0
Orange 20 None =iferror(C6/B6,0) 0
  Tổng cộng 349    

Ta có thể thêm bất cứ nội dung nào vào vế Value_if_error, D2=iferror(C2/B2,"")
D2=iferror(C2/B2,"Phép chia không thỏa mãn")

enlightened Note: Hàm Iferror có thể handle hầu như tất cả các lỗi: #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, or #NULL!.
Tuy nhiên nó không hoạt động trong excel 2003 và các phiên bản trước đó.

2. Ngoài ra cũng có một số hàm dùng để đánh giá một giá trị có bị lỗi hay không,

Ví dụ:
- Hàm ISERR(Value), Hàm này dùng để đánh giá bất kỳ lỗi nào, ngoại trừ lỗi #N/A
- Hàm ISERROR(Value) có thể tìm ra tất cả các dạng lỗi: #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, or #NULL!).
- Hàm ISNA(Value) Chỉ đánh giá lỗi #N/A mà thôi.

Trong 3 hàm trên, ta thấy hàm IsError() có bao hàm cho các hàm ISERR() và Hàm ISNA(), do đó tôi khuyên bạn nếu công thức của bạn chứa nhiều điều kiện, hoặc bạn không lường trước được những lỗi nào có thể xảy ra, thì bạn nên dùng hàm IsError() cho mọi trường hợp.

Đối với Excel 2003 thì Hàm Iferror() chưa được hỗ trợ, do đó ta dùng các hàm này kết hợp với Hàm IF để xử lý lỗi xảy ra.

D2=If(ISERROR(D2),0,C2/B2)

Nếu giá trị D2 bị lỗi, thì trả về giá trị 0, nếu không bị  lỗi thì thực hiện phép chia C2/B2

Hiện nay, Excel 2007 và các phiên bản sau này, với các tính năng mạnh mẽ, được cải thiện và hiệu suất làm việc cao hơn nên
ngày càng có  nhiều người sử dụng nhiều hơn, do đó bạn nên dùng hàm IFerror thay vì dùng Hàm Iserror kết hợp với Hàm IF

Tác giả bài viết: Minh Phú

Tổng số điểm của bài viết là: 15 trong 4 đánh giá
Click để đánh giá bài viết

Theo dòng sự kiện

Xem tiếp...

Những tin mới hơn

Những tin cũ hơn