昨天介绍了从二维表向多维表取数的四种方法,今天我们反过来取数,也用四种方法。 介绍多种方法的目的是让大家了解各种常用函数的嵌套,熟练使用常用函数的嵌套,在实际工作中会带来很大的便利。 什么样的函数设置是最好的效果?自然是用一个公式实现所有要处理的单元格。 题目: 项目 | 1月 | 1月 | 2月 | 2月 | 3月 | 3月 | 预算 | 实际 | 预算 | 实际 | 预算 | 实际 | 产量 | 100 | 99 | 122 | 120 | 133 | 132 |
从上表取数: | 1月 | 2月 | 3月 | 预算 | 100 | 122 | 133 | 实际 | 99 | 120 | 132 |
l
方法1 我们分析取数的规律: 预算数是从B6单元格,分别右移动1、3、5列 设置公式:=(COLUMN(c1)-2)*2-1,往右拉得到135 实际书是从B6单元格,分别右移2、4、6列 设置公式:=(COLUMN(c1)-2)*2,往右拉得到246 我们可以对预算和实际分别设置offset函数来实现取数 C11设置公式:=OFFSET($B$6,0,(COLUMN()-2)*2-1,) C12设置公式:=OFFSET($B$6,0,(COLUMN()-2)*2,) 也可以把两个公式合在一起,因为预算是-1,实际是不用减1 设置判断=B11="预算",则预算行得到的结果是-1,实际行得到的是-0 C11设置公式:=OFFSET($B$6,0,(COLUMN()-2)*2-($B11="预算"),) 再把公式填充到取值的所有单元格即可。 l
方法2 设置特殊样式的合并单元格: 表头先设置为如下样式 1月 | 1月 | 2月 | 2月 | 3月 | 3月 | 再横向合并2个空的单元格 |
| 选定合并好的单元格,点格式刷,刷月份区域得到如下效果 |
| 1月 | 2月 | 3月 | | | | | | | |
利用多条件求和可以轻松实现: =SUMPRODUCT(($C$4H$4=C$9)*($C$5H$5=$B10)*$C$6H$6) l
方法3 我们分析,如果能按月份指定区域,比如 1月份指定区域C5:D6,2月份指定区域E5:F6,3月指定区域G5:H6 则用Hlookup很轻松就可以实现查找了 起点单元格我们用B5,分别右移1、3、5列为新区域起点 设置公式:=(COLUMN(c1)-2)*2-1,往右拉得到135 则用offset($B$5,0,(COLUMN(c1)-2)*2-1,2,2)就可以得到区域了 最终的公式: =HLOOKUP($B10,OFFSET($B$5,0,(COLUMN(C1)-2)*2-1,2,2),2,0) l
方法4 先按方法2对表头进行处理。 能用sumproduct实现的,我们知道可以用sum数组公式同样可以: =SUM(($C$4H$4=C$9)*($C$5H$5=$B10)*$C$6H$6) 输入上面的公式后,按ctrl+shift+enter完成数组公式,再将公式填充所有取数区域。 |