请教:excel中如何取数。当Sheet2中A列中等于Sheet1中A2值时,将Sheet2同行B的值,填入Sheet1的B2中。谢谢!

yyy39 2003-05-20 01:39:43
请教:excel中如何取数。
当Sheet2中A列中等于Sheet1中A2值时,
将Sheet2同行B的值,填入Sheet1的B2中。
谢谢!
另外,如何将Sheet2中A列等于Sheet1中A2值的各行,B列数值之和,填入Sheet1的B2中。
谢谢!

...全文
1383 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyy39 2003-05-21
  • 打赏
  • 举报
回复
谢谢各位朋友!
大雄 2003-05-20
  • 打赏
  • 举报
回复
第一个问题中 "将Sheet2同行B的值,填入Sheet1的B2中"

我还没完全理解清楚,这个"同行B的值"是唯一的吗?因为我写的那条公式只能返回第一个条件相同的数据。
大雄 2003-05-20
  • 打赏
  • 举报
回复
第二个问题:

在sheet1的B2输入
=SUMIF(Sheet2!A:A,A2,Sheet2!B:B)


baiyu(baiyu)的宏很厉害,以后要多请教。

大雄 2003-05-20
  • 打赏
  • 举报
回复
第一个问题是只填到B2吗,在B2输入
=VLOOKUP($A$2,Sheet2!A:B,2,FALSE)
如果要求sheet1各行在条件成立时获取sheet2对应行的B列内容,在B2输入
=VLOOKUP($A$2,Sheet2!A2:B2,2,FALSE)
然后把公式复制到sheet1的B2以下各行。
baiyu20122 2003-05-20
  • 打赏
  • 举报
回复
第2个问题,用这个宏
假设你只有5行数据,你可以根据你的实际行数,修改 To 后面的数字。
Sub test2()
Dim i As Integer
Dim A As Integer
i = 1
A = 0
For i = 1 To 5
If Worksheets("Sheet2").Cells(i, 1).Value = Worksheets("Sheet1").Cells(2, 1).Value Then
A = A + Worksheets("Sheet2").Cells(i, 2).Value
Worksheets("Sheet1").Cells(2, 2).Value = A
Else
Worksheets("Sheet1").Cells(i, 2).Value = ""
End If
Next i
End Sub
baiyu20122 2003-05-20
  • 打赏
  • 举报
回复
假设你只有5行数据,你可以根据你的实际行数,修改 To 后面的数字。
Sub test2()
Dim i As Integer
Dim A As Integer
i = 1
A = 0
For i = 1 To 5
If Worksheets("Sheet2").Cells(i, 1).Value = Worksheets("Sheet1").Cells(2, 1).Value Then
A = A + Worksheets("Sheet2").Cells(i, 2).Value
Worksheets("Sheet1").Cells(2, 2).Value = A
Else
Worksheets("Sheet1").Cells(i, 2).Value = ""
End If
Next i
End Sub
baiyu20122 2003-05-20
  • 打赏
  • 举报
回复
第一个问题,用下面的宏实现。
Sub test()
Dim i As Integer
i = 1
For i = 1 To 5
If Worksheets("Sheet2").Cells(i, 1).Value = Worksheets("Sheet1").Cells(2, 1).Value Then
Worksheets("Sheet1").Cells(i, 2).Value = Worksheets("Sheet2").Cells(i, 2).Value
Else
Worksheets("Sheet1").Cells(i, 2).Value = ""

End If
Next i
End Sub

6,210

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧