Tìm số nhỏ nhất lớn hơn 0

giaiphapvba

Administrator
Thành viên BQT
Ở hình dưới đây, chúng ta thấy rằng giá trị nhỏ nhất của dữ liệu là 0, được tính thông qua hàm MIN.
Tuy nhiên trong trường hợp chúng ta muốn tìm giá trị nhỏ nhất nhưng không phải là 0 thì phải làm thế nào đây?
Bạn cần đăng nhập để thấy đính kèm


Có rất nhiều cách nghĩ, nhưng cách nghĩ đầu tiên mà chúng ta nghĩ tới có lẽ là hàm SMALL. Từ vị trí chỉ định, hàm này sẽ trả về giá trị nhỏ nhất ứng với vị trí được chỉ định ấy. Chẳng hạn như trong trường hợp này, ta chỉ định lấy giá trị nhỏ nhất ở vị trí thứ 2. Số nhỏ nhất ở vị trí thứ 1 là số “0”, do đó số nhỏ thứ 2 chính là số “42”.
Bạn cần đăng nhập để thấy đính kèm


Tuy nhiên, bây giờ giả sử trong vùng dữ liệu, chúng ta không biết có bao nhiêu số 0. Như vậy đối số thứ hai của hàm SMALL cần phải xử lý công phu hơn, với các ví dụ trước ta thấy chỉ có một số “0” cho nên ta dễ dàng chỉ định đối số thứ hai cho hàm SMALL là 2. Bây giờ giả sử như có hai số “0” hay có ba số “0” thì ta phải làm như thế nào?
Số lượng số 0Vị trí thứ
12
23
:
nn+1
Công thức = SMALL(A2:A8, số lượng số 0 + 1). Số lượng số 0 có thể tính bằng hàm COUNTIF.
Như vậy công thức sẽ là = SMALL(A2:A8,COUNTIF(A2:A8,”0”)+1) .
Bạn cần đăng nhập để thấy đính kèm


Bây giờ ta có thể ứng dụng vào việc tìm số nhỏ nhất nhưng phải lớn hơn 0, thì công thức sẽ là:
Bạn cần đăng nhập để thấy đính kèm


Ta cũng có thể tìm số nhỏ nhất nhưng phải đảm bảo lớn hơn hoặc bằng 70.
Bạn cần đăng nhập để thấy đính kèm


Nguồn tham khảo và dịch:
 

Joker

Yêu THVBA
Ở đây sử dụng hàm SMALL để tìm số nhỏ nhất, mình cũng xin góp thêm một ứng dụng nhỏ của hàm này đó là chúng ta lợi dụng tính năng tìm số nhỏ nhất, nhỏ nhì...để sắp xếp lại giá trị của một dãy số từ nhỏ tới lớn như sau:

1. Đặt vấn đề.

Chúng ta có một bảng điểm bên dưới và yêu cầu là sắp xếp bảng điểm này lại theo thứ tự từ nhỏ tới lớn thay vì dùng chức năng Sort trong excel, chúng ta sẽ xây dựng công thức để làm điều này.

Bạn cần đăng nhập để thấy hình ảnh


2. Giải Quyết Vấn Đề.

Như bài viết của Admin ở trên đã trình bày, để tìm giá trị nhỏ nhất chúng ta sử dụng hàm MIN, nhưng thay vì dùng hàm MIN chúng ta sử dụng luôn hàm SMALL, vậy cấu trúc hàm SMALL ở trường hợp này sẽ là: =SMALL($A$2:$A$10;1) và kết quả trả về sẽ là 1, vậy tất nhiên số nhỏ thứ hai sẽ dùng công thức =SMALL($A$2:$A$10;2) và kết quả trả về sẽ là 3.

Nhưng nếu làm vậy chúng ta không thể kéo công thức xuống các ô còn lại được, vậy mấu chốt ở đây là thay vì gõ đối số 1, 2...chúng ta sẽ sử dụng công thức và công thức mà chúng ta nghĩ ngay tới là COUNTA là một công thức dùng để đếm giá trị xuất hiện, cụ thể sẽ là =COUNTA($A$2:A2) sẽ trả về kết quả là 1, =COUNTA($A$2:A3) sẽ cho kết quả là 2

Kết hợp chúng vào công thức của chúng ta sẽ là =SMALL($A$2:$A$10;COUNTA($A$2:A2))

Bạn cần đăng nhập để thấy hình ảnh


3. Kết Quả.

Copy công thức xuống các ô bên dưới chúng ta được một danh sách ĐIỂM được sắp xếp theo thứ tự từ nhỏ tới lớn, và giải quyết luôn được vấn đề nếu có 2 điểm bằng nhau như điểm số mình tô vàng ở đây.

Bạn cần đăng nhập để thấy hình ảnh

-Joker-
 
Top