excel中匹配與vlookup函式問題

時間 2021-10-30 04:53:52

1樓:綠衣人敲門

excel中常用的查詢函式vlookup的基本用法。

首先來看一下vlookup函式的應用場景。

如下圖,a列到d列是員工資訊,包括姓名、工號、性別和籍貫資訊,每一行是一個人的資訊。要求根據「姓名」獲得員工的「工號」資訊,返回結果在**b8。

vlookup函式的基本語法是這樣的:

如下圖,該函式第一引數是要查詢的值;第二引數是要查詢值和返回值所在的資料表區域;第三引數是要返回資料表中第幾列的值;最後一個是精確匹配或模糊匹配的標示,0或者false表示精確匹配,非0值或true表示模糊匹配。

雙擊b8單元格,輸入公式:

=vlookup(a8,a1:d5,2,)

這樣,就返回了「張三丰」對應的工號。其中a8表示要在原始表中查詢a8對應的值,a1:d5是包含「姓名」和「工號」的資料區域,2是說返回表中第2列的「工號」值。

需要注意的是,要查詢的值a8必須是在原始區域的第一列。也就是說a1:d5區域的第一列必須是包含a8值的那一列。

一般情況下,最後一個引數要寫成0,false或者加上逗號省略引數(預設為0)。為了避免意料之外的錯誤,不建議寫true或非0值。如果寫true或者非0值,則第一列「姓名」列就得升序排列才可以。

2樓:

表2中的b列數字設用文字,則表1中的a列數字也應該是文字,但如果資料已經填好了,再改格式,是不起作用的。建議:

檢視錶1中a列數字的格式(如果居右對齊,一般情況下都是數值格式,如果居左,一般情況下是文字格式),假設a列數字是數值格式,則在表2b列使用公式

=value(left(a1,2))

然後,c列就應該沒有問題了。

3樓:萊昂納德_尤拉

=vlookup(--b1,sheet1!$a$1:$b$4,2,false)

4樓:0_獅子座

你對問題的描述和你提供的**樣例的試驗結果不符,我將你的**還原回來後沒發現錯誤。

你把出問題的檔案發給我吧,我看看。

[email protected]

5樓:飄逸幽谷

樓主,可以把檔案發過來看下嗎

excel中,用vlookup函式匹配完後?

6樓:匿名使用者

=iferror(o2,"0"&(59900000000+countif(o$1:o1,#n/a))),再下拉填充。

7樓:一點熱千份光

度友,o6沒有匹配上是正確結果:p列中匹配上了,但是結果是錯的。

原因o6中的公式是精確查詢,公式的最後一個資料是0,表示精確查詢,m6在c列中,並不存在,所以得不到結果。

p列中,公式最後一個資料省略了,表示模糊查詢,重點模糊查詢。所以得出的結果是錯誤的。

為什麼excel**裡,用vlookup函式匹配,只有部分資料能匹配

8樓:有錢哥哥

沒有把區域選項按f4絕對化。

1、電腦開啟excel**。

2、輸入引用公式=vlookup(f4,c3:d6,2,0)。

3、輸入公式後,回車下拉有部分資料就不能匹配。

4、雙擊不匹配的資料,就可以看到其中的匹配條件區域已經移動了。

5、把公式修改為=vlookup(f4,$c$3:$d$6,2,0),框選區域時按f4就可以了。

6、修改函式後,下拉複製就可以全部匹配了。

9樓:匿名使用者

請補充完整提問,或截圖示例,以方便大家理解支招!

資料區域的行號需要加上絕對引用符號,公式中寫成=vlookup(a2,d:f,3,0)

或=vlookup(a2,d$4:f$20,3,0)而不是=vlookup(a2,d4:f20,3,0) 後再向下填充公式

10樓:

用vlookup函式時需要注意幾點。

如:=vlookup(a1,a1:b10,2,false)1、a1:b10 要寫成$a$1:$b$10, 否則往下自動填充時,就有可能會變動,導致這樣的問題。

2、false是絕對匹配,true是模糊匹配。

3、如果a1:b10中有待匹配的列有多個相同,預設只會取第一個值。

11樓:謇燎中奇文

你匹配方式選擇精確匹配的話,相同都會匹配的,不過如果有重複項,只會匹配第一個

excel**的vlookup函式為什麼有的匹配不出來

12樓:匿名使用者

這是由於提問中兩個**的a列的數字格式是不一樣的,一個是數值格式的數字,一個是文字格式的數字。只要把兩列的格式設定為一樣,因為都是數字,建議都設定為數值格式那麼原來提問的公式就可以用了。

如不想改格式的,也可以把公式改為這樣就能用了:

=if(a2="","",text(vlookup(--a:a,sheet1!a:b,2,),"e年m月d日"))

如果有些資料可能在sheet1的a列中是沒有的,可以加入防錯判斷,遇上這情況時,公式返回空白,以上公式返回的是#n/a錯誤值。

=if(countif(sheet1!a:a,a2),text(vlookup(--a:a,sheet1!a:b,2,),"e年m月d日"),"")

13樓:excel祕籍

excel:為什麼你vlookup總是匹配錯誤?這裡給你解答

14樓:侍芹

可能是因為由於提問中兩個**的a列的數字格式是不一樣的,一個是數值格式的數字,一個是文字格式的數字。只要把兩列的格式設定為一樣,因為都是數字,建議都設定為數值格式那麼原來提問的公式就可以用了。

如不想改格式的,也可以把公式改為這樣就能用了:

=if(a2="","",text(vlookup(--a:a,sheet1!a:b,2,),"e年m月d日"))

如果有些資料可能在sheet1的a列中是沒有的,可以加入防錯判斷,遇上這情況時,公式返回空白,以上公式返回的是#n/a錯誤值。

=if(countif(sheet1!a:a,a2),text(vlookup(--a:a,sheet1!a:b,2,),"e年m月d日"),"")

15樓:匿名使用者

格式問題

第一張圖中的a列數字是型別是「數值」

第二張圖中的a列的數字是「文字」

(如果沒改單元格對齊方式的話)

16樓:

=vlookup(a2,sheet1!a:b,2,0)檢查2個表的a列的數字,是否完全一致? 前後有無空格?

複製個資料,在sheet2表,查詢,檢查是否確實存在?

光是看圖,大家都是猜測

最好發你的問題表

17樓:匿名使用者

一看錶就能發現問題,你沒注意為什麼第一張圖的數字靠右邊,而第二張圖的數字是靠左邊呢?你右鍵看看單元格格式,兩個表的格式不相同的。

第二,第一個查詢的引數只能是一個單元格或常量,不能是一列,不然它到底查哪個數?

18樓:匿名使用者

應該時格式不同的原因,一個是數字格式,一個是文字格式。

19樓:

要返回的值不能是第一列,否則就會出錯

20樓:巴山隱士

公式 =vlookup(a:a,sheet1!a:b,2,false)有錯誤

其中的「a:a"不能選擇單元格區域,只能指定一個單元格,比方a1這樣,再往下拖下去

21樓:匿名使用者

=vlookup(a:a,sheet1!a:b,2,0)試下

a:a 建議輸a列當前行 比如a2.。。

另外 上面的資料 好像格式不一致,確認是否一致

22樓:匿名使用者

我已經調整了格式,但是還是不一致。也已經排除了有空格的情況了。

excel中多列條件匹配

在h3中輸入或複製貼上下列公式 sumproduct b 2 b 999 g3 a 2 a 999 left h 2,len h 2 1 c 2 c 999 下拉填充,右拉填充 截圖請截出行號和列標,以方便書寫公式。以最左上角單元格為a1,那麼在h3單元格輸入以下陣列公式,按ctrl shift e...

高手看了就幫下吧excel用vlookup函式如何在第二

vlookup要求索引值必須在前,所以你的要求無法直接達到。可以在第二表第三列後增加和第二列相同內容的輔助列,或者將第二 三列交換位置。然後在第一表中用vlookup處理 這種查詢返回值用index和match組合方便假設查詢值是在a2單元格,d2單元格輸入公式 index sheet2 b b,m...

怎麼做啊,請問EXCEL工資表VLOOKUP進行工資資料查詢中的公式值為什麼不可用,顯示錯誤值N

將公式改為 if isna vlookup a2,gz,column b1 vlookup a2,gz,column b1 右拉複製公式。你的 a 2單元格時空的 vlookup函式的使用,關鍵是要掌握他的語法 語法 vlookup lookup value,table array,col inde...