2

我有一个 excel 工作簿,我需要一些关于 INDEX 和 MATCH 或任何其他可以让我得到最终结果的公式的帮助。

这是sheet1:

SIT_ID      METER   SUSE_CD
10834282    DT0061      B 
10834282    AW7931      P 
21676286    CQ9635      P 
21676286    DP4838      B 
21726281    AW7880      P 
21726281    DT0032      B 

这是Sheet2:

Site ID        B    P
10834282        
21676286        
21726281        

最终,我要做的是在 Sheet2 上将 SITEID = B 的仪表放在列中,然后将 = P 的仪表放在同一行中。

我从来没有使用过索引或匹配,我在网上查过,但我很困惑,希望有人能帮助我正确的公式或指出正确的方向。

非常感谢!

4

4 回答 4

4

INDEX首先是一个范围,然后是一个行号,一个可选的列号(和一个可选的区域号)。

MATCH需要一个值来查找,一个数组和一个模式。

在您的问题中,您可以在 Sheet2 单元格 B2 中使用以下内容:

=INDEX(Sheet1!$B$2:$B$7, MATCH($A2, IF(Sheet1!$C$2:$C$7=B$1,Sheet1!$A$2:$A$7), 0))

这个公式是一个数组公式,可以与Ctrl++Shift一起使用Enter,然后您可以将其填充到其他单元格中。

我不得不使用 anIF因为有两个条件要检查。

编辑:如果您的单元格格式不同,请使用这个:

=INDEX(Sheet1!$B$2:$B$7,MATCH($A2*1,IF(Sheet1!$C$2:$C$7=B$1,Sheet1!$A$2:$A$7*1),0))

EDIT2:添加修剪:

=INDEX(Sheet1!$B$2:$B$7,MATCH($A2*1,IF(TRIM(Sheet1!$C$2:$C$7)=TRIM(B$1),Sheet1!$A$2:$A$7*1),0))

EDIT3:如果您在完整数据上使用它,请更改范围:

=INDEX(Sheet1!$B:$B,MATCH($A2*1,IF(TRIM(Sheet1!$C:$C)=TRIM(B$1),Sheet1!$A:$A*1),0))
于 2013-09-17T18:59:01.950 回答
1

假设您的 Sheet1 如下所示:

Tigeravatar Sheet1 数据设置

你的 Sheet2 看起来像这样:

Tigeravatar Sheet2 数据设置

Sheet2 单元格 B2 中的公式并向下复制到单元格 C4 是:

=INDEX(Sheet1!$B$2:$B$7,MATCH(1,INDEX((Sheet1!$A$2:$A$7=$A2)*(Sheet1!$C$2:$C$7=B$1),),0))

请注意,这是一个常规公式,因此不需要 Ctrl+Shift+Enter

于 2013-09-17T19:30:24.457 回答
0

辅助列 D 添加到初始列。
D2:=$A2 & $C2

现在可以对串联的 SITE_ID 和 SUSE_CD 进行简单搜索:
H2:=MATCH($G2&" B";$D$2:$D$8;0)

结果将是 array 中所需字符串的行号(在本例中为 =1)$D$2:$D$8

$A2:$A$8INDEX 显示单元格的值,通过从左上角单元格 (A2) 开始计算数组中的第 n 行(由 MATCH 定义)和第 m 列 (=2 ) 找到。

共:=INDEX($A$2:$B$8;MATCH($G2&" B";$D$2:$D$8;0);2)

在此处输入图像描述

于 2013-09-17T20:00:36.910 回答
0

解决这个问题的最简单方法是在匹配函数中使用连接运算符。

不要忘记使用 Ctrl+Shift+Enter

在工作表 2 的 B 列中使用以下公式

{=INDEX(Sheet1!$B:$B,MATCH(Sheet2!$A2&Sheet2!$B$1,Sheet1!$A:$A&Sheet1!$C:$C,0))}

以及表 2 的 C 列中的以下公式

{=INDEX(Sheet1!$B:$B,MATCH(Sheet2!$A2&Sheet2!$C$1,Sheet1!$A:$A&Sheet1!$C:$C,0))}

然后快速填充剩余的行。

在此处输入图像描述

于 2018-05-05T07:54:43.347 回答