Excel 将A表的基础数据拼接到B表中来-三种方法: ctrl+回车, VLOOKUP()函数,宏
A表 基础信息表
B表 业务信息表
将a表中的基础数据 拼接到B表的后面,
应用场景是:
B表很多数据,很繁乱,名字不一定全,
A表也是比较多的行,B表乱:比如有8行有李晨的,却只有3行是范仲淹的,现在需要快速拼接:
方法一:不用函数,利用ctrl+Enter
xls表格 ctrl+D 和ctrl+Enter区别 --快速填充相同数据,同时填充多个不同数据 - 海蓝steven - 博客园
https://www.cnblogs.com/rogge7/p/8075115.html --利用这博文介绍
两个表的数据合并放在一个表
B 列当做姓名,C D 列当做B表的学科和分数。E F G列 当做A基础信息列。
A表复制过来的时候,要空出列,以便后面的数据可以接上B表的后面。【总的任务就是快速自动填 EFG列】
还有一点,两个表前面要加上一列 标志列。如上图A表的左边加上A标志服,B表的左边随便加点标志。
对B列进行排序,发现要向上填充数据,不太符合本实践要求。
改进:全选所有列,自定义排序:对E列做次排序
变成
按照博文说的,选择列,Ctrl+G 定位 选择 空值 在编辑栏中输入=上一个格子的地址,( 是上一个值的格子) 再按CTRL+Enter完成填充
这样就会自动往下填充了,整列完成,瞬间完成(我的几万行数据)。同时对多列是否可以操作,还没有试(后来试了,不可以)。
最后一步:把基础A表的数据删除:先将整个表的复制,到另一个新表格 粘贴为数值(不要带格式的)
对表的A列排序,把A列中有A字符的行全部删除(这是A表的基础数据),完成。
方法二:用函数 VLOOKUP
复制excel指定内容到另一个表格 -- 开工前先看此例子
https://www.kafan.cn/A/enoj498kvw.html
VLOOKUP(参数1,参数2,参数3,参数4)
参数2中数据区域,区域的第一列就是要查找的列,区域后面列是要返回的列,
在D1中输入公式回车,快速下拉填完整列的公式
发现有些数据找不到,明明在数据表 里面的。【奇怪的是,同一台车,有些行可以找到,有些行找不到,有空格?】
下面网上的说法:
原因有以下几个方面:
.字符串后面有空格。
.数据类型不匹配。虽然有些数字看起来都是一样的,但有的是数值型的,有的是文本型的,这二者是匹配不到一起的。
.有重复的数据。VLOOKUP只能查找到第一个数据,后面的重复数据是查找不到的。
但我数据没有空格,数值类型应该都是一样的,我觉得第3点 网友说得不对。
我仔细分析,发现我写的是: =VLOOKUP(A1,车辆列表基础信息!B2:E1575,2,0) 猜想是区域数据,没有绝对引用造成的。
点击参数2 ,按F4 绝对引用。变成:=VLOOKUP(A1,车辆列表基础信息!$B$2:$E$1575,2,0) 问题解决。
-- 后来发现,函数用第一种写法,的第四个参数 把0改成1 模糊查找,也可以找出值来。
--拓展:VLOOKUP 是纵向查找, HLOOKUP 横行查找。 微软的excel ,点击函数帮助的时候,会跳转到此函数的中文教学视频。而wps没有教学视频。
方法三:利用宏,
wps需要安装 vbs模块, 微软自带的宏默认是禁止的,需要启动。
本人网上下载的是 vba提取自WPS2012专业增强版,解压,点击 vba6chs.msi 安装,重启wps,打开有宏的xls,启用宏。
下载地址:http://dl.pconline.com.cn/download/470217.html
开发工具--查看代码-- 会跳转到VB编辑器
准备数据:本人将A表复制在B表的 尾端,如下截图
1到2106是业务表的, 2110到 3683行是基础信息表的, (车牌字段唯一),写了个宏,超级简单就是两个for循环。代码如下:
意思:根据业务表的车牌去 基础数据表中找到这个车牌所在行并且把后面的的基础数据复制回来放到业务表对应车牌的后面。
Sub Macro1()
'
' Macro1 Macro
' 宏由 CLP 录制,时间: 2018/08/22
'
Dim x As Integer
Dim Y As Integer
For x = To Step '外层循环 循环B表所有车牌号码
For Y = To Step '循环A表所有车牌号码
If Range("a" & x).Value = Range("a" & Y).Value Then ' B表查询A表的值
Range("B" & Y & ":" & "D" & Y).Select '选择区域
Selection.Copy '复制
Range("D" & x).Select ' 选择
ActiveSheet.Paste '粘贴
Exit For '退出内层循环
End If
Next Y
Next x End Sub
执行一下 ,蛮久的(1分多钟),完成了。
==待续...
Excel 将A表的基础数据拼接到B表中来-三种方法: ctrl+回车, VLOOKUP()函数,宏的更多相关文章
- ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)
http://www.cnblogs.com/zyqgold/archive/2010/11/22/1884779.html 在ASP.NET MVC框架中,将视图中的数据传递到控制器中,主要通过发送 ...
- url地址数据参数转化JSON对象(js三种方法实现)
当我们用get方法提交表单时,在url上会显示出请求的参数组成的字符串,例如:http://localhost:3000/index.html?phone=12345678901&pwd=12 ...
- 在 easyui中获取form表单中所有提交的数据 拼接到table列表中
form表单===== <!-- 并用药品填写信息弹框 --> <div id="usingProdctMsgDiv" style="display: ...
- Java基础(3):求任意数字的长度的三种方法
题目:统计任意一个数字的长度 方法一:先把数字转换为字符换,再直接用现成的函数统计长度即可 方法二:用API public class Test { final static int[] sizeTa ...
- 【转】asp.net导出数据到Excel的三种方法
来源:http://www.cnblogs.com/lishengpeng1982/archive/2008/04/03/1135490.html 原文出处:http://blog.csdn.net/ ...
- DataTable数据批量写入数据库三种方法比较
DataTable数据批量写入数据库三种方法比较 标签: it 分类: C#1) insert循环插入:2) sqldataadapter.update(dataset,tablename); ...
- mysql分表的三种方法
先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间.根据个人经验,mysql执行一 ...
- 061 hive中的三种join与数据倾斜
一:hive中的三种join 1.map join 应用场景:小表join大表 一:设置mapjoin的方式: )如果有一张表是小表,小表将自动执行map join. 默认是true. <pro ...
- Hive中的三种不同的数据导出方式介绍
问题导读:1.导出本地文件系统和hdfs文件系统区别是什么?2.带有local命令是指导出本地还是hdfs文件系统?3.hive中,使用的insert与传统数据库insert的区别是什么?4.导出数据 ...
随机推荐
- SkiaSharp图像处理
SkiaSharp图像处理 .NET Core使用skiasharp文字头像生成方案(基于docker发布) 一.问题背景 目前.NET Core下面针对于图像处理的库微软并没有集成,在.NET ...
- LoRa---她的芯片和她的几种工作模式
LoRa对应的芯片------sx1278芯片 sx1278芯片为Semtech公司推出的具有新型LoRa扩频技术的RF芯片,具有功耗低.容量大.传输距离远.抗干扰能力强的优点.我接下来在这块芯片上进 ...
- margin塌陷与margin合并(margin),清除浮动
**1.margin塌陷**问题:垂直方向的父子关系的盒子使用不当会产生margin塌陷.给子级设置margin-top时,他不会相对父级一起动,只有他的margin超过父级的margin时,才会生效 ...
- mange
from flask import Flask app = Flask(__name__) manager = Manager(app) 1. 重写Command class ShellCommand ...
- QinQ 简介
QinQ 是一种二层隧道协议,通过将用户的私网报文封装上外层 VLAN Tag,使其携带两层 VLAN Tag 穿越公网,从而为用户提供了一种比较简单的二层VPN隧道技术.QinQ 的实现方式可分为两 ...
- django项目外部的脚本文件执行ORM操作,无需配置路由、视图启动django服务
#一.将脚本路径添加到python的sys系统环境变量里 import sys # sys.path.append('c:/Users/Administrator/www/mymac') #第一种.绝 ...
- C语言之将弧度值转换为角度值
#include<stdio.h> #include<stdlib.h> #define pi 3.141592 void conver_radian(float radian ...
- ansible-playbook(node_exporter)
roles/node_exporter/tasks/main.yml - name: copy package copy: src=node_exporter-0.17.0.linux-amd64.t ...
- C#-之属性(2)
1. 属性结合字段和方法得多个方面,对于对象的用户来说,属性就像字段(这样就可以修改属性值或者访问),对于类的实现者来说,属性包括两个各部分get访问器(用于读取属性)和set访问器(用于设置属性 ...
- WebStorm 2018激活码
2RRJMBXW33-eyJsaWNlbnNlSWQiOiIyUlJKTUJYVzMzIiwibGljZW5zZWVOYW1lIjoi5b285bK4IHNvZnR3YXJlMiIsImFzc2lnb ...