多维引用其实并不复杂,INDEX和OFFSET几个常用函数也能做出同样效果!

文摘   教育   2024-10-17 20:04   上海  




欢迎转发和点一下“看”,文末留言互动!

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





小伙伴们好,今天要和大家分享一道文本题目。通过这道题目,我们可以复习一下多个基础函数的基本操作和应用,这道题目做起来挺有意思的。

 

原题目是这样子的:





题目要求将左侧的源数据通过公式转换为右侧的格式。仔细看一下,这道题目和以前我们曾经做过的一类题目非常相似,即根据B列数量来重复显示A列数据。但由于这道题目中B列也是文本,这就需要我们动动脑筋了!

 

看看朋友们都能够写出多少答案吧!



01

INDEX函数巧妙转换数据格式


既然B列中都是文本,不能使用我们之前学过的方法,那我们就先把A、B两列的数据组合在一起吧。





在单元格D2中输入下列公式,三键回车并向下拖曳。

=INDEX($A$2:$A$4&TRANSPOSE($B$2:$B$5),INT((ROW(A1)-1)/4)+1,MOD((ROW(A1)-1),4)+1)

 

思路:

  • $A$2:$A$4&TRANSPOSE($B$2:$B$5)部分,其实是构成了一个3行4列的一个矩阵。在这个矩阵中包含了最终结果的每一种可能性

  • INT((ROW(A1)-1)/4)+1部分,返回1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4这样的序列

  • MOD((ROW(A1)-1),4)+1部分,返回1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4这样的序列

  • 最后,利用INDEX来返回最终答案就好啦

 


02

OFFSET函数巧妙转换数据格式


能用INDEX函数,自然也能用OFFSET函数。





在单元格D2中输入下列公式,并向下拖曳即可。

=OFFSET($A$1,INT((ROW(A1)-1)/4)+1,)&OFFSET($B$1,MOD((ROW(A1)-1),4)+1,)

 

这个公式比较简单,就不再过多解释了。朋友们有问题可以私信我哦!

 


03

另一个角度的OFFSET函数公式


这个同样也是OFFSET函数。





选中单元格区域D2:D13并输入公式“”即可。

=T(OFFSET($A$1,INT((ROW($1:$12)-1)/4)+1,))&T(OFFSET($B$1,MOD((ROW($1:$12)-1),4)+1,))

 

这里OFFSET函数的第二个参数有改变,当OFFSET函数完成偏移后生成了多维数组,需要用T函数来降维。完成后直接合并即可。



04

多维引用


最后,我们来看看多维引用是如何来解决这个问题的。





在单元格D2中输入下列公式,三键回车并向下拖曳即可。($a:$z))>

=INDEX($A$2:$A$4,SMALL(((COUNTA($B:$B)-1)<COLUMN($A:$Z))/1%+ROW($B$2:$B$5)-1,ROW(A1)))&INDEX($B$2:$B$5,MOD((ROW(A1)-1),4)+1)

 

由于这个公式比较复杂,朋友们一时不能理解也没有关系,可以参看相关的帖子。如有问题,也可以私信给我留言哦!


本期内容练习文件提取方式:

链接:https://pan.baidu.com/s/1Y06Cy0GhH-LOhL8KS6zgkQ?pwd=4ifc

提取码:4ifc



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


-END-


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

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


我就知道你“在看”


推荐阅读

Excel应用之家
介绍、交流EXCEL各项功能在工作中的实际应用; 为你答疑解惑;分享各类图表、表格和模板;提供有偿代工服务。
 最新文章