选择数组中的某个单元格

选择数组中的某个单元格

我有一个名为“teams”的电子表格。它有四列足球队,拼写方式各异,缩写方式也各异。

我得到了另一张电子表格,我将使用球队名称来选择一些统计数据。

我今天使用 Index-Match 来做这件事,但它的效果并不完美。假设我有 A 列,用于按我想要的方式列出姓名,这样我就可以在整个工作表中获得统一的拼写。在此列的右侧,我有 3-5 列,每列的姓名拼写都不同。

我如何设置一个公式,从 B 列到 G 列查找类似 Leeds 的名称,当找到类似名称时,它将在第一列和该行中选择该名称。这样我就可以让单元格显示 Leeds,而不是在一个表中显示 Leeds United,或者在另一个表中显示 Leeds Utd,在另一个表中显示 Leeds U.。

我的公式今天看起来像这样

=IFERROR(INDEX(Teams!$B:$B;MATCH(D12;Teams!$E:$E;0));IFERROR(INDEX(Teams!$B:$B;MATCH(D12;Teams!$D:$D;0));"error"))

似乎嵌套公式两次以上不起作用。有人能帮我吗?

如果这个问题已在其他问题中得到解决,请原谅我。我搜索过这个论坛和网络,但未能找到解决方案。

答案1

我认为没有任何方法(不编写宏)可以得到你想要的东西。

考虑一下这个替代方案:不要把所有拼写都列在“好名字”的右边,而是把它们列出来彼此之下,与好名字在以下栏目中重复。然后,您可以对“坏名字”执行 VLOOKUP(),并在第 2 列中找到“好名字”。您可以将所有球队放入一个长列表中,每行包含一个拼写,下一行包含该拼写的“好名字”。

答案2

参见示例http://bit.ly/FindAny 这将列出给定昵称/名称的所有俱乐部

假设你的名字在表 T 的 A1 部分

添加辅助列,使用公式
=ISNUMBER(MATCH(x,T[[#This Row],[Club]:[Nickname4]],))*(ROW()-1)

然后对于 J2 中 I1 中名为 x 的搜索词,
结果公式 =IFERROR(INDEX(T[Club],IF(LARGE(T[Found],ROW()-1)=0,"",LARGE(T[Found],ROW()-1))),"")
并向下填充。


注意:如果没有找到,则结果区域将为空

注意:使用数据验证技巧可以“保护”结果区域中的公式,防止意外更改。我这样做是因为实际保护工作表非常烦人。

问候

布赖恩

相关内容