Dò tìm theo nhiều điều kiện (1 người xem)

  • Thread starter Thread starter hanhpptc
  • Ngày gửi Ngày gửi

Người dùng đang xem chủ đề này

hanhpptc

Thành viên tiêu biểu
Tham gia
16/5/08
Bài viết
459
Được thích
320
Nhờ các anh chị trên diễn đàn hướng dẫn giúp mình cách thiết lập công thức hoặc hàm người dùng theo nhiều điều kiện trong File đính kèm dưới đây. Mình đã tìm nhiều trên diễn đàn nhưng chưa thấy. Xin cám ơn
 

File đính kèm

Nhờ các anh chị trên diễn đàn hướng dẫn giúp mình cách thiết lập công thức hoặc hàm người dùng theo nhiều điều kiện trong File đính kèm dưới đây. Mình đã tìm nhiều trên diễn đàn nhưng chưa thấy. Xin cám ơn
Gõ vào cell E22 công thức sau:
PHP:
=LOOKUP(2,1/(($A$2:$A$12=$C22)*($B$2:$B$12<=$D22)),$C$2:$C$12)
 
ndu vui lòng giải nghĩa tiếp công thức này. Thanks!
Anh bôi đen đoạn ($A$2:$A$12=$C22)*($B$2:$B$12<=$D22) trên thanh Formula rồi bấm F9, để ý kết quả là gì
Tiếp theo, bôi đên đoạn 1/(($A$2:$A$12=$C22)*($B$2:$B$12<=$D22)) trên thanh Formula rồi cũng bấm F9, xem kết quả là gì
===> Suy ra điều mà anh cần giải thích
Cái trò này em áp dụng từ đây:
http://www.giaiphapexcel.com/forum/showthread.php?7669-Nh%E1%BB%AFng-c%C3%B4ng-th%E1%BB%A9c-%C4%91%E1%BB%99c-%C4%91%C3%A1o&
Nói tóm lại, công thức dạng LOOKUP(2, 1/(Biểu thức gì đó), Vùng chứa dữ liệu cần tìm) là để tìm cell cuối cùng thỏa điều kiện nào đó
Mục đích của ta là làm cách nào để biểu thức (Biểu thức gì đó) trở thành 1 Array mà tất cả các phần tử của nó là 0 1 (với những em thỏa đ/k sẽ =1 và ngược lại) ---> Vậy 1/(Biểu thức gì đó) sẽ là 1 Array mà các phần tử của nó là 1 hoặc #DIV/0! (với những em thỏa đ/k sẽ =1 và ngược lại)
===> Tìm số 2 trong một mảng chỉ có số 1#DIV/0! thì đương nhiên nó sẽ lấy số 1 cuối cùng trong mảng, tra qua bên vùng chứa dữ liệu cần tìm để lấy kết quả tương ứng
 
Lần chỉnh sửa cuối:
Anh bôi đen đoạn ($A$2:$A$12=$C22)*($B$2:$B$12<=$D22) trên thanh Formula rồi bấm F9, để ý kết quả là gì
Tiếp theo, bôi đên đoạn 1/(($A$2:$A$12=$C22)*($B$2:$B$12<=$D22)) trên thanh Formula rồi cũng bấm F9, xem kết quả là gì
===> Suy ra điều mà anh cần giải thích
Cái trò này em áp dụng từ đây:
http://www.giaiphapexcel.com/forum/showthread.php?7669-Những-công-thức-độc-đáo&
Nói tóm lại, công thức dạng LOOKUP(2, 1/(Biểu thức gì đó), Vùng chứa dữ liệu cần tìm) là để tìm cell cuối cùng thỏa điều kiện nào đó
Mục đích của ta là làm cách nào để biểu thức (Biểu thức gì đó) trở thành 1 Array mà tất cả các phần tử của nó là 0 1 (với những em thỏa đ/k sẽ =1 và ngược lại) ---> Vậy 1/(Biểu thức gì đó) sẽ là 1 Array mà các phần tử của nó là 1 hoặc #DIV/0! (với những em thỏa đ/k sẽ =1 và ngược lại)
===> Tìm số 2 trong một mảng chỉ có số 1#DIV/0! thì đương nhiên nó sẽ lấy số 1 cuối cùng trong mảng, tra qua bên vùng chứa dữ liệu cần tìm để lấy kết quả tương ứng
em gà lắm, nên đang xem lại kỹ đoạn này. thaks anh
 
Em mạn phép edu giải thích theo cách hiểu nôm na của em nhé.
+-+-+-+
 

File đính kèm

...
Nói tóm lại, công thức dạng LOOKUP(2, 1/(Biểu thức gì đó), Vùng chứa dữ liệu cần tìm) là để tìm cell cuối cùng thỏa điều kiện nào đó
Mục đích của ta là làm cách nào để biểu thức (Biểu thức gì đó) trở thành 1 Array mà tất cả các phần tử của nó là 0 1 (với những em thỏa đ/k sẽ =1 và ngược lại) ---> Vậy 1/(Biểu thức gì đó) sẽ là 1 Array mà các phần tử của nó là 1 hoặc #DIV/0! (với những em thỏa đ/k sẽ =1 và ngược lại)
===> Tìm số 2 trong một mảng chỉ có số 1#DIV/0! thì đương nhiên nó sẽ lấy số 1 cuối cùng trong mảng, tra qua bên vùng chứa dữ liệu cần tìm để lấy kết quả tương ứng

Vậy muốn tìm cell đầu tiên thỏa mãn điều kiện thì công thức Lookup viết như thế nào ? Nhờ các bạn vui lòng chỉ giúp. Thanks!
 
Lần chỉnh sửa cuối:
Vậy muốn tìm cell đầu tiên thỏa mãn điều kiện thì công thức Lookup viết như thế nào ? Nhờ các bạn vui lòng chỉ giúp. Thanks!
Ẹc... Ẹc... Cái vụ tìm cell đầu thỏa điều kiện thì ta đâu có dùng LOOKUP ---> dùng VLOOKUP hoặc MATCH với kiểu dò = 0 thôi
 
Ẹc... Ẹc... Cái vụ tìm cell đầu thỏa điều kiện thì ta đâu có dùng LOOKUP ---> dùng VLOOKUP hoặc MATCH với kiểu dò = 0 thôi

Ndu ơi vậy tôi muốn dò tìm cell đầu thỏa nhiều điều kiện như tên Topic này thì công thức viết như thế nào ?
 
Ndu ơi vậy tôi muốn dò tìm cell đầu thỏa nhiều điều kiện như tên Topic này thì công thức viết như thế nào ?
Cứ cái gì liên quan đến việc TÌM GIÁ TRỊ ĐẦU TIÊN thì anh cứ nghĩ đến MATCH đi ---> Bao nhiêu điều kiện cũng mặc kệ (MATCH với kiểu dò = 0 và trị dò phải theo kiểu tìm chính xác)
 
Lần chỉnh sửa cuối:
Em có tình huống này tìm theo 4 điều kiện thì phải làm sao .Nhờ các anh chị và các bạn giúp nhé.Xin cám ơn.
 

File đính kèm

Lần chỉnh sửa cuối:
Em có tình huống này tìm theo 4 điều kiện thì phải làm sao .Nhờ các anh chị và các bạn giúp nhé.Xin cám ơn.
Gõ vào cell J3 công thức này:
PHP:
=LOOKUP(2,1/(($A$3:$A$100=$F9)*($B$3:$B$100=$G9)*($C$3:$C$100=$H9)*($D$3:$D$100=$I9)),$E$3:$E$100)
 
Nhờ anh giải thích cho cho em cái chỗ 2,1/ ý nghĩa ra sao vậy anh .
Nếu em chỉ còn 3 dk thì chỉnh cái chỗ 2.1/ là thành bao nhiu vậy.


Cám ơn anh
 
Lần chỉnh sửa cuối:
Nhờ anh giải thích cho cho em cái chỗ 2,1/ ý nghĩa ra sao vậy anh .Cám ơn anh
- Trong công thức trên thì (($A$3:$A$100=$F9)*($B$3:$B$100=$G9)*($C$3:$C$100=$H9)*($D$3:$D$100=$I9)) là nhóm điều kiện. Các mảng này nhân với nhau sẽ ra các giá trị TRUE hoặc FALSE tùy thuộc điều kiện là đúng hay sai
- 1/(($A$3:$A$100=$F9)*($B$3:$B$100=$G9)*($C$3:$C$100=$H9)*($D$3:$D$100=$I9)) ---> Số 1 chia cho 1 mảng mà các phần tử của nó là TRUE và FALSE thì sẽ cho kết quả = 1 hoặc = #DIV/0! (chia cho TRUE tương đương chia cho 1 nên ra kết quả =1... Chia cho FALSE tương đương chia cho 0 nên ra kết quả là #DIV/0!). Tạm gọi đây là KQ1
- LOOKUP(2, KQ1, Mảng kết quả) ---> Dò số 2 trong KQ1, nó sẽ tra và lấy số 1 cuối cùng, dò sang mảng kết quả
---------------
Nói thêm: Không nhất thiết phải là số 2... Số nào cũng được, miễn > 1
 
Lần chỉnh sửa cuối:
Rất cám ơn nhiệt tình của anh .Em đã hiểu và làm dc rùi .
 
- Trong công thức trên thì (($A$3:$A$100=$F9)*($B$3:$B$100=$G9)*($C$3:$C$100=$H9)*($D$3:$D$100=$I9)) là nhóm điều kiện. Các mảng này nhân với nhau sẽ ra các giá trị TRUE hoặc FALSE tùy thuộc điều kiện là đúng hay sai
- 1/(($A$3:$A$100=$F9)*($B$3:$B$100=$G9)*($C$3:$C$100=$H9)*($D$3:$D$100=$I9)) ---> Số 1 chia cho 1 mảng mà các phần tử của nó là TRUE và FALSE thì sẽ cho kết quả = 1 hoặc = #DIV/0! (chia cho TRUE tương đương chia cho 1 nên ra kết quả =1... Chia cho FALSE tương đương chia cho 0 nên ra kết quả là #DIV/0!). Tạm gọi đây là KQ1
- LOOKUP(2, KQ1, Mảng kết quả) ---> Dò số 2 trong KQ1, nó sẽ tra và lấy số 1 cuối cùng, dò sang mảng kết quả
---------------
Nói thêm: Không nhất thiết phải là số 2... Số nào cũng được, miễn > 1

Tại sao lại là lấy số 1 cuối cùng nhỉ, mình vẫn chưa hiểu lắm, Trong mảng KQ1 có thể có nhiều giá trị đúng (tức là 1) vậy tại sao lại lấy số 1 cuối cùng mà không phải là một số 1 nào đó trong mảng??
 
Trường hợp chỉ có 1 số 1 thôi, vì trong 1 ngày nhất định, 1 ca nhất định, 1 máy nhất định, 1 code nhất định chì có 1 người.

HTML:
KQ1:   #DIV/0,   #DIV/0,   1,   #DIV/0, #DIV/0
KQ :       A,        B ,   C,        D,        E
Kết quả: C
 
Chào các anh chị
Giúp mình trường hợp này với. Mình nghĩ mà ko ra. Mong các cao thủ giúp đỡ
 

File đính kèm

Chào các anh chị
Giúp mình trường hợp này với. Mình nghĩ mà ko ra. Mong các cao thủ giúp đỡ

Bạn nhập kết quả mẫu bạn muốn có xem mặt mũi nó ra sao.
Bạn nói chung chung như vậy ai hiểu bạn muốn gì.
Theo công thức của bạn thì có thể xài cái này:
PHP:
=IF(COUNTIFS(B2:B10;"<>";A2:A10;"TAX");"11AM";"2PM")
 
Lần chỉnh sửa cuối:
Ý em là nếu cột B có dữ liệu (1,2,3...) và cột A có mã "Tax" kết quả là "11AM", ngược lại cột B có dữ liệu (1,2,3...) và cột A không có mã "tax", kết quả là "2PM".

Mong anh chị giúp em với
 
Cám ơn công thức của bác. Em đã làm được rùi ạ
 
cám ơn anh ndu, nhưng em bị xảy ra trường hợp là khi dùng công thức trên nếu có 2 dòng đk giống nhau thì kết quả sẽ là của dòng đk thứ 2, không biết mình có cách nào giải quyết vấn đề này ko hả anh. Hay anh có code nào giúp em khi phát sinh 2 dòng đk giống nhau thì sẽ tự động gộp kết quả của dòng đk 1 và dòng đk 2 lại chung với nhau có được ko anh
 
lỡ phát sinh ra nhiều dòng có đk giống nhau cũng gộp lại hay sao? nghĩa-hùng-vân.... nếu đúng như vậy thì code VBA có cách làm đó
 
nhờ Anh / Chị trên diễn đàn giúp Em thiết lập công thức Excel của sheet "nhập" và sheet " tổng" với ah. Em có gửi file lên, Anh / Chị giúp Em nhé. Em cảm ơn nhiều
 

File đính kèm

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

Back
Top Bottom