Nhận vị trí của giá trị trong mảng 2D
Công thức chung
= SUMPRODUCT (( dữ liệu = MAX ( dữ liệu )) * ROW ( dữ liệu )) – ROW ( dữ liệu ) 1
Mời bạn xem thêm:
>> cách tính vat ngược
>> mẫu d01-ts theo quyết định 959
>> bản mẫu giấy cho vay tiền
Giải trình
Để xác định vị trí của một giá trị trong một mảng 2D, bạn có thể sử dụng hàm SUMPRODUCT. Trong ví dụ được hiển thị, các công thức được sử dụng để xác định số hàng và cột của giá trị lớn nhất trong mảng là:
= SUMPRODUCT (( dữ liệu = MAX ( dữ liệu )) * ROW ( dữ liệu )) – ROW ( dữ liệu ) 1
= SUMPRODUCT (( dữ liệu = MAX ( dữ liệu )) * COLUMN ( dữ liệu )) – COLUMN ( dữ liệu ) 1
trong đó “dữ liệu” là dải ô được đặt tên C5: G14.
Lưu ý: các công thức này sẽ thất bại nếu có các giá trị trùng lặp trong mảng.
Cách thức hoạt động của công thức này
Để lấy số hàng, dữ liệu được so sánh với giá trị lớn nhất, tạo ra một mảng các kết quả TRUE FALSE. Chúng được nhân với kết quả của ROW (dữ liệu) tạo ra và mảng các số hàng được liên kết với phạm vi “dữ liệu” được đặt tên. Phép toán nhân làm cho Excel coerce các giá trị TRUE FALSE trong mảng đầu tiên thành 1s và 0s, vì vậy chúng ta có một cái gì đó như thế này:
= SUMPRODUCT (( { 0 , 0 , 0 , 0 , 0 ; 0 , 0 , 0 , 0 , 0 ; 0 , 0 , 0 , 0 , 0 ; 0 , 0 , 0 , 0 , 0 ; 0 , 0 , 1 , 0 , 0 ; 0 , 0 , 0 ,0 , 0 ; 0 , 0 , 0 , 0 , 0 } * { 3 , 4 , 5 , 6 , 7 } )
= SUMPRODUCT ( { 0 , 0 , 0 , 0 , 0 ; 0 , 0 , 0 , 0 , 0 ; 0 , 0 , 0 , 0 , 0; 0 , 0 , 0 , 0 , 0 ; 0 , 0 , 5 , 0 , 0 ; 0 , 0 , 0 , 0 , 0 ; 0 , 0 , 0 , 0 , 0 } )
= 9
Số 9 tương ứng với hàng thứ 9 trên trang tính. Để bình thường hóa một chỉ mục liên quan đến phạm vi “dữ liệu” được đặt tên, công thức sử dụng biểu thức này:
ROW ( dữ liệu ) 1
Kết quả cuối cùng là mảng {5; 4; 3; 2; 1; 0; -1}, từ đó chỉ có giá trị đầu tiên, 5, được hiển thị.
Công thức để xác định vị trí cột hoạt động theo cùng một kiểu.