(摘)Excel 2007查询操作中的函数应用
作者:宋志明
【IT168 實用技巧】在Excel中,我們經常會需要從某些工作表中查詢有關的數據復制到另一個工作表中。比如我們需要把學生幾次考試成績從不同的工作表中匯總到一個新的工作表中,而這幾個工作表中的參考人數及排列順序是不完全相同的,并不能直接復制粘貼。此時,如果使用Excel的VLOOKUP、INDEX或者OFFSET函數就可以使這個問題變得非常簡單。我們以Excel 2007為例。
圖1
假定各成績工作表如圖1所示。B列為姓名,需要匯總的項目“總分”及“名次”位于H列和I列(即從B列開始的第7列和第8列)。而匯總表則如圖2所示,A列為姓名列,C、D兩列分別為要匯總過來的第一次考試成績的總分和名次。其它各次成績依次向后排列。
圖2一、VLOOKUP函數
我們可以在“綜合”工作表的C3單元格輸入公式“=VLOOKUP($B3,第1次!$B$1:$I$92,7,FALSE)”,回車后就可以將第一位同學第一次考試的總分匯總過來了。
把C3單元格公式復制到D3單元格,并將公式中第三個參數“7”改成“8”,回車后,就可以得到該同學第一次考試名次。
選中C3:D3這兩個單元格,向下拖動填充句柄到最后就可以得到全部同學的總分及名次了。是不是很簡單呀?如圖3所示。
VLOOKUP函數的用法是這樣的:VLOOKUP(參數1,參數2,參數3,參數4)。“參數1”是“要查找誰?”本例中B3單元格,那就是要查找B3單元格中顯示的人名。“參數2”是“在哪里查找?”本例中“第1次!$B$1:$I$92”就是告訴Excel在“第1次”工作表的B1:I92單元格區域進行查找。“參數3”是“找第幾列的數據?”本例中的“7”就是指從“第1次”工作表的B列開始起,第7列的數據,即H列。本例中“參數4”即“FALSE”是指查詢方式為只查詢精確匹配值。
該公式先在“第1次”工作表的B!:I92單元格區域的第一列(即B1:B92單元格區域)查找B3單元格數據,找到后,返回該數據所在行從B列起第7列(H列)的數據。所以,將參數3改成“8”以后,則可以返回I列的數據。
由此可以看出,使用VLOOKUP函數時,參數1的數據必須在參數2區域的第一列中。否則是不可以查找的。
二、INDEX函數
某些情況下,VLOOKUP函數可能會無用武之地,如圖4所示。“綜合”工作表中,姓名列放到了A列,而B列要求返回該同學所在的班級。但我們看前面的工作表就知道了,“班級”列是位于“姓名”列前面的。所以,此時我們不可能使用VLOOKUP函數來查找該同學的班級。而INDEX函數就正可以一試身手。
在B3單元格輸入公式“=INDEX(第1次!$A$1:$I$92,MATCH(A3,第1次!$B$1:$B$92,0),1)”,回車并向下復制公式就可以了,如圖5所示。
圖5
這里用到了兩個函數,INDEX和MATCH。先說說這個MATCH(A3,第1次!$B$1:$B$92,0)。它的意思是在“第1次”工作表的B1:B92單元格區域中查找A3單元格數據,然后返回該數據在B1:B92單元格區域中的行數。以本例而言,該公式返回的結果是“2”。這一點,只要看一下圖1所示工作表就清楚了。至于該公式中最后一個參數“0”是要求精確匹配,而且使用該參數時,B1:B92單元格區域不需要排序。
再來看這個INDEX函數。它的用法是INDEX(參數1,參數2,參數3)。參數1是要查找的區域。參數2是行數,參數3是列數。比如公式INDEX(A2:C6,2,3)的意思就是要返回在A2:C6這個區域中第二行第三列的數據,即C3單元格的數據。所以,本例中公式的意思就是返回“第1次”工作表A1:I92單元格區域中第二行第一列的數據,呵呵,那不正是該同學所在的班級嘛!
與VLOOKUP函數相比較,INDEX函數的“限制”要少一些。
三、OFFSET函數
其實,我們還可以使用OFFSET函數完成這個任務的。比如我們要查A3單元格同學在第二次考試中的總分。那么只需要點擊E3單元格,并輸入公式“=OFFSET(第2次!$A$1,MATCH($A3,第2次!$B$1:$B$92,0)-1,7,1,1)”,回車后并向下復制公式,就可以得到所需要的數據了。如圖6所示。
OFFSET函數是以指定的引用為參照系,通過給定偏移量得到新的引用,比如公式“=OFFSET(C3,2,3,1,1)”,它的意思就是返回以C3單元格為基準,向下偏移2個單元格,向右偏移3個單元格處的單元格數據,即F5單元格的數據,數一下就清楚了。
所以本例公式中先由“MATCH($A3,第2次!$B$1:$B$92,0)”得到“第2次”工作表B1:B92單元格中與A3單元格相匹配的數據所在行數(本例結果為2),再減去1正好是它相對于“第2次”工作表A1單元格的向下偏移的行數,而后面的參數“7”,則是該同學的總分成績所在單元格相對于A1單元格的向右偏移量。因此,本例中在E3單元格的公式其實就是“=OFFSET(第2次!$A$1,1,7,1,1)”,其意思就是返回“第2次”工作表中相對于A1單元格下移一行右移7行處單元格數據。
好了,這三個查找引用函數的用法應該算說清楚了吧?只要我們認真研究它們的用法,相信會有很多妙用的。
摘自:http://tech.sina.com.cn/s/2007-08-06/13241658813.shtml
轉載于:https://blog.51cto.com/wangheyu1/2410222
總結
以上是生活随笔為你收集整理的(摘)Excel 2007查询操作中的函数应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sketch小技巧—画出各种星型和多边形
- 下一篇: 国内氢燃料电池龙头股,十大龙头股名单一览