Công thức Excel: INDEX với mảng biến
Công thức Excel: INDEX với mảng biến

Công thức chung
=INDEX(CHOOSE(number,array1,array2),MATCH(value,range,0))
Tóm lược

Để thiết lập công thức INDEX và MATCH trong đó mảng được cung cấp cho INDEX là biến, bạn có thể sử dụng hàm CHOOSE. Trong ví dụ được hiển thị, công thức trong I5, được sao chép xuống, là:

=INDEX(CHOOSE(H5,Table1,Table2),MATCH(G5,Table1[Model],0),2)

Với Table1 và Table2 như được chỉ ra trong ảnh chụp màn hình.

Giải trình

Về cốt lõi, đây là một điều bình thường Hàm INDEX và MATCH:

=INDEX(array,MATCH(value,range,0))

Ở đâu Hàm MATCH được sử dụng để tìm hàng chính xác để trả về từ mảng và Hàm INDEX trả về giá trị tại mảng đó.

Tuy nhiên, trong trường hợp này, chúng tôi muốn tạo biến mảng để phạm vi được cung cấp cho INDEX có thể được thay đổi nhanh chóng. Chúng tôi làm điều này với chức năng CHOOSE:

CHOOSE(H5,Table1,Table2)

Các CHỌN chức năng trả về một giá trị từ một danh sách bằng cách sử dụng một vị trí hoặc chỉ mục nhất định. Giá trị có thể là một hằng số, một tham chiếu ô, một mảng, hoặc một phạm vi. Trong ví dụ, chỉ mục số được cung cấp trong cột H. Khi số chỉ mục là 1, chúng ta sử dụng Table1. Khi chỉ mục là 2, chúng tôi cung cấp Table2 thành INDEX:

CHOOSE(1,Table1,Table2) // returns Table1
CHOOSE(2,Table1,Table2) // returns Table2

Lưu ý: các phạm vi được cung cấp cho CHỌN không cần phải những cái bàn, hoặc là phạm vi được đặt tên.

Trong I5, số trong cột H là 1, vì vậy CHOOSE trả về Bảng1 và công thức giải quyết thành:

=INDEX(Table1,MATCH("A",Table1[Model],0),2)

Hàm MATCH trả về vị trí của “A” trong Table1, là 1 và INDEX trả về giá trị tại hàng 1, cột 2 của Table1, là $ 20,00

=INDEX(Table1,1,2) // returns $20.00

https://exceljet.net/formula/index-with-variable-array