Si tiene una fórmula en una hoja de trabajo y la celda a la que hace referencia la fórmula está en blanco, la fórmula aún devuelve un valor cero. Por ejemplo, si tiene la fórmula = A3, la fórmula devuelve el contenido de la celda A3, a menos que la celda A3 esté en blanco. En ese caso, la fórmula devuelve un valor de cero.

Esto parece estar relacionado con la idea de que es imposible que una fórmula devuelva un valor en blanco, cuando «blanco» se usa como sinónimo de «vacío».

Sin embargo, puede expandir su fórmula un poco para que devuelva una cadena vacía. En lugar de usar = A3 como fórmula, usaría lo siguiente:

=IF(ISBLANK(A3),"",A3)

Esta fórmula usa ISBLANK, que devuelve Verdadero o Falso, dependiendo de si la celda referenciada (A3) está en blanco o no. La función SI luego devuelve una cadena vacía («») si A3 está en blanco, o usa el valor en A3 si A3 no está en blanco.

Independientemente de lo que devuelva la fórmula, aún puede usar su resultado en otras fórmulas y funcionará bien. Incluso si devuelve una cadena vacía, otras fórmulas la tratan como si contuviera cero.

En áreas donde tratar la celda como si contuviera cero podría ser problemático (como cuando está trazando los resultados de la fórmula), entonces puede modificar la fórmula un poco, como se muestra aquí:

=IF(ISBLANK(A3),NA(),A3)

Esta fórmula devuelve el error # N / A si A3 está en blanco. Este error se propaga a través de otras fórmulas que hacen referencia a la fórmula, pero el error # N / A se ignora por completo al graficar.

Si bien las soluciones anteriores son satisfactorias para la mayoría de las personas, a algunas personas realmente les gustaría ver una celda de destino realmente en blanco si la celda de origen está en blanco. Por ejemplo, es posible que desee que la celda B7 esté en blanco si la celda A3 está en blanco. Si coloca una fórmula en la celda B7 (como ya se explicó), la celda B7 no está realmente en blanco, contiene una fórmula.

Si este es su objetivo, un verdadero «vacío», sólo podrá lograrlo mediante el uso de una macro. La macro deberá verificar si se cambió la celda de origen. Si lo fue, entonces lo que esté en la fuente debe copiarse en la celda de destino.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim rMonitor As Range     Dim rTarget As Range

Set rMonitor = Range("A3")

Set rTarget = Range("B7")



If Not Intersect(Target, rMonitor) Is Nothing Then         rMonitor.Copy rTarget     End If

Set rMonitor = Nothing     Set rTarget = Nothing End Sub

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2174) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Returns_Zero_When_a_Referenced_Cell_is_Blank [Devolver cero cuando una celda de referencia está en blanco].