Extraiga dígitos antes de usar AVERAGEIFS

Resuelto Ben Nutzer asked hace 1 año • 1 respuestas

Tengo la siguiente tabla con celdas que contienen números del -1 al 10 (se permiten decimales). En algunos casos hay una A detrás del número.

Ahora, me gustaría extraer todos los dígitos de las celdas y calcular el promedio por fila usando una fórmula, pero solo considero los elementos que cumplen ciertas condiciones:

a) El encabezado no contiene "no" y

b) el valor es >= 1; de lo contrario, el valor no debería contarse para el promedio.

El resultado esperado se enumera en la averagecolumna.

promedio No No
2,75 2 2A 3,5 A -1 0
2 0 4A 3A _ 1

Probé esta fórmula pero Excel me dice que hay un problema y la cancela.

=AVERAGEIFS(VALUE(SUBSTITUTE(B2:G2, "A", "")), B1:G1, "<>*no*", B2:G2, ">=1", B2:G2, "<>")

¡Cualquier ayuda es apreciada!

Ben Nutzer avatar Feb 16 '24 17:02 Ben Nutzer
Aceptado

Puedes utilizar esta fórmula:

=LET(d,B2:G2,
f,$B$1:$G$1,
d_,NUMBERVALUE(SUBSTITUTE(d,"A","")),
AVERAGE(FILTER(d_,(f="yes")*(d_>=1))))

o como por versión de fila:

=LET(data,B1:G3,
f,TAKE(data,1),
d_,NUMBERVALUE(SUBSTITUTE(DROP(data,1),"A","")),
BYROW(d_,LAMBDA(r,AVERAGE(FILTER(r,(f="yes")*(r>=1))))))

ingrese la descripción de la imagen aquí

Ike avatar Feb 16 '2024 10:02 Ike