Excel indirect 函数(1) - 将一列数据排列成m行*n列

今天要讲到一个新函数 indirect,这个函数也是神级函数之一,因为太强大,我决定为它的每种应用场景开一个案例专讲。

我用的版本是 Excel 2016,其他版本的界面可能略有不同。

案例:

怎么把 A 列数据快速填充到黄色区域?按先行后列的习惯排列?

脑洞版解决方案请参考 Excel快速将一列数据排列成m行*n列

解决方案:

在黄色区域的第一行第一列输入以下公式,向右向下拖动:

=IF(COLUMN(A1)<5,INDIRECT('A'&4*ROW(A1)-4+COLUMN(A1))&'','')

公式详解:

1. INDIRECT(ref_text,[a1])

1) indirect 函数引用的是文本参数,加“”和不加“”的用法不同,比如下图

  • =INDIRECT('a1'):文本引用,引用 A1 单元格所在的文本,即 b1

  • =INDIRECT(a1):地址引用, A1 单元格内的 b1 被当作地址,该地址的内容为 ”excel'

* 如果各位看官有任何一门计算机语言的编程基础,就比较容易理解了,加''相当于返回文本值,不加相当于调用参数值。

2) [a1] 参数可选,为True或省略时,是常规的A1引用样式,为FALSE时,则是R1C1引用样式。

3) 回到本案例,INDIRECT('A'&4*ROW(A1)-4+COLUMN(A1))&'':

  • “4*ROW(A1)-4+COLUMN(A1)”部分的计算结果为 1,公式向下复制时,ROW(A1) 依次变为ROW(A2)、ROW(A3)…,计算结果分别为 5、9、13、17、21,就生成了一个步长为4的自然数序列。重要的是,COLUMN(A1)、COLUMN(A2)…的值在向下复制时,不变化!

  • 公式向右复制时,COLUMN(A1)依次变为COLUMN(B1)、COLUMN(C1)…,计算结果分别为2、3、4,就生成了一个步长为1的自然数序列。而这时,ROW(A1)、ROW(B1)…的值在向右复制时,不变化!

  • &'':是为了让公式向下拖动到黄色区域以下时,返回空值,如果不加这段,空值区域就会显示 0。下图是不加这段代码的拖动效果

4) IF(COLUMN(A1)<5,..,''):

  • 这段代码是为了控制向右拖动最多 4 列,即不超过黄色区域,超过就返回空值。

  • 如果不加这段代码,向右拖动就会一直顺序显示数据列,就像下图这样

(0)

相关推荐

  • Execl--获取任意当前单元格的前2个单元格数据做运算

    2020-08-27 19:13:38 分类专栏: 办公软件 文章标签: 办公软件 excel 单前单元格数据 单前单元格位置 单前单元格前单元格数据 ---------------- 版权声明:本文 ...

  • 如何用公式将多列内容合并为一列

    送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 经常有朋友会私信我,问如何用公式将多列内容合并为一列内容.例如下面的例子. 相对来讲,使用公式会比较复杂,要用到 ...

  • 你还不会去重多列合并一列吗?快来看看这里吧!

    送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 小伙伴问了我这样一个问题:如何利用公式将下表中的多列合并为一列,而且要剔除重复值. 这个题目和我们之前的帖子如何 ...

  • 如何用公式将多列合并为一列

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! EXCEL函数总是可以给我们带来不断的惊喜.前一段时间,一位朋友问我了一个 ...

  • 你一定还不会跨工作表求和,快来这里看看吧!

    送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 有这样一个问题: 某品牌的店面在不同区域的销售情况如下表.这些店面分属于两个区域.每个门店表格的格式完全相同. ...

  • 解读分析多区域查找的难题

    说起查找 你可能想到我们最常用的 VLOOKUP或者INDEX+MATCH组合 基本可以解决大部分查询引用问题 当时有的时候由于数据布局问题,这个套路就搞不定了 今天的就是其中之一 对于新手这个使用函 ...

  • row和column的常规用法

    昨天说了row和column的基础知识,今天用2个例子来说明一下row和column的常规用法. 1.制作九九乘法表 在A1单元格中输入公式=COLUMN(A1)&"×"& ...

  • 分享几个有趣好玩的Excel公式~

    大家晚上好! 自动累计 在C2单元格输入,=SUM($B$2:B2),下拉公式,就会自动累计. 查找关键词 通过下方的公式,可以查找关键词 =LOOKUP(9^9,FIND($D$2:$D$5,A2) ...

  • Excel表格中的转置功能你用过吗?关键时候可帮大忙。

    我在平时工作中会用到Excel表格中的转置功能,一般的用法在选择性粘贴里面可以找到,我个人习惯用ctrl+alt+v来打开下图,它的作用是把列变为横,数据量小可以应付,但不能随心所欲,量大也吃不消.接 ...

  • VLOOKUP函数跟这个巧妙的辅助列,简直就是绝配,狂赞!

    与 30万 读者一起学Excel VIP学员的问题,根据随访次数,重复生成内容,效果如右边所示. 在A2输入1,A3输入公式,累计随访次数,公式一定要多下拉一个单元格.每一步都有深意,等下结合VLOO ...