INDIRECT函數(shù)是根據(jù)文本地址來返回引用的一個(gè)函數(shù),比如INDIRECT("A1"),"A1"是文本,套INDIRECT后指向的單元格為A1單元格,和INDIRECT(A1)是有區(qū)別的,A1和"A1"一定要區(qū)分清楚,帶雙引號(hào)后的地址,它就是文本地址而非單元格
簡單介紹一下
INDIRECT("A1")返回A1單元格里的值,指向了A1
那么試試INDIRECT(A1),會(huì)出現(xiàn)錯(cuò)誤,這是因?yàn)锳1單元格里的值,不是一個(gè)文本地址,所以引用不到單元格
嘗試將A1單元格里的值改為B1,此時(shí)看見INDIRECT(A1)返回了B1里的值,這是因?yàn)锳1單元格里的值是文本地址"B1",經(jīng)過INDIRECT的引用,就會(huì)返回B1單元格里的值,新手剛學(xué)的時(shí)候肯定會(huì)有一點(diǎn)繞
下面來介紹如何用INDIRECT函數(shù)來計(jì)算單元格里有多少個(gè)英文字母,數(shù)據(jù)如下,我們知道單元格的文本地址是由字母和數(shù)字組成,那么字母單元格里有了,只要把每一個(gè)字母給連接一個(gè)數(shù)字,不就是一個(gè)文本地址可以給INDIRECT函數(shù)引用了嗎
先用MID函數(shù)拆分每一個(gè)字符,不知道單元格里有多少個(gè)字符,先給到99吧,如果字符個(gè)數(shù)比99還要長,就把數(shù)字給大一點(diǎn),足夠用就行
再給它連接個(gè)數(shù)字999,這里的數(shù)字不能隨意連接,至少你不能連接一個(gè)數(shù)字2,因?yàn)槔锩嫒f一有一個(gè)字母"B",你就會(huì)引用到B2單元格,而B2單元格是我們公式所在的單元格,就會(huì)造成循環(huán)引用,所以給一個(gè)較為保險(xiǎn)的數(shù)字999
再套INDIRECT函數(shù),發(fā)現(xiàn)都是錯(cuò)誤值,這是因?yàn)樾枰稻S,套一個(gè)N函數(shù)
套了N函數(shù)后,就會(huì)有0值出現(xiàn)了,因?yàn)榈?99行都是空,被引用后就會(huì)返回0
再用COUNT計(jì)數(shù),0也是數(shù)字,也就是說有多少個(gè)0就會(huì)有多少個(gè)單元格地址,就會(huì)有多少個(gè)字母,數(shù)組公式按CTRL+SHIFT+ENTER
公式:=COUNT(N(INDIRECT(MId(A2,ROW($1:$99),1)&999)))