顛倒Excel單元格區(qū)域中的數(shù)據(jù)|office辦公軟件入門基礎(chǔ)教程
使用公式將單元格區(qū)域中的數(shù)據(jù)顛倒過來。例如,下圖所示工作表中的單元格區(qū)域Data(即A1:A7),使用公式將原來處于區(qū)域Data中第一個單元格A1中的數(shù)據(jù)放置到最后一個單元格,本例中為單元格C7,將區(qū)域Data中第二個單元格A2中的數(shù)據(jù)放置到倒數(shù)第二個單元格C6,……,依此類推,直至將區(qū)域Data中最后一個單元格A7中的數(shù)據(jù)放置到第一個單元格C1。
公式思路
先獲取單元格區(qū)域中最后一行的行號,提取該行號所在的數(shù)據(jù)放置在第一個單元格,然后獲取區(qū)域中倒數(shù)第二行的行號,提取該行號所在的數(shù)據(jù)放置在第二個單元格,直至將區(qū)域中第一行所在單元格的數(shù)據(jù)放置到最后一個單元格。
公式解析
使用單個公式
在單元格C1輸入公式:
=INDEX(Data,ROWS(Data)-ROW(A1)+1,1)
然后,下拉至單元格C7。最后的結(jié)果如下圖所示:
公式的關(guān)鍵是:ROWS(Data)-ROW(A1)+1,其中ROWS(Data)返回單元格區(qū)域的行數(shù),本例中為7。ROW(A1)返回單元格所在行的行號,在單元格C1中返回1,那么7-1+1的結(jié)果為7;C2中返回2,那么7-2+1的結(jié)果為6;……;C7中返回7,那么7-7+1的結(jié)果為1;因此ROWS(Data)-ROW(A1)+1的結(jié)果在C1至C7中依次為7、6、5、4、3、2、1,分別作為INDEX函數(shù)的行參數(shù),在區(qū)域Data中獲取相應(yīng)的值。
使用數(shù)組公式
選擇單元格區(qū)域C1:C7,輸入數(shù)組公式:
=INDEX(Data,ROWS(Data)-ROW(INDIRECT(“1:” &ROWS(Data)))+1,1)
結(jié)果如下圖所示:
其中,ROW(INDIRECT(“1:” & ROWS(Data)))生成數(shù)組{1;2;3;4;5;6;7},與ROWS(Data)即7并且加1進(jìn)行運(yùn)算后,生成數(shù)組{7;6;5;4;3;2;1},將該數(shù)組作為INDEX函數(shù)的行參數(shù),依次從區(qū)域Data中取出值,放置在相應(yīng)的單元格中。
如果區(qū)域中有空單元格,那么顛倒的相應(yīng)單元格會顯示0。使用下面的數(shù)組公式,將空單元格仍顯示為空單元格:
=IF(INDEX(Data,ROWS(Data)-ROW(INDIRECT(“1:” &ROWS(Data)))+1,1)=””,””,INDEX(Data,ROWS(Data)-ROW(INDIRECT(“1:”& ROWS(Data)))+1,1))
即使用IF函數(shù)判斷獲取的值是否為空,如果為空則顯示空,否則顯示數(shù)據(jù)。
小結(jié)
要想獲取某區(qū)域中的值,首先要考慮如何得到該值在該區(qū)域的行列號。這樣,就可以使用INDEX函數(shù)來獲取相應(yīng)的值。
ROW函數(shù)相當(dāng)于編程語言中的變量,根據(jù)單元格所在行的不同而得到不同的數(shù)值。
ROW函數(shù)配合INDIRECT函數(shù)使用,不用硬編碼,更靈活。
版權(quán)聲明:
本站所有文章和圖片均來自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系網(wǎng)站客服處理。