Una celda en blanco que no se registra como cero en excel

4

Estoy ejecutando una ecuación de IF compleja en Excel 2003 (sí, las computadoras en el trabajo también son tan antiguas) y es importante para la ecuación que las celdas en blanco se valoren en cero, que es, según entiendo, cómo Excel lee las celdas en blanco. Las celdas en cuestión están formateadas hasta la fecha (* 9/10/2014).

Esta ecuación funciona bien, excepto que una celda, que se deja en blanco, no se registra en la ecuación como cero, por lo que obtengo un valor falso cuando debería ser cierto. He comprobado el formato, es (hasta donde puedo ver) lo mismo que las celdas que lo rodean.

Puedo corregir este problema cortando y pegando desde una celda en blanco encima de él, pero no sé por qué esto está funcionando. Necesito saber por qué para corregirlo cuando aplico la ecuación para asegurarme de que no estoy obteniendo valores falsos.

MCM
fuente
Parece que hay algo en esa celda que no estás viendo. ¿Aparece algo si copia la celda aparentemente en blanco a otra celda (y cambia su formato a General)? o si lo refieres desde otra celda; por ejemplo, escriba =Q42 en una celda no utilizada? Puede ser interesante guardar el archivo como CSV y luego ver si puede ver algo en la celda.
G-Man
Acabo de intentar eso y no apareció nada. También reformateé la celda de fecha a general, a número y verifiqué las ecuaciones (control + ~). nada. Tal vez hay algún tipo de delineación en las preferencias u opciones?
MCM

Respuestas:

2

Una celda en blanco no es lo mismo que cero en Excel. Excel reconoce en blanco como vacío en lugar de un valor. Si necesita que una celda en blanco sea tratada como cero en una fórmula, haga algo como esto (para este ejemplo, usaré A1 como la celda referenciada):

    if(isblank(a1),0,a1)

Usa esto en lugar de a1 en tu fórmula.

EDIT: recibió varias respuestas. Ambos abordan el "cómo solucionarlo", pero ninguno aborda realmente la segunda parte de su pregunta.

Excel reconoce la diferencia entre un valor explícito de cero y la ausencia de un valor. En algunos casos, las implicaciones de un valor faltante en una fórmula no hacen una diferencia. 3 + 0 es lo mismo que 3 + nada. Cuando no hay una diferencia lógica en un cálculo, Excel tratará una celda vacía como si contuviera cero.

Eso está bien si eso es lo que pretendes. Sin embargo, si las celdas representan datos, normalmente desea distinguir entre un valor que ingresó como 0 y un valor que falta y debería ser otra cosa o debería ser excluido. Es por eso que es una buena práctica no confiar en Excel para adivinar cómo desea usar la celda, sino para hacerlo explícito.

En el momento de esta edición, hay varias sugerencias para forzar un espacio en blanco a un valor de cero. Un método simple: prefijar la referencia de celda con un par de menos:

   --a1

El doble menos dejará un valor numérico sin cambios, devolverá un cero si está en blanco, o un error si es otra cosa (como un carácter de espacio).

En cuanto a por qué tiene una célula que se comporta de manera diferente, puede haber varias razones. Tendríamos que ver la hoja de cálculo y cómo está utilizando la celda problemática. Sin embargo, probablemente no esté formateando. Al menos en versiones posteriores de Excel, incluso si la celda está formateada para algo como texto, si está vacía, se considerará cero para los cálculos. Una causa más probable sería que la celda no esté realmente vacía sino que contenga algo así como un carácter de espacio. Si eso es lo que está sucediendo, ninguna de las soluciones sugeridas funcionará (un espacio no es un espacio en blanco o un número). Intente eliminar la celda, lo que eliminará cualquier contenido que no sea visible.

Si tiene curiosidad por el contenido, use las funciones de cadena para ver de qué se trata. Len (a1) te dirá si está vacío.

fixer1234
fuente
Por supuesto, la otra solución es usar la opción "formatear celdas", pero esta es una solución mucho más inteligente.
James Brewer
Alternativa: = IF (A1 = "", 0, A1)
variant
Así que aquí está la cosa: trata a todas las demás celdas vacías como cero, excepto a esta. Todavía podría incluir su fórmula sugerida, sin embargo, quiero saber cuál es la diferencia entre esta celda en blanco y las otras celdas en blanco.
MCM
Gracias por la edición. Lo siento, me ha costado tanto volver a ti. El proyecto se dejó de lado por una semana. La respuesta más completa en la edición realmente ayudó, y la respuesta simple que sugirió está funcionando. Mucho más fácil que tratar de incluir otra función en = IF (TODAY () - 8 & lt; F35, IF (AND (C35 & lt; TODAY () - 5, (D35) = 0), "IFFY", IF (TODAY () - 8 & lt; F35, IF (D35 & gt; C35 + 3, "ALERT", "OK"), "OK")), "OK") Bueno, además de la siguiente función, necesito esta cosa para exicuir. :)
MCM
1

FÓRMULA:

=VALUE(...)

Esta fórmula se evaluará a 0 para los espacios en blanco y los valores válidos no se modificarán.

Mr. Mascaro
fuente
Gran solución simple.
fixer1234
Si funciona, márquelo como la respuesta para dirigir a futuros visitantes aquí.
Mr. Mascaro
En realidad, no respondió a la pregunta. La pregunta no se refería a cómo evaluar un espacio en blanco para cero, sino POR QUÉ algunos espacios en blanco ya estaban siendo evaluados como cero, mientras que otro no.
MCM
1

Tuve el mismo problema y encontré la razón: las celdas parecen estar vacías pero no estaban; había espacios en las celdas (aunque es difícil verlo). Así que solo eliminando espacios (CTRL R: Reemplazar "" con espacio en blanco) se solucionó el problema.

Alex
fuente
0

Esto parece ser un error en Excel 2013.

Es posible encontrar un problema de una celda aparentemente vacía. Cuando se hace referencia a informes, no es un número, no es cero, no está en blanco, no está vacío. Sin embargo, no importa cómo haga referencia a la celda, no puede encontrar lo que contiene.

Estos son los resultados que obtengo cuando intento hacer referencia a la celda o ver su contenido:

• = IF (ISBLANK (a1), 1,2) == & gt; devuelve un 2. (es decir, la celda no está en blanco).

• = IF (A1 = 0,0,1) == & gt; Devuelve un 1. (es decir, la celda no contiene cero).

• = A1 * 2 == & gt; Devuelve #VALUE! (es decir, la celda no contiene un número).

• = IF ((A1) & gt; 1,1,0) == & gt; Devuelve un 1 (es decir, la celda contiene un número mayor que 1!).

• = IF (A + & gt; 9.99999999999999E + 307,1,0) == & gt; Devuelve un 1. (es decir, la celda contiene un número muy grande).

• = "X" & amp; A1 & amp; "X" == & gt; Devuelve "XX". (es decir, la celda A1 está realmente vacía).

• = CELDA ("formato", A1) == & gt; Devuelve "G". (es decir, el formato de número de la celda es General).

• = CELULAR ("prefijo", A1) == & gt; Devuelve "^". (Es decir, la celda tiene un formato central para texto y números).

• = CELDA ("tipo", A1) == & gt; Devuelve "I". (es decir, la celda contiene texto).

• = VALOR (A1) == & gt; Devuelve #VALUE! (es decir, la llamada no contiene una cadena de texto que parece un número).

• = LEN (A1) == & gt; Devuelve 0. (es decir, la longitud de cualquier cadena es cero).

• = T (A1) == & gt; No devuelve nada (es decir, devuelve una cadena de texto de longitud cero).

• = UNICODE (A1) == & gt; Devuelve #VALUE! (es decir, la celda no contiene una cadena).

Para mí esto sucede cuando he importado datos de otra aplicación. (Telekurs Infinacials en mi caso). La función = Si (A1 = 0,0,1) informa que la celda a1 no es cero. La función = A1 + 1 produce un #VALUE! error. ¡Varios otros tipos de matemáticas en la celda vacía producen un #VALUE! resultado.

La conexión lógica es que la celda no contiene un número. Sin embargo, esto se contradice con la fórmula = if (A1 & gt; 99,1,1), lo que implica que la celda contiene un número alto.

He eliminado la posibilidad de que los contenidos de la celda estén ocultos, o que la celda contenga un espacio.

(Puede probar esto poniendo, por ejemplo, una fórmula como = "X" & amp; A1 & amp; "" X ", donde A1 es la celda que sospecha que no está vacía. Si la fórmula devuelve" XX ", entonces la celda no no contenga ningún número ni texto, de lo contrario habría un espacio, un número o un texto entre los dos "X" s).

La celda tampoco parece estar en blanco, porque si usa la fórmula = IF (ISBLANK (a1), 1,2), devuelve un 2.

Entonces, el problema es que Excel está registrando la celda como no en blanco, ni en cero, pero sin contener un número ni un carácter.

El cambio de formato de la celda a un formato de número o texto no cambia nada. Poner a1 entre paréntesis, (a1), no devuelve ningún valor (ni cero, ni un espacio en blanco, ni ningún carácter o espacio).

La única solución es hacer clic en la celda, luego hacer clic en la barra de entrada y presionar enter. El problema desaparece y se convierte en una celda en blanco, que también devuelve un valor de cero.

Esta solución está bien si solo tiene una celda con la que lidiar, pero si tiene una hoja de cálculo con miles de esas celdas, es un problema. Por lo tanto, en una hoja de cálculo que contiene números y en la que desea que la celda vacía "aparentemente" se calcule como cero, debe usar la función iferror de la siguiente manera:

Fórmula antigua: = A1 * 2

Nueva fórmula: = IFERROR ((A1 * 1), 0) * 2

trickyt57
fuente