浅谈Excel中的“合并单元格”
2010-10-01 21:15:58 来源:WEB开发网前注:这一现象是同事发现的,我稍加深入了一下。
现象重现步骤如下:
第一步:在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可以提供是否保留所有数据的选项。
出处http://windyli.blog.51cto.com/1300305/302006
更多精彩
赞助商链接