hello,大家好,今天跟大家詳細講解下vlookup中{0,1}它是如何進行運算,到底如何理解,
它的運用方法可以分為兩類,一類適用于條件判斷,另一類是用于制造錯誤值,下面就讓我們來詳細的講解下
1. 用于條件判斷
{0,1}用于條件判斷,我們最常見的要數(shù)使用vlookup函數(shù)進行反向查找,舉例如下
公式:=VLOOKUP(G2,IF({1,0},C2:C10,A2:A10),2,0)
Vlookup進行數(shù)據(jù)查找,查找值必須在查找區(qū)域的第一列,如果查找值不在查找區(qū)域的第一列,我們就需要用到vlookup的反向查找,它的大致思路是,將查找值使用if函數(shù)加上{0,1}數(shù)組,構(gòu)建一個二維的表格,來進行查找,下面就讓我們來具體分析下
公式:=VLOOKUP(G2,IF({1,0},C2:C10,A2:A10),2,0)
第一參數(shù):G2,就是表中的考核得分
第二參數(shù):IF({1,0},C2:C10,A2:A10),構(gòu)建二維表格
第三參數(shù):2,就是查找數(shù)據(jù)區(qū)域的第2列
第四參數(shù):0,精確匹配
以上參數(shù)中除了第二參數(shù)都十分容易理解,下面就是講解下它的運算過程
首先我們先看下它的實際結(jié)果如下圖
在excel中0=false,1=true,我們把{1,0}放在if函數(shù)的第一參數(shù)中,它實際上代表對和錯的條件結(jié)果,又因為,{1,0}在大括號中,所以它是一個數(shù)組,它會跟每一個元素都發(fā)生運算,比如在if的第二參數(shù)中它的單元格個數(shù)是9個,所以,當(dāng)if的條件為1時候,他就會得到9個結(jié)果,第三個參數(shù)也是這個道理以此類推,它的運算結(jié)果可以顯示為下圖
這樣的話,我們就構(gòu)建了一個查找值在第一列的數(shù)據(jù)區(qū)域,就非常方便我們查找了。
2.制造錯誤值構(gòu)建數(shù)據(jù)
這種比較常見的是我們在有文字與數(shù)字混合的字符串中提取出固定長度的字符串,如提取手機號碼
公式:=VLOOKUP(0,MID(A2,ROW($1:$30),11)*{0,1},2,FALSE)
這個函數(shù)中
第一參數(shù):0
第二參數(shù):MID(A2,ROW($1:$30),11)*{0,1}
第三參數(shù):2
第四參數(shù):false
還是來著重講解下第三參數(shù),我們先看下mid函數(shù)的提取過程與結(jié)果
因為mid的函數(shù)第二參數(shù)為,ROW($1:$30),它是一個1到30的整數(shù)序列,所以會對字符串提取30次,為什么到23次就沒有結(jié)果了呢,因為A2單元格它的字符串個數(shù)一共就22個,然后我們將這個結(jié)果乘以{0,1}
{0,1}是一個數(shù)組,它會跟每個元素都進行運算如上圖所示它會運算30次
當(dāng)文本乘以數(shù)字的時候,他就會得到錯誤值,而mid函數(shù)在第7次提取到正確的手機號碼,當(dāng)它乘以{0,1}的時候會得到如圖標(biāo)紅區(qū)域的二維數(shù)組,這樣的話我我們用vlookup函數(shù)進行提取就非常簡單了,
這僅僅是一個單元格的運算結(jié)果,以后的都要這么算,所以電腦配置如果不是太高的話,進行數(shù)組的運算會十分卡
怎么樣,這么講明白呢,如果還是不太明白,建議看下這篇數(shù)組的簡單介紹
我是excel從零到一,關(guān)注我持續(xù)分享更多excel 技巧
聯(lián)系客服