Hàm type match

Liên hệ QC

nguyenvietviet

Thành viên hoạt động
Tham gia
4/3/08
Bài viết
110
Được thích
11
Nghề nghiệp
Nhân viên văn phòng
Mình sử dụng hàm lồng type macth lúc được lúc không. Mong các bạn trợ giúp mình
Mình cám ơn
 

File đính kèm

  • Hoi.xls
    13.5 KB · Đọc: 178
Mình sử dụng hàm lồng type macth lúc được lúc không. Mong các bạn trợ giúp mình
Mình cám ơn

Không biết mục đích, yêu cầu & kết quả bạn muốn như thế nào?

Còn nếu cho ra kết quả như bạn thì công thức tương đương nó kiểu như vầy:
=IF(ISNA(MATCH($E$4,kh)),"",MATCH($E$4,kh,0))
 
Không biết mục đích, yêu cầu & kết quả bạn muốn như thế nào?

Còn nếu cho ra kết quả như bạn thì công thức tương đương nó kiểu như vầy:
=IF(ISNA(MATCH($E$4,kh)),"",MATCH($E$4,kh,0))
Cám ơn bạn. Ý của mình muốn thống kê vị trí của từng mã trong cột A. Ví dụ mã t04 có ở vị trí thứ 15, t06 ở vị trí thức 17.
Nhưng mã k01 ở vị trí thứ 19 mà nó không thể hiện. Mong bạn giúp đỡ
 
Lần chỉnh sửa cuối:
Cám ơn bạn. Ý của mình muốn thống kê vị trí của từng mã trong cột A. Ví dụ mã t04 có ở vị trí thứ 15, t06 ở vị trí thức 17.
Nhưng mã k01 ở vị trí thứ 19 mà nó không thể hiện. Mong bạn giúp đỡ

À, thì thế này cũng được:
=IF(ISNA(MATCH($E$4,kh,0)),"",MATCH($E$4,kh,0))
 
Cám ơn bạn. Cho mình hỏi số 0 đó có tác dụng gì?
 
uh. Cảm ơn các bạn nhiều nhé.
 
cho mình hỏi "=16" là gì vậy?
Tks!
 
Theo như e biết thì Hàm TYPE(Value) là hàm trả về giá trị value. giá trị value được Excel mặc định là số 16.
Không phải vậy!
Hàm TYPE trả về KIỂU CỦA DỮ LIỆU
Có tất cả 5 kiểu dữ liệu (theo hàm TYPE)
- Kết quả = 1 <==> Dữ liệu là kiểu Number
- Kết quả = 2 <==> Dữ liệu là kiểu Text
- Kết quả = 4 <==> Dữ liệu là kiểu Logical (dạng TRUE, FALSE)
- Kết quả = 16 <==> Dữ liệu là kiểu Error (Lỗi)
- Kết quả = 64 <==> Dữ liệu là kiểu Array (mảng)

----------------
Vậy số 16 ý muốn nói là LỖI
=IF(TYPE(MATCH($E$4;kh;0))=16;"";MATCH($E$4;kh;0)) nghĩa là NẾU HÀM MATCH($E$4;kh;0) BỊ LỖI THÌ CHO KẾT QUẢ = RỔNG, CÒN NGƯỢC LẠI, LẤY KẾT QUẢ CỦA MATCH($E$4;kh;0)
 
kh02kh01
kh01FALSEFALSEE6=ISNA(MATCH($E$4,A5:A26,0))
kh02FALSEFALSEF6=ISNA(MATCH($E$4,A5:A26,0))
kh03TRUEFALSE
kh04TRUEFALSE
kh05TRUEFALSE
kh06TRUEFALSE
kh07TRUEFALSE
kh08TRUEFALSE
kh09TRUEFALSE
kh10TRUEFALSE
kh11TRUEFALSE
t01TRUEFALSE
t02TRUEFALSE
t03TRUEFALSE
t04TRUEFALSE
kh01TRUEFALSE
t06TRUETRUE
t07TRUETRUE
k01TRUETRUE
k02TRUETRUE
k03TRUETRUE
k04TRUETRUE
Cho em hỏi cũng là hàm Isna(match...) nhưng sao có vị trí xuất ra True mà vị trí xuất ra false vậy các cô chú....
 

File đính kèm

  • Hoi.xls
    16 KB · Đọc: 13
Cho em hỏi cũng là hàm Isna(match...) nhưng sao có vị trí xuất ra True mà vị trí xuất ra false vậy các cô chú....
Công thức tại B5 của bạn là:
=ISNA(MATCH($B$4,A5:A26,0))
Khối cell A5:A26 bạn phải khóa thành tuyệt đối mới được chứ
Sửa thành vầy:
=ISNA(MATCH($B$4,$A$5:$A$26,0))
Xong, kéo fill xuống
Tương tự thế với cell C5
 
Em cảm ơn sư phụ nhiều...
 
Ý em hỏi hàm IsNa(match..) 1 giá trị có trong mảng thì nó lại báo là false , khi giá trị match ko có trong mảng lại báo là true, ngược lại với cách suy nghĩ thông thường...
 
Ý em hỏi hàm IsNa(match..) 1 giá trị có trong mảng thì nó lại báo là false , khi giá trị match ko có trong mảng lại báo là true, ngược lại với cách suy nghĩ thông thường...

ISNA
dùng để kiểm tra xem có xuất hiện lỗi #N/A hay không
ISNA(MATCH(...)) dùng để kiểm tra xem hàm MATCH có lỗi #N/A hay không
Vậy, nếu hàm MACTH cho kết quả không lỗi thì ISNA sẽ cho kết quả = FALSE (ý muốn nói là không có lỗi #N/A)... Ngược lại, hàm MATCH bị lỗi thì ISNA sẽ cho kết quả = TRUE (ý muốn nói là có lỗi #N/A).
Bởi vậy, để bẫy lỗi #N/A khi dùng MATCH, người ta thường kết hợp thế này
=IF(ISNA(MATCH(....)),"",MATCH(...)) ---> Nếu MATCH bị lỗi thì lấy kết quả = rổng, ngược lại, lấy kết quả của hàm MATCH
 
Lần chỉnh sửa cuối:
Không phải vậy!
Hàm TYPE trả về KIỂU CỦA DỮ LIỆU
Có tất cả 5 kiểu dữ liệu (theo hàm TYPE)
- Kết quả = 1 <==> Dữ liệu là kiểu Number
- Kết quả = 2 <==> Dữ liệu là kiểu Text
- Kết quả = 4 <==> Dữ liệu là kiểu Logical (dạng TRUE, FALSE)
- Kết quả = 16 <==> Dữ liệu là kiểu Error (Lỗi)
- Kết quả = 64 <==> Dữ liệu là kiểu Array (mảng)

----------------
Vậy số 16 ý muốn nói là LỖI
=IF(TYPE(MATCH($E$4;kh;0))=16;"";MATCH($E$4;kh;0)) nghĩa là NẾU HÀM MATCH($E$4;kh;0) BỊ LỖI THÌ CHO KẾT QUẢ = RỔNG, CÒN NGƯỢC LẠI, LẤY KẾT QUẢ CỦA MATCH($E$4;kh;0)
Cho e hỏi: e sử dụng hàm: IF(TYPE(MATCH($D$7,'Chi tiết nguyên vật liệu - 152 '!$A$10:$A$49089,0))=9,"",MATCH($D$7,'Chi tiết nguyên vật liệu - 152 '!$A$10:$A$49089,0)) tại sao ko tìm được kết quả ở dòng thứ 1, kết quả toàn trả về dòng thứ 2 trở đi và thêm 1 dòng ko thuộc giá trị tìm, kiểu như bị nhảy 1 dòng ấy
 
Web KT
Back
Top Bottom