|在本文中,您将学习如何使用VBA代码在VBA中使用INDEX&MATCH函数来匹配excel中的两个条件。

为了获得输出,我们将结合使用OFFSET和COUNTA函数来创建名称管理器列表。

让我们以一个例子来理解:

  • 我们有带有学生姓名,主题和标记的学生成绩单。

img1

  • 我们想找出在F2和G2单元格中输入的“学生姓名”和“学科”的标记

img2

| *为了使用VBA代码计算标记,我们使用了OFFSET函数为每个类别创建命名范围。

  • 按CTRL + F3打开“名称管理器”窗口(列表已创建)

img3

  • 在“公式”选项卡中使用“粘贴名称”功能;我们将在单元格

img4

中获得所有“定义的名称”范围列表*在“公式”选项卡中使用“粘贴名称”功能;我们将在单元格

img5

中获得所有“定义的名称”范围列表*单击粘贴列表

img7

我们需要按照以下步骤启动VB编辑器:单击“开发人员”选项卡。从“代码”组中,选择“ Visual Basic”。 *单击插入,然后单击模块

img8

这将创建新的模块。

img9

在Module Sub IndexMatch()中输入以下代码

myName = [F2]

mySubject = [G2]

标记= Application.WorksheetFunction.Index([StMark],_ Application.WorksheetFunction.Match(myName,([StName]),0)+ _ Application.WorksheetFunction.Match(mySubject,[StSubject],0)-1)

[H2] =标记结束子

  • 按ALT + F8快捷键打开“宏”窗口,然后选择宏。

img9

  • 或者,您可以按F5键在VBA屏幕中运行代码。

img10

  • 执行宏后,我们将在单元格H2中获得输出

|这就是我们使用VBA中的“索引匹配”工作表功能获得结果的方式。

img11