颠倒Excel单元格区域中的数据
使用公式将单元格区域中的数据颠倒过来。例如,下图所示工作表中的单元格区域Data(即A1:A7),使用公式将原来处于区域Data中第一个单元格A1中的数据放置到最后一个单元格,本例中为单元格C7,将区域Data中第二个单元格A2中的数据放置到倒数第二个单元格C6,……,依此类推,直至将区域Data中最后一个单元格A7中的数据放置到第一个单元格C1。
公式思路
先获取单元格区域中最后一行的行号,提取该行号所在的数据放置在第一个单元格,然后获取区域中倒数第二行的行号,提取该行号所在的数据放置在第二个单元格,直至将区域中第一行所在单元格的数据放置到最后一个单元格。
公式解析
使用单个公式
在单元格C1输入公式:
=INDEX(Data,ROWS(Data)-ROW(A1)+1,1)
然后,下拉至单元格C7。最后的结果如下图所示:
公式的关键是:ROWS(Data)-ROW(A1)+1,其中ROWS(Data)返回单元格区域的行数,本例中为7。ROW(A1)返回单元格所在行的行号,在单元格C1中返回1,那么7-1+1的结果为7;C2中返回2,那么7-2+1的结果为6;……;C7中返回7,那么7-7+1的结果为1;因此ROWS(Data)-ROW(A1)+1的结果在C1至C7中依次为7、6、5、4、3、2、1,分别作为INDEX函数的行参数,在区域Data中获取相应的值。
使用数组公式
选择单元格区域C1:C7,输入数组公式:
=INDEX(Data,ROWS(Data)-ROW(INDIRECT(“1:” &ROWS(Data)))+1,1)
结果如下图所示:
其中,ROW(INDIRECT(“1:” & ROWS(Data)))生成数组{1;2;3;4;5;6;7},与ROWS(Data)即7并且加1进行运算后,生成数组{7;6;5;4;3;2;1},将该数组作为INDEX函数的行参数,依次从区域Data中取出值,放置在相应的单元格中。
如果区域中有空单元格,那么颠倒的相应单元格会显示0。使用下面的数组公式,将空单元格仍显示为空单元格:
=IF(INDEX(Data,ROWS(Data)-ROW(INDIRECT(“1:” &ROWS(Data)))+1,1)=””,””,INDEX(Data,ROWS(Data)-ROW(INDIRECT(“1:”& ROWS(Data)))+1,1))
即使用IF函数判断获取的值是否为空,如果为空则显示空,否则显示数据。
小结
要想获取某区域中的值,首先要考虑如何得到该值在该区域的行列号。这样,就可以使用INDEX函数来获取相应的值。
ROW函数相当于编程语言中的变量,根据单元格所在行的不同而得到不同的数值。
ROW函数配合INDIRECT函数使用,不用硬编码,更灵活。
最新推荐
-
AIDA64怎么设置游戏帧数显示
AIDA64怎么设置游戏帧数显示?AIDA64是一款能够测试软硬件系统信息的工具,详细的显示出电脑的每一个 […]
-
中望cad捕捉点怎么设置 中望cad捕捉点设置
中望cad捕捉点怎么设置?中望cad是一款图纸制作软件,能够进行二维制图和三维制图的图形设计软件,在日常的 […]
-
夜神模拟器设置扬声器怎么设置 电脑夜神模拟器没有声音
夜神模拟器设置扬声器怎么设置?夜神模拟器采用类手机界面视觉设计的PC端桌面软件,采用多内核技术,具有同类模 […]
-
wps如何设置超链接到另一页 wps超链接到另一个表格sheet
wps如何设置超链接到另一页?wps是一款强大的办公软件,支持用户对表格或者文档进行自定义的编辑,同时也可 […]
-
mac os显示器怎么快速黑屏
mac os系统想要快速关闭显示器使其黑屏,也就是进入睡眠状态,该怎么进入呢?有两种方法,详细请看下文介绍。
-
excel如何制作文件夹侧标签 excel做文件夹侧面标签
excel如何制作文件夹侧标签?excel表格不止方便用户对数据进行编辑操作,同样支持用户进行一些文字图形 […]