Excel獲取非空單元格|office辦公軟件入門基礎(chǔ)教程
嘗試使用一個公式,來消除指定單元格區(qū)域中的空單元格,即獲得的值中不包括空單元格,如下圖所示。
先不看下面的內(nèi)容,自已試試!
公式思路
先找到非空單元格所在行的行號,獲取行號并以行號作為INDEX函數(shù)的參數(shù)取出相應(yīng)的值。
公式
選擇單元格C1:C7,輸入公式:
=IFERROR(INDEX(A1:A7,SMALL(IF(A1:A7<>””,ROW(A1:A7)),ROW(A1:A7))),””)
按Ctrl+Shift+Enter組合鍵完成輸入。
公式解析
下面,我們將公式分解,來看看是怎么一步一步得到答案的。
首先,找出非空單元格所在行的行號。選擇單元格C1:C7,輸入公式:
=IF(A1:A7<>””,ROW(A1:A7))
按Ctrl+Shift+Enter組合鍵完成輸入。結(jié)果如下圖所示:
從圖中可以看出,公式將列A中的值與空值比較,不為空則在列C中相應(yīng)的單元格輸入非空單元格行號,而空單元格則輸入FALSE。
接下來,獲取已經(jīng)找出的非空單元格的行號。選擇單元格E1:E7,輸入公式:
=SMALL(C1:C7,ROW(A1:A7))
按Ctrl+Shift+Enter組合鍵完成輸入。結(jié)果如下圖所示:
代表非空單元格行號的數(shù)值已依次輸入到列E單元格中。ROW函數(shù)得到一個數(shù)組{1;2;3;4;5;6;7},作為SMALL函數(shù)的參數(shù),依次取出C1:C7中第1至第7小的值。
然后,將行號作為INDEX函數(shù)的參數(shù)取出值。選擇單元格G1:G7,輸入公式:
=INDEX(A1:A7,E1:E7)
按Ctrl+Shift+Enter組合鍵完成輸入。結(jié)果如下圖所示:
可以看到,在列G中放置了非空單元格的值,但也放置了錯誤值。INDEX函數(shù)依次取出列A中第1、3、5、7行的數(shù)據(jù)。
最后,使用IFERROR函數(shù)消除錯誤值。選擇單元格I1:I7,輸入公式:
=IFERROR(G1:G7,””)
按Ctrl+Shift+Enter組合鍵完成輸入。結(jié)果如下圖所示:
如果是錯誤值,則為空。
將上述各步的公式組合,即可得到最終的公式。
下期公式練習(xí)
Excel公式練習(xí)3:求連續(xù)數(shù)據(jù)之和的最大值
求連續(xù)N個數(shù)據(jù)中所有連續(xù)M個數(shù)據(jù)之和的最大值。
有興趣的朋友,可以先思考。
版權(quán)聲明:
本站所有文章和圖片均來自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系網(wǎng)站客服處理。