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