Excel 向上搜索

Excel 向上搜索

考虑这个示例 Excel 表:

    A         B                                                          C
|  Time  |  Action                                              |  
|     1  |  Adam arrives                                        |  
|     2  |  Adam leaves                                         |  
|     3  |  Berta arrives                                       |  
|     4  |  Berta says: Huhu!                                   |  
|     5  |  Berta leaves                                        |  ?
|     6  |  Caesar arrives                                      |  
|     7  |  Doris arrives                                       |  
|     8  |  Caesar says: Have you recently seen Brutus, Doris?  |  
|     9  |  Adam arrives                                        |  
|    10  |  Doris says: No! I think he wants to kill you!       |  
|    11  |  Adam leaves                                         |  ??
|    12  |  Caesar says: I know                                 |  
|    13  |  Doris leaves                                        |  ???
|    14  |  Caesar leaves                                       |  ????

我想计算人们在聊天中呆了多长时间,并将其显示在 C 列中。让我们排除所有内容,例如如果Bx包含留言则为空解析留言中的姓名并只关注持续时间计算。为此,在标有?、和 的??单元格中,我需要一个类似???????在 B2 到 B$currentLine-1 范围内搜索“$person comes”,并返回最后一条结果。有了这些信息,我就能知道时间了。

那可能吗?

答案1

将其放在 C2 中并赋予其适当的单元格编号格式,然后将其拖到列下方。

=IF(RIGHT(B2, 7)=" leaves", A2-AGGREGATE(14, 7, (A$2:A2)/(B$2:B2=SUBSTITUTE(B2, " leaves", " arrives")), 1), "")

答案2

您可以使用这个公式来解决您的问题:

=IF(IFERROR(SEARCH("leaves",B2),0)>0,MAX($A1:$A$2*($B1:$B$2=SUBSTITUTE(B2,"leaves","arrives"))),"")

这是一个数组公式,所以按下后需要按CTRL++SHIFTENTER

在此处输入图片描述

答案3

可以使用反向查找公式来修复此问题:

在此处输入图片描述

  • 单元格中的公式F95,填写完毕。

    =IF(LEFT(D94,5)<>LEFT(D95,5),IFERROR(INDEX(C95:C108,MATCH(LEFT(D95,(FIND(" ",D95,1)-1))&" Arrives",D95:D108,0),1),""),"")
    
  • 此公式的主要特点是:

MATCH(LEFT(D95,(FIND(" ",D95,1)-1))&" Arrives"

  • 查找Time带有Column C字符串的名称Arrives

您可以根据需要调整公式中的单元格引用。

相关内容