Nhờ xử lý lỗi về hàm tìm kiếm?

Liên hệ QC

KUMI

Bụi phấn
Tham gia
17/1/12
Bài viết
564
Được thích
571
Xin Chào!
Cả nhà giúp em xử lý lỗi trong file đính kèm với ạ?
Cám ơn nhiều ạ!
 

File đính kèm

  • New Microsoft Excel Worksheet.xls
    28.5 KB · Đọc: 192
Lần chỉnh sửa cuối:
Xin lỗi Em tải nhầm file, Em sửa lại rồi ạ!
Mọi người xem và giúp em với nhé! Tks!
 
a,b,c là text nên bạn phải để trong dấu nháy "a","b","c"
 
a,b,c là text nên bạn phải để trong dấu nháy "a","b","c"
Cám ơn Thầy Em xin hỏi thêm ạ?
ví dụ: em sửa Sheet "a" thành sheet "a b" em làm công thức sau:
HTML:
[HTML]
=VLOOKUP(F7,INDIRECT(MATCH(1,COUNTIF(INDIRECT({"a b";"b";"c"}&"!C8:C11"),F7),0)&"!C8:D11"),2,0)
Nhưng sao lại bị lỗi nhỉ?
Phiền Thầy giúp thêm lần nữa!
 
A! Được rồi thì ra là sửa lại như sau:
HTML:
=VLOOKUP(F7,INDIRECT(MATCH(1,COUNTIF(INDIRECT({"'a b'";"b";"c"}&"!C8:C11"),F7),0)&"!C8:D11"),2,0)
 
Xin hỏi thêm:
Sao em áp dụng như bài này lại không được nhỉ?
 

File đính kèm

  • New Microsoft Excel Worksheet (2).xls
    16.5 KB · Đọc: 63
Ai biết lỗi này giúp em với! Tks!

Để áp dụng công thức vào các trường hợp, bạn cần nắm rõ công thức hoạt động thế nào.
Công thức của bạn: =VLOOKUP(E8,INDIRECT(MATCH(1,COUNTIF(INDIRECT({"CSDL"}&"!E8:E12"),E8),0)&"!E8:G12"),3,0)
nếu theo yêu cầu cần đạt được của công thức, chỉ cần thế này là đủ: =VLOOKUP(E8,CSDL!E8:G12,3,0)
Tuy nhiên, bạn đang triển khai từ ví dụ cũ, để đưa ra công thức có phần dài dòng và nhiều hàm không cần thiết, chưa kể là sai!
Cụ thể: MATCH(1,COUNTIF(INDIRECT({"CSDL"}&"!E8:E12"),E8),0)
COUNTIF trường hợp này, nếu hàm INDIRECT hoạt động, chỉ trả về 1 giá trị. Nếu lồng vào hàm MATCH với vai trò tham số là vùng tham chiếu thì là sai.
Thêm nữa =VLOOKUP(E8,INDIRECT(MATCH(1,...
Là bạn đang có ý đồ tìm kiếm trong mảng 1!E8:G12 (hoặc 2, 3, 4,...) trong khi các sheet 1,2,3,4,... không hề tồn tại!
Do đó công thức này chạy mới là lạ.
 
Vâng tại vì file của em toàn là Sheet tên chữ lên em muốn sử dụng hàm như vậy.
Còn Vlookup thì em biết nhưng nó lại dò theo từng sheet.
Chẳng còn cách nào khác em thấy hàm đó yimf kiếm tất cả các sheet nên em cố gắng vận dụng theo hàm đó.
Còn cách nào khác không vậy Thầy?
 
Sử dụng hàm tìm kiếm nào trong file đính kèm ?

Xin chào mọi người!
Em muốn tìm cột tên theo mã số ở các sheet a,b,c vào sheet tổng hợp như trong file đính kèm thì phải dùng hàm nào ạ?
 

File đính kèm

  • TimKiem.xls
    24.5 KB · Đọc: 71
Xin chào mọi người!
Em muốn tìm cột tên theo mã số ở các sheet a,b,c vào sheet tổng hợp như trong file đính kèm thì phải dùng hàm nào ạ?

Bạn thử dùng cách củ chuối này vậy
Thứ nhất:
Đặt name như sau:
Loaia: =a!$C$8:$D$11
Loaib: =b!$C$8:$D$11
Loaic: ='c'!$C$8:$D$11
Sau đó dùng công thức sau cho E7 rồi fill xuống
PHP:
=IF(D7<=4,VLOOKUP(D7,loaia,2),IF(D7<=8,VLOOKUP(D7,loaib,2),VLOOKUP(D7,loaic,2)))
 
ợ! Cách này đúng là em cũng có nghĩ đến cho bài này nhưng! đúng là rất củ chuối... hihihi.../-*+/
Nhưng mà trong sheet a,b,c em lại không đặt mã số từ thấp đến cao như trong file đính kèm. Mà đặt rất lộn xộn. Như vậy là điều kiện tìm kiếm của hàm trên cũng không biết dựa theo điều kiện nào để tìm nữa.
Mà chỉ tìm theo mã số thôi.
Như vậy Thật là khó quá!
Anh xem còn cách nào không ạ!Tks anh!
Các chuyên gia nghiên cứu giúp em bài này với nhé!
Xin cám ơn ạ!
 
ợ! Cách này đúng là em cũng có nghĩ đến cho bài này nhưng! đúng là rất củ chuối... hihihi.../-*+/
Nhưng mà trong sheet a,b,c em lại không đặt mã số từ thấp đến cao như trong file đính kèm. Mà đặt rất lộn xộn. Như vậy là điều kiện tìm kiếm của hàm trên cũng không biết dựa theo điều kiện nào để tìm nữa.
Mà chỉ tìm theo mã số thôi.
Như vậy Thật là khó quá!
Anh xem còn cách nào không ạ!Tks anh!
Các chuyên gia nghiên cứu giúp em bài này với nhé!
Xin cám ơn ạ!
Nếu bài thực tế của bạn chỉ có 3 sheet a, b, c thì đơn giản thôi, Dùng ISNA & VLOOKUP là Ok
Nếu có nhiều Sheet, chắc fải nhờ ai viết code thôi, vì cthức sẽ dài và File sẽ nặng
 
Híc! Tiếc nhỉ!
Bài của em cũng khoảng 15~20 sheet thôi...nếu kết hợp hàm VLOOKUP với hàm IF thì cũng quá dài...
Em cứ nghĩ là có thể làm theo công thức này được cơ.
HTML:
=VLOOKUP(D7,INDIRECT(MATCH(1,COUNTIF(INDIRECT({1;2;3}&"!C8:C11"),D7),0)&"!C8:D11"),2,0)
Nhưng mà Thầy belo đã giải thích là không thể được rồi...ôi nản nhỉ chỉ khác mỗi số với chữ mà không thể...&&&%$R
 
Cái gì cũng có giới hạn của nó Bạn à. Buồn làm Chi.
Sao bạn không đổi tên sheet thành số cho đỡ đau đầu.
 
Sao lại không?
Nếu bạn thay sheet tên chữ bằng tên số thì quá đơn giản?
Cứ thêm bao nhiêu sheet thì thêm số là OK. Như KUMI đã nói đấy thôi.
Nếu là sheet số thì xem file đính kèm nè(làm theo hàm của KUMI nhé)!
Nhưng mà ở đây KUMI cũng đã đưa ra sheet số rồi nhưng chắc là bạn đó bắt buộc phải dùng sheet chữ.
Cái này thì mình không giải pháp!-+*/
 

File đính kèm

  • Test.xls
    20 KB · Đọc: 103
Sao lại không?
Nếu bạn thay sheet tên chữ bằng tên số thì quá đơn giản?
Cứ thêm bao nhiêu sheet thì thêm số là OK. Như KUMI đã nói đấy thôi.
Nếu là sheet số thì xem file đính kèm nè(làm theo hàm của KUMI nhé)!
Nhưng mà ở đây KUMI cũng đã đưa ra sheet số rồi nhưng chắc là bạn đó bắt buộc phải dùng sheet chữ.
Cái này thì mình không giải pháp!-+*/

Nếu có cở 50 sheet đánh số từ 1 đến 50 thì bạn... viết sao?
Ẹc... Ẹc...
Ngoài ra, thiết nghĩ cũng nên bẫy lỗi cho trường hợp không tìm thấy nữa chứ
 
Lần chỉnh sửa cuối:
Zạ! kiến thức của em chưa chuyên sâu như Thầy nên không nghĩ được đến tận 50Sheet ntn.
Như Thầy nói chắc là có vấn đề rồi.
Nhưng kia người ta chỉ cần 15~20sheet mà còn không thể thực hiện nổi mà Thầy.
Đúng là thay tên sheet = chữ thì khác hẳn với số không hề đơn giản.
Cám ơn Thầy đã chỉ giáo!
 
Web KT
Back
Top Bottom