我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
有时需要在Excel公式中用到合并单元格内所包含的行数或列数。例如下图为几类产品的数量统计,其中每种大类的产品都包含若干小类,需要在合并的单元格中得到各种小类的品种数及数量合计。由于合并单元格与各个小类单元格相对应,且各小类数量不等,因而有必要统计合并单元格内的行数。
用自定义函数可以方便地得到合并单元格内的行数或列数,方法如下。
按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在代码窗口中输入下列代码:
Function MergeRowsCount(Rng As Range) As Long
MergeRowsCount = Rng.MergeArea.Rows.Count
End Function
这样就定义了一个自定义函数MergeRowsCount,它可以获取某个合并单元格内所包含的行数。上图中,E5单元格为5行合并的单元格,下面的公式可以返回数值5:
=MergeRowsCount(E6)
由于本例中E列或F列合并单元格内的行数不等,不能用拖动的方法填充公式,用下面的方法来批量输入公式:
选择E3:E12区域,在编辑栏中输入公式:
=COUNTA(OFFSET(D3,,,MergeRowsCount(E3)))
然后按Ctrl+Enter即可将公式输入到E列各合并单元格,该公式返回合并单元格对应C列的小类产品品种统计。用同样的方法将下面的公式输入到F列,在各合并单元格中即可得到小类产品的数量合计:
=SUM(OFFSET(D3,,,MergeRowsCount(E3)))
要获取合并单元格内所包含的列数,可用下面的代码:
Function MergeColumnsCount(Rng As Range) As Long
MergeRowsCount = Rng.MergeArea.Columns.Count
End Function
相关文章
我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
在工作中,可能许多朋友都会碰到一个情况,那就是工作簿和工作表数据的合并操作。如何将上百个工作簿快速合并到一个表格中,许多朋友可能会觉得不可思议。今天我们就来教大家学习一......
2023-01-08
今天在这里为你分享5个Excel文本函数,这些拆分和组合函数,你一定会用上的。①LEFT函数公式:=LEFT(A2,1)在Excel表格中,需要想要拆分汉字,想从哪里开始就从那哪里开始。首先选定单元格......
2023-01-08
相信大家也和我一样,才开始看到Excel可以当做翻译软件的时候会很好奇,这究竟是怎样做到的?其实,这个方法并不是很难,它是由一个函数公式而制作出来的,好了,首先我们一起来看看成......
2023-01-08
函数可以说是所用快捷方法中最为简单的一种方法,为什么很多人认为函数用起来很难了?主要是因为它拥有很长的函数公式,记不住。其实不管是学Excel函数,还是学习其他的一些快捷方法......
2023-01-08