我们爱民主、我们爱自由、我们也爱财富!我们尊孔子、我们尊老子、我们同尊管子!

安德管仲网管仲论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫一扫 分享朋友圈

已有 2286 人浏览分享

开启左侧

从二维表取数的嵌套演练

[复制链接]
2286 0

Ø
从二维表取数的嵌套演练

本文有三个目的:1、解决二维表取数;2、介绍函数的嵌套使用;3、让有学习需求的朋友找得老师。

先来看题目

已知数据如下:

 B10123
预算100122133
实际99120132

要求得到的效果如下:

项目(B4123
预算实际预算实际预算实际
产量10099122120133132

着色区域设置一个函数来实现,下面介绍四种做法:

l
方法1

设置公式=OFFSET($B$10,IF(C5="预算",1,2),INT((COLUMN(C4)-1)/2),)

先来个简单的判断IF(C5="预算",1,2),如果是预算,则返回1,如否返回2

CD列取得是基础表第一列,EF列取的是基础表第二列,GH列取的是基础表第三列:

设置公式INT((COLUMN(C4)-1)/2),第三列C6,返回1,第四列(D列)公式取整还是1

往下推理,第五列(E)列返回2,第六列也返回的是2

l
方法2

设置特殊样式的合并单元格:
表头先设置为如下样式
112233
再横向合并2个空的单元格
选定合并好的单元格,点格式刷,刷月份区域得到如下效果
123

再用HLOOKUP函数

公式=HLOOKUP(--SUBSTITUTE(C4,"","",1),$C$10E$12,MATCH(C5,$B$10B$12,0),0)

利用match函数

用字符替换函数把“月”替换为空,得到的是文本,所以加--变数值

公式:--SUBSTITUTE(C4,"","",1)完成了我们第一步的转换,可以从基础表中找到相符的月份。

Hlookup在第几行取数,我们利用了基础表有“预算”和“实际”字段,用match函数即可

公式:MATCH(C5,$B$10B$12,0)实现的效果是:预算返回2,实际返回3

l
方法3

设置表头样式如方法2,再做如下处理:

再用SUMPRODUCT函数

=SUMPRODUCT(($C$10E$10=--SUBSTITUTE(C4,"","",1))*($B$11B$12=C5)*$C$11E$12)

第一个条件,月份要和表头月份相符

第二个条件,预算或者实际

sumproduct针对两个条件同时满足的进行求和,即可完成取数

l
方法4

组合公式:

=OFFSET($B$10,MATCH(C5,$B$11B$12,0),INT(COLUMN()-1)/2)

我们分析取数的规律,是从B10单元格,分别下移1,2,1,2,1,2

右移的列数分别是1,1,2,2,3,3

所以我们设置了两个函数分别实现

管行数的公式:MATCH(C5,$B$11B$12,0)

管列数的公式:INT(COLUMN()-1)/2

最后用offset,以锁定B10作为起点,即可完成取数。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

53

粉丝

2233

主题
精彩推荐
热门资讯
网友晒图
图文推荐

小黑屋|Archiver|安德管仲网 ( 粤ICP备20002412号 )

GMT+8, 2024-12-22 09:48 , Processed in 0.058354 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.