【发布时间】:2014-08-26 23:14:07
【问题描述】:
Microsoft Excel 中是否有一个公式可以引用单元格作为参数并返回合并为一个的单元格的数量?例如,如果我合并了 3 个单元格,则公式为该单元格返回 3;如果我合并 2 × 4 个单元格区域,公式返回 8,依此类推……
【问题讨论】:
标签: excel excel-formula
Microsoft Excel 中是否有一个公式可以引用单元格作为参数并返回合并为一个的单元格的数量?例如,如果我合并了 3 个单元格,则公式为该单元格返回 3;如果我合并 2 × 4 个单元格区域,公式返回 8,依此类推……
【问题讨论】:
标签: excel excel-formula
考虑一下这个小UDF(用户定义函数):
Public Function MergeSize(r As Range) As Long
MergeSize = r(1).MergeArea.Cells.Count
End Function
如果 UDF 返回 1, 单元格独立!
用户定义函数 (UDF) 非常易于安装和使用:
如果您保存工作簿,UDF 将与它一起保存。 如果您使用的是 2003 年以后的 Excel 版本,则必须保存 文件为 .xlsm 而不是 .xlsx
要删除 UDF:
要使用 Excel 中的 UDF:
=合并大小(A1)
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
关于 UDF 的细节:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
必须启用宏才能正常工作!
【讨论】:
Excel 没有内置这样的功能,但编写一个很容易。
Function mergedcells(rng As Range) As Integer
mergedcells = rng.MergeArea.Cells.Count
End Function
【讨论】:
如果您在左侧(或下方)的列中有数据,则使用偏移函数可能会有所帮助,此公式计算距合并单元格一定距离的填充单元格的数量。
试试下面的 =COUNTA(OFFSET('[合并单元格范围],0,-1))
-1 将计数向左移动一列 如果有数据低于结尾将是 ,1,0)
如果周围只有空白单元格,请尝试公式
=COUNTBLANK(OFFSET('[合并单元格范围],0,-1))
如果混合了空单元格和填充单元格,则将公式一起添加
【讨论】: