Vba 如何在另一个工作表中找到匹配的数据并获取单元格值?
我有一个Excel工作簿和两张工作表。让我们称它们为“项目列表”和“项目主控” 在“项目列表”中,我有两列,B(“代码”)和C(“子代码”)。看起来是这样的:Vba 如何在另一个工作表中找到匹配的数据并获取单元格值?,vba,excel,Vba,Excel,我有一个Excel工作簿和两张工作表。让我们称它们为“项目列表”和“项目主控” 在“项目列表”中,我有两列,B(“代码”)和C(“子代码”)。看起来是这样的: A B C ---------------- 100 AR 110 AR 120 NU 130 AR E K L ---------------- xx 100 AR xx 100 AR xy 120 NU xc 120 AR xz 130 A
A B C
----------------
100 AR
110 AR
120 NU
130 AR
E K L
----------------
xx 100 AR
xx 100 AR
xy 120 NU
xc 120 AR
xz 130 AR
在“项目主控”中,我有类似的列,K(“代码”)和L(“子代码”)。看起来是这样的:
A B C
----------------
100 AR
110 AR
120 NU
130 AR
E K L
----------------
xx 100 AR
xx 100 AR
xy 120 NU
xc 120 AR
xz 130 AR
在“项目列表”中,如果B和C的值与K和L的值匹配,我需要让C列显示“项目主控”E列的值
因此,如果(项目列表)A和(项目列表)B匹配(项目主控)K和(项目主控)L,那么(项目列表)C=(项目主控)E
如果有多个匹配项,搜索可以在第一个匹配项之后停止,并获取列E的值,因为所有匹配项的值都相同
如何做到这一点 在
项目主控
工作表中,在列M=(K2和L2)
中创建以下公式,然后将其向下拖动到行集中
在项目列表
工作表的C列中填写以下公式
=Offset(`Item Master`!$E$1,match($A2&$B2,'Item Master`!$M:$M,0)-1,0)
然后填写行集。在
项目主控
表中,在列M=(K2和L2)
中创建以下公式,然后将其向下拖动到行集
在项目列表
工作表的C列中填写以下公式
=Offset(`Item Master`!$E$1,match($A2&$B2,'Item Master`!$M:$M,0)-1,0)
然后填写行集合。您也可以使用此数组公式。输入公式后,必须使用CTL+SHIFT+ENTER。这将否定使用辅助列
=索引('Item Master'!E:E,匹配(1,('Item Master'!L:L=B1)*('Item Master'!K:K=A1),0))
上面的公式在项目列表的C1
中,您可以将其复制下来
屏幕截图
您也可以使用此数组公式。输入公式后,必须使用CTL+SHIFT+ENTER。这将否定使用辅助列
=索引('Item Master'!E:E,匹配(1,('Item Master'!L:L=B1)*('Item Master'!K:K=A1),0))
上面的公式在项目列表的C1
中,您可以将其复制下来
屏幕截图
Sid,他注意把A&B作为对K&L的比赛,所以这不会像写的那样起作用。是的。我误解了。为未来的访客更新了帖子:)@jeffbrady:你按CTL+SHIFT+ENTER了吗?我测试过了,我明白了。。我把它粘贴到C1上。现在,我单击C1并将其粘贴到公式栏中,然后按CTRL+SHIFT+ENTER键,它就工作了。谢谢大家!@杰夫布雷迪:啊,你成功了:)我上传了一个截图:)希德,他注意到a&B是和K&L的比赛,所以这不会像写的那样有效。是的。我误解了。为未来的访客更新了帖子:)@jeffbrady:你按CTL+SHIFT+ENTER了吗?我测试过了,我明白了。。我把它粘贴到C1上。现在,我单击C1并将其粘贴到公式栏中,然后按CTRL+SHIFT+ENTER键,它就工作了。谢谢大家!@杰夫布雷迪:啊,你成功了:)我上传了一张截图:)