分享

多行多列转成单列你已经会了,那反过来你还会吗?

 EXCEL应用之家 2022-06-08 发布于上海


送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

【置顶公众号】或者【设为星标】及时接收更新不迷路



小伙伴们好,以前我们曾经给大家介绍过多种方法来将一个多行多列的区域转换成一个单列。朋友们都还记得都有哪些方法吗?

今天要向大家介绍的的逆向的操作,即如何用公式将单列转换成一个多行多列的区域。话不多说,请看题目。



思考十秒钟,朋友们都有哪些好答案呢?


01

处理这样的题目,肯定要和INT函数和MOD函数打交道。



在单元格D2中输入公式“=IF(MOD(COLUMN(),2),OFFSET($B$1,INT((COLUMN()-4)/2)*5+MOD(ROW(A2)-2,5)+1,0),OFFSET($A$1,INT((COLUMN()-3)/2)*5+MOD(ROW(A2)-2,5)+1,0))”,并向下向右拖曳即可。

思路:

  • 这是一个简单IF公式,根据条件判断的结果,分别执行不同的OFFSET函数。下面我们仅仅只针对第一个OFFSET函数做一个详细的说明

  • INT((COLUMN()-4)/2)*5部分,它的作用就是让其结果以5的倍数出现,这样就可以实现向右拖动时,可以抓取到正确的数值

  • MOD(ROW(A2)-2,5)+1部分,分别返回1-5这几个数字

  • 以上两部分相加就是OFFSET函数向下移动的量。在D列时,其结果是0+{1,2,3,4,5},结果是1,2,3,4,5;在F列时,其结果是5+{1,2,3,4,5},结果是6,7,8,9,10。后面列的处理方式相同

  • 第二个OFFSET函数的逻辑是相同的


02

下面这个公式则是利用的INDIRECT函数。



在单元格D2中输入公式“=INDIRECT(ADDRESS((INT(COLUMN(A1)/2+0.5))*5-4+ROW(A1),MOD(COLUMN(B1),2)+1))”,并向下向右拖曳即可。

朋友们,有了上面的例子,这个公式你们能够自己解析明白吗?


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多