宝哥软件园

反转Excel单元格区域中的数据

编辑:宝哥软件园 来源:互联网 时间:2021-09-17

使用公式反转单元格区域中的数据。例如,在下图所示的工作表中的单元格区域“数据”(即A1:A7)中,“数据”区域中第一个单元格A1中的数据通过使用公式放置在最后一个单元格中,在这种情况下,“数据”区域中第二个单元格A2中的数据放置在倒数第二个单元格C6中,以此类推,直到“数据”区域中最后一个单元格A7中的数据放置在第一个单元格C1中。

公式思维

获取单元格区域最后一行的行号,提取行号所在的数据放在第一个单元格,然后获取区域倒数第二行的行号,提取行号所在的数据放在第二个单元格,直到区域第一行所在单元格的数据放在最后一个单元格。

公式分析

使用单一公式。

在C1单元格中输入公式:

=索引(数据,行(数据)-行(A1) 1,1)

然后,下拉到单元格C7。最终结果如下图所示:

公式的关键字是ROW(Data)-ROW(A1)1,其中ROW(Data)返回单元格区域的行数,在本例中为7。ROW(A1)返回单元格的行号,在单元格C1中返回1,所以7-1 1的结果是7;C2返回2,那么7-2 1的结果是6;……;c返回7,那么7-7 1的结果是1;因此,ROWS(Data)-ROW(A1) 1的结果是从C1到C7的7、6、5、4、3、2和1,用作INDEX函数的行参数,在Data区域中获得相应的值。

使用数组公式。

选择单元格区域C1:C7,输入数组公式:

=索引(数据,行(数据)-行(间接(“1:”行(数据)))1,1)

结果如下图所示:

行(间接(“1:”行(数据)))生成数组{ 1;2;3;4;5;6;7},和row(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函数与间接函数结合使用,在没有硬编码的情况下更加灵活。

更多资讯
游戏推荐
更多+