1.OFFSET函数

Offset是Excel中的函数,在Excel中,OFFSET函数的功能为以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值#VALUE!。

函数语法

OFFSET(reference,rows,cols,height,width)

Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值#VALUE!。

Rows相对于偏移量参照系的左上角单元格,上(下)偏移的行数。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。

Cols 相对于偏移量参照系的左上角单元格,左(右)偏移的列数列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边)。

Height高度,即所要返回的引用区域的行数。Height 可以为负,-x表示当前行向上的x行。

Width宽度,即所要返回的引用区域的列数。Width 可以为负,-x表示当前行向左的x行。

以上摘自百度百科,下面才是重点

简单来说,Offset功能可以理解为:“寻找指定位置”并返回该位置的值。(可以看作在玩飞行棋)

其中的参数reference —— 该次“寻找”的“起点”

rows —— 向下寻找的格数(值为负表示向上)

cols —— 向右寻找的格数(值为负表示向左)

height与width表示寻找的终点的大小(是一块区域(height行width列) or 是一个单元格)

2.举例

1. 寻找单元格

目的:让E8单元格显示北京市在19年5月的CPI,即B4中的值

函数:E8中使用函数——Offset(A1,3,1);

过程:以A1为起点,先向下走3格到达A4,再向右走1格到达目的地B4。返回B4的值,E8被赋值为101.8.

拓展:在下拉,右拉之后,我们发现——在这种情况下,使用“E8=offset(A1,3,1)”与使用"E8=B4"的效果是一样的(实现了矩阵的复制),那么我们使用这个函数的必要性在哪呢?  

所以,我如果再提出一个问题:让这个矩阵实现如下图所示的转置(此时"E8=B4"就不管用了)

对于这个问题,我们分2步来进行分析求解

  • 在进行下拉操作时,如何将起点右边的数据放在终点的下方?如图中如何将北京,天津,河北竖着放?

  1. 在说明这个操作之前,我们先了解——当我们进行所谓的“下拉”,“右拉”操作时,对于新增单元格来说,它们的函数是怎样变化的。

从上图中可以发现——“下拉”时,offset函数中的参数中,对于单个的数值(如3,1)是不变的,而对于坐标(字母与数字的组合,如A1)—— 下拉时,坐标的行标(A1中“1”→“2”)增加,列标不变;右拉时,坐标的列数(A1中"A"→"B")增加,行标不变。

2. 在了解了“下拉”的变化后,我们再来看所要达到的目的——A1右方数据放于A1下方位置。对此,我们可以让下拉时使得“行的变化”转化成“列的变化”,即使得“E8的‘下’一个新增单元格”   对应   “A1的‘右’一个单元格”。

要完成上述操作:首先我们需要“固定起点”。因此我们使用“$”符号,其表示绝对引用,当进行上下拉或左右拉时,$后的字母或数字保持不变。因此offset的第一个参数(起点坐标)固定为A1————Offset($A$1,...);

那再来看看我们的目的:“行转竖”

相当于——当下拉使得函数中的行标增加(12→...)时,函数中的offset中的单次右移量cols随之增加。

因此,我们使用ROW()函数来反应列标的变化,并将它放在offset的cols位置来让cols随之增加。

Offset($A$1,0,row(A1)-1)。

【还不懂的看这里:

其次,我们需要:每次E8向下拉一下,E9数值来源(E9中offset的终点)相对于E8数值来源(A1)来说,向下移动0格,向左移动一格。所以需要在E8的函数中便表明,一旦下拉(某一坐标的行标变化)就要同时使得offset中右移的格数加一(cols+1)。因此对于E8的Offset的第二,三个参数(下移,右移格数)————Offset($A$1,0,row(A1)-1); row()是一个函数,其功能为返回括号内左边的行数,例如row(A4) = 4; row(A2) = 2; row(B5) = 5;使用该函数的作用就是 当我们下拉时A1中的1会递增,我们借用这个递增的数,实现cols+1的目的。】

最后,对于Offset后两个参数,由于我们移动的是单元格,所以不需要给值,其默认为1,1。效果如下:

起点A1右方数据放于E8下方:在E8中写入函数——Offset($A$1,0,row(A1)-1);

  • 在进行右拉操作时,如何将起点下方的数据放在终点的右方?如图中如何将2019年7月,2019年6月,...横着放?

有了上方“横转竖”的基础,我们再来看“竖转行”的函数。首先我们尝试就Offset($A$1,0,row(A1)-1)函数向右拉,看看会出现什么情况。

可以发现,右拉之后的单元格中所有的内容的都与A1相同。这是由于当我们右拉时,只有row(A1)中的A(列数)递增,然而人家row函数只返回行数“1”,傻眼了吧?!就是说到头来,里面什么都没变,当然都与A1一样.

那再来看看我们的目的:“竖转行”

相当于——当右拉使得函数中的列标增加(AB→...)时,函数中的offset中的单次下移量rows随之增加。

因此,我们使用COLUMN()函数来反应列标的变化,并将它放在offset的rows位置来让rows随之增加。

Offset($A$1,COLUMN(A1)-1,row(A1)-1)。

实现转置:Offset($A$1,COLUMN(A1)-1,row(A1)-1)

Excel中OFFSET函数(一)——“实现矩阵转置”相关推荐

  1. Excel中offset函数的使用方法

    Excel中offset函数的使用方法听语音 你还在为Excel中offset函数的使用方法而苦恼吗,今天小编教你Excel中offset函数的使用方法,让你告别Excel中offset函数的使用方法 ...

  2. 二级计算机的office用到哪些函数,计算机二级MS office excel中所用函数整理

    <计算机二级MS office excel中所用函数整理>由会员分享,可在线阅读,更多相关<计算机二级MS office excel中所用函数整理(11页珍藏版)>请在人人文库 ...

  3. Excel的Offset函数详解

    大家好,我是永不止步的老牛 今天我们来了解下Excel的Offset函数的实用用法 Offset函数的语法是: Offset(reference, rows, cols, [height], [wid ...

  4. excel的if函数中android,excel中if函数嵌套式使用教程

    exce表格数据统计函数的示例 函数统计数据步骤1:每个函数均有三个参数:database.field 和 criteria.这些参数指向函数所使用的工作表区域. 函数统计数据步骤2:除了GETPIV ...

  5. EXCEL中SUMIF函数介绍

    在EXCEL中SUMIF函数是一个常用的汇总函数,下面来介绍一下EXCEL中的SUMIF函数的使用方法. 下图是介绍该函数的简单数据数据: 此函数可以进行判定,当某数据项满足特定的条件时,将特定的数据 ...

  6. 【图文】Excel中vlookup函数的使用方法

    今天统计数据,用到了Excel中vlookup函数,第一次使用当然少不了百度,经过反复研究后,算是解决了问题,现整理成文档. 一.实现效果 Sheet1   Sheet2       注:上图中she ...

  7. Excel中Sumproduct函数的使用方法

    1.sumproduct函数的含义 1 1.Sumproduct函数的适用范围,在给定的几组数组中,然后把数组间对应的元素相乘,最后返回乘积之和. 从字面上可以看出,sumproduct有两个英文单词 ...

  8. Excel中vlookup函数的使用方法

    http://candy36.blog.163.com/blog/static/13089096200872933710998/ 想当年,Excel只学了个基本,现在才发现,其实其功能非常强大,只是还 ...

  9. 计算机中函数counta表示,excel中counta函数的使用方法

    你还在为Excel中counta函数的使用方法而苦恼吗,今天小编教你Excel中counta函数的使用方法,今天,学习啦小编就教大家在counta函数的使用方法. Excel的counta函数的使用方 ...

最新文章

  1. 雷军写代码水平如何?
  2. 每日一皮:举一反三,这么聪明的客户可不多见了...
  3. C语言 显示对象地址
  4. mysql 5.7 centos 7_CentOS 7 下 MySQL 5.7 的安装与配置
  5. 你必须知道的CSS盒模型,面试建议
  6. 2018阿里编程测验题:最短汉密尔顿回路
  7. struts启动过滤器异常_SpringCloud Gateway高阶之全局异常处理
  8. liunx 环境-配置docker阿里云镜像加速
  9. 测试的第二重境界:站在Bug之上
  10. 整洁数据 —tidytext(一)
  11. word导入文献-mendeley
  12. cnn程序流程图_GitHub - suqcnn/vue: vue源码逐行注释分析+40多m的vue源码程序流程图思维导图 (diff部分待后续更新)...
  13. 安卓system镜像分区_安卓9.0 VIVO X23手机解锁方案
  14. 安装2000服务器显示文件挂起,MS sql server 2000安装中的提示挂起的解决方案。
  15. Liquibase修改表字段
  16. 自建自用的微信推送服务
  17. Linux操作命令分类详解 - 目录文件(二)
  18. scala either_使用Either和Option处理功能错误
  19. 做人不能太“广州有线”了
  20. SAP那些事-职业篇-23-我有个梦想:做一个不加班的项目

热门文章

  1. 医用耗材的定义和类型-医疗院内SPD系统
  2. 关于c语言的教学方法,浅谈C语言实例教学方法
  3. 萤石三款摄像机采集数据及保存处理
  4. 美国大学计算机专业录取条件,美国大学CS计算机专业条件是什么呢?
  5. 信捷xd5接线图_信捷XD5E系列以太网通讯型PLC
  6. 事情没那么难,只是少个人逼你
  7. HTML <dt> 标签
  8. 使用unetbootin免格式化制作CentOS安装u盘以及提前修改grub.cfg防止安装出现“dracut: ”
  9. 【软件推荐】Animcraft3.1版本发布!它会是解放动画师的效率神器吗?
  10. 红外远程抄表无线 远程智能读表 国网电表非侵入式采集