Row函數在Excel數組公式中的應用
絕大多數excel數組公式中,都可以看到row函數的身影,那麼row函數到底起到什麼作用呢?我們先從它的基本用法說起。
Row函數,返回一個引用的行號。
row() 返回公式所在行的行數,如:在第5行輸入=row() 公式返回值 5
row(單元格地址) 返回單元格所在的行數,如:Row(b6) 返回B6單元格所在的行6
row(開始行數:終止行數) 返回引用行的行數,結果是一組數。如:Row(1:3) 返回第1:3行所在的行數{1;2;3},由於在單元格中只能顯示一個值,所以顯示的結果是1
生成這樣的序號有用嗎?當然有!
【例1】求1+2+3+4+5 ...+100=?
公式{=sum(row(1:100))}
公式說明:
用row函數生成1~100的序號,然後用sum求和
. 由於是數組運算,需要在公式表達式最後按ctrl+shift+enter鍵確認輸入。
【例2】截取字元串中最前面的數字,假設A1單元格中值為 353.54優質
公式:
=LOOKUP(9^9,--LEFT(A1,ROW(1:99)))
公式說明:
row(1:99) 生成{1 ;2;3;4;5;6...99} 的序號,共99個數字
--Left(A1,ROW(1:99),分別從左邊截取1個,2個,3個.....99個字元, 99是該字元可能的最大長度,如果字元最長20個,也可以用row(1:20)。由於截取後是文本,所以需要用--把文本型數字轉換成數值,把純文本轉換成錯誤值。{3;35;353;#VALUE!;#VALUE!;#V.......;#VALUE!}
Loookup(9^9,) 用一個足夠大的數在截取後的數字中進行查找,返回最後一個數字。
由於lookup可以支持數組運算,所以公式不需要按三鍵輸入。
總結:row() 函數的主要作用是生成一組序號,在後利用這組序號對另一個或一組值進行多次處理。
推薦閱讀:
※《客映直播》資料04 吳廣儒老師辯證象數組方實踐課實錄
※Excel工作表中數組常量的使用方法
※js取數組兩個數組的交集|差集|並集|補集|去重
※數組,鏈表,二叉樹,這些是為了解決什麼問題而出現的呢?
※Excel|sumif()相當於包含sum()函數的數組公式