Tìm giá trị nhỏ nhất có điều kiện

Liên hệ QC

BuiQuangThuan

❆❆❆❆❆❆❆❆❆❆❆❆
Tham gia
17/12/10
Bài viết
2,477
Được thích
2,931
Giới tính
Nam
Em xin chào các anh chị, thầy cô ạ
Nhờ các anh chị, thầy cô có thể giúp em tìm giá trị nhỏ nhất dựa vào tiêu chí cho từng nhân viên với ạ
1614823445116.png

Em xin cám ơn nhiều ạ
 

File đính kèm

  • demo.xlsb
    10.1 KB · Đọc: 13
Em xin chào các anh chị, thầy cô ạ
Nhờ các anh chị, thầy cô có thể giúp em tìm giá trị nhỏ nhất dựa vào tiêu chí cho từng nhân viên với ạ

Em xin cám ơn nhiều ạ
Tiêu chí C của Nguyễn Văn B nhỏ nhất là 2 mà?
Dùng công thức:
Mã:
=AGGREGATE(15,6,OFFSET($J$5:$J$21,,MATCH($B6,$K$4:$L$4,0))/($J$5:$J$21=C$5),1)
 
Tiêu chí C của Nguyễn Văn B nhỏ nhất là 2 mà?
Dùng công thức:
Mã:
=AGGREGATE(15,6,OFFSET($J$5:$J$21,,MATCH($B6,$K$4:$L$4,0))/($J$5:$J$21=C$5),1)
Dạ. cám ơn anh nhiều ạ. Điền tay nhanh nhẩu quá nên em bị sai. Em thấy kết quả đúng rồi ạ.
 
Dùng Aggregate thì ôm cả mảng to đùng được luôn mà.

=AGGREGATE(15,6,$K$5:$L$21/($K$4:$L$4=$B6)/($J$5:$J$21=C$5),1)
Cám ơn anh nhiều ạ.Có thể nhờ anh và mọi người chỉ giúp em cái đoạn này
Mã:
$K$5:$L$21/($K$4:$L$4=$B6)/($J$5:$J$21=C$5)
Em chưa hiểu lắm cái đoạn có thêm / .
rất mong sự giúp đỡ. cám ơn
 
Đầu tiên cần hiểu hàm aggregate đã.
AGGREGATE(15,6,mang, [k])
15 -> Trả về giá trị nhỏ thứ k
6 -> loại bỏ các giá trị lỗi trong mang
mang -> mảng dữ liệu cần xét
k -> trị bé thứ k trong mang hợp lệ, không nhập vào k thì ứng với k=1

Khúc $K$5:$L$21/($K$4:$L$4=$B6)/($J$5:$J$21=C$5) = mang
Dấu / là phép chia, đơn giản thế thôi.
($K$4:$L$4=$B6) và ($J$5:$J$21=C$5) là các mảng điều kiện, không thỏa thì = False. Khi gán vào phép toán +-*/ thì nó ép kiểu về số và =0
Lấy mảng $K$5:$L$21 chia cho các mảng điều kiện để những trường hợp không thỏa thì chia cho 0 => trả về lỗi => bị loại bỏ => còn lại là nhiệm vụ của hàm aggregate.

Đại khái thế, lúc nào rảnh hàm mảng thì nắm nhanh hơn.
 
Đầu tiên cần hiểu hàm aggregate đã.
AGGREGATE(15,6,mang, [k])
15 -> Trả về giá trị nhỏ thứ k
6 -> loại bỏ các giá trị lỗi trong mang
mang -> mảng dữ liệu cần xét
k -> trị bé thứ k trong mang hợp lệ, không nhập vào k thì ứng với k=1

Khúc $K$5:$L$21/($K$4:$L$4=$B6)/($J$5:$J$21=C$5) = mang
Dấu / là phép chia, đơn giản thế thôi.
($K$4:$L$4=$B6) và ($J$5:$J$21=C$5) là các mảng điều kiện, không thỏa thì = False. Khi gán vào phép toán +-*/ thì nó ép kiểu về số và =0
Lấy mảng $K$5:$L$21 chia cho các mảng điều kiện để những trường hợp không thỏa thì chia cho 0 => trả về lỗi => bị loại bỏ => còn lại là nhiệm vụ của hàm aggregate.

Đại khái thế, lúc nào rảnh hàm mảng thì nắm nhanh hơn.
Dạ. cám ơn anh nhiều. Em có F9 và đọc cách anh giải thích, đã hiểu cách vận hành của cái hàm kia rồi ạ. Cám ơn anh và mọi người nhiều ạ.
 
Em xin chào mọi người
Chào anh @befaint , @leonguyenz . có thể nhờ 2 anh chút được không ạ. em có ứng dụng hàm của 2 anh hỗ trợ để làm nhưng nó lại ra kết quả không theo ý muốn. Nhờ 2 anh hoặc mọi người giúp em chỉ chỗ sai được không ạ?
Và giúp em sửa lại công thức được không ạ?
1615342306472.png
Tại C3 em có điền:
Mã:
C3 =AGGREGATE(15,6,(($J$4:$Z$4=$A6)/($J$5:$Z$5=C$5))*($J6:$Z6),1)

Nhưng lại ra kết quả không đúng.
Em xin cám ơn
 

File đính kèm

  • demo.xlsb
    10.6 KB · Đọc: 5
Lần chỉnh sửa cuối:
Nhưng lại ra kết quả không đúng.
Em xin cám ơn
Đặt mảng như thế sai khi tử=0 mẫu bằng 1 thì nhân với cái j nó cũng bằng 0, phải lấy dòng kết quả muốn lấy chia cho các điều kiện thì mới đúng, còn nếu muốn không có giá trị trong bảng bằng 0 thì lồng thêm IFERROR
Mã:
=IFERROR(AGGREGATE(15;6;($J6:$Z6)/($J$4:$Z$4=$A6)/($J$5:$Z$5=C$5);1);0)
 
Lấy cái gì thì để nó lên trước, để nó là số bị chia.
Cám ơn anh nhiều ạ. cứ có nhiều điều kiện thì em cứ /.... điều kiện ạ
Bài đã được tự động gộp:

Đặt mảng như thế sai khi tử=0 mẫu bằng 1 thì nhân với cái j nó cũng bằng 0, phải lấy dòng kết quả muốn lấy chia cho các điều kiện thì mới đúng, còn nếu muốn không có giá trị trong bảng bằng 0 thì lồng thêm IFERROR
Mã:
=IFERROR(AGGREGATE(15;6;($J6:$Z6)/($J$4:$Z$4=$A6)/($J$5:$Z$5=C$5);1);0)
Cám ơn anh ạ. cùng câu hỏi như bài #14
 
Web KT
Back
Top Bottom