Hỏi về hàm TYPE()

  • Thread starter Thread starter rocks
  • Ngày gửi Ngày gửi
Liên hệ QC

rocks

Thành viên mới
Tham gia
1/8/08
Bài viết
2
Được thích
0
Các bạn ơi ai biết hàm này chỉ giúp tôi với, Xin nói chi tiết giúp tôi được không? số =16,1 tôi không hiểu nghĩa của số 16 là gỉ? cảm ơn các bạn đã giúp tôi.

Rocks.-0-/.
 
Hàm TYPE(Value) trả về kiểu của Value, khi Value là giá trị lỗi thì hàm TYPE trả về giá trị 16.
 
Bạn hãy xem cấu trúc của hàm Type có trong Ebook của do giaiphapexcel.com phát hành
Type.gif

Cái công thức mà bạn đưa lên nếu nói về cấu trúc thì vẫn còn sai thì phải, vi mình thấy thiếu dấu ngoặc ở phía cuối Công thức.Dựa vào bảng trên bạn sẽ biết tại sao có số 16.

Có thể giải thích sơ qua như sau:
Nếu giá trị do hàm vlookup($c109,dmhh!$a$4:$c$2226,2,0) trả về là lỗi tức là type(vlookup($c109,dmhh!$a$4:$c$2226,2,0))=16 thì công thức sẽ trả về giá trị là 1. Ngược lại nếu không lỗi sẽ trả về giá trị do hàm vlookup($c109,dmhh!$a$4:$c$222 trảvề
 
Lần chỉnh sửa cuối:
Cảm ơn các bạn đã xây dựng ý kiến giúp tôi, nhưng chẳng hiểu sao tôi thấy khó hiểu về hàm này quá, "đã giúp tôi thì giúp cho chót" đi các bạn ơi =IF(TYPE(VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0))=16,1,VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0)).
Các bạn hãy lấy ví dụ giúp tôi đi, ví dụ CT ban đầu là như trên nếu tôi bỏ IF(TYPE(VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0))=16, như vậy ct vẫn báo lỗi, tại sao cứ phải là CT nguyênn vẹn như trên mới có kết quả khó hiểu quá. Các bạn thông cảm nha tôi thầyminh kém quá muốn xin ý kiến các vị sư Huynh.......hii.....giúp tôi nha. cảm ơn nhiều.
 
Thế này nhé:
Hàm VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0) là tìm giá trị của C4 trong bảng DMHH!$A$4:$C$2226, trả về giá trị hàng tương ứng ở cột thứ 2 trong bảng này, đúng không?
Trong trường hợp không tìm thấy giá trì nào trong bảng thì đương nhiên nó sẽ báo lổi! Khi ấy bạn sẽ dùng cách nào đó để triệt tiêu lổi đi!
Ví dụ:
1> Trường hợp lổi xuất hiện khi cột C là rổng, lúc ấy ta có thể dùng:
IF(C4 ="",1,
VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0))
2> Trường hợp rất nhiều lổi xuất hiện khiến ta khó kiểm soát, ta sẽ quy định rằng "Nếu gặp lổi thì trả về giá trị nào đó cho tôi, ngược lại cứ tìm bình thường" ... trường hợp của bạn sẽ trả về giá trị = 1 khi gặp lổi. Vậy chúng ta sẽ viết như sau:
IF(ISERROR(
VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0)),1,VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0))
Đây là cách viết mà nhiều người vẩn hay dùng, ngoài ra còn cách viết khác như bạn vừa thấy!
Diển nôm cho cả 2 cách viết: "Nếu hàm VLOOKUP bị lổi thì trả về giá trị là 1, bằng ngược lại, không bị lổi thì cứ hãy lấy kết quả của VLOOKUP"
Chỉ vậy thôi
(Giá như bạn đưa file lên đây thì càng dể giãi thích hơn)
 
Cảm ơn các bạn đã xây dựng ý kiến giúp tôi, nhưng chẳng hiểu sao tôi thấy khó hiểu về hàm này quá, "đã giúp tôi thì giúp cho chót" đi các bạn ơi =IF(TYPE(VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0))=16,1,VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0)).
Các bạn hãy lấy ví dụ giúp tôi đi, ví dụ CT ban đầu là như trên nếu tôi bỏ IF(TYPE(VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0))=16, như vậy ct vẫn báo lỗi, tại sao cứ phải là CT nguyênn vẹn như trên mới có kết quả khó hiểu quá. Các bạn thông cảm nha tôi thầyminh kém quá muốn xin ý kiến các vị sư Huynh.......hii.....giúp tôi nha. cảm ơn nhiều.

1. Ban đầu bạn chỉ dùng VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0) để dò tìm nhưng vì một số lý do nào đó không tìm thấy nên kết quả trả về là một thông báo lỗi

Ví dụ: trong trường hợp
giá trị cần tìm kiếm không có trong cột đầu tiên của bảng dữ liệu dò tìm thì kết quả là thông báo lỗi #N/A.

2. Nếu bạn không muốn xuất hiện #N/A trong ô kết quả thì bạn dùng
IF(TYPE(VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0))=16,0

Chú ý: số 16 là số quy định của Excel về nhận dạng lỗi. Giá trị sau số 16 là giá trị sẽ trả về khi gặp lỗi; Bạn hãy thay số 1 trong công thức của bạn bằng câu "không tìm thấy" thì sẽ dễ hiểu hơn.

3. Nếu bạn muốn: khi không tìm thấy thì cho kết quả là 0 (tôi thay số 1 của bạn bằng số 0), khi tìm thấy thì lấy luôn kết quả tìm được thì bạn phải dùng
=IF(TYPE(VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0))=16,0,VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0))

4. Cuối cùng Bạn có thể áp đặt một điều kiện tuỳ thích "..." mỗi khi không tìm thấy
IF(TYPE(VLOOKUP($C4,DMHH!$A$4:$C$2226,2,0))=16,"..."
 
Web KT

Bài viết mới nhất

Back
Top Bottom