用函数、VBA、方方格子统计次数,到底哪家强?第一名是……
最近小王的公司变成了个线上销售公司,每天下午还要发一堆的快递。 几个同事负责发货的工作,为了区分发货状态,使用了不同颜色标记对应的单元格。 标记颜色当然不只是为了查看,肯定还是要统计个数 的~ 小王每天发完货要清点发货状态和库存,以便第二天的销售工作。 也就是要统计出未发货、已发未到和已到货的订单个数。 小王的做法是按颜色而进行筛选,然后全选,统计出结果。 可如果不止两个颜色,有四、五、六、七、八……的话…… 老板:小王,帮我统计这全部颜色(十几个) 单元格的个数。 (内心 OS:这到底是谁做的表格!!!!给我滚出来!!) ❶ 她按颜色逐个筛选,然后逐个颜色统计其单元格的个数,有多少个颜色,该操作就要重复多少次。 先别崩溃,这里要给你推荐几种「按颜色进行统计个数」 的方法,看完后,老板给你搞再多的颜色也不怕! ▋方法一:宏表函数
如果可以将颜色信息转变为数字信息,然后统计某数字出现的次数,这不就容易多了嘛。 例如本例中无颜色是 0,黄色是 6,绿色是 50。 ❶ 选中 F2 单元格(需要统计颜色区域的第一行右侧单元格)。 ❷ 选择【公式】选项卡-【名称管理器】-「新建名称」; 向下填充;
接下来计算下 0,6,50 这三个数字出现的次数就可以了~ ❷ 使用 Countif 函数,判断 F 列中各颜色对应的数字出现的次数。 宏表函数是早期低版本 Excel 中使用的,不能直接用在单元格中,只能通过定义名称来使用。 现在 Excel 中仍然可以使用,不过很多功能已经被 VBA 所取代。 那么,我们来看看 VBA 又是怎么统计颜色个数的呢? 既然没有现成的统计颜色的函数,那我们就用 VBA 创造一个! 函数返回的结果,是统计范围内与指示单元格颜色相同的单元格个数 。 创建函数: ❷ 在工程窗口中选中「本文档」-【右键】-【插入】-【模块】。 Function Countc(i As Range, j As Range)
'新建一个自定义函数,函数名为 Countc(参数 1 是一个区域 i,参数 2 也是一个区域 j)
Dim n As Integer '定义一个变量 n,变量 n 为数值
Dim k As Range '定义一个变量 k,变量 k 为区域
For Each k In i '遍历区域 i 的所有单元格
If k.Interior.Color = j.Interior.Color Then
'如果区域 i 的第 k 个单元格颜色与区域 j 相同
n = n + 1
'用于计数的 n 加 1
End If
Next
Countc = n '将 n 复制给 Countc,作为这个函数的输出结果
End Function
▲ 左右滑动查看
到这里就创建好自定义函数了,那么自定义函数要怎么使用呢? VBA 自定义函数创建之后,以后要按颜色统计单元格的个数时,只要像平常使用函数一样使用即可。 (需要注意的是,自定义函数只在当前工作簿中使用,其他未创建自定义函数的工作簿,并不能使用。) 恭喜你看到这里,我要祭出压箱底的宝物——方方格子 啦~ 方方格子按颜色统计单元格个数,只要点击几下鼠标就可以了 ,帮你从函数中解放出来! ❷ 选择【方方格子】选项卡-「数据分析」-【统计与分析】-【颜色统计】。 ❸ 在弹出的窗口中,背景颜色栏选择「全部颜色」,统计方式选择「求个数」。 ❶ 最好的做法其实是列一列,用来记录订单的状态,如果一开始有规范的做表习惯,这个案例可能也不能存在了呢! ❷ 使用 VBA 的时候需要注意将文件保存为 XLSM 格式 ,不然 VBA 代码等于没有保存,这样代码就白写了。 ❸ 方方格子除了可以统计个数,还可以统计合计数 ,而且方法相当友好,推荐使用~ 下次要统计各种颜色单元格的个数,是不是也游刃有余了呢~
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报 。