Nhờ giúp đỡ hàm tìm số nhỏ nhất >0 trong các ô không liền kề

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

tanirac

Thành viên mới
Tham gia
13/7/09
Bài viết
9
Được thích
1
Chào các bạn.
Mình đang có một ứng dụng nhỏ cần dùng hàm để tìm số nhỏ nhất >0 trong các ô không liền kề nhau ở cùng hàng hoặc cùng cột.
Ví dụ: Tìm số nhỏ nhất >0 trong có ô: A1, A3, A5, A7
Mình có thử dùng hàm Minifs hoặc hàm Small, nhưng các hàm này đều yêu cầu sử dụng phạm vi ô hoặc mảng như: A1:A7
Các bạn có phương pháp nào thì giúp mình với. Cảm ơn các bạn.
 
Chào các bạn.
Mình đang có một ứng dụng nhỏ cần dùng hàm để tìm số nhỏ nhất >0 trong các ô không liền kề nhau ở cùng hàng hoặc cùng cột.
Ví dụ: Tìm số nhỏ nhất >0 trong có ô: A1, A3, A5, A7
Mình có thử dùng hàm Minifs hoặc hàm Small, nhưng các hàm này đều yêu cầu sử dụng phạm vi ô hoặc mảng như: A1:A7
Các bạn có phương pháp nào thì giúp mình với. Cảm ơn các bạn.

Bạn thử xem công thức có đúng ý bạn ko nhé

AGGREGATE(15,6,1/(1/(A1:A3:A5:A7)),1)

Thân
 
Bạn thử xem công thức có đúng ý bạn ko nhé

AGGREGATE(15,6,1/(1/(A1:A3:A5:A7)),1)

Thân
Cảm ơn bạn, hàm của bạn dùng rất hay.
Mình có thử và dùng được hàm của bạn trong cả hàng và cột.
Tuy nhiên có một nhược điểm là, các phạm vi ô chọn vẫn được tính theo dãy ô, nên ví dụ nếu chèn 1 giá trị vào một ô xen vào giữa các ô được chọn thì hàm vẫn lấy giá trị của ô đó để so sánh, thành ra kết quả sẽ sai khác.
Mình cũng có thử dùng hàm: {=MIN(IF(A1:A7>0;A1:A7))} cũng ra kết quả và cũng có nhược điểm tương tự, nó chỉ loại trừ text thôi, chứ có số của ô khác xen vào là kết quả sai ngay.

screenshot_1722590805.jpg
 
Bạn có thể thử cái này
=MIN(FILTER(A1:A10, (MOD(SEQUENCE(ROWS(A1:A10)),2)=1) * (A1:A10 > 0))) " Dùng cho hàng lẻ
=MIN(FILTER(A1:A10, (MOD(SEQUENCE(ROWS(A1:A10)),2)=0) * (A1:A10 > 0))) " Dùng cho hàng chẳn

Không thì dùng VBA tạo 1 Hàm mới để dùng cho tiện
 
Chào các bạn.
Mình đang có một ứng dụng nhỏ cần dùng hàm để tìm số nhỏ nhất >0 trong các ô không liền kề nhau ở cùng hàng hoặc cùng cột.
Ví dụ: Tìm số nhỏ nhất >0 trong có ô: A1, A3, A5, A7
Mình có thử dùng hàm Minifs hoặc hàm Small, nhưng các hàm này đều yêu cầu sử dụng phạm vi ô hoặc mảng như: A1:A7
Các bạn có phương pháp nào thì giúp mình với. Cảm ơn các bạn.
Bạn dùng name xem sao.
Chọn A1, A3, A5, A7 ---> nhấn ctrl + F3 --> New ---> đặt tên gì đó ---> ok

Giờ bạn dùng thử các hàm với tham số là vùng theo cái tên bạn vừa tạo
 
Bạn dùng name xem sao.
Chọn A1, A3, A5, A7 ---> nhấn ctrl + F3 --> New ---> đặt tên gì đó ---> ok

Giờ bạn dùng thử các hàm với tham số là vùng theo cái tên bạn vừa tạo
Công thức trên không dùng được là vì (A1:A3:A5:A7) được Excel coi như một range từ A1 đến A7 (7 ô), không phải là một mảng gồm 4 ô.
Muốn một mảng gồm nhiều ô rời rạc, bạn phải dùng hàm choose, hoặc hàm makearray.
CHOOSE({1;2;3;4},A1,A3,A5,A7)
Tức là:
=AGGREGATE(15,6,1/(1/CHOOSE({1;2;3;4},A1,A3,A5,A7)),1)
 
Công thức trên không dùng được là vì (A1:A3:A5:A7) được Excel coi như một range từ A1 đến A7 (7 ô), không phải là một mảng gồm 4 ô.
Muốn một mảng gồm nhiều ô rời rạc, bạn phải dùng hàm choose, hoặc hàm makearray.
CHOOSE({1;2;3;4},A1,A3,A5,A7)
Tức là:
=AGGREGATE(15,6,1/(1/CHOOSE({1;2;3;4},A1,A3,A5,A7)),1)
Cảm ơn bạn nhé. Có thể áp dụng hàm này cho nhiều trường hợp
 
Công thức trên không dùng được là vì (A1:A3:A5:A7) được Excel coi như một range từ A1 đến A7 (7 ô), không phải là một mảng gồm 4 ô.
Muốn một mảng gồm nhiều ô rời rạc, bạn phải dùng hàm choose, hoặc hàm makearray.
CHOOSE({1;2;3;4},A1,A3,A5,A7)
Tức là:
=AGGREGATE(15,6,1/(1/CHOOSE({1;2;3;4},A1,A3,A5,A7)),1)
1722837408297.png
1722837443418.png
Tạo name là thành mảng 4 ô rời rạc, dùng hàm sum() để test thấy đúng vậy. Chỗ này có lẽ bác bị nhầm chăng
 
Theo tôi hiểu thì array ở bảng tính là 2 chiều. Cái named range của bạn có 3 chiều. Chiều 1 (row) là 1~1, chiều 2 (column) là 1~1, chiều 3 (area) là 1~4.
Hàm sum hoạt động trên range cho nên khong có vấn đề.
Hàm Aggregate có thể gặp khó khăn khi chuyển range thành array.
 
Mã:
=AGGREGATE(15, 6,  SUBTOTAL(9, INDIRECT({"A1";"A3";"A5";"A7"}) ) / (SUBTOTAL(9, INDIRECT({"A1";"A3";"A5";"A7"}) ) > 0 ), 1)
Bạn thử cái này xem được không
1723603776820.png
 
Web KT

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

Back
Top Bottom