玩转Excel单元格
2015-04-29大江东去
大江东去
单元格是Microsoft Excel /WPS表格中使用的术语,它是表格中行与列的交叉部分,是组成表格的最小单位,可拆分或者合并,单个数据的输入和修改都是在单元格中进行的。用好单元格,对工作效率的提升可不是一点点。
解决合并单元格的赋值问题
工作表中的B、C、D、J、L、M等列都有一些合并的单元格(如图1),现需要将B5:O35的数据读入数组Arr,希望合并单元格的数组数据是合并单元格的值,而不是空值。麻烦的是,现在并不允许更改表格结构(涉及多部门的使用),自然也就无法对已合并的单元格进行拆分,该如何对这些单元格进行赋值呢?
利用VBA代码可以解决这一问题,按下“Alt+F11”组合键,打开Microsoft Visual Basic for Applications编辑器窗口,依次选择“插入/模块”,在右侧窗格插入一个空白模块,在这里手工输入或粘贴如下代码(如图2)。
上图代码中的“B37:O67”位置可以根据实际情况进行设置,如果代码检查无误,请选择“文件/关闭并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”组合键,打开“宏”对话框,运行宏即可(如图3)。
巧妙提取不对应单元格的数据
由于工作的原因,从单位的人事管理系统导出了各位同事的原始数据(如图4),其中包含姓名、身份证号、公积金基数、社保基数等信息,现在需要将其中的“公积金基数”和“社保基数”两项数据提取到一个名为“最终目标”的工作表中,手工操作显然是相当麻烦,此时可以考虑利用公式解决这一问题。
选定B2单元格,在编辑框输入或粘贴公式“=SUBSTITUTE(VLOOKUP(B$1&"*",INDIRECT($A2&"!a:a"),1,),B$1&":",)”,执行之后可以得到“8546”的数据,向右、向下拖拽填充柄,很快可以得到数据(如图5)。