一、基本用法(vlookup、hlookup、index、match)
1、vlookup
參數:vlookup(lookup_value,table_array,col_index_num,[range_lookup])
vlookup(要查找的值,查找值所在的區域,查找第幾列,精確還是模糊查找)
2、match
參數:match(lookup_value, lookup_array, match_type)
match(查找的值,查找的區域或數組,小于、精確、大于)
作用:在一個區域或數組中查找指定數值的位置,也就是查找的值所在哪一行或哪一列。
注意:其要查找的區域必須是一維數據而且是連續的,即只能包含一行或一列數據
3、index
參數:index(array,row_num,column_num)
index(指定區域,查找值所在行數,查找值所在的列數)
作用:根據指定的行數和列數,返回指定區域的值。(行列交叉的值)
一般與match搭配使用
4、offset(補充)
語法:offset(reference,rows,cols,[height],[width])
offset(參考位置,往上下移動幾行,往右移動幾列,[返回后顯示幾行],[返回后顯示幾列]),行列高度寬度移動都是根據參考位置來的,參考位置可以是一個單元格,也可以是一個區域,如果是區域,就以區域的形式移動,返回需使用數組的形式。
=OFFSET(B2,1,2,1,1)
=OFFSET(A1:B2,3,2,2,1),以ctrl+shift+enter鍵結束
二、借助名稱框查找
=VLOOKUP(D2,查找區域,2,0)
將查找的區域定義名稱,在引用數據區域的時候,不需選取區域,直接輸入已經定義好的名稱即可,也可用F3調取出來,碰到數據較多,表格不在同一張表,函數又比較復雜的時候特別方便。
三、通配符模糊查找
“*”通配任意個字符
“?”通配單個字符
=VLOOKUP("*老師*",$A$2:$B$12,2,0)
四、查找返回多列數據
這個是利用column和row,也可以用match來實現,但column和row只能引用單元格或單元格區域,不能引用公式返回的結果,所以match剛好可以用來彌補。
=VLOOKUP($G2,$A$2:$E$9,COLUMN(B1),0)
=HLOOKUP(H$1,$A$1:$E$9,MATCH($G2,$A$1:$A$9,0),0)
五、查找指定區域
要求:左側表格是數據源區域,包含姓名,1月,2月,3月,4月數據,需要在右側根據姓名調取對應的數據,月份利用下拉列表形式,所以這里面就用column不能實現,需用到match。
=VLOOKUP($G2,$A$2:$E$9,MATCH($H$1,$A$1:$E$1,0),0)
六、多條件查找
要求:左表為產品銷售額情況(產品列包含重復的產品),要求在F:H列的藍色區域根據F2的產品名稱查找所有銷售情況。
難點:數據源區域中產品有多種,也就是需要找出1對多的信息。
這個在前面學習countif中也學習過,在最左側添加輔助列用countif將產品編序(A-A1)
方法1:=IFERROR(INDEX($B$2:$E$15,MATCH($G$2&ROW(A1),$B$2:$B$15,0),MATCH(G$8,$B$1:$E$1,0)),"")
方法2:=IFERROR(VLOOKUP($G$2&ROW(A1),$B$2:$E$15,MATCH(J$8,$B$1:$E$1,0),0),"")
方法3:=IFERROR(HLOOKUP(M$8,$B$1:$E$15,MATCH($G$2&ROW(A1),$B$1:$B$15,0),0),"")
方法4:=IFERROR(VLOOKUP($G$2&ROW(A1),$B$2:$E$15,COLUMN(B1),0),"")
方法5:=IFERROR(OFFSET(INDEX($B$2:$B$15,MATCH($G$2&ROW(A1),$B$2:$B$15,0),1),0,1,1,3),""),按ctrl+shift+enter結束
七、區間查詢
要求:需要按照等級劃分規則,將成績劃分到其對應的等級中
=VLOOKUP(B2,$J$2:$K$5,2)
=LOOKUP(B2,$J$2:$J$5,$K$2:$K$5)
注意引用的區域,其區間是按照升序排列的
八、動態圖表
預先設置好查找的值,利用下拉列表實現多行數據變動。