Cho hỏi về hàm Vloopup có điều kiện

Liên hệ QC

anhtuan.1511

Thành viên mới
Tham gia
15/12/10
Bài viết
25
Được thích
0
Mình muốn tìm 1 giá trị ở bảng A cho vào bảng B nếu thoả mãn 2 điều kiện (giá trị cột 1 của bảng A = giá trị cột 1 của bảng B) và (giá trị cột 2 của bảng A = giá trị cột 2 của bảng B)
VD:
Bảng A
cột ____Bê tông____ 1000
Cột ____Thép____ 2000
Bê tông____ Nhẹ____ 2500

Bảng B:
Cột_____ Thép_____ ????
.............
Thì ở ???? điền giá trị đúng là 2000
 
Bạn xem file đính kèm
 

File đính kèm

Bạn cho mình hỏi trong công thức =SUMPRODUCT((B6=(B2:B4))*(C6=(C2:C4))*(D2:D4)
dấu (*) ở đây có tác dụng gì? Cám ơn bác.
 
Bạn cho mình hỏi trong công thức =SUMPRODUCT((B6=(B2:B4))*(C6=(C2:C4))*(D2:D4)
dấu (*) ở đây có tác dụng gì? Cám ơn bác.

Dấu nhân tương đương với toán tử AND đấy (tức là: B6=(B2:B4) C6=(C2:C4) )
Tuy nhiên đối với loại bài toán tìm kiếm thì khuyên bạn không nên dùng SUMPRODUCT. Tại sao? Vì nó chuyên về TÍNH TỔNG chứ không phải TÌM KIẾM. Vậy nên nếu có từ 2 phần từ thỏa điều kiện nó sẽ cộng dồn ---> Kết quả sai bét
(trong khi các hàm dò tìm thì khác, nếu có 2 phần tử thỏa điều kiện nó cũng chỉ lấy một mà thôi)
 
Bạn cho mình hỏi trong công thức =SUMPRODUCT((B6=(B2:B4))*(C6=(C2:C4))*(D2:D4)
dấu (*) ở đây có tác dụng gì? Cám ơn bác.

SUMPRODUCT là hàm mảng * có nghĩa là và
kết quả của bạn là 1*1*200 sẽ bằng 200
hoặc kết quả là 0*1*200 sẽ bằng 0
hoặc kết quả là 1*0*200 sẽ bằng 0
 
Trong hàm =LOOKUP(2,1/(B2:B4=B6)/(C2:C4=C6),D2:D4) thì 1/(B2:B4=B6)/(C2:C4=C6) nghĩa là thế nào hả bạn.
 
Vậy nghĩa là True = 1 còn false = 0 hả bạn?
 
Trong hàm =LOOKUP(2,1/(B2:B4=B6)/(C2:C4=C6),D2:D4) thì 1/(B2:B4=B6)/(C2:C4=C6) nghĩa là thế nào hả bạn.
1/(B2:B4=B6)/(C2:C4=C6) sẽ trả về một mảng là tập hợp có kiểu như sau (#DIV/0!;#DIV/0!...;1;#DIV/0!;..)
tìm số 2 trong mảng trên thì không có phần tử nào lớn hơn hoặc bẳng 2 cả kết quả gần đúng là số 1 đối chiếu với số 1 sang ngang lấy giá trị cột D ở dòng tương ứng khi có phần tử 1
bạn có thể thay số 2 bằng các số khác >=2 kết quả không thay đổi
 
Lần chỉnh sửa cuối:
hic. Khó hiểu quá. Bạn có thể cho xin tài liệu về hàm này không?
 

File đính kèm

Lần chỉnh sửa cuối:
hic. Khó hiểu quá. Bạn có thể cho xin tài liệu về hàm này không?

LOOKUP thật ra không khó, chỉ khó khi ta tùy biến và áp dụng thôi
Nói chung với dạng LOOKUP(2, 1/.... gì gì đó như ở trên, bạn chỉ cần nhớ cú pháp này là được
Mã:
=LOOKUP([COLOR=#ff0000]2, 1/[/COLOR](Biểu thức điểu kiện 1)/(Biểu thức điểu kiện 2)/...../(Biểu thức điểu kiện n), Vùng cần lấy kết quả)
Xong! Muốn bao nhiêu điều kiện tùy ý (con số màu đỏ là cố định)
Như ví dụ trên thì:
- Biểu thức điều kiện 1B2:B4=B6
- Biểu thức điều kiện 2C2:C4=C6
- Vùng cần lấy kết quả D2:D4
 
Thay vì làm Sumproduct như bạn anhkt08, có thể dùng sumifs trong excel 2007.

Đúng là sumifs có thể thay cho Sumproduct
nhưng cả hai hàm này đều là cộng vào cả
khi dữ liệu có dạng
A B 100
A B 200
thì sẽ cho kết quả là
A B 300
 
Hàm lookup này hay quá, mình cũng vừa mới tìm hiểu được cách dùng hàm sumproduct ngày hôm qua xong. Cho mình hỏi là mình đang phải dùng hàm để tìm kiếm nhiều điều kiện như thế này nhưng sẽ phải tìm trong vùng có khoảng 10 cột và 20000 dòng thì dùng hàm lookup hay sumproduct sẽ nhanh hơn, dữ liệu của mình không có trường hợp trùng nhau.
 
Web KT

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

Back
Top Bottom