Excel表格如何进行跨两张表批量查找匹配数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel表格如何进行跨两张表批量查找匹配数据相关的知识,希望对你有一定的参考价值。

我们准备两个表格,第一个表格是“成绩和名字”,第二个表格是“名字和学号”。



我们要将表格二中的“成绩”插入到表格一中。



在表格一的单元格中输入公式=vlookup()



在方程式中输入要匹配数据的坐标。如图中的“A2”,再转到第二张表格将第二张表格中的内容全选,最后输入“成绩”所在的列数,点击回车即可!



将鼠标移在单元格的右下角出现小黑十字的时候向下拉,其他的数据也就都出现了。

参考技术A   有时候需要的数据在两张不同的excel工作表中不,进行跨表格查找数据,一个个的查会相对麻烦,如何才能批量进行匹配数据查找呢?下面就跟我一起看看吧。
   Excel 跨两张表批量查找匹配数据的步骤
  我们准备两个表格,第一个表格是“成绩和名字”,第二个表格是“名字和学号”。

  我们要将表格二中的“成绩”插入到表格一中。

  在表格一的单元格中输入公式=vlookup()

  在方程式中输入要匹配数据的坐标。如图中的“A2”,再转到第二张表格将第二张表格中的内容全选,最后输入“成绩”所在的列数,点击回车即可!

  将鼠标移在单元格的右下角出现小黑十字的时候向下拉,其他的数据也就都出现了。

Excel跨两张表批量查找匹配数据的相关 文章 :

1. Excel中如何跨两张表批量查找匹配数据

2. Excel如何跨两张表批量查找匹配数据

3. excel跨表格快速匹配查找数据的方法

两张表 在一张表中插入数据时要使用触发器也更新另一张 有错误

ALTER TRIGGER [dbo].[ifid]
ON [dbo].[光盘入库信息]
AFTER INSERT,DELETE,UPDATE
AS
DECLARE @a int,
@id char(10),
@名称 nvarchar(50),
@原价 money,
@库存量 int,
@进货数量 int
SET @id=(SELECT 光盘ID FROM INSERTED)
SET @名称=(SELECT 光盘名称 FROM INSERTED)
SET @原价 = (SELECT [原价(元)] FROM INSERTED)
SET @库存量 = (SELECT 库存量 FROM 光盘信息) + (SELECT 数量 FROM INSERTED)
SET @进货数量 = (SELECT 数量 FROM INSERTED)
BEGIN

IF ((SELECT count(*) FROM 光盘信息 WHERE 光盘ID=@id)<1)
BEGIN
PRINT '此书尚未拥有ID,系统已为其分配ID!'
INSERT INTO 光盘信息
VALUES(@id,@名称,@原价,@进货数量,0,0)
END
ELSE
BEGIN
PRINT '已成功入库'
UPDATE 光盘信息
SET 库存量 = @库存量
WHERE 光盘信息.光盘ID = (SELECT 光盘ID FROM INSERTED)
END
SET NOCOUNT ON;
END

错误
消息 512,级别 16,状态 1,过程 ifid,第 19 行
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
语句已终止。
WHY WHY WHY

你表中的子查询返回的查询结果多于一行。
可能出错的地方有:
SET @id=(SELECT 光盘ID FROM INSERTED)
SET @名称=(SELECT 光盘名称 FROM INSERTED)
SET @原价 = (SELECT [原价(元)] FROM INSERTED)
SET @库存量 = (SELECT 库存量 FROM 光盘信息) + (SELECT 数量 FROM INSERTED)
SET @进货数量 = (SELECT 数量 FROM INSERTED)
UPDATE 光盘信息
SET 库存量 = @库存量
WHERE 光盘信息.光盘ID = (SELECT 光盘ID FROM INSERTED)

这些地方都是用了子查询,那最后一个来说“SELECT 光盘ID FROM INSERTED”查出多于一行的结果时,要将值赋给光盘ID,但是有多个值,数据库就不知道要给哪个值了。所以报错。

解决方法:前5个语句增加where条件,确保查询结果唯一
update语句改用in,不用=
这样写:
UPDATE 光盘信息
SET 库存量 = @库存量
WHERE 光盘信息.光盘ID in (SELECT 光盘ID FROM INSERTED)
参考技术A 你赋值的时候要确保返回值只有一个
如SET @id=(SELECT 光盘ID FROM INSERTED)
可能同时插入了多笔资料,你这个就有问题,你应该判断插入或更新资料的笔数并决定是否要用到循环来处理。追问

对噢 我还没想到同时插入多个数据。。。
我晕 那我应该怎么改啊。。。

追答

你可以判断inserted表的资料笔数,如果是一笔就不用循环,如果是多笔就可以循环或集合操作。

本回答被提问者采纳

以上是关于Excel表格如何进行跨两张表批量查找匹配数据的主要内容,如果未能解决你的问题,请参考以下文章

如何连接两张表,用access?

两张excel表格如何找出相同的身份证号码?【急】

如何实现两张图片的匹配?

两个表匹配,匹配上把一张表的值复制到另一张表的sql语句怎么写

两张dbf格式的表格,我要用SQL语句查询数据,要怎么弄。

两张表 在一张表中插入数据时要使用触发器也更新另一张 有错误