博客

  • Word表格中的数据处理技巧

    大家都知道,Excel的数据处理功能那是非常的强大,什么排序、筛选、分类统计都不在话下,函数公式、透视表等功能更是让人神往!可是,写报告时,我将数据表格已经录入到Word中了,再将表格弄到Excel中处理有点太麻烦,在Word中可以对表格数据进行简单的处理么?

    01 Word表格数据排序
    如下图,在文档中列出了一个商品销售统计表格,发现销售额未排序,现在想对表格以销售额从大到小降序排列商品,在Word中应该怎么做?

    操作步骤:
    选中整个表格,单击【表格工具】-【布局】-【排序】命令:

    在弹出的【排序】对话框中,将“销售额”设置为主要关键字,排序类型为“数字”,排序方式为降序:

    在Word中,可以按笔划、数字、日期和拼音等四种不同类型进行排序;最多可以设置3个关键字。本例最后排序效果如下图:

    02 Word表格中的“公式”
    还是刚才的商品销售表,现在想增加一个“利润”列,假设利润率按5%来计算,那每种商品的利润就是:销售额*5%,既然数据已经在Word中了,像这样的简单计算就没有必要再麻烦Excel或计算器啦!

    首先,我们需要先来了解一下Word表格的命名规则,其实,在Word中,表格中的每一个单元格,同样可以像在Excel中那样用列标加行号的方式来表示,比如第一列第1行的“序号”这个单元格,可以理解为A1单元格:

    需要注意的是,如果表格中存在合并单元格,那这个合并单元格会以合并前的单元格区域的左上角单元格的位置来表示。
    好,有这个知识做铺垫,现在就可以直接在Word表格中来输入【公式】啦!
    将光标定位到芹菜行的利润单元格,单击【表格工具】-【布局】选项卡中的【公式】命令,弹出公式对话框:

    在【公式】文本框中输入“D2*0.05”,单击确定,该商品的利润值即被自动计算出来。由于Word表格中单元格的表示方式始终为绝对引用,因此需要对其他单元格逐个输入或批量粘贴后再逐个修改。
    将第1行的利润值选中复制,并粘贴到下面的空单元格中:

    按下【Alt+F9】将公式转为域代码形式,将其中的“D2”按位置序列依次作修改:

    修改完成后,再按【Alt+F9】组合键将域代码转换为显示结果,完成计算,如果计算结果没有变化,请选中该列,直接按【F9】刷新:

    03 Word表格中的函数
    Word表格不仅可以输入简单的公式,还可以使用常用的函数对数据进行统计,比如,现在要对上表中的销售额和利润额进行汇总,可以这样做:

    定位么销售额一定最下面的空白单元格,单击【表格工具】-【布局】选项卡中的【公式】命令,弹出公式对话框:

    在【粘贴函数】下拉列表中选择SUM函数,再回到【公式】文本框中,输入参数“ABOVE”,单击【确定】命令按钮,即可得到销售额的汇总结果。
    复制销售额汇总结果,粘贴到利润汇总单元格,直接按【F9】刷新即可得到利润汇总。这是为什么呢?

    细心的小伙伴肯定发现了,这里的SUM函数使用的是ABOVE参数,而不是单元格引用。ABOVE表达的含义是对当前单元格上方的包含数字的连续单元格进行统计,因此,将此公式复制到其他单元格后,直接F9刷新就可以得到正确的统计结果。
    最后,需要说明的是,除了SUM函数外,Word还可以使用AVERAGE、COUNT、MAX、MIN等函数,大家可以在【粘贴函数】下拉列表中查看。但是,Word毕竟是处理文字排版的工具,所以数据处理并不是其长项,如果数据没有处理好,建议还是先在Excel等软件中先处理统计好后再粘贴到Word中进行排版。

    本文转载来源 “ ExcelHome ”,转载请注明出处,感谢您的尊重!
  • Excel高阶图表,效果真棒~~

    说起图形,大家不知道想到了什么,嘿嘿,芬子写的教程一般都是图表,所以这里的图形也跟图表脱不了关系(当然还是希望自己写点别的,哈哈!)。那具体是怎样改变视界呢?恩,接下来也许会有几个教程,都会告诉你,图形与图表到底能擦出怎样的火花。
    好像废话又说了不少,看图表效果吧!

    看到这样一个圆形百分比,你会想到是什么做的么?
    饼图?NO,雷达图?NO。
    那是?
    不要以为是圆的就是饼图哦,想知道怎么做的,往下看。
    这里的数据很简单,就是一个完成率和一个目标值:

    选中数据插入柱形图,你没听错,就是柱形图,如图:

    插入后效果不是我们想要的,我们需要选中图表,然后“切换行列”让两个数据形成两个系列,如图:

    删除图表不需要的元素“图表标题”,“图表图例”,“网格线”,“横坐标轴”,选中后按DELETE键可以删除。
    选中图表纵坐标轴,右键“设置坐标轴格式”,设置坐标轴的最大值与最小值。

    设置完最大值最小值之后,可按DELETE键删除。
    选中数据系列,设置数据系列格式,如图:

    来看此时的效果:

    主角来了,插入一个圆形(记住,插入图形的时候不要选中图表),按住SHIFT键可以绘制正圆。然后设置图形格式,如图:

    选中绘制好圆形,按住CTRL键拖动再复制一个图形,然后设置大小与轮廓线条。
    两个图表进行对齐并组合(记得哦,是两个圆形都选中哦),如图:

    复制组合的图形,单击图表目标系列,粘贴,效果:

    再次选中组合图形中间的小圆设置填充颜色(组合好的图形,单击两次可以单独选中后进行设置),效果:

    同样的方式,将图形粘贴到完成率系列中,效果:

    额,这是什么呀,都变形了,怎么办?
    选中数据系列,设置填充格式,如图:

    为什么要使用层叠并缩放为1呢?
    因为我们的目标是1,然后我们想要这个形状以1进行缩放显示。
    设置后效果:

    这时候如果我们调整图表大小,圆形会变形,那怎么办?
    教大家个方法,在图表里面添加个系列,把新系列更改为“饼图”,然后设置饼图无填充无线条就好了。
    饼图会强制图形为正方形显示,所以不管你怎么拉大拉小,他都是正圆哦!
    好吧,送佛送到西,说说怎么加吧。
    选中图表右键“选择数据”,单击添加按钮,添加后更改图表类型为饼图,如图:

    添加好饼图后,你再去拉试试,是不是图形都是正圆的了。嘿嘿。

    本文转载来源 “ ExcelHome ”,转载请注明出处,感谢您的尊重!
  • 如何用盈亏图进行差异分析

    话说一图胜千言,在展示数据变化时,图表的视觉效果是远远超过苍白的数字的。
    咱们今天就说说如何用盈亏图进行差异分析。
    以下面这个模拟的销售数据表为例,B列和C列分别是13年和12年同期的销售数据,D列用来计算两组数据的差异情况。

    在这个表中,你能快速看出每个月的数据差异以及一年来的差异走势吗?
    接下来咱们就看看如何用图表来展示数据的差异:
    首先在E列建立一个辅助列,E2输入公式
    =D2
    向下复制公式。

    选中E列数据区域,按下图所示步骤设置条件格式:

    设置完毕后的样子:

    怎么样,比起左边的数字,右边的图表是不是更加一目了然呢?
    动手试试吧。

    提示:2007及以下版本无法实现哦

    本文转载来源 “ ExcelHome ”,转载请注明出处,感谢您的尊重!
  • 一份很牛很牛很牛的办公素材包

    下面分享几组办公素材包

    1、办公素材包之Excel篇

    链接: https://pan.baidu.com/s/1qNKjsLZjLkAMr2eRGnXBoA 提取码: fv9g 

    2、办公素材包之Word篇

    链接: https://pan.baidu.com/s/105ya7YFv4KgNPm_WAk_4rg 提取码: q5tj 

    3、办公素材包之PPT篇

    链接: https://pan.baidu.com/s/1usGdWf4OCQW_x3Q9spGXZA 提取码: 7xbv 

    4、一套价值8800元的excel教程

    链接: https://pan.baidu.com/s/1SZXkecdqAbqNP1X52ajB-Q 提取码: 7rug 

    5、office 软件包带破解工具

    Office 2010 简体中文专业增强版破解版(包含32位64位)
    链接: https://pan.baidu.com/s/1IytYP5FY6JvhWe583-E1Mg 提取码: fiir 
    cn_office_professional_plus_2013_x86_x64_dvd_1149708
    链接: https://pan.baidu.com/s/1gPErbWiLmSYO2TghY09grg 提取码: hhr7 

    重磅出击:30G+PPT模板资料包(链接 柒 天 有效,抓紧时间保存啦)

    链接: https://pan.baidu.com/s/1iAszKEgIv8VN6tok3Cm3fQ 提取码: i3eb

    30G+PPT模板资料包获取方式之贰,扫码关注公众号回复‘ 30GPPT ’ 即刻领取。

  • Excel中的条件汇总函数,看过这些你就懂

    IF函数
    对条件进行判断并返回指定内容。
    用法:
    =IF(判断条件,符合条件时返回的值,不符合条件时返回的值)
    如下图所示,使用IF函数来判断D列的成绩是否合格。
    =IF(D2>=60,"及格","不及格")

    用通俗的话描述就是:
    如果D2>=60,就返回“及格”,否则就返回“不及格”。

    SUMIF函数
    按指定条件求和。
    用法:
    =SUMIF(条件区域,指定的求和条件,求和的区域)
    如下图所示,使用SUMIF函数计算一班的总成绩:
    =SUMIF(D2:D5,F2,C2:C5)
     
    用通俗的话描述就是:
    如果D2:D5区域的班级等于F2单元格的“一班”,就对C2:C5单元格对应的区域求和。

    扩展用法:
    如果使用下面这种写法,就是对条件区域求和:
    =SUMIF(条件区域,指定的求和条件)
    如下图所示,使用SUMIF函数计算C2:C5单元格区域大于60的成绩总和。
    =SUMIF(C2:C5,">60")
    这里省略SUMIF函数第三参数,表示对C2:C5单元格区域大于60的数值求和。

    COUNTIF函数
    统计符合条件的个数。
    用法:
    =COUNTIF(条件区域,指定的条件)
    如下图所示,使用COUNTIF函数计算C2:C5单元格区域大于60的个数。
    =COUNTIF(C2:C5,">60")

    SUMIFS函数
    完成多个指定条件的求和计算。
    用法:
    =SUMIFS(求和区域,条件区域1,求和条件1,条件区域2,求和条件2……)
    注意哦,求和区域可是要写在最开始的位置。
    如下图所示,使用SUMIFS函数计算一班、男性的总成绩。
    =SUMIFS(D2:D5,C2:C5,"男",E2:E5,"一班")
    C2:C5,"男" 和 E2:E5,"一班"是两个条件对,如果两个条件同时满足,就对D2:D5单元格对应的数值进行求和。

    COUNTIFS函数
    用于统计符合多个条件的个数。
    用法:
    =COUNTIFS(条件区域1,指定条件1,条件区域2,指定条件2……)
    如下图所示,使用COUTNIFS函数计算一班、男性的人数。
    =COUNTIFS(C2:C5,"男",E2:E5,"一班")
    这里的参数设置和SUMIFS函数的参数设置是不是很相似啊,仅仅是少了一个求和区域,也就是只统计符合多个条件的个数了。

    AVERAGEIF函数和AVERAGEIFS函数
    AVERAGEIF,作用是根据指定的条件计算平均数。
    AVERAGEIFS,作用是根据指定的多个条件计算平均数。
    两个函数的用法与SUMIF、SUMIFS的用法相同。
    如下图所示,计算乙班的平均分。
    =AVERAGEIF(E2:E5,"一班",D2:D5)

    这里的参数设置,和SUMIF函数的参数是一模一样的。
    如果E2:E5单元格区域等于“一班”,就计算D2:D5区域中,与之对应的算术平均值。
    同样,如果要计算一班男性的平均分,可以使用AVERAGEIFS函数:
    =AVERAGEIFS(D2:D5,E2:E5,"一班",C2:C5,"男")
    这里的参数设置,就是和SUMIFS函数一样的,计算平均值的区域在第一个参数位置,后面就是成对的“区域/条件”。

    IFS函数和MINIFS、MAXIFS
    IF家族的新成员,目前只能在Office365版本以及 Excel Online、手机版Excel和平板电脑版Excel可以使用。
    比如说要判断D2单元格的成绩:
    =IFS(D2>89,"优秀",D2>79,"良好",D2>69,"一般",D2>59,"合格",1=1,"不合格")
    只要一个IFS函数,参数直接就是一组一组的判断条件和相应要返回的结果。
    多条件判断,再也不用晕头转向了。
    按条件计算最高、最低值也变得非常容易,如下面的公式:
    =MINIFS(G3:G12,D3:D12,"乙班",F3:F12,"女")

    就是计算符合以下两个条件:
    D3:D12单元格区域的班组条件等于“乙班”
    F3:F12单元格区域的性别条件等于“女”
    统计这两个条件同时符合时,对应的G3:G12单元格区域中的最小值。

    本文转载来源 “ ExcelHome ”,转载请注明出处,感谢您的尊重!
  • 使用nvm安装/管理多个nodejs版本

    前言

    • 安装多版本之前,请先去控制面板卸载本机的nodejs

    下载nvm-windows

    • 去github下载nvm-windows最新版,如下图,目前(2019年6月14日)最新版是1.1.7

    • 下载后安装,注意安装路径不要有空格

    • 安装完成后执行nvm version输出版本号说明安装成功

    使用nvm-windows

    • nvm list查看已经安装的nodejs版本,目前我已经安装了三个,其中正在使用11.15.0

    • nvm list available查看可以安装的版本

    • nvm install 10.6.0安装指定版本nodejs,我这里演示安装10.6.0 、 11.15.0 、 12.4.0  等3个版本

    如果你的网络不够给力,就要设置代理,如下图找到nvm安装目录,

    编辑settings.txt文件添加

    node_mirror: https://npm.taobao.org/mirrors/node/
    npm_mirror: https://npm.taobao.org/mirrors/npm/

     

    • nvm use 11.15.0切换到指定版本,如下图

    • 此时我们的pc上已经安装了多个版本nodejs,使用nvm use 版本号随意切换版本

    • 注意:切换到另一版本后,原来用npm安装的全局依赖在新切换的版本上是用不了的

    比如:我在原来的版本用命令npm i -g ionic在全局安装了最新版ionic,切换nodejs版本后用不了,需要重新安装ionic,当然好处是可以安装其他版本的ionic,如npm i -g ionic@1.7.16 1.7.16是ionic1最新版本

    • nvm uninstall 10.6.0卸载指定版本,卸载前最好先切换到其他版本

    • 使用nvm查看帮助文档

    最后

    • 如果你想卸载nvm,请前往控制面板卸载

    • Mac可以使用nvm或者n进行nodejs多版本管理,听说n更好用点,请自行学习,注意:n不支持windows系统

    本文参考原创 简书·作者:小军617  板式更新,转载请注明出处,感谢您的尊重!
  • VUE 快速原型开发

    你可以使用 vue serve 和 vue build 命令对单个 *.vue 文件进行快速原型开发,不过这需要先额外安装一个全局的扩展:

    npm install -g @vue/cli-service-global
    

    vue serve 的缺点就是它需要安装全局依赖,这使得它在不同机器上的一致性不能得到保证。因此这只适用于快速原型开发。

    vue serve

    Usage: serve [options] [entry]
    
    在开发环境模式下零配置为 .js 或 .vue 文件启动一个服务器
    
    
    Options:
    
      -o, --open  打开浏览器
      -c, --copy  将本地 URL 复制到剪切板
      -h, --help  输出用法信息
    

    你所需要的仅仅是一个 App.vue 文件:

    <template>
      <h1>Hello!</h1>
    </template>
    

    然后在这个 App.vue 文件所在的目录下运行:

    vue serve
    

    vue serve 使用了和 vue create 创建的项目相同的默认设置 (webpack、Babel、PostCSS 和 ESLint)。它会在当前目录自动推导入口文件——入口可以是 main.jsindex.jsApp.vue 或 app.vue 中的一个。你也可以显式地指定入口文件:

    vue serve MyComponent.vue
    

    如果需要,你还可以提供一个 index.htmlpackage.json、安装并使用本地依赖、甚至通过相应的配置文件配置 Babel、PostCSS 和 ESLint。

    vue build

    Usage: build [options] [entry]
    
    在生产环境模式下零配置构建一个 .js 或 .vue 文件
    
    
    Options:
    
      -t, --target <target>  构建目标 (app | lib | wc | wc-async, 默认值:app)
      -n, --name <name>      库的名字或 Web Components 组件的名字 (默认值:入口文件名)
      -d, --dest <dir>       输出目录 (默认值:dist)
      -h, --help             输出用法信息
    

    你也可以使用 vue build 将目标文件构建成一个生产环境的包并用来部署:

    vue build MyComponent.vue
    

    vue build 也提供了将组件构建成为一个库或一个 Web Components 组件的能力。

    本文原创发布Vue CLI ,转载请注明出处,感谢您的尊重!
  • VUE 介绍与安装

    Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供:

    • 通过 @vue/cli 搭建交互式的项目脚手架。
    • 通过 @vue/cli + @vue/cli-service-global 快速开始零配置原型开发。
    • 一个运行时依赖 (@vue/cli-service),该依赖:

      • 可升级;
      • 基于 webpack 构建,并带有合理的默认配置;
      • 可以通过项目内的配置文件进行配置;
      • 可以通过插件进行扩展。
    • 一个丰富的官方插件集合,集成了前端生态中最好的工具。
    • 一套完全图形化的创建和管理 Vue.js 项目的用户界面。

    Vue CLI 致力于将 Vue 生态中的工具基础标准化。它确保了各种构建工具能够基于智能的默认配置即可平稳衔接,这样你可以专注在撰写应用上,而不必花好几天去纠结配置的问题。与此同时,它也为每个工具提供了调整配置的灵活性,无需 eject。

    关于旧版本

    Vue CLI 的包名称由 vue-cli 改成了 @vue/cli。 如果你已经全局安装了旧版本的 vue-cli(1.x 或 2.x),你需要先通过 npm uninstall vue-cli -g 或 yarn global remove vue-cli 卸载它。

    Node 版本要求

    Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+)。你可以使用 nvm 或 nvm-windows在同一台电脑中管理多个 Node 版本。

    可以使用下列任一命令安装这个新的包:

    npm install -g @vue/cli
    # OR
    yarn global add @vue/cli
    

    安装之后,你就可以在命令行中访问 vue 命令。你可以通过简单运行 vue,看看是否展示出了一份所有可用命令的帮助信息,来验证它是否安装成功。

    你还可以用这个命令来检查其版本是否正确 (3.x):

    vue --version
  • 选取单元格区域十招,工作效率飞起来

    单元格区域选取,竟然有这么多种方法,你都造吗?
    要选取一个单元格区域,除了常规的鼠标拖选,还有多少其他的可行方法?
    如果有数万行数据要去选取,怎么操作最快?
    在包含隐藏行列的情况下如何仅对可见部分进行操作?
    多表区域如何选取?

    方法1  <Ctrl>键 (多重选取)
    按住<Ctrl>键然后用鼠标拖选区域,可以同时选中多个非连续的单元格区域。
    这样选定的多个非连续区域称之为【多重选定区域】,多重选定区域通常情况下不能进行整体的复制和剪切操作(同行同列的除外),但是可以进行数据输入、设置格式等基本操作。

    方法2  <Shift>键 (首尾范围选取)
    选取第一个单元格,然后按住<Shift>再选取第二个单元格,就可以选中以这两个单元格为首尾的矩形区域。
    例如要选取A1:A10000,可以先选中A1,再找到A10000单元格(寻找的过程中不要点选其他单元格),在按住<Shift>键的情况下去点击选中A10000单元格,就可以选中整个区域了。

    方法3  <F8>键(扩展模式)
    <F8>是一个开关键,按下以后进入【扩展模式】,此时按方向键可以向不同方向扩展当前所选区域。完成选区后再按<F8>恢复到普通模式。
    还有一种方法是使用<F8>与鼠标配合,类似于<Shift>键的作用:
    选取第一个单元格,然后按下<F8>,再选取第二个单元格,就可以选中以这两个单元格为首尾的矩形区域。完成后再按<F8>恢复普通模式。

    方法4  Ctrl+Shift+方向键 (边界扩展)
    如果选中的单元格和相邻单元格内有数据,则按下<Ctrl+Shift+方向键>后可以将当前选中的区域扩展到同一行或同一列中不间断的最后一个非空单元格。
    而如果选中的单元格邻侧是空单元格,则按下<Ctrl+Shift+方向键>后会将选区扩展到同一行或同一列的第一个非空单元格。
    如果整行或整列都是空单元格,会把选区扩展到这行或这列的首或尾(取决于方向键的方向)。
    这个功能常被用于大面积选取空白区域。

    方法5  <Shift+Home>键
    选中一个单元格,按下<Shift+Home>组合键,可以将选区扩展到这一行的第一个单元格(行首)。

    方法6  <Ctrl+Shift+Home>键
    选中一个单元格,按下<Ctrl+Shift+Home>组合键,可以将选区扩展到工作表最左上角的A1单元格(表首)。
    这个功能可以让你在表格中的任意位置直接向左上角框选到顶。

    方法7  <Ctrl+Shift+END>键
    选中一个单元格,再按下<Ctrl+Shift+End>组合键,就会以之前选中的那个单元格和这个工作表当中的所使用到的最右下角单元格为首尾位置,他们所包围的矩形区域就是新的选区。
    这其中【使用到】的单元格不仅仅指的是单元格里包含数据,也可以是设置过格式或其他操作,即使将单元格当中的数据删除或去除格式,Excel也会自动将此单元格识别为【已使用的】。
    结合方法6,如果在表格中随意选中一个单元格,先按<Ctrl+Shift+Home>,然后再按一次<Ctrl+Shift+End>,就可以把整个工作表中的使用范围给选中了。

    方法8  <Ctrl+A>键 (当前区域选取)
    <Ctrl+A>组合键可以选中活动单元格所在的【当前区域】。
    所谓【当前区域】,指的是当前单元格周围包含数据的连续相邻(包括斜角方向相邻)单元格的最大矩形范围。
    例如下面图中,选定单元格的直接相邻数据单元格是B和C,与B相邻的是A,与C相邻的是D、E,与E相邻的是F,所以最终选中的单元格范围是包含A~F在内的矩形区域。
    当前单元格没有相邻数据或再次按<Ctrl+A>就可以选中整个工作表。

    方法9  <ALT+;> 键 (选取可见单元格)
    按下<ALT+;>组合键可以在当前选定的区域中选中可见的单元格,排除其中的隐藏单元格。
    例如在下面左图中3~5行被隐藏了,按<ALT+;>组合键选定可见单元格后将单元格填充为橙色,在右图取消隐藏后可以发现3~5行没有受到填充颜色的操作影响。

    方法10  使用名称框 (直接定位)
    在【名称框】(位于编辑栏左侧)中直接输入需要选取的目标区域地址,然后回车,就可以直接选定此区域。
    例如前面提到的选中A1:A10000区域,就可以直接在名称框中输入地址A1:A10000以后回车来选中。

    方法11  使用F5键定位功能(条件定位)
    定位功能是十分有用的功能,它可以根据单元格的一些数据或格式的属性来有条件地选中这些单元格。
    按<F5>键或<Ctrl+G>组合键可以打开【定位】对话框,点击【定位条件】就可以在其中选择所需的目标条件。常用的条件包括【常量】、【公式】、【空值】和【可见单元格】等等。
    如果在使用定位功能前事先选定一个区域,那就会在这个区域内查找和选取符合条件的单元格,否则就会在整个工作表中进行查找。

    方法12 使用查找功能 (条件定位)
    查找功能可以弥补定位功能的一些局限性。
    按<Ctrl+F>可以打开【查找】对话框,点击【查找全部】按钮可以查找所有符合条件的单元格,在找到的目标列表里面按<Ctrl+A>就可以同时选定所有这些找到的单元格。
    查找的目标条件除了设定单元格的内容,还可以包括单元格格式。

    本文转载来源 “ ExcelHome ”,转载请注明出处,感谢您的尊重!
  • SUMPRODUCT函数详解

    今天和大家分享一个名字拖沓,但是应用非常广泛的函数——SUMPRODUCT。
    开门见山,咱们通过几个例子,一起来看下SUMPRODUCT具体能干什么样的工作。

    假设上面这张图,是某个公司工资发放的部分记录表,A列是工资发放的时间,B列是员工所属的部门,C列是员工姓名,D列是相关员工领取的工资金额。
    那么,问题来了:

    一,西门庆同志领取了几次工资?

    这是一个单条件计数的问题,通常我们使用COUNTIF函数,如果使用SUMPRODUCT函数,一般写成这样:
    =SUMPRODUCT((C2:C13="西门庆")*1)
    先判断C2:C13的值是否等于”西门庆”,相等则返回TRUE,不等则返回FALSE,由此建立一个有逻辑值构成的内存数组,SUMPRODUCT有一个特性,它会将非数值型的数组元素作为0处理,逻辑值自然是属于非数值型的数组元素,我们使用*1的方式,把逻辑值转化为数值,TRUE转化为1,FALSE转化为0,最后统计求和。

    二,西门庆同志一共领取了多少工资?

    这是一个单条件求和的问题,通常我们使用SUMIF函数,如果使用SUMPRODUCT函数,我们可以写成这样:
    =SUMPRODUCT((C2:C13="西门庆")*D2:D13)
    依然首先判断C2:C13的值是否等于”西门庆”,得到逻辑值FALSE或TRUE,再和D2:D13的值对应相乘,最后统计求和得出结果。
    看完了上面两个问题,有些表亲心里就嘀咕了,貌似SUMPRODUCT能干的事,SUMIF和COUNTIF也能做到,而且做的更好,那么还要SUMPRODUCT干啥?
    乡亲们呐,话不能这么说,SUMPRODUCT可是上得厅堂下得厨房,对工作环境不挑不拣,它对参数类型没有啥特别要求,COUNTIF和SUMIF就不同咧,他俩要求个别参数,必须是区域数组(Range),比如下面这两个问题,COUNTIF和SUMIF就犯难了。

    三,六月份财务部发放了几次工资?累计发放了多少?
    六月份财务部发放了几次工资,这是一个多条件计数的问题哈:
    第一个条件,发放工资的时间必须是六月份;
    第二个条件,发放工资的部门必须是财务部。
    如果使用多条件计数函数COUNTIFS,判断发放工资的时间是否属于六月份,会简单问题复杂化。
    而使用SUMPRODUCT函数,咱们可以简单利索的写成这样:
    =SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="财务部"))
    统计六月份财务部发放了多少工资?
    表亲们都晓得,这是一个常见的多条件求和问题。如果使用SUMIFS函数,判断发放工资的时间是否属于六月份,和COUNTIFS类似,也会简单问题复杂化。
    SUMPRODUCT跃然而至:
    =SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="财务部"),D2:D13)
    上面这个公式可以说是SUMPRODUCT多条件求和的典型用法啦,可以归纳为:
    =SUMPRODUCT((条件一)*(条件二)……,求和区域)

    四,六月份财务部和市场部合计发放了多少工资?
    通过上面第三个问题,表亲们已经晓得如何计算六月份财务部发了多少工资,那么六月份财务部和市场部合计发了多少工资,又当怎么计算呢?
    我们经常见有些表亲把公式写成这样:
    =SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="财务部")*D2:D13)+SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="市场部")*D2:D13)
    这些表亲们估计心想,不就是计算两个部门吗?甭说两个,二十个咱也能算,一个加一个,一直加到二十个,世上无难事,只怕有心人嘛……
    公式写的那么长,先不谈计算速度,首先它累手啊,其次万一写错了,要修改,那也是麻烦他妈哭麻烦——麻烦死了。
    其实我们可以写成这样:
    =SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13={"财务部","市场部"})*D2:D13)
     

    本文转载来源 “ ExcelHome ”,转载请注明出处,感谢您的尊重!