2012-12-06 21:09:17 +0000 2012-12-06 21:09:17 +0000
27
27

Mostrar un espacio en blanco cuando se hace referencia a una celda en blanco en Excel 2010

Tengo un libro de Excel 2010 que contiene varias hojas de trabajo individuales. Las celdas de una de las hojas están vinculadas a celdas individuales en otras dos hojas de trabajo en el mismo libro. Estoy utilizando una referencia de celda directa que esencialmente dice que cualquier valor que se introduce en una celda particular en una hoja también rellena las celdas en otras dos hojas. He utilizado la función (=) con la referencia de celda para conseguirlo.

El problema con el que me encuentro es que, incluso cuando la celda principal se deja en blanco, las celdas que se rellenan a partir de esa celda principal mostrarán 0, en lugar de permanecer en blanco.

Quiero que las celdas subordinadas permanezcan en blanco si la celda primaria a la que están vinculadas está en blanco.

Respuestas (17)

51
51
51
2015-04-28 04:56:10 +0000

Es necesario forzar a Excel a tratar el contenido de la celda como un valor de texto en lugar de un número, lo que hace automáticamente con los valores en blanco.

=A2 & ""

Esto forzará a Excel a hacer de esa celda un valor de texto, evitando así la conversión de los espacios en blanco en ceros.

18
18
18
2012-12-06 21:30:16 +0000

Aquí hay tres respuestas:

1) Dejando que otra.celda.referencia represente la fórmula de referencia que tiene actualmente después del = (por ejemplo, Sheet17!$H$42), sustituya esa referencia de enlace por

=IF(otra.celda.referencia<>"",otra.celda.referencia, "")

2) Establezca el formato “Número” de sus celdas enlazadas como “Personalizado”: General;–General;.

3) En la página “Opciones de Excel”, “Avanzadas”, sección “Opciones de visualización para esta hoja de trabajo”, desactive la casilla “Mostrar un cero en las celdas que tienen un valor cero”.  Advertencia: esto hará que desaparezcan todos los ceros de la hoja de trabajo.

4
4
4
2015-04-28 04:19:06 +0000

Si sus datos de referencia son sólo de tipo numérico (no texto) o están vacíos, y puede tener 0’s, entonces este es mi enfoque preferido, con sólo introducir la fórmula una vez. Es cierto que es una forma un poco indirecta, pero creo que es la mejor porque

  • no necesitas celdas extra para poner la fórmula y luego referenciar las segundas celdas
  • no necesitas escribir la fórmula dos veces
  • este método diferencia entre un valor cero y una celda vacía
  • no requiere VBA
  • no requiere Named Ranges

Downfall : Si necesita que se devuelvan datos de texto, esto no funcionará. Para los datos de texto, mi método preferido es utilizar el formato de número como se menciona en otras respuestas anteriores.

=IFERROR((A1 & "") * 1,"")

A1 en este caso puede ser reemplazado por cualquier celda, incluyendo otra hoja, libro de trabajo o INDIRECT().

Notas sobre cómo funciona esto:
IFERROR() - el segundo argumento se establece como cadena vacía, por lo que si se produce un error obtenemos una cadena vacía. Así que tenemos que asegurarnos de que si la celda de origen está vacía, se produce un error.

Método numérico : Stringify el valor de la fuente, luego se multiplica por 1. Literal emtpy string * 1 = #VALOR, String con numérico se auto-convierte en numérico y no se produce ningún error.

4
4
4
2015-06-08 10:22:15 +0000

Hay otro truco: poner en la celda vacía soucre la fórmula ="". Vea la descripción detallada aquí.

2
2
2
2014-07-25 12:35:30 +0000

Yo tampoco encontré una solución mejor que la de Scott.

Pero combinado con el enfoque de aquí podría ser casi soportable, creo: http://www.ozgrid.com/Excel/named-formulas.htm

Digamos que tengo una fórmula como esta

= IFERROR( INDEX(INDIRECT("EsZkouska");
  SMALL(IF((INDEX(INDIRECT("EsZkouska");;1‌​;1)="ČSN721180")*(INDEX(INDIRECT("EsZkouska");;9;1)="RC_P_B");
  ROW(INDIRECT"EsZkouska"))-MIN(ROW(INDIRECT("EsZkouska")))+1;"");1);17;1);"")

Esta fórmula lee el valor de la celda de una hoja de datos usando la selección condicional y los presenta en otra hoja. No tengo control sobre el formato de las celdas en la hoja de datos.

Voy a Insertar > Nombre > Definir y en los “Nombres en el libro de trabajo” creo un nuevo nombre “RC_P_B”. Luego en el campo “Refiere a” copio mi fórmula (sin caracteres {} - es fórmula de matriz).

Entonces puedes usar la fórmula de Scott sin tener que repetir todo el texto de la fórmula:

{=IF(RC_P_B<>""; RC_P_B;"---")}

Creo que esto es mejor que copiar toda la fórmula.

2
2
2
2014-11-09 06:28:11 +0000

Simplemente no uso una fórmula para superar este problema. Todo lo que hago es formatear condicionalmente las celdas con el color de fuente blanco si el valor de la celda es igual a 0.

1
1
1
2015-06-11 03:35:03 +0000

Llevo mucho tiempo buscando una solución elegante para este tema.

He utilizado la fórmula =if(a2=“”,“”,a2) durante años, pero me parece un poco engorrosa.

He probado la sugerencia anterior =a2&“” y aunque parece que funciona, muestra un número que en realidad es texto, por lo que no se puede aplicar el formato numérico y no funcionan las operaciones estadísticas, como la suma, la media, la mediana, etc., por lo que si lo que buscas son números que funcionen, esto no encaja.

He experimentado con algunas de las otras funciones y he encontrado lo que creo que es la solución más elegante hasta la fecha. Continuando con el ejemplo anterior:

=CELL(“contents”,A2)

devuelve un valor numérico que puede ser formateado como un número y devuelve un espacio en blanco cuando la celda referenciada está en blanco. Por alguna razón, esta solución no parece aparecer en ninguna de las sugerencias en línea que he encontrado, pero

1
1
1
2017-06-22 12:20:12 +0000

Solución para Excel 2010:

  1. Abrir “Archivo”
  2. Pulsar “Opciones”
  3. Pulse “Avanzadas”
  4. En “Opciones de visualización” para esta hoja de trabajo “BBBB”
  5. Desmarque la casilla “Mostrar un valor cero para las celdas que tienen un valor cero”.
1
1
1
2012-12-06 21:30:05 +0000

Si la celda vinculada no es numérica puede utilizar una sentencia IF con ISTEXT:

=IF(ISTEXT(Sheet1!A2), Sheet1!A2, "")
0
0
0
2018-04-22 16:42:25 +0000

Utilicé el formato condicional para que la fuente fuera del mismo color que el fondo de la celda donde el valor de la celda era igual a cero.

0
0
0
2016-01-08 17:33:14 +0000
Public Function FuncDisplayStringNoValue(MyCell As Variant) As String

Dim Result As Variant

If IsEmpty(MyCell) Then

   FuncDisplayStringNoValue = "No Value"

Else
   Result = CDec(MyCell)

   Result = Round(Result, 2)

   FuncDisplayStringNoValue = "" & Result

   End If

End Function
-1
-1
-1
2015-03-17 20:24:48 +0000

Lo que me funcionó en Office 2013 fue:

=IF(A2=""," ",A2)

Donde en el primer juego de comillas no hay espacio, y en el segundo hay un espacio.

Espero que esto ayude

-1
-1
-1
2016-08-13 21:40:08 +0000

Todas estas soluciones son demasiado complicadas para mí y me doy cuenta de que esto puede no ser factible para todas las aplicaciones, pero simplemente relleno el campo de origen con un espacio en blanco y obtengo un espacio en blanco en el campo de destino.

-1
-1
-1
2015-07-15 15:20:22 +0000

Tuve un problema similar, y creo que encontré un método para ti. Me solucionó el problema.

Si quieres que la columna C haga referencia a la columna A, y sólo escribes una fórmula para la celda de referencia, usarías esto y arrastrarías hacia abajo la columna.

=A1

Sin embargo, puede haber celdas de origen en la columna A que estén en blanco y necesiten permanecer en blanco en las celdas de referencia de la columna C, puedes usar esto y arrastrar la columna hacia abajo.

=T(A1)

En cuanto al formato de las celdas, la referencia (columna C) deberá ser general.

-1
-1
-1
2018-01-29 12:01:59 +0000

Tengo una solución que me funciona:

IF(cell reference="","",cell reference)

Explicación:

"" es igual a celda en blanco o vacía. Ahora sólo le doy la vuelta al if. Si la celda está en blanco, hazla en blanco, de lo contrario usa la referencia de la celda.

-1
-1
-1
2015-11-30 05:58:52 +0000

Solución:
=IF('Wk1 Data-replace w dt bgn & end'!C2>0, 'Wk1 Data-replace w dt bgn & end'!C2, "")

Explicación: Para resolver este problema utilicé dos conjuntos de comandos If.

Parte uno del comando: Le dije a la celda que mostrara el contenido de la celda de referencia si ésta contenía datos (Excel interpreta esto como que la celda tiene un valor mayor que 0)

Parte dos del comando: Le dije cómo comportarse si no había datos; “” significa dejar en blanco

Nota: Wk1 Data-replace w dt bgn & end’!C2 es mi celda de referencia.

-2
-2
-2
2015-09-25 19:33:35 +0000

Vaya a Formato de celdas.

A continuación, seleccione formato personalizado e introduzca lo siguiente:0;-0;;@