Considere este ejemplo de tabla de 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 | ????
Quiero calcular cuánto tiempo estuvieron las personas en el chat y mostrarlo en la columna C. Excluyamos todas las cosas comosi Bx contiene un mensaje de salida, vacío si noyanalizar el nombre para dejar el mensajey concentrarse sólo en el cálculo de la duración. Para eso , en las celdas marcadas con ?
, ??
y , necesito una fórmula como???
????
busca "$persona llega" en el rango B2 a B$currentLine-1 y dame la línea del último resultado. Con esa información, puedo obtener la hora.
¿Es eso siquiera posible?
Respuesta1
Coloque esto en C2 y asígnele un formato de número de celda apropiado y luego arrástrelo hacia abajo en la columna.
=IF(RIGHT(B2, 7)=" leaves", A2-AGGREGATE(14, 7, (A$2:A2)/(B$2:B2=SUBSTITUTE(B2, " leaves", " arrives")), 1), "")
Respuesta2
Respuesta3
Se puede utilizar una fórmula de búsqueda inversa para solucionar el problema:
Fórmula en celda
F95
, complétela.=IF(LEFT(D94,5)<>LEFT(D95,5),IFERROR(INDEX(C95:C108,MATCH(LEFT(D95,(FIND(" ",D95,1)-1))&" Arrives",D95:D108,0),1),""),"")
La característica clave de esta fórmula es:
MATCH(LEFT(D95,(FIND(" ",D95,1)-1))&" Arrives"
- Busca,
Time
enColumn C
los nombres con cadenaArrives
.
Puede ajustar las referencias de celda en la fórmula según sea necesario.