Pregunta

Tengo una hoja de cálculo Excel, que importa los datos de otra fuente que necesitan para ejecutar un cálculo sobre. Los datos que tienen que trabajar es en un rango con nombre - que pasa a ser en el rango C12: C36 - pero se llama "SumData"

.

Los valores de esta gama contiene varios errores Actualmente incluyendo # ¡NUM! y # N / A, pero podría contener potencialmente otros errores. Necesito sumar estos valores.

entiendo cómo hacer la fórmula de la suma:

=SUM(SumData)

o

=SUM(C12:C36)

También puede utilizar SI.ERROR para comprobar si hay errores:

=IFERROR(C12:C36, 0)

Pero SI.ERROR sólo aparece para comprobar la fila correspondiente a la fórmula actual Estoy entrando. es decir, si se está entró en mi fórmula en D12, que sólo comprueba error en el corredor de C12, y devuelve el valor (o 0 si C12 contiene un error).

Si combino los dos para hacer:

=SUM(IFERROR(SumData,0))

No pongo un valor de retorno válida. Básicamente me da la fila correspondiente más cercana - por ejemplo:

    C      D
    -----------
12  #NUM!  
13  2      =SUM(IFERROR(SumData,0)) = 2 (I would expect this to produce 48)
14  5
15  7
16  #N/A
17  23
18  6
19  5

¿Qué estoy haciendo mal?

¿Fue útil?

Solución

=SUM(IF(ISNUMBER(SumData),SumData))

introducida como una matriz fórmula ... es decir, utilizando CTRL + Shift + Enter y no sólo Enter. Si lo haces correctamente, Excel pondrá corchetes alrededor de la fórmula {}.

Otros consejos

Trate de utilizar esta fórmula si tienden a añadir un rango de celdas que contiene el error:

=SUMIFS(sumrange,criteria range1,"<>"&"#NAME?",criteria range2,"<>"&"#N/A",criteria range3,"<>"&"NUM!")

Dado que usted no sabe qué celda tiene el error, entonces es recomendable utilizar los criterios rangos mismo que el sumrange.

Por desgracia, esta es la funcionalidad documentada de la función SI.ERROR, tal como se encuentra aquí: http://office.microsoft.com/en-us/excel-help/iferror-function-HA001231765.aspx .

En esencia, una entrada de rango no da lugar a una salida de rango. Más bien, se obtiene la salida de la posición en el rango indicado por la celda donde pasa la llamada SI.ERROR. Es bastante poco intuitivo.

Una solución es insertar una columna para contener los resultados IFERROR individuales, y suma sobre que, como se muestra a continuación. Después de configurar la columna D, sólo lo hacen oculto.

    C      D                      E
    --------------------------------------
12  #NUM!  =IFERROR(E12, 0) -> 0
13  2      =IFERROR(E13, 0) -> 2  =SUM(E12:E19) -> 48
14  5      =IFERROR(E14, 0) -> 5
15  7      =IFERROR(E15, 0) -> 7
16  #N/A   =IFERROR(E16, 0) -> 0
17  23     =IFERROR(E17, 0) -> 23
18  6      =IFERROR(E18, 0) -> 6
19  5      =IFERROR(E19, 0) -> 5

Esto funciona para mí:

=IF(SUMIFS(RANGE,CRIT-RANGE,CRITCELL)=0,NA(),SUMIFS(RANGE,CRIT-RANGE,CRITCELL))

Pero usar las tablas que se muestran; Por lo tanto, tuve que empujar un formato condicional en la misma.

Si la célula contiene un error: {letra Hacer mismo color que el fondo}

funciona muy bien para mí y mi traza gráfica muy bien sin tener que realmente mostrar los datos (hasta que alguien selecciona la celda y ve el valor).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top