excel中if函式及lookup函式的應用問題

時間 2021-08-31 21:46:58

1樓:綠衣人敲門

lookup 函式可返回一行或一列區域中或者陣列中的某個值。lookup 函式具有兩種語法形式:向量和陣列。

向量形式的 lookup 在一行或一列區域(稱為向量)中查詢值,然後返回另一行或一列區域中相同位置處的值。陣列形式的 lookup 在陣列的第一行或列中查詢指定值,然後返回該陣列的最後一行或列中相同位置處的值。

向量形式的 lookup

向量形式的 lookup 在一行或一列區域(稱為向量)中查詢值,然後返回另一行或一列區域中相同位置處的值。如果要指定其中包含要匹配的值的區域,請使用這種形式的 lookup 函式。

向量形式的語法

1.lookup(lookup_value,lookup_vector,result_vector)

lookup_value 是 lookup 在第一個向量中搜尋到的值。lookup_value 可以是數字、文字、邏輯值,也可以是代表某個值的名稱或引用。

lookup_vector 是一個僅包含一行或一列的區域。lookup_vector 中的值可以是文字、數字或邏輯值。

2.重要說明:lookup_vector 中的值必須按升序順序排列。

例如,-2、-1、0、1、2 或 a-z 或 false、true。否則,lookup 返回的值可能不正確。大寫和小寫文字是等效的。

result_vector 是一個僅包含一行或一列的區域。它的大小必須與 lookup_vector 相同。

3.注意

如果 lookup 找不到 lookup_value,它會匹配 lookup_vector 中小於或等於 lookup_value 的最大值。

如果 lookup_value 小於 lookup_vector 中的最小值,則 lookup 會返回 #n/a 錯誤值。

示例陣列形式的 lookup

陣列形式的 lookup 在陣列的第一行或列中查詢指定值,然後返回該陣列的最後一行或列中相同位置處的值。如果要匹配的值位於陣列的第一行或列中,請使用這種形式的 lookup。

陣列形式的語法

lookup(lookup_value,array)

lookup_value 是 lookup 在陣列中搜尋到的值。lookup_value 可以是數字、文字、邏輯值,也可以是代表某個值的名稱或引用。

如果 lookup 找不到 lookup_value,它會使用該陣列中小於或等於 lookup_value 的最大值。

如果 lookup_value 小於第一行或列(取決於陣列維度)中的最小值,則 lookup 會返回 #n/a 錯誤值。

array 是一個單元格區域,其中包含要與 lookup_value 進行比較的文字、數字或邏輯值。

陣列形式的 lookup 與 hlookup 函式和 vlookup 函式相似。其區別是 hlookup 在第一行中搜尋 lookup_value,vlookup 在第一列中進行搜尋,而 lookup 根據陣列的維度進行搜尋。

如果 array 所覆蓋區域的寬度大於高度(列多於行),則 lookup 會在第一行中搜尋 lookup_value。

如果 array 所覆蓋的區域是正方形或者高度大於寬度(行多於列),則 lookup 會在第一列中進行搜尋。

使用 hlookup 和 vlookup 時,可以向下索引或交叉索引,但 lookup 始終會選擇行或列中的最後一個值。

重要說明:array 中的值必須按升序順序排列。例如,-2、-1、0、1、2 或 a-z 或 false、true。

否則,lookup 返回的值可能不正確。大寫和小寫文字是等效的。示例

2樓:匿名使用者

要用絕對引用,不然下拉後公式就不對了, a2:d5變以a3:d6了,公式改一下,一樓的也可以.或者改為

=if(iserror(vlookup(a2,sheet2!a$2:d$5,1,false)),"",vlookup(a2,sheet2!a$2:d$5,1,false))

參看下面關於絕對引用於相對引用的文章.

3樓:芮城老憨

=if(iserror(vlookup(a2,sheet2!a:d,2,false)),"",vlookup(a2,sheet2!a:d,2,false))

excel中函式if與vlookup怎麼結合著使用?

4樓:匿名使用者

在h2輸入以bai下公式

du,然後向下填充公式

=vlookup(f2,a:d,if(g2="購入zhi",2,if(g2="售出",3,4)),0)

通過if函式建立g列條件對

dao應的查詢資料的第幾列,專通過vlookup函式返回屬資料。

此公式僅作舉例,與index+match和vlookup+match函式使用相同。

詳見附圖

5樓:匿名使用者

最好是有例子,有很多種的用法,主要分為if中巢狀vlookup和vlookup中巢狀if

6樓:匿名使用者

那要依樓主具體情況而定了

急:excel中條件格式的使用(if函式中巢狀lookup函式) 20

7樓:匿名使用者

條件格式的公式改為

=if($d3=1,m3<=10,if($d3=2,m3<=8,if($d3=3,m3<=5,if($d3=4,m3<=2,0))))

8樓:退休畫線工

條件格式的公式與工作表中的公式雖然原理一樣,但因為應用場合的差別,還是有些差別的。即使你原來條件格式公式也能得到正確的顯示效果,但從條件格式的原理上來說,也是有問題的,這個姑且就不說了。

現在說下“大神”給你的公式,做條件存在的問題:首先是if只有條件,沒有結果。再者,條件格式的公式不允許出現這樣的陣列格式:

,必須要換成函式來生成這樣的陣列,或者老老實實地一個個if巢狀。

所以你需要的條件格式公式可為:

=$m3<=lookup($d3,row($1:$4),13-row($1:$4)*3+(row($1:$4)>1))

excel函式lookup出現的問題

9樓:綠衣人敲門

lookup的執行原理分析

lookup函式以高效的運算速度被excel函式愛好者喜歡,而且lookup在日常實際工作中特別是陣列公式,記憶體陣列中應用廣泛。

lookup(lookup_value,lookup_vector,result_vector)

lookup_value意思為我們要在資料表中查詢的“值”。

lookup_vector意思為我們要查詢的值得“資料表”。

result_vector意思為我們通過資料表想要得到的"值“。

lookup的查詢方式為二分法查詢,具體的查詢原理看下圖。

我們以一個學生成績表為例進行分析,查詢一下英語成績為98的學生姓名:

f2的公式為=lookup(d2,b2:b15,c2:c15)

意思為從b2:b15列裡面找d2,並返回c2:c15相對應行的值

這裡的結果是"劉備"肯定會讓好多人感到困惑,明明有98對應的是“王思”怎麼會返回“劉備”呢?那麼看往下看,大家就會徹底明白的。

對lookup的查詢方法進行分解——第一次二分法查詢:

98會跟第7行的資料78進行比較,因為98>78,所以返回第8到第14行的值。

第二次二分法查詢:

98會跟第4行的資料66進行比較,因為98>66,所以返回第5到第7行資料。

第三次二分法查詢:

98會跟第2行的資料87進行比較,因為98>87所以返回第3資料。

因為98比91大,所以就向下近似取比98小的最近的值——91所對應的名字

總結了一個知識點:

1、lookup要查詢一個明確的值或者範圍的時候(也就是知道在查詢的資料列是肯定包含被查詢的值),查詢列必須按照升序排列。(在excel幫助文件裡也是這麼說的)

如果所查詢值為明確的值,則返回值對應的結果行,如果沒有明確的值,則向下取的於所查詢值最近的值

2、查詢一個不確定的值,如查詢一列資料的最後一個數值,在這種情況下,並不需呀升序排列。

10樓:江西新華電腦學院

lookup函式是向後相容,總是返回最後一個符合條件所對應的值。(小於等於查詢值的最大值)。

這裡是利用的技巧,查詢值為1,查詢區域用0來除,為空,則商為0,不為空,商為#div/0!,即查詢區域中要麼為0,要麼為#div/0!,永遠查不到1,返回最一個0所對應的值。

11樓:匿名使用者

在b2單元格輸入以下公式,然後向下填充公式

=lookup(1,0/(sheet2!a$2:a$10=a2),sheet2!cj$2:cj10)

12樓:匿名使用者

精確匹配不建議用lookup而是用vlookup或index+match

=index(sheet2!cj:cj,match(a2,sheet2!a:a,))

如果還是返回na檢查資料前後是否有空格或其他不可見字元.

用len(a2)判斷一下字個數是否和觀察到的一致.

另外istext/isnumber兩個函式可以檢測資料型別. 看看a2和sheet2!a列值是否同型.

13樓:匿名使用者

注意資料格式,你好像一個是數值,一個是文字

14樓:oppo手機

先看一下兩個表中的**資料是不是相同,把單元格格式調成一樣的。

15樓:匿名使用者

還是資料不匹配的問題。

不信你就手工錄一組數試試。

(sheet2的a8:a10應該沒有資料吧?)

16樓:侯玉川

找不到資料的時候一般回顯示#n/a。

要查詢的資料表可能查不到這個資料。

可以巢狀if+iserror或者iferrorr排查一下錯誤。

17樓:匿名使用者

lookup函式以高效的運算速度被excel函式愛好者喜歡,而且lookup在日常實際工作中特別是陣列公式,記憶體陣列中應用廣泛。

18樓:匿名使用者

=vlookup(a2,sheet2!a:cj,88,0)

19樓:匿名使用者

sheet1中的資料沒有乘1吧,不然怎麼是居中呢

excel裡怎麼用vlookup函式取同時滿足兩個條件的值!

20樓:匿名使用者

需要用到陣列公式

用下面的舉例來說明:

這裡有兩個條件,後面對應第三列唯一的資料:

2.當我們需要同時滿足條件一和條件二的資料的時候,就需要使用 vlookup 的多條件查詢。

在i5單元格輸入陣列公式然後按按組合鍵結束輸入。

3.隨即便完成了對滿足兩個條件的資料查詢,向下拖拽填充即可。

擴充套件資料

多條件查詢函式的詳細解釋

這是vlookup對應的四個引數,首先針對上面的陣列公式解釋:

查詢值

:g5&h5,需要查詢的是兩個條件,但是vlookup函式只能查詢一個條件,所以需要用

"&"將查詢的兩個條件的單元格連線起來。

資料表

:if(,$a$2:$a$9&$b$2:$b$9,$c$2:$c$9)表示需要查詢的資料,這裡面巢狀使用了if函式,然後以if(,這樣的陣列引數。

引數為陣列時,會分別進行計算。先用1作為引數判斷,返回$a$2:$a$9&$b$2:

$b$9;然後用0作為引數判斷,又返回一個結果$c$2:$c$9。兩個結果重新組合一個陣列:

$a$2:$a$9&$b$2:$b$9在第一列,$c$2:

$c$9在第二列,其中"$"是絕對引用。

這樣vlookup便能查詢到兩個條件。

列序數

:需要查詢的資料位於第二列,所以輸入2。

匹配條件

:精確匹配。

excel中的函式,excel函式?

用 vlookup 函式。假定 500人的表名稱為 甲表 工作簿名稱為 花名冊 5000人的表名稱為 乙表 工作簿名稱為 人員彙總表 人員姓名均在b列,人員均從第1行起至第500行。一 先將甲表與乙表均按人員姓名排序 二 在乙表的b列旁插入一列 空白的c列 在c1單元格內輸入 vlookup b1,...

excel中如何函式中套函式,Excel中如何函式中套函式

昊涙 excel中函式中套函式的步驟如下 1 開啟資料表 2 我們要為每個學生的總分進行評價 3 首先想到的就是用if函式,可是單單一個if函式很難實現上邊的評價4 我們可以把第二個引數再用一個if函式,這樣的函式組合就是巢狀函式,可是兩個還沒有評價完 5 一直巢狀到可以評價完全為止 6 回車之後,...

Excel函式操作,在excel函式中,怎麼用如果函式

在a1輸入68.04,在a2輸入0.64,在a3裡輸入 round a1 a2,2 則得到106.31,如果在b2輸入3828,可在b3輸入 round a3 b2,0 則會在b3得到406955。為什麼會出現你說的狀況呢?因為你用68.04除以0.64,得到106.3125後,你再通過保留兩位小數...