1樓:匿名使用者
vlooup函式目前不支援多條件查詢,將來公升級後的版本也許會增加(類似於sumif和sumifs)。
可採用如下三種辦法(三個函式)實現多條件的查詢功能。
假設資料在a,b,c,d列,abc為查詢範圍,d列為返回值, g1,h1和i1為查詢條件。
=sumifs(d:d,a:a,g1,b:b,h1,c:c,i1)
推薦使用。該函式僅適用於查詢目標為數值的情況 ,並且只有2007版本以上方支援該函式。
=lookup(1,1/((g1=a:a)*(h1=b:b)*(i1=c:c)),d:d)
需要使用陣列公式(ctrl+shift+enter)。較為簡潔,03版本及以下使用顯示出優勢。
=vlookup(g1&h1&i1,d:e,2)
需要增加輔助列,d列通過連字元&生成字串(a1&b1&c1),而後查詢該字串。
2樓:匿名使用者
公式肯定有問題啊 我指出幾點
1.你查詢sheet1表的話肯定不是a:c 而是a:d2.結尾建議你用false,沒見過vlookup函式結尾用0的。
還有一點3.應該是sheet1!a:d
謝謝寫出來了。
=if(and(and(sheet1!a1:a9="200508m",sheet1!
b1:b9="2002"),sheet1!c1:
c9="9"),vlookup(9,sheet1!c1:d9,2,false),"")
3樓:一葉舟
出錯的原因在於:sheet1的a列中沒有滿足匹配a1&b1&c1的記錄,公式也有問題。有一種變通解決方法,供參考:
首先在sheet1中a列前插入一列,在新的一列中輸入公式如=b1&c1&d1,即:使其值為原來abc三列的連線;
然後在sheet2中使用vlookup函式,如
4樓:匿名使用者
vlookup
在**陣列的首列查詢值,並由此返回**陣列當前行中其他列的值。
vlookup 中的 v 表示垂直方向。當比較值位於需要查詢的資料左邊的一列時,可以使用 vlookup,而不用 hlookup。
語法vlookup(lookup_value,table_array,col_index_num,range_lookup)
lookup_value 為需要在**陣列 (陣列:用於建立可生成多個結果或可對在行和列中排列的一組引數進行運算的單個公式。陣列區域共用乙個公式;陣列常量是用作引數的一組常量。
)第一列中查詢的數值。lookup_value 可以為數值或引用。若 lookup_value 小於 table_array 第一列中的最小值,vlookup 將返回錯誤值 #n/a。
table_array 為兩列或多列資料。請使用對區域的引用或區域名稱。table_array 第一列中的值是由 lookup_value 搜尋的值。
這些值可以是文字、數字或邏輯值。不區分大小寫。
col_index_num 為 table_array 中待返回的匹配值的列序號。col_index_num 為 1 時,返回 table_array 第一列中的數值;col_index_num 為 2,返回 table_array 第二列中的數值,以此類推。如果 col_index_num :
小於 1,vlookup 返回錯誤值 #value!。
大於 table_array 的列數,vlookup 返回錯誤值 #ref!。
range_lookup 為邏輯值,指定希望 vlookup 查詢精確的匹配值還是近似匹配值:
如果為 true 或省略,則返回精確匹配值或近似匹配值。也就是說,如果找不到精確匹配值,則返回小於 lookup_value 的最大數值。
table_array 第一列中的值必須以公升序排序;否則 vlookup 可能無法返回正確的值。可以選擇「資料」選單上的「排序」命令,再選擇「遞增」,將這些值按公升序排序。有關詳細資訊,請參閱預設排序次序。
如果為 false,vlookup 將只尋找精確匹配值。在此情況下,table_array 第一列的值不需要排序。如果 table_array 第一列中有兩個或多個值與 lookup_value 匹配,則使用第乙個找到的值。
如果找不到精確匹配值,則返回錯誤值 #n/a。
5樓:打傘_等雨
剛剛想的簡單了,還要重新思考一下
excel裡vlookup函式裡怎樣進行多條件選擇?
6樓:斐冬刑浩宕
vlookup是乙個查詢函式,給定乙個查詢的目標,它就能從指定的查詢區域中查詢返回想要查詢到的值。它的基本語法為:
vlookup(查詢目標,查詢範圍,返回值的列數,精確or模糊查詢)
下面以乙個例項來介紹一下這四個引數的使用
例1:如下圖所示,要求根據表二中的姓名,查詢姓名所對應的年齡。
公式:b13
=vlookup(a13,$b$2:$d$8,3,0)
引數說明:
1查詢目標:就是你指定的查詢的內容或單元格引用。本例中表二a列的姓名就是查詢目標。我們要根據表二的「姓名」在表一中a列進行查詢。
公式:b13
=vlookup(a13,$b$2:$d$8,3,0)
2查詢範圍(vlookup(a13,$b$2:$d$8,3,0)
):指定了查詢目標,如果沒有說從**查詢,excel肯定會很為難。所以下一步我們就要指定從哪個範圍中進行查詢。
vlookup的這第二個引數可以從乙個單元格區域中查詢,也可以從乙個常量陣列或記憶體陣列中查詢。本例中要從表一中進行查詢,那麼範圍我們要怎麼指定呢?這裡也是極易出錯的地方。
大家一定要注意,給定的第二個引數查詢範圍要符合以下條件才不會出錯:
a查詢目標一定要在該區域的第一列。本例中查詢表二的姓名,那麼姓名所對應的表一的姓名列,那麼表一的姓名列(列)一定要是查詢區域的第一列。象本例中,給定的區域要從第二列開始,即$b$2:
$d$8,而不能是$a$2:$d$8。因為查詢的「姓名」不在$a$2:
$d$8區域的第一列。
b該區域中一定要包含要返回值所在的列,本例中要返回的值是年齡。年齡列(表一的d列)一定要包括在這個範圍內,即:$b$2:$d$8,如果寫成$b$2:$c$8就是錯的。
3返回值的列數(b13
=vlookup(a13,$b$2:$d$8,3,0))。這是vlookup第3個引數。
它是乙個整數值。它怎麼得來的呢。它是「返回值」在第二個引數給定的區域中的列數。
本例中我們要返回的是「年齡」,它是第二個引數查詢範圍$b$2:$d$8的第3列。這裡一定要注意,列數不是在工作表中的列數(不是第4列),而是在查詢範圍區域的第幾列。
如果本例中要是查詢姓名所對應的性別,第3個引數的值應該設定為多少呢。答案是2。因為性別在$b$2:
$d$8的第2列中。
4精確or模糊查詢(vlookup(a13,$b$2:$d$8,3,0)
),最後乙個引數是決定函式精確和模糊查詢的關鍵。精確即完全一樣,模糊即包含的意思。第4個引數如果指定值是0或false就表示精確查詢,而值為1
或true時則表示模糊。這裡蘭色提醒大家切記切記,在使用vlookup時千萬不要把這個引數給漏掉了,如果缺少這個引數默為值為模糊查詢,我們就無法精確查詢到結果了。
1、接下來,我們的任務是通過利用vlookup函式來實現查詢同學c的成績。為此在單元格中輸入「=vlookup」,此時就會發現vlookup包括三個引數和乙個可選引數。
7樓:蟲蟲當家
查詢表或數字陣列的第一列中的指定值,從而返回到的當前行中在指定的列的值的表或陣列。當比較值的第一列中的資料表,你可以使用函式vlookup而不是hlookup。
v代表了vlookup垂直。
語法 vlookup(lookup_value的,table_array中,col_index_num,請將range_lookup)
lookup_value是需要找到陣列的第一列中的值。 lookup_value可以為數值,引用或文字字串。
table_array為需要在**可以找到資料表中的資料。可使用的區域或引用,如資料庫或列表的名稱。
如果range_lookup為true,值嗎?在table_array第一列必須按公升序排列:...,-2,-1,0,1,...
,-z,false,true;否則,函式vlookup不能返回值。如果range_lookup為false,table_array中沒有進行排序。
在「資料」選單選擇「公升序排序」,值嗎??以公升序排列。
第一列table_array中值?可以是文字,數字或邏輯值。
該文字是不區分大小寫的。
col_index_num匹配的值?的table_array返回的列序號。 col_index_num 1,返回的值?
table_array第一列中; col_index_num 2返回的值?table_array第二列中,依此類推。如果col_index_num小於1,vlookup返回錯誤值#value!
table_array中col_index_num大於列數,函式vlookup返回錯誤值#ref!
請將range_lookup一邏輯值,指明函式vlookup返回精確匹配,還是近似匹配。如果為true或省略,則返回近似匹配值,也就是說,如果你不能找到完全匹配的,則返回小於lookup_value的最大值;如果range_value是false,函式vlookup將返回精確匹配。如果沒有找到,則返回錯誤值#n / a
說明 如果函式vlookup不能找到lookup_value的,並range_lookup為true,小於或等於lookup_value的最大值。
如果lookup_value小於table_array第一列中的最小值的函式vlookup將返回錯誤值#n / a。
如果函式vlookup找不到lookup_value的,range_lookup為false,函式vlookup返回錯誤值#n / a
例子 如果您將示例複製到乙個空白工作表中,可能會更容易理解這個例子。
如何 建立乙個空白工作簿或工作表。
選擇「幫助」主題中的示例。不要選擇行或列標題。
從幫助中選取示例。
按ctrl + c。
在工作??表中,選中a1單元格,然後按ctrl + v。
若要在檢視結果和檢視返回結果的公式之間切換,請按ctrl +`(重音符),或在「工具」選單上,指向「公式審核」,然後單擊「公式審核模式」。
該示例使用的大氣。
1 23 45 67 89 10
a b c
密度粘度溫度
.457 3.55 500
0.525 3.25 400
.616 2.93 300
.675 2.75 250
.746 2.57 200
.835 2.38 150
.946 2.17 100
1.09 1.95 50
1.29 1.71 0
公式說明(結果)
= vlookup(1,a2:c10,2)在a列1和返回值的同一行中列b(2.17)
= vlookup(1,a2:c10,3,true)在a列中的1和返回值從c列在同一行(100)
= vlookup(0.7,a2:c10,3,false)在a列的0.746。 a柱不完全匹配的回報,乙個錯誤值(#n / a)
= vlookup(0.1,a2:c10,2,true)在a列中的0.1。因為0.1小於a列的最小值,所以返回乙個錯誤值(#n / a)
= vlookup(2,a2:c10,2,true)在a列2和返回值的同一行中列b(1.71)
EXCEL多條件求和
if a1 3000,a1 0.1,if and a1 3000,a1 4000 a1 0.15,if and a1 5000,a1 4000 a1 0.5 sumproductd 常規應用 sumproduct a2 a100,b2 b100 意思是將a2 b2,a3 b3 分別相乘之後求和變通應...
excel多條件求和,excel 函式 同時滿足兩個條件的求和
首先選中求和區域,在資料下面點選合併計算,引用位置選擇全表,點選新增,在勾選首列和最左列,確定即可。vba也允許建立窗體來獲得使用者輸入的資訊。但是,vba的自動化功能也導致excel成為巨集病毒的攻擊目標。截圖中的公式可以得到 轉賬且 0 的合計值,修改最後乙個引數 轉賬 為 pos 可以得到 p...
EXCEL求不連續列多條件取值,EXCEL求不連續列多條件取值
沒看懂你問題 舉例說明下你需要的結果 我真沒看懂你想求什麼值 如圖,abcde為原始資料,想要分單位統計對應條件的人數。顯示到對應列位置。例如統計 各單位男女的人數。這就是設計兩個條件 單位 性別 進行統計個數 實現目的的方法有很多,本例介紹使用sumproduct函式完成。是經常用到的乙個典型例子...