浅谈Excel中的“合并单元格”

简介:
      前注:这一现象是同事发现的,我稍加深入了一下。
        现象重现步骤如下:
         第一步:在A1:C4区域分别输入数字。实际区域可自己选定,数字也可根据自己的喜好来输。
         第二步:选中A1:A4区域,单击“开始”标签“对齐方式”功能区中的“合并居中”命令按钮,在弹出的对话框中单击“确定”按钮完成单元格的合并。
 
        上面两步是一个正常的单元格合并步骤,没有任何问题。最终效果为A1:A4区域合并为一个单元格,并且里面的数值是之前A1单元格中的数值100。
 
         第三步:继续刚才的操作,使合并后的A1单元格呈选中状态,单击“格式刷”按钮,然后用鼠标拖动选中B1:B4区域,使B1:B4区域套用A1单元格的格式,即合并单元格的状态。
 
        最终效果见上图,从上图中看不出任何异样,但再观察状态栏你就能够发现问题所在了。
        同样还是选中B1单元格,观察状态栏可以看到计数为4,求和为100,即与未合并前的结果是一样的。
        从上图中我们发现了什么?虽然B1:B4单元格合并了,但并不是像我们正常合并情况下的只能保留合并区域左上角单元格中的数值,而是所有的数值都会被保留。
 
         验证:下面我们来验证一下数据是否真的被保留,在A6单元格中输入“=A2”,B6单元格中输入“=B2”,最终的结果如下图所示,可以看到A2的值为0,即为空,B2的原始数据得以保留。
         猜测:Excel是如何处理合并单元格的
        经过上面的一些测试,初步猜测Excel合并单元格操作实际上是执行了几个步骤,猜测如下:
        1.将合并区域左上角单元格的数据暂存
        2.清空合并区域所有单元格中的数据
        3.将选中区域进行合并
        4.在合并区域中填上之前暂存的左上角单元格的数据
 
         Excel的特性?
        为什么通过格式刷刷出来的“合并单元格”,被合并单元格的所有数据都会被保留呢?大家都知道格式刷本身是用来“刷”格式的,只能用来“复制”格式,而无法执行数据的删除操作。而使用格式刷刷合并单元格的格式时,只“复制了格式”,而其中的删除数据的工作没有被执行。因为删除数据本身并不属于“格式”范畴,所以导致上面提到的问题。
        如果是Excel本身的特性,则我们可以利用这一特性进行一些数据的隐藏,想要查看真实的数据也很简单,使用单元格引用或是取消区域的合并即可。
 
         假想:
        既然通过格式刷来实现单元格合并时可以实现数据的保留,则说明Excel本身是能够实现合并单元格并保留数据的,希望后续Excel可以提供是否保留所有数据的选项。




     本文转自windyli 51CTO博客,原文链接:http://blog.51cto.com/windyli/302006,如需转载请自行联系原作者





相关文章
excel中同一单元格内容分隔到不同的单元格
excel中同一单元格内容分隔到不同的单元格
excel中同一单元格内容分隔到不同的单元格
|
BI 索引 Python
python报表自动化系列 - 译码:与Excel单元格索引对应的十进制数坐标
python报表自动化系列 - 译码:与Excel单元格索引对应的十进制数坐标
230 1
|
Python
使用OpenPyXL库实现Excel单元格其他对齐方式设置
本文介绍了如何使用Python的`openpyxl`库设置Excel单元格中的文本对齐方式,包括文本旋转、换行、自动调整大小和缩进等,通过具体示例代码展示了每种对齐方式的应用方法,适合需要频繁操作Excel文件的用户学习参考。
773 85
使用OpenPyXL库实现Excel单元格其他对齐方式设置
|
BI 索引 Python
python报表自动化系列 - Excel单元格(Cell)索引范围对应的所有单元格
python报表自动化系列 - Excel单元格(Cell)索引范围对应的所有单元格
214 0
|
开发工具 开发者
Excel 2016 VBA 提取单元格的中文字符
Excel 2016 VBA 提取单元格的中文字符
346 1
Excel如何使用VBA操作引用其它工作簿中的单元格
Excel引用其它工作簿中的单元格的值及使用VBA操作
Excel 下拉选择列表的单元格
Excel 下拉选择列表的单元格
164 0
|
JavaScript
【sgExcelGrid】自定义组件:简单模拟Excel表格拖拽、选中单元格、横行、纵列、拖拽圈选等操作
【sgExcelGrid】自定义组件:简单模拟Excel表格拖拽、选中单元格、横行、纵列、拖拽圈选等操作
【sgExcelGrid】自定义组件:简单模拟Excel表格拖拽、选中单元格、横行、纵列、拖拽圈选等操作
|
Java Apache 索引
POI操作大全(动态合并单元格,为单元格生成一个自定义的数据显示格式,自定义公式计算结果生成,读取excel,word文件在生成图片,word指定位置生成图片)
POI操作大全(动态合并单元格,为单元格生成一个自定义的数据显示格式,自定义公式计算结果生成,读取excel,word文件在生成图片,word指定位置生成图片)
2385 0