
Tengo una hoja de cálculo que tiene una gran cantidad de filas. Cada fila tiene 3 columnas (B,C,D) que pueden contener datos numéricos que se han recopilado en tres momentos diferentes. B = primer momento, C = segundo momento, D = tercer momento. Cuando no fue posible recopilar datos en un momento determinado, la celda contiene un cero.
Para cada fila, me gustaría
- Cree una 'Columna Total (columna E) para cada fila.
- Ingrese 'sin resultado' en la columna total (columna E) para cualquier fila que solo contenga un número (independientemente de si está en la columna B, C o D)
- Reste el número en el último momento de recopilación de datos que contiene un número del número en la columna del primer momento de recopilación de datos que contiene un número
¿Alguien puede ayudar?
Respuesta1
Puede utilizar una fórmula matricial con una combinación de funciones SI, CONTAR.SI, BUSCAR e ÍNDICE.
Fórmula de la celda E2 (columna total):
=IF(COUNTIF(B2:D2,">0") < 2, "no result",LOOKUP(9.999999999E+307,IF(B2:D2>0,B2:D2)) - INDEX(B2:D2,MATCH(TRUE,INDEX(B2:D2>0,0),)))
Mientras esté en la fórmula, conviértala en una fórmula matricial presionando CTRL + MAYÚS + ENTRAR para obtener esas llaves. Arrástrelo hacia abajo.
Primero, cuenta el número de valores superiores a 0 en la fila. Si hay menos de 2, muestra "sin resultado". De lo contrario, ejecute la parte restante de la fórmula. La parte restante busca el último valor distinto de cero en la fila y resta el primer valor distinto de cero en la fila.
Respuesta2
Bienvenido Esteban. Si bien la respuesta de Aislado es a nivel de jefe y podría extrapolarse para cualquier número de columnas de entrada, esta fórmula simplificada también debería funcionar para el escenario de entrada más simple de 3 columnas.
=IF(COUNTIF(B2:D2,">0") < 2, "No result", IF(B2=0,D2-C2,IF(D2=0,C2-B2,D2-B2)) )
Respuesta3
Dada la pequeña cantidad de columnas, me inclinaría por mantenerlo realmente simple para que cualquiera pueda seguir la lógica y solucionar el problema. Como:
=IF(COUNTIF(B2:D2,">0")<2,"No result", IF(D2>0,D2,C2)-IF(B2>0,B2,C2))