有同學(xué)提出來這樣一個數(shù)據(jù)填充問題。要求將A列名稱按照B列個數(shù)實(shí)現(xiàn)F列效果的填充。如下圖所示:
這樣的一種數(shù)據(jù)重復(fù)填充可以用Vlookup函數(shù)的模糊查找功能來實(shí)現(xiàn),我們一起來了解一下,你會發(fā)現(xiàn)原來函數(shù)還可以這樣用。
【正文】
一 計(jì)算累計(jì)個數(shù)和在C列添加輔助列“累計(jì)個數(shù)”,在C2單元格中輸入公式:=SUM($B$2:B2)。計(jì)算結(jié)果如下:
通過累計(jì)計(jì)算可以得知:最終重復(fù)填充后應(yīng)該總共有13行數(shù)據(jù)。
二 填充序號從第一步中我們已經(jīng)得知總共需要填充13行數(shù)據(jù),那么在E列增加“序號”字段,并填充1-13的序列。填充序列方法有很多:
平時我們得到1-13的序列可能是采取光標(biāo)放置1單元格右下角往下拖的方式進(jìn)行填充,若序列較短,可以用這種方式。但在工作中如果遇到比較多的數(shù)據(jù),比如幾十、幾百、甚至幾千,那用這種方法就太耗時耗力了。所以我們用序列的方式進(jìn)行填充。
在E2單元格輸入數(shù)字1,光標(biāo)選中E2單元格,找到【開始】選項(xiàng)卡——“填充”——“系列”命令。在“序列”對話框中設(shè)置以下內(nèi)容,即可快速得到序列。
1、 位置的修改:序列產(chǎn)生在“列”。
2、 序列類型:等差序列。
3、 步長值:1
4、 終點(diǎn)值:輸入序列終止值,本例為13。
三 思路分析填充好序列后,我們可以分析得到以下列表:以北京為例:序號為2,3,4(序號范圍為:2<=序號<5)時,應(yīng)填充為北京。范圍臨界點(diǎn)是前閉后開。而Vlookup的模糊查詢可以實(shí)現(xiàn)范圍查找,并且是前閉后開的條件。
四 創(chuàng)建數(shù)據(jù)源手動創(chuàng)建數(shù)據(jù)源,在K2單元格中輸入0,K3單元格輸入公式:=C2+1,C2為累計(jì)個數(shù)。公式往下復(fù)制,得到如下數(shù)據(jù)源:
五 Vlookup模糊查找實(shí)現(xiàn)數(shù)據(jù)填充。創(chuàng)建好數(shù)據(jù)源后,就可以利用Vlookup函數(shù)模糊查找實(shí)現(xiàn)數(shù)據(jù)填充了,在G2單元格中輸入公式:=VLOOKUP(E2,$K$1:$L$8,2,1)。如下圖所示:
公式分析:
第一個參數(shù):E2,查找對象,即通過E2單元格中的序號查找對應(yīng)的名稱,所以E2為查找依據(jù);
第二個參數(shù):$K$1:$L$8,數(shù)據(jù)源,由于公式往下復(fù)制,數(shù)據(jù)源不發(fā)生變化,因此使用絕對引用;
第三個參數(shù):2,匹配序列,即要查找的“名稱”位于數(shù)據(jù)源中的第2列。
第四個參數(shù):1,查詢類型為模糊查找。若為0,則為精確查找。
模糊查找與精確查找的區(qū)別:以以下數(shù)據(jù)源為例。
精確查找:參數(shù)為0,則在以上數(shù)據(jù)源中,可以查詢到的結(jié)果只有3個:序號0對應(yīng)為上海,序號2對應(yīng)為北京,序號5對應(yīng)為天津。若查找序號4,則查詢不到結(jié)果。
模糊查找:參數(shù)為1,則在以上數(shù)據(jù)源中,查詢結(jié)果為:若0<=序號<2(序號為0,1),均可匹配到名稱上海;若2<=序號<5(序號為2,3,4),均可匹配到名稱北京;若序號>=5(序號為5,6,7…)均可匹配到名稱天津。
注意點(diǎn):模糊查詢要求數(shù)據(jù)源第一列中的值必須以升序排序。