用vlookup做的WPS表格发给对方之后部分数据从证正数变成负数了,这是什么问题?

[TOC] > Mon Apr 26 :41 GMT+0800 (GMT+08:00) 涉及按条件提取数据记录的需求,本质上与筛选相似,只是筛选不能将结果主动移到目标区域而已。VLOOK这类函数呢能用但不适合重复记录,为此 Excel 上出现了很多的数组函数,这类函数是很好用的,而 WPS 则貌似还没有这类函数出现,WPS JS宏可以让大家多了个临时解决方案(专业版可以用 VBA)。 我们来理一下设计思路: * 源数据,应该是一个单元格区域: * 行数 * 列数 * 起始坐标,终点坐标。 * 条件所在列——区域内偏移量(实际上可以要求提供具体全局列号,但不太人性化)。 * 条件,条件并不好设计: * 不同类型的数据,条件的设计逻辑不同。我们不能去猜用户会给我们什么样的条件,为此我们直接将条件参数设计为一个 callback `(function)` ,然后通过 eval 方法执行。 * 好处是,我们不必为条件这个不可预测的参数发愁。坏处嘛就是对使用者的编程技能有要求。 * 条件满足时要提取的内容所在的列(可以是整行——整条记录、某一列……),怎么处理设计这个逻辑: * 当符合条件时,数据所在行的行号是确定的: * 如果提供的是数字——构建单元格对象,并读取内容,最后输出到目标单元格。 * 其实,设计一个callback 是正解。 * 因为不确定,我们将它设计为数组参数,[1,2,3,5,...]或者“all”。 * 输出结果到,只需提供第一单元格即可。 因为不是原生的数组函数(我们设计这个工具其实就是一个能返回数组的函数),因此我们输出的结果需要直接写入单元格区域,当条件更换时要清空这片区域,然后接着输出新结果。这就涉及到危险操作了,一不小心可能就把用户数据给删了。因此,这个可能一遍又一遍重复清空、写入的逻辑要设计好。 * 因为没有存储机制,我们并不知道上一次输出的结果占了多大的单元格区域。在清空的时候就不好操作了。不清空又不行,新旧记录可能会混在一起。用插入单元格的做法可能会改变用户表格结构。总之,为了规避这个问题带来的后果,我们需要提前告知用户,使用这个工具时,输出结果的单元格区域内要留足空间(右侧和下方都要避开)。 * 加入存储机制,即每次输出后占用了多大空间都记录下来,作为下一次运行时清空单元格区域的依据。好是好,但这充满变数,不可取。没有这样一个地方——可以完美地保存这个数据,只能作罢…… > 确实不知道存哪里,关键是不会被删除和移位。 * 那我们只能硬着头皮硬来了,只能提示用户远离目标区域(留足空间)。

  将Excel中一个表格的数据导入到另一个表格的方法

  如下是一个Excel工作薄中的两张表,分别为Sheet1和Sheet2,下面分别以表1和表2来代替。我们要把表2中的语文成绩导入到表1中,但是从图中可以看出表1和表2名字并不一一对应

  选中表1,选中C2单元格,即语文项目中第一个要录入的成绩。选择“插入—函数”命令

  在“或选择类别”中选择“查找与引用”

  在对应的“选择函数”中选择“VLOOKUP”,点击确定

  在出现的“函数参数”面板点击第一个选项箭头处的按钮

  点击“张三”名字,即“A2”单元格,表示我们要查找“张三”的成绩,点击上面的按钮回到面板上

  点击第二个选项箭头处的按钮

  选中表2,同时选择A列和B列,然后点击上面的按钮

  因为在表2中语文成绩在第二列,所以第三项我们填入数字“2”

  第四项我们直接填入“0”即可,点击确定

  我们看到表1中张三的语文成绩出现了数值,该数值与表2相同

  选中C2单元格,用填充柄下拉,所有的语文成绩就从表2填入表1中去了

我要回帖

更多关于 vlookup匹配两个工作表 的文章

 

随机推荐