excel中如何查找引用多个表格中某一天的数据?

我的一个工作表中有四个工作薄,分别是aa、bb、cc、总表。在前三个表中有每天的记录数据。现在是否可以通过一个按钮或者一个宏命令实现功能:在总表中点击按钮1,可以将前三个... 我的一个工作表中有四个工作薄,分别是aa、bb、cc、总表。在前三个表中有每天的记录数据。现在是否可以通过一个按钮或者一个宏命令实现功能:在总表中点击按钮1,可以将前三个表中含有特定日期(如总表中J1单元格)的数据,自动复制到总表中! 展开
 我来答
elo900
2016-01-12 · TA获得超过167个赞
知道答主
回答量:186
采纳率:100%
帮助的人:48.4万
展开全部

1.表1,统计清单表,一般是公司或者个人习惯或制作好的表格。(代号要查找的就是代号一栏)。我们要实现的结果就是,当我输入代号时,其他表格就相应的填入了其对应值。

2.表2,待调用的数据清单表,要求其第一列必须为要查找的字段或值的一列。(代号一栏已经放置在第一列中)。

3.两个表都放入同一个文件夹中。

4.现在代号中输入第一个查找的代号DT-01,(避免后面查找字符串出错),

5.先单击名称后面的空单元格,点击调用函数按钮,调用vlookup函数来查找。

6.建立查找关系。点击确定,就可以看到所对应的名称“手机”已经进入单元格中。

关于Vlookup函数内容解析:

Lookup_value“唯一值”为需要在数组第一列中查找作参考的关系数值,它可以是数值或文字符串。比如:举例中的代号就是查找值。Table_array“区域”:数值区域,如“A:D”,就是您所有想引用过来的数据(想要引用数据的表格),一般情况直接点击选择就可以自动添加。

Col_index_unm“列序号”:引用区域值里面的第一列,比如从A到D共有4列,想引用B列数值过来,那么就选择2,因为B列在区域的第二列,其它也是这么推算,此例子中引入的是名称,其对应第2列,就是2,如果引入的是制造商对应的就是5,所以就是5了。

Range_lookup“逻辑值”:一般填TRUE或FALSE。指函数 VLOOKUP 返回时是精确匹配还还是近似匹配。 通常都是写false。

7.这样就添加完了所以的关系,后面直接在代号中输入代号,其他的都不用修改,会自动进行查找更新。

真真真白丁
2015-01-20 · TA获得超过8521个赞
知道大有可为答主
回答量:4644
采纳率:85%
帮助的人:1741万
展开全部

亲,代码如下。

打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧汇总Sheet上双击,右侧空白处粘贴下面的代码。关闭VBA窗口。然后按“Alt+F8”打开宏窗口,选择刚插入的宏,点击“执行”。

 

Sub hz()
Dim i, r, j, n As Long
n = 1
For i = 1 To Sheets.Count
    If Sheets(i).Name <> ActiveSheet.Name Then
        If Range("A1").Value = "" Then Sheets(i).Range("A1").Resize(1, 6).Copy Range("A1")
        r = Sheets(i).Cells(Rows.Count, "A").End(xlUp).Row
        For j = 2 To r
            If Sheets(i).Range("A" & j).Value = Range("J1").Value Then n = n + 1: Sheets(i).Range("A" & j).Resize(1, 6).Copy Range("A" & n)
        Next
    End If
Next
End Sub
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BAIXINGR

2015-01-20 · TA获得超过3万个赞
知道大有可为答主
回答量:2.9万
采纳率:89%
帮助的人:8800万
展开全部
可以使用VBA代码就能实现你的要求
Sub B()
Dim X, Y, h As Integer
h = 2

For X = 2 To Sheets.Count
Y = Sheets(X).Range("i65536").End(xlUp).Row
If Sheets("汇总表").rangge("j1") = Sheets(X).Cells(h, 1) Then
Sheets("汇总表").Cells(h, 1) = Sheets(X).Cells(h, 1)
Sheets("汇总表").Cells(h, 1) = Sheets(X).Cells(h, 2)
Sheets("汇总表").Cells(h, 1) = Sheets(X).Cells(h, 3)
Sheets("汇总表").Cells(h, 1) = Sheets(X).Cells(h, 4)
Sheets("汇总表").Cells(h, 1) = Sheets(X).Cells(h, 5)
Sheets("汇总表").Cells(h, 1) = Sheets(X).Cells(h, 6)
End If
h = h + 1
Next X

End Sub

用上边代码写入到宏模块中就ok
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
EXCEL办公实战
2015-01-20 · Excel办公实战函数、技巧、VBA教程
EXCEL办公实战
采纳数:2380 获赞数:23634

向TA提问 私信TA
展开全部
Sub test()
Dim i&, iMax&
Dim ii&
Dim arr(1 To 100000, 1 To 6)
For i = 1 To Sheets.Count - 1
With Sheets(i)
iMax = .Cells(.Rows.Count, 1).End(3).Row
For k = 1 To iMax
If .Cells(k, 1) = Sheets("总表").[j1] Then
n = n + 1
For ii = 1 To 6
arr(n, ii) = .Cells(k, ii)
Next
End If
Next
End With
Next
Sheets("总表").[a1].Resize(n, 6) = arr
End Sub
没有数据源测试,差不多就是这样了,自行测试,应该没问题!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快乐0425小童鞋
2015-01-20
知道答主
回答量:31
采纳率:0%
帮助的人:4万
展开全部
首先更正一下,你有一个工作薄里面有四个工作表。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式