在 Excel 中匹配某一行的值

在 Excel 中匹配某一行的值

好的,下面是我想要创建公式的步骤:

  1. 检查特定单元格中的值是否出现在另一张表的某一列中,例如:MATCH(A3,'Sheet1'!$A:$A)
  2. 如果是,则检查 Sheet1 第 I 列中与该值位于同一行的值
  3. 如果 I 列中的值与“指定值”匹配,则返回 Sheet1 中的值 B3
  4. 如果 I 列中的值不匹配,则将单元格留空

我遇到的困难是,我只需要返回 A 列中具有匹配值和 I 列中具有指定值的行的数据,但是两列中这两个值都多次出现(但希望在一行中两个值只出现一次)。

这是迄今为止我找到的最接近的两个公式(目前测试时如果为假则返回否而不是空白):=IF(AND('Sheet1'!$A:$A=A2,'Sheet1'!$I[]="WEEK 1"),'Sheet1'!$B[],"NO")

=IF(AND(MATCH(A5,'Sheet1'!$A:$A),'Sheet1'!$I[]="第 1 周"),'Sheet1'!$B[],"NO")

但是“I”不能是一个固定值,因为在我匹配 A 值之前,我不知道我正在看哪一行。

换句话说:我需要找出数据跟踪表中是否有一行,其中 A 列中的值 = X 且 I 列中的值 = Y,然后返回 B 列中的值。

希望这有意义。任何帮助都将不胜感激。

答案1

你的设置有点不清楚,但这可能会满足你的要求:

=IF(INDEX(I:I,MATCH(A3,Sheet1!A:A,0))="Specified Value",B3,"")

答案2

你说的是比较与匹配值(A5)在同一行的第 I 列的值,但是为什么在这个函数中匹配的 A5 的值会比较 I6 的值并返回 B6 的值。 =IF(AND(MATCH(A5,'Data Tracking'!$A:$A),'Data Tracking'!$I6="WEEK 1"),'Data Tracking'!$B6,"NO")

无论如何,根据你提供的上述公式,我发现你只需要在末尾添加一个 0 属性MATCH 函数

=IF(AND(MATCH(A3,'Data Tracking'!$A:$A,0),'Data Tracking'!$I3="WEEK1"),'Data Tracking'!$B3,"NO")

相关内容