本文轉(zhuǎn)自:星云電腦教程www.gonet8.com
----
大家都知道EXCEL是微軟公司的OFFICE
產(chǎn)品,,EXCEL一經(jīng)推出就得到很多經(jīng)常處理大
量數(shù)據(jù)的人士的喜愛,,主要是因為它的快捷
和自動計算的功能,特別是他提供了大量的
函數(shù),,讓我們能夠十分方便的使用,!
----
例如:VLOOKUP函數(shù)就是一個十分好的
應用函數(shù),它主要是用來計算如獎金分配等
工作的,,為我們減少了很多的麻煩和一些不
必要的錯誤,,只要您的條件值是正確的,他
保證能夠讓您得到準確無誤的值,今后只要
您的條件值有所改動,,VLOOKUP函數(shù)馬上就會
更新您的所有值,。好了,言歸正傳,!
---- VLOOKUP函數(shù)
---- 語法
----
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
---- Lookup_value
為需要在數(shù)據(jù)表第一列中查找的數(shù)值,。
---- Table_array
為需要在其中查找數(shù)據(jù)的數(shù)據(jù)表??梢允褂?/font>
對區(qū)域或區(qū)域名稱的引用,。
---- Col_index_num 為
table_array
中待返回的匹配值的列序號。
---- Range_lookup
為一邏輯值,,指明函數(shù)
VLOOKUP
返回時是精確匹配還是近似匹配,。
如果為 TRUE
或省略,則返回近似匹配值,。
----
首先,,我們看看下面的這個表(表1)
----
這是一個編號和獎金分配的表,本例
中獎金是隨著編號的固定數(shù)值的不同而改變,,
而且任何不在此編號內(nèi)的數(shù)據(jù)都將視為不合
格產(chǎn)品,,不能給獎金!如20和25這兩個值,,
獎金分別為100和60,,如果編號是21、22,、
23,、24那么就不能得到獎金!
---- 表(1)
編號 獎金
5 50
10 110
15 120
20 100
25 60
----
第一步我做了一個VLOOKUP函數(shù),,讓獎
金與編號掛鉤,,首先,看看我們的工資表是
如何使用VLOOKUP函數(shù)的,,見表(2)這是一
個EXCEL數(shù)據(jù)表,,它VLOOKUP需要一個主表
[表(2)] 和一個條件表 [表(1)]
,將他
們放在一張表內(nèi)即可,,例如SHEET1內(nèi)的不同列
中即可,,我將主表放在A1:E7中,將條件表[表
(1)]放在H和I列內(nèi),,一切準備就緒后,,我們
就可以將VLOOKUP函數(shù)放在相應的單元格中了
,即C列中從C2到C7,,首先,,選擇單元格C2,
然后我們點擊工具條中的按鈕,在“查找與引
用”里找到
“VLOOKUP”函數(shù),,點擊確定即可
,,進入對話框后在:
----
lookup_value內(nèi)輸入:B2
----
table_array內(nèi)輸入:H:I
----
col_index_num內(nèi)輸入:2
----
range_lookup內(nèi)輸入:暫時不輸入(空
值)即近似匹配值,將在以下詳細介紹,。
----
確定后,,單元格C2得到的公式為:
“=VLOOKUP(B2,H:I,2)”,直接在單元格中
輸入也是可以的,!
---- 表(2)
ABCDE
1姓名編號獎金基本工資合計
2張一3#N/A100#N/A
3李二21100130230
4王五10110130240
5大俠15120150270
6小蝦20100160260
7老板2560250310
----
然后,,使用EXCEL的“自動填充”功能來
填入下面5個數(shù)據(jù),填充的結果如
[表(2)]
,,只要你改變“條件表”
[表(1)]的值,,
[表(2)]數(shù)值將馬上進行改變。這樣就實現(xiàn)
了表格的自動化,,但是有一點你可以看到這
個表格有兩個很大的缺陷,,首先就是它出現(xiàn)
了錯誤值
#N/A,這個錯誤值代表的意思是:
“除以了0”,;其次
“=VLOOKUP(B2,H:I,2)”
這個公式是一個近似匹配值,,即20和25之間
的任意值獎金都為100,如本例的單元格B3
它的值為:21,,就得到獎金100(參看[表(1)
]),。而本例的要求是:不在編號內(nèi)的數(shù)據(jù),
都將視為不合格產(chǎn)品,,且不能給獎金,!即C3的
值必需為“0”,不應該是“100”,,否則將導
致合計數(shù)據(jù)為230而不是130元,,產(chǎn)生錯誤!怎
樣才能改正這兩個錯誤的發(fā)生呢,?
---- 這就是我要做的第二步,,選用另兩個函
數(shù)
----
ISERROR和IF函數(shù),ISERROR函數(shù)是一個
測試錯誤的函數(shù),,它的語法是:
---- ISERROR
值為任意錯誤值(#N/A,、
#VALUE!、#REF!,、#DIV/0!、#NUM!,、#NAME?
或
#NULL!),。如果您的測試值為錯誤的時候,
當前得到的值為“TRUE”,否則將為“FALSE”,。
----
舉例:如果有一個單元格“B9”是一個
公式為:“=2/0”回車后,,它將成為一個錯
誤值即“#DIV/0!”,用以告訴我們?nèi)魏沃挡?/font>
可以除零,!在單元格“A9”內(nèi)輸入公式
“=ISERROR(B9)”回車后“A9”的值為:“TRUE”,,表示測試結果是“真”,如果再次改變“B9”的公式
為:“=2/2”回車后給公式變?yōu)椤?”,,我們
會發(fā)現(xiàn)同時“A9”的值也發(fā)生了變化,,變?yōu)?/font>
:“FALSE”。
----
在本例中公式“VLOOKUP(B2,H:I,2)”
相當于上例中的“B9”單元格,,現(xiàn)在我們看
看如下兩個公式:
----
①“=ISERROR(VLOOKUP(B2,H:I,2))”
←
近似匹配值
---- ②“=ISERROR(VLOOKUP(B2,H:I,2,FALSE
))”← 精確匹配值
----
上述兩個公式,,得到的值是不同的,
即①得到的兩個值(20和25)之間的值如21
得到的是FLASE,,這就與我們的特定值
[表(1
)]規(guī)定的“任何不在此編號內(nèi)的數(shù)據(jù)都將視
為不合格產(chǎn)品,,不能給獎金!”產(chǎn)生了沖突,,
所以只能強制讓公式得TRUE,,即只能用②這個
公式,讓VLOOKUP函數(shù)精確匹配,。這樣C2和C3
的值都為“TRUE”我們的目的就達到了,!
----
最后一步就是使用IF函數(shù),
----
它顯然是一個條件函數(shù),,語法
----
IF(logical_test,value_if_true,value
_if_false)
---- Logical_test 計算結果為 TRUE
或
FALSE 的任何數(shù)值或表達式,。
---- Value_if_true Logical_test 為
TRUE
時函數(shù)的返回值。
---- Value_if_false Logical_test
為
FALSE
時函數(shù)的返回值,。
----
“Logical_test”的值就是在第二步中
,,說的②精確匹配公式 “
----
Value_if_true”這個值添入:
“ "0"
”,即值公式②的值等于TRUE時,。
---- “Value_if_false”
這個值添入:
“VLOOKUP(B2,H:I,2) ”,,
即值公式①的值等于FALSE時。
----
OK單元格“C2”最終的公式得到了,,
如下:
----
“=IF(ISERROR(VLOOKUP(B2,H:I,2,FALSE)),"0",VLOOKUP(B2,H:I,2))
”
最后使用“自動填充”功能,,向下拖動
即可得到相應的數(shù)值,見[表(3)]
---- 表(3)
姓名編號正確獎金錯誤獎金基本工資
錯誤合計正確合計
張一30#N/A100#N/A100
李二210100130230130
王五10110110130240240
大俠15120120150270270
小蝦20100100160260260
老板256060250310310
----
通過這個公式我們能夠認識到EXCEL的
強大數(shù)據(jù)處理能力,,并由此讓您對EXCEL的函
數(shù)有進一步的了解,,在實際工作中充分利用
它的內(nèi)置函數(shù)方便自己的工作! |