Поиск 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 содержит оставляющее сообщение, пусто, если нетиразобрать имя из оставленного сообщенияи сосредоточиться только на расчете длительности. Для этого в ячейках, отмеченных ?, ??, ???и ????, мне нужна формула типанайдите "$person arrives" в диапазоне B2 - B$currentLine-1 и выдайте мне строку последнего результата. Имея эту информацию, я могу узнать время.

Возможно ли это вообще?

решение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+ SHIFT+ENTER

введите описание изображения здесь

решение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.

При необходимости вы можете скорректировать ссылки на ячейки в формуле.

Связанный контент