很多小夥伴喜歡用VLOOKUP函數來實現查詢的功能,但很多時候如果查詢條件列在查詢結果列的的右邊時,查詢是不能成功的,這時候非要用還得使用數組來實現,如果數組使用的不靈光,理解起來是比較費勁的比如經常用到的if({1,0})的方法。這時候我推薦使用INDEX函數。
INDEX函數的語法有兩種形式,我們這裡使用比較簡單的形式:
INDEX(array, row_num, [column_num])也就是INDEX(區域, 行數,列數)
比如下面的查詢,利用VLOOKUP函數和INDEX函數來實現:
通過這個函數我們可以發現INDEX不僅有行數還有列數,都是可以變化的,但是VLOOKUP隻有列号,那就意味着INDEX還可以實現HLOOKUP函數的功能,比如下面的例子: 同時從上面的例子中也看出,在行數和列數的我用的都是常量,是不會根據數據的變化而變化的,這時我們可以使用MACH函數,這個函數也經常和VLOOKUP函數和HLOOKUP函數結合使用。 把其中的一個常量改變就可以了,比如第二個示例中條件是西瓜,我們通過區域可以看到,如果通過品種為條件查詢價格,那價格那一行是固定的,但是西瓜、南瓜、冬瓜是變化的,我們可以把列号用MACH函數進行替換:
有話要說...