1职场实例
小伙伴们大家好,今天我们来学习一个Excel经典的工作场景:如何根据单元格的填充底色,,快速对数据源的数据汇总求和?这个问题我们可以理解为是条件求和,但是条件比较特殊,是单元格的具体格式:“填充颜色”,为了获取这个条件,我们不得不用上Excel中非常少用但却非常实用的宏表类函数。
如下图所示:
A1:D4是一张二维表,代表每位员工不同季度的销量数据。销量数据部分的单元格被财务人员全部标注上了填充底色,有红色、黄色、绿色。现在我们想要在C7单元格快速汇总数据源中黄色底色单元格的销量和,即:
80+34+45+25=184。
2解题思路
今天这个根据填充颜色作为求和条件快速汇总求和的问题,如果单纯用条件求和函数SUMIF函数的话,是很难办到的,Excel单元格的某些信息如行高、数字格式、背景色等,无法用通常的公式与函数获取。这时候就要用到宏表函数GET.CELL。
GET.CELL函数需要有两个参数,其中参数2是需要获取信息的单元格引用,省略的话表示当前单元格;参数1是一个“序号”形式的整数,取值为1到66,用于控制获取的是何种信息。例如,获取单元格B2序号为63的信息:
=GET.CELL(63,B2)
就可以返回B2单元格填充底色的唯一的代码数值。
宏表函数不能直接在单元格公式中使用,须要借助“定位名称”的方式植入,然后在单元格公式中使用名称。
下面我们就来看一下具体操作方法。
首先我们来定义名称。
我们点击F2单元格后,点击【公式-名称管理器】,在弹出的【名称管理器】对话框中点击【新建】,继续弹出【新建名称】的对话框,我们在可以在【名称】处自定义一个名称,名称可以是字母或者汉字,切记不要使用数字。本例中我们输入的是“clo”。
在【引用位置】处输入宏表函数:
=get.cell(63,Excel情报局!B2)
点击【确定】后【关闭】名称对话框即可。
其中第一参数“63”这个代码代表的是获取单元格的底色信息,这里需要注意的是第二参数,也就是引用的当前工作表中的B2单元格,要使用相对引用,将绝对值符号$去掉。为后续的填充公式做好铺垫工作。
因为我们对F2单元格定服务器托管网义好了名称,即获取了B2单元格的填充底色信息,所以我们可以在F2单元格输入定义好的名称公式:
=col
敲击回车后,即可在F2单元格获取数据源B2单元格的填充底色信息代码“10”,即绿色填充底色的代码用“10”表示。
由于在定义名称时我们对宏表函数引用的单元格B2采取的是相对引用,所以可以采取填充公式的方法获取各个相对位置单元格的填充颜色信息。
我们向下填充公式至F4,并向右填充公式至H列。就在F2:H4区域得到了数据源B2:D4区域所有单元格相对应的填充颜色代码了。具体效果如下图所示:
我们发现,黄色填充颜色单元格的代码都是“6”。所以我们可以使用“6”作为SUMIF函数的条件,进行条件求和了。
我们在C7单元格输入函数公式:
=SUMIF(F2:H4,”6″,B2:D4)
求和区域是B2:D4,条件区域是F2:H4,即条件区域F2:H4满足条件是“6”的情况下我们就对数据源B2:D4中对应的单元格数值求和。
如果我们改变了数据源的底色信息,想要获取C7单元格实时的汇总结果,可以通过快服务器托管网捷键Ctrl+Alt+F9键进行数据刷新,类似于数据透视表的“刷新”思维。具体效果如下图所示:
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 推荐:体系化学习Java(Java面试专题) 文章目录 一、简介 二、自动扩容机制 三、add方法的源码分析 四、addAll方…