Excel从搜索功能结果中获取相对单元格值?

时间:2016-11-25 10:15:09

标签: excel excel-vba excel-formula vba

有没有办法检查文本是否存在并且是列中的唯一条目,然后获取相对于找到的单元格位置的单元格值?

以下是我尝试的方法和更详细的解释:

我正在使用此公式来检查文本是否存在,并且是D列中的唯一条目。

=COUNTIF(D:D;X1)=1

如果是这种情况,则此函数返回TRUE

有没有办法获取单元格的位置,Excel可以找到它来检查上面提到的功能?此外,我有兴趣知道是否可以从Excel返回的位置获得相对单元格值,例如:找到位置左侧的2列。

我是否需要一个不同的,可能是嵌套的功能,或者这只适用于VBA?

我该怎么办?

1 个答案:

答案 0 :(得分:2)

=MATCH(D1, X:X, 0)会在第X列找到第一个D1的行号,如果没有则会找到#N/A

=INDEX(V:V, 42)将显示单元格V42的值。

结合这个:

=IF(COUNTIF(X:X, D1)=1, INDEX(V:V, MATCH(D1, X:X, 0)), NA())

这应该可以满足你的需要 - 如果X列中有唯一的匹配,它会显示第V列的相应值。

您可以通过命名列来进一步完成此操作,例如:

=IF(COUNTIF(client_email, D1)=1, INDEX(client_name, MATCH(D1, client_email, 0), NA())

这有一个好处,你可以看到你正在寻找客户的名字,如果他们只有他们有一个特定的电子邮件地址。还有一个缺点是,数据存储在工作表上的位置不太明显。秋千和环形交叉路口!