|
在excel中你可能會認(rèn)為vlookup的查找最牛X、Sumifs求和最牛X,但它們都可以用其他函數(shù)所替換。而有一個函數(shù)卻無法用其他函數(shù)替代,高手寫的公式中經(jīng)常會有它的身影。它就是:Indirect函數(shù) 描述:可以把一個字符表達式或名稱轉(zhuǎn)換為地址引用。在excel也只有它可以實現(xiàn)這樣的功能。 語法結(jié)構(gòu):=INDIRECT(ref_text,[a1]) 解釋:引用,并顯示其內(nèi)容,分為兩種一種加引號一種不加。 用法舉例: 從上面的圖中大家有沒有發(fā)現(xiàn),INDIRECT函數(shù)說白了是一個間接引用函數(shù),哈哈,INDIRECT本身的英文意思就是 “間接的、迂回的”,那聰明的你一定會想了,我直接引用就得了,干嘛要間接引用呢。這不多此一舉嗎? 不急大家先聽我慢慢講來。先來解釋下上面用到的公式: 我想對于第一個公式 =indirect('a1'),返回 'B1' 大家應(yīng)該沒有什么疑問,問題是=indirect(A1)返回'謝先森',可能會有點混淆。雖然看著是這么回事,但有點不清晰。我們這么來做:=indirect(a1)=indirect('B1'),這樣就明白了。(因為A1的值就是 'B1',這點要好好理解喲。如果會使用F9來查看公式的話,你會更加清楚的) 現(xiàn)在我能來回答有什么好處了,好處就是智能、靈活。因為INDIRECT的參數(shù)是文本字符串,文本字符串可以靈活地進行組裝。也就是說,一個目標(biāo)地址可以通過多個單元格的內(nèi)容來“生成”。我們來看一下下面這個例子吧! 如果你想知道更多做多級列表的知識請點擊動態(tài)列表。下面是接著上面的例子。 應(yīng)用舉例 一、制作動態(tài)下拉菜單 此例上面已經(jīng)講過,公眾號里面也有相應(yīng)知識。感興趣的親請自行查找! 二、多表合并 所用到公式為:=INDIRECT(COLUMN()-1&'月'&'!B'&ROW()) 簡單做下解釋:COLUMN()-1&'月'&'!B'&ROW()運行得到的結(jié)果是{1月!B2}。COLUMN()根據(jù)列號生成數(shù)字{2,3,4,5,6,7},ROW()根據(jù)行號生成行號,最后一起生成單元格地址。 三、多表查找(VLOOKUP INDIRECT) 此例用到2種方法,推薦使用第1種方法,所用到公式為: =IFERROR(VLOOKUP(A2,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT({'銷售';'服務(wù)';'人事';'綜合';'財務(wù)'}&'!a:a'),A2),{'銷售';'服務(wù)';'人事';'綜合';'財務(wù)'})&'!a:g'),7,0),'無此人信息') 1、確定員工是在哪個表中。這里利用countif函數(shù)可以多表統(tǒng)計來分雖計算各個表中該員工存在的個數(shù)。 2、利用lookup(1,0/(數(shù)組),數(shù)組) 結(jié)構(gòu)取得工作表的名稱 3、利用indirec函數(shù)把字符串轉(zhuǎn)換成單元格引用。 4、利用vlookup查找。 如果你要使用此公式,你只需要做以下更改: A2:查找的內(nèi)容 {''}:大括號內(nèi)是要查找的多個工作表名稱,用逗號分隔 a:a :本例是姓名在各個表中的A列,如果在B列則為b:b a:g :vlookup查找的區(qū)域 7:是vlookup第3個參數(shù),相對應(yīng)的列數(shù)。你懂的。 四、多表求和(SUMPRODUCT INDIRECT) 例子中所用到的公式為: =SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$6)&'月!A2:A9'),A2,INDIRECT(ROW($1:$6)&'月!B2:B9'))) 表親們已經(jīng)看到了,如果只有一個表,那只需要用SUMIF就可以了。但是如果需要多個表同時求和,就需要用到INDIRECT()函數(shù)引用多個表了。最后生成的數(shù)據(jù)是一個數(shù)組,于是需要SUMPRODUCT()函數(shù)來進行求和了。 如果你想拿這個函數(shù)來用,你知道怎么改嗎?有問題請留言!這些例子只一些簡單的知識點我就沒有詳細講解了,因為在公眾號里都可以找到的。最后還請大家?guī)臀倚麄餍麄鞴娞枴?/p> |
|
|