【问题标题】:INDEX & MATCH issue索引和匹配问题
【发布时间】:2015-03-26 16:46:57
【问题描述】:

我在 Excel 中的 2 张工作表上有列表。在我的客户表上,我有以下信息:

 Cus    Name
 352445 Mr A Person
 352445 Mrs B Wife
 352448 Mr B Someone
 352448 Mr Another Guy
 352448 Mr Who What
 352448 Mr Tall Man
 352448 Mr Big Man
 352448 Mr Yet Another
 352450 Mr Top Dude
 352450 Mr Bad Dude
 352450 Mr Foreign Guy
 352452 Mr Local Man
 352452 Mrs High Scorer

在我的目标数据表上,我有一个客户编号列表:

Cust
352437
352438
352438
352445
352445
352445
352448
352448
352448
352448
352448
352448
352450
352450
352450
352452
352452
352452
352452

我一直在尝试使用 INDEX & MATCH 将客户表中的名称填充到我的目标表中

所以我尝试了:

=MATCH(A2,'Participants Data'!$A$2:$A$674,1) 

3524371352438 的所有实例为 23 代表 3524454 代表 352448

然后我尝试使用INDEX('Participants Data'!$B$2:$B$674,MATCH(A2,'Participants Data'!$A$2:$A$674,0)) 并将其复制下来。

问题是我明白了:

Cust    Name
352445  Mr A Person
352445  Mr A Person
352445  Mr A Person
352448  Mr B Someone
352448  Mr B Someone
352448  Mr B Someone
352448  Mr B Someone  

...

什么时候应该(或者更确切地说,我想要达到的目标):

 352445 Mr A Person
 352445 Mrs B Wife
 352448 Mr B Someone
 352448 Mr Another Guy
 352448 Mr Who What
 352448 Mr Tall Man
 352448 Mr Big Man
 352448 Mr Yet Another

那么我在INDEXMATCH 中做错了什么?

【问题讨论】:

  • 它给了你正确的结果?按照您编写的方式,它将返回所有匹配项的第一个结果。你想要的输出是什么?
  • MATCH() 函数将搜索值与其在搜索范围内的第一次出现匹配。第一个没有 352445 的客户是 Mr A Person,答案取决于您要达到的目标。
  • 好吧,我想要客户编号的不同名称,因此对于352448Customers 表中应该有 5 个不同的名称 - 但我需要尝试使用其他一些函数,比如Small 我猜是为了得到第一个最小的,第二个最小的等等

标签: excel excel-formula excel-2010 worksheet-function


【解决方案1】:

要查找Nth在表格中出现的值,可以使用以下数组公式(在A2中输入,按Ctrl+shift+Enter确认,然后填充范围的其余部分):

 =INDEX(ColB,SMALL(IF(ColA=A2,ROW(ColA)-MIN(ROW(ColA))+1,1E+100),COUNTIF($A$2:A2,A2)))

其中ColAColB 是客户表中的范围。 COUNTIF 部分计算N

【讨论】:

  • 谢谢,这是要放在目标表上吗,所以 ColB = B:BColA = A:A 等?
  • @Our Man In Bananas 我稍微更新了公式。这个公式应该在目标表上,所以ColA应该是'Participants Data'!$A$2:$A$674
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-11
  • 1970-01-01
  • 2023-03-05
  • 2015-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多