查找行中第一次出现的值并返回其旁边的单元格

问题描述 投票:0回答:1

我想连续找到第一次出现的“Sick”,并在它旁边的右边找到日期。有任何想法吗?

我们试过这个,但相信有一个更简单的方法:

=SI.ERROR(INDICE(D2,COINCIDIR("Sick",C2,0)),SI.ERROR(INDICE(F2,COINCIDIR("Sick",E2,0)),INDICE(H2,COINCIDIR("Sick",G2,0))))

用英语讲:

=IFERROR(INDEX(D2,MATCH("Sick",C2,0)),IFERROR(INDEX(F2,MATCH("Sick",E2,0)),INDEX(H2,MATCH("Sick",G2,0))))

我想找到一个更简单的方法,因为我必须为具有不同维度的几个表执行此操作

excel excel-formula
1个回答
2
投票

当一切都在一行时:

    A     B             C       D             E     F             G
Row 2    ok    10/04/2019    sick    11/04/2019    ok    12/04/2019

以下公式解决了您的问题:

=INDEX(B2:G2;1;MATCH("sick";B2:G2)+1)

这意味着:在B2:G2中,验证是否可以找到“病态”,如果是,则取其旁边的列(因此+1MATCH()返回列号)。

当所有内容都在一列中时:

这正是VLookup()函数的要点:看下面的例子:

1      A             B            C
2                title          Date
3                   ok    10/04/2019
4                 sick    11/04/2019
5                   ok    12/04/2019

使用以下公式:

=VLOOKUP("sick";B1:C4;2)

这产生值11/04/2019(当然,在正确的单元格格式之后)。

含义:在表B1:C4中查找值“sick”,并使用第二列的相应值(包含请求的日期)。

© www.soinside.com 2019 - 2024. All rights reserved.