粉絲從某音上面刷到一個(gè)做考勤表的方法,并用在自己的表格上。于是就出現(xiàn)了標(biāo)題說(shuō)到的這一幕,寫(xiě)了62個(gè)VLOOKUP函數(shù),簡(jiǎn)直瘋了。 每一天的考勤存放在一個(gè)表,12月份共31天就31個(gè)表,然后根據(jù)姓名查找對(duì)應(yīng)的出勤在明細(xì)表20列,加班在明細(xì)表21列。

操作方法就是先篩選出勤,輸入公式下拉。 =VLOOKUP(C4,'1201'!A:U,20,0) 
再篩選加班,輸入公式下拉。
=VLOOKUP(C4,'1201'!A:U,21,0) 
再將以上步驟重復(fù)31遍。每一列操作一遍。
如果有看盧子前幾天寫(xiě)的文章,就會(huì)想到用VLOOKUP+INDIRECT實(shí)現(xiàn)一次搞定。
VLOOKUP查找多個(gè)表格,這次全講明白了(內(nèi)含57套PPT年終報(bào)告模板)
別嚇自己,INDIRECT函數(shù)跨表引用真的好簡(jiǎn)單(內(nèi)含25個(gè)函數(shù)視頻)
單元格的日期跟工作表的顯示不一樣,可以用手工都改成1201,也可以借助TEXT轉(zhuǎn)換。

出勤的31個(gè)公式都可以統(tǒng)一成這樣。
=VLOOKUP($C4,INDIRECT(TEXT(E$3,"mmdd")&"!A:U"),20,0) 
同理,將VLOOKUP的第三參數(shù)20改成21就得到加班的。
=VLOOKUP($C4,INDIRECT(TEXT(E$3,"mmdd")&"!A:U"),21,0) 
能否用一條公式解決呢?
可以,不過(guò)要解決2個(gè)問(wèn)題。
01 姓名是合并單元格,如果直接下拉的話(huà),$C4是有內(nèi)容,$C5就沒(méi)內(nèi)容,需要解決,讓沒(méi)內(nèi)容的等于上一個(gè)單元格。

02 如果是出勤的就返回第20列,加班就返回21列。

將這些公式合并,就可以下拉和右拉。
=VLOOKUP(IF($C4="",$C3,$C4),INDIRECT(TEXT(E$3,"mmdd")&"!A:U"),IF($D4="出勤",20,21),0) 
這個(gè)公式還可以進(jìn)一步完善,讓錯(cuò)誤值顯示空白,也就是嵌套IFERROR。
=IFERROR(VLOOKUP(IF($C4="",$C3,$C4),INDIRECT(TEXT(E$3,"mmdd")&"!A:U"),IF($D4="出勤",20,21),0),"") 
最后,還有一個(gè)小細(xì)節(jié),里面的時(shí)間是文本格式,因?yàn)楹笃谝蠛?,這里加--轉(zhuǎn)換。 =IFERROR(--VLOOKUP(IF($C4="",$C3,$C4),INDIRECT(TEXT(E$3,"mmdd")&"!A:U"),IF($D4="出勤",20,21),0),"") 
如果讓你一次性寫(xiě)完這么長(zhǎng)的公式,你應(yīng)該寫(xiě)不出。不過(guò),沒(méi)關(guān)系,盧子也寫(xiě)不出,但你要學(xué)會(huì)寫(xiě)公式的方法。先分幾列依次在單元格寫(xiě)上單個(gè)函數(shù),然后組合成完整的公式。
推薦:想要Excel水平超過(guò)90%的同事,只需學(xué)會(huì)這20個(gè)公式就夠了?。▋?nèi)含836個(gè)表格模板) 上篇:突破限制,實(shí)現(xiàn)多個(gè)內(nèi)容、多表同時(shí)篩選(內(nèi)含電腦入門(mén)電子書(shū)) 作者:盧子,清華暢銷(xiāo)書(shū)作者,《Excel效率手冊(cè) 早做完,不加班》系列叢書(shū)創(chuàng)始人,個(gè)人公眾號(hào):Excel不加班(ID:Excelbujiaban)
|