这个需求是一位在当前抗疫一线的朋友提出的,和各位分享一下。

需求情况

因为众所周知的原因,他每天都需要为照顾的小区居民购买、运送生活物资。小区居民通过表单的形式提交自己每日的需求,最终汇总到一张excel表里,如下图:

每一行就是一户居民当日需要采购的物资

物资的价格在另外一张名叫“价格”的表当中如下:

这位朋友需要做的就是把每一户要采购的物资总金额计算出来,然后再进行后面的工作。

解决思路

大致思索一番,其实这个问题可以有多个办法来解决。

方法一:excel函数

这个办法有点繁琐,但是简单有效。

以第一户为例,把总金额计算在I2单元格,公式为:

=IF(E2="/",0,1)*价格!$A$3+IF(F2="/",0,1)*价格!$B$3+IF(G2="/",0,1)*价格!$C$3+IF(H2="/",0,1)*价格!$D$3

公式里的IF函数的作用是,对每项物资进行判断,等于“/”的就为0,不等的就为1,然后再和价格相乘,最后加总求和。

然后再向下拖即可。

方法二:sumproduct函数

这个方法和上面的思路一样,但是公式更简化。

还是以第一户为例,把总金额计算在K2单元格,公式为

=SUMPRODUCT(--(E2:H2<>"/"),价格!$A$3:价格!$D$3)

SUMPRODUCT()函数的作用就是乘积汇总,–(E2:H2<>”/”)表示筛选不等于“/”的项目,标记为1;等于“/”的项目,标记为0;然后再和对应的价格相乘,最后汇总。

然后再向下拖即可。

方法三:VBA

思路基本一致,使用更加灵活,一键完成到位。

为了方便,就直接调用方法二中的SUMPRODUCT()函数。

Sub caijia1()
Range("Q2", "Q10").ClearContents
j = [a2].End(xlDown).Row
For i = 2 To j
    Range("M" & i).Value = Evaluate("SUMPRODUCT(--(E" & i & ":H" & i & "<>""/""),价格!$A$3:价格!$D$3)")    
Next
End Sub

这样的好处是不用再手动的输入函数,然后再往下拖。只需要一键即可完成计算,即使是数据有增加、或者减少,VBA都可以自动识别,省心省力。

暂时就想到这么多。如果你也有好的办法,欢迎告诉我!

相关阅读:Excel VBA 实例(25) – 班级随机点名并播放
Excel VBA 实例(24) – 新股(债)中签一键批量查询
Excel VBA 实例(23) – 一键批量提取word表格内容
Excel VBA 实例(22) – 一键筛选其他工作表或工作簿的数据

欢迎交流!

excel如何快速汇总多个类别的总和?的更多相关文章

  1. Excel 批量快速合并相同的单元格:数据透视表、宏代码、分类汇总

    Excel 批量快速合并相同的单元格   在制作Excel表格的时候,为了使得自己制作的报表更加简洁明了,方便查阅,经常需要合并很多相同的单元格,如果有几千几万条记录需要合并的话,真的会让人发疯.怎样 ...

  2. ASP.NET导出excel表方法汇总

    asp.net里导出excel表方法汇总  1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName) ...

  3. Excel如何快速统计一列中相同数值出现的个数--数据透视表

    excel如何快速统计一列中相同数值出现的个数_百度经验 --这里介绍了两种解决方式,用第一种https://jingyan.baidu.com/article/9113f81b2c16822b321 ...

  4. 可视化设计,类Excel的快速开发平台

    活字格Web应用生成器,是可视化设计,类Excel的快速开发平台,接下来给大家介绍如何体现这些特点. 一.可视化设计 网页系统的开发,包含UI设计+代码编写的工作,最终形成网页系统.这要求系统开发人员 ...

  5. 用EXCEL做快速傅立葉轉換_FFT in Excel

    转载来自:http://yufan-fansbook.blogspot.tw/2013/09/excel-fft-fast-fourier-transform02.html [Excel]-用EXCE ...

  6. Oracle导入excel数据快速方法

    Oracle导入excel数据快速方法 使用PLSQL  Developer工具,这个可是大名鼎鼎的Oracle  DBA最常使用的工具.    在单个文件不大的情况下(少于100000行),并且目的 ...

  7. 使用excel进行数据挖掘(3)----类别检測

    使用excel进行数据挖掘(3)----类别检測 在配置环境后,能够使用excel进行数据挖掘. 环境配置问题可參阅: http://blog.csdn.net/xinxing__8185/artic ...

  8. excel如何快速选中某个区域

    一.问题 excel如何快速选中某个区域 二.解决 如图:要选中A1-D12的区域,可以选择用鼠标,单数数据量多的时候就比较麻烦,可以用下面这种方式.

  9. Oracle导入excel数据方法汇总[转]

    摘要:在程序编制过程和数据汇总交换过程中,经常会碰到需要将其他人员在office办公环境下编制的文件数据内容导入oracle中的情况.目前程序开发者经常使用的方法有如下几种:1,使用oracle提供的 ...

随机推荐

  1. 循序渐进VUE+Element 前端应用开发(2)--- Vuex中的API、Store和View的使用

    在我们开发Vue应用的时候,很多时候需要记录一些变量的内容,这些可以用来做界面状态的承载,也可以作为页面间交换数据的处理,处理这些内容可以归为Vuex的状态控制.例如我们往往前端需要访问后端数据,一般 ...

  2. Charles截获iPhone网络请求

    Charles介绍:Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,有时为了调试与服务器端的网络通讯协议,常常需要服务端原因一起调试.有了Charles客户端人员自娱自乐了,想怎 ...

  3. [Android应用开发] 02.界面展现和文件权限

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  4. 【补充说明】Gauge框架在JS中的简单应用

    这里做一个总结 由于公司架构要用node来替代Java的部分服务,所以就研究了这个自动化测试框架:它可以很方便的测试我们的接口,而且还能使用断言[assert]来判断是否是我们预期的结果. 但是呢,由 ...

  5. 小心 HttpClient 中的 FormUrlEncodeContent 的 bug

    小心 HttpClient 中的 FormUrlEncodeContent 的 bug Intro 最近发现活动室预约项目里的上传图片有时候会有问题,周末找时间测试了一下,发现小图片的上传没问题,大图 ...

  6. 当微信小程序遇到云开发,再加上一个类似 ColorUI 的模板,人人都能做小程序了

    作为一个 Java 程序员,早就想尝试一把微信小程序,但是一直苦于没有想法,再加上做一个漂亮的页面实在不太擅长. 由于自己比较喜欢历史,经常看历史方面的书.在一次梳理中国现有的朝代时,突然想到,要是可 ...

  7. 收藏!如何有效实施devops?

    当今IT行业的竞争日益激烈,各家公司都在寻找优化软件研发过程的方法,因为交付比对手更具竞争力的产品已经越发成为一件成本高昂的事情.这也是DevOps发挥作用的地方,因为它可以在工程管理的各个方面提供帮 ...

  8. Java实现 LeetCode 434 字符串中的单词数

    434. 字符串中的单词数 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my nam ...

  9. Java实现蓝桥杯VIP算法训练 预测身高

    试题 算法训练 预测身高 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述: 生理卫生老师在课堂上娓娓道来: 你能看见你未来的样子吗?显然不能.但你能预测自己成年后的身高,有公式: 男 ...

  10. Java实现填符号凑算式

    匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: 1 2 3 4 ...