多表同时操作
在Excel中可以同时操作多个表,也就是下方所选择的各个视图表。
其方法是按住ctrl键,鼠标单机选择需要一起操作的表,比如Sheet1和Sheet1,此时他们将临时处于同一个组状态,你在编辑Sheet1的单元格A1时,Sheet2中的单元格A1就会得到同样的操作。
跨表取数
表2中单元格的数据来自表1中的单元格,两个单元格可以处于不同的位置。
同一个工作簿
公式:工作簿名!单元格索引
比如:Sheet1!A2
举例:在Sheet1中单元格B2的位置,为该单元格添加函数 =Sheet2!B2,此时,编辑Sheet2中的B2单元格,他的数据就会同步出现在Sheet1中的单元格B2中。
比如有Sheet2,内容如下
在Sheet1中这样设置即可
=Sheet2!B2
优点:该方法不仅可以在同一个Excel的不同Sheet(工作簿)中,也可以跨不同文件的excel,但是写法会有所不同。
跨工作簿
公式: =[工作簿名]表名!单元格索引
缺点:不方便对单元格的内容进行截取。比如表A1内容是”张三22岁“,而B表B2中希望只留下"张三",那么就没法这样用。
Vlookup函数的方式也可以
比如我在Sheet2中有这样的表
我在Sheet1中B2单元格写这样的公式
=VLOOKUP($A2,Sheet2!$A2:B2,2,FALSE)
说明一下,vlookup函数我看了很久才大概get到,后来试着试着才发现,他的第一个参数比如$A2是查找的区域的索引,比如你想找B2的”公务员A级“,那么不是通过B2这种列索引找的,而是通过行比较,比如A2中的name是否一致,当Sheet1中的A2(name)和Sheet2中的A2(name)一致,那就说明找到了这一行,此时第二个参数中的区域选择以及第三个参数的第几列的选择就说得通了。
字符串截取
Excel中的vlookup函数可以很简单,但也可以很复杂,有很多的使用组合方式。举个例子,比如提取数字(这是我在网上找的一个例子,想学习可以参考:http://www.seotcs.com/word/4384.html)
首先给出数组公式,在B2输入以下数组,按<Ctrl+Shift+Enter>组合键结束输入。
=VLOOKUP(9E+307,MID(A2,MIN(IF(ISNUMBER(--MID(A2,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99))*{1,1},2)
复杂有他的好处,也有他的坏处,这种东西对于大多数人而言,未免太难使用,和当年正则圈里的笑话一样:”你有一个问题,研究之后你发现他可以用正则表达式去解决,现在你有两个问题了“。常听同事说一句话:”做东西应该是简单的,如果你觉得你做的东西很复杂,那一定是哪里不对,需要重新思考如何去做“。
现在我感觉脑细胞不够用了,希望简单一点
我在Sheet2有这样的表格
只要我在Sheet1的B2中写下这样的表达式就可以截取前三位
=LEFT(VLOOKUP($A2,Sheet2!$A2:B2,2,FALSE),3)
仅保留数字的话还不会弄
(理直气壮)
通过截取长度搜索长度判断是否是数字以及截取长度这种是可以做到,但是太也复杂了,不想学。
WPS中的Excel在设置单元格格式的时候是可以设置”仅保留数值“,不过属于收费功能。
而office中的似乎支持正则表达式 Reg。。。不过电脑没装,暂时也没想着用,懒得搞了先这样,下回吧。
后记
通篇我觉得需要记住的重点也就两个
1、公式可以组合
2、[excel文件名]工作簿名!索引起始:索引截止
,这个公式中的方括号、感叹号和冒号的使用才是重点。