Рассмотрим этот пример таблицы 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
решение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
.
При необходимости вы можете скорректировать ссылки на ячейки в формуле.