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後,你再通過保留兩位小數...