打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel公式练习11:颠倒单元格区域中的数据

 

本次的练习是:使用公式将单元格区域中的数据颠倒过来。例如,下图所示工作表中的单元格区域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)返回单元格区域的行数,本例中为7ROW(A1)返回单元格所在行的行号,在单元格C1中返回1,那么7-1 1的结果为7C2中返回2,那么7-2 1的结果为6……C7中返回7,那么7-7 1的结果为1;因此ROWS(Data)-ROW(A1) 1的结果在C1C7中依次为7654321,分别作为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函数使用,不用硬编码,更灵活。

  • INDEX函数的用法详见《Excel函数学习2INDEX函数》,INDIRECT函数的用法详见《Excel函数学习14INDIRECT函数》。


下期预告:

Excel公式练习12:获取单元格中字符串的最后一个单词

使用公式来获取字符串的最后一个单词。如下图所示,提取列A单元格中字符串的最后一个单词,将其放置到列C相应的单元格中。

 


本文属原创文章,转载请联系我(xhdsxfjy@163.com)或者注明出处。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Excel公式练习8:获取单元格区域中的不重复值
多行多列筛选不重复的值(EXCEL)
比VLOOKUP厉害的函数公式,出列!!
在和值表中查找号码
excel排序求和:如何统计前几名数据合计 上篇
公式函数14202班第一课时查找引用函数学习暨课后作业解题思路小结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服