你好,游客 登录 注册 搜索
背景:
阅读新闻

用自定义函数获取合并单元格内的行数

[日期:2014-08-22] 来源:http://www.520sys.cn 作者:admin [字体: ]
  

    用自定义函数获取合并单元格内的行数

    有时需要在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

()
收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻      
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
热门评论