Usar la instrucción IF y ISBLANK para determinar un rango de celdas si alguna de ellas tiene información

10

Tengo una fórmula en la que estoy buscando un rango de celdas, estén o no en blanco.

Si todos están en blanco, quiero devolver otro espacio en blanco.

Si alguna de las celdas en el rango no está en blanco, quiero devolver un valor Major Milestone Due.

Aquí está la fórmula que tengo actualmente:

=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")

Está devolviendo todo como Major Milestone Due, incluso si hay ciertos rangos de filas con todas las celdas en blanco.

Brezo
fuente

Respuestas:

16

COUNTAdará el número de celdas en un rango que no están vacías .

Así que intenta ...

 =IF(NOT(COUNTA(BM2:BQ2)),"","Major Milestone Due")
jcfollower
fuente
La fórmula básica: NOT (COUNTA (BM2: BQ2)) es aplicable con un operador más lógico, como: AND (COUNTA (BN2), NOT (COUNTA (BM2: BQ2)))
Rhak Kahr
9

Su fórmula es correcta si se ingresa como una fórmula de matriz .

El isblankno funciona para una matriz a menos que la ingrese como una fórmula de matriz usando ctrl+ shift+ enter. Se verá así al tener llaves alrededor:

{=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")}

Además, un if - counta también hará esto sin problemas -

=IF(COUNTA(BM2:BQ2)=0,"","Major Milestone Due")

Raystafarian
fuente
La fórmula de matriz no es del todo correcta. Esta versión solo pasará de TRUEa FALSEsi la primera celda del rango contiene un valor. Para verificar correctamente todas las celdas en el rango, ANDdebe agregarse{=IF(AND(ISBLANK(BM2:BQ2)),"","Major Milestone Due")}
Marcus Hughes
@MarcusHughes ¿por qué sería eso? Es una fórmula de matriz y funciona en toda la matriz
Raystafarian
No sé el por qué de ella exactamente, pero he comprobado (Excel 2010) y no funciona con sólo ISBLANK. Intente ingresar esa fórmula, mantenga la primera celda en el rango en blanco, luego ingrese los datos en una celda posterior en el rango ... La ISBLANKcondición seguirá regresando TRUE. Solo si ingresa datos en la primera celda, regresará FALSEcorrectamente. Ahora intenta agregar AND. Si alguna celda en el rango obtiene datos agregados, regresará FALSEcomo debería. (Supongo que esto no es solo una casualidad extraña con 2010.)
Marcus Hughes
2

Una cosa importante a considerar es su definición de "en blanco". Según el hecho de que utilizó la frase "Quiero devolver otro espacio en blanco", parecería que está definiendo "en blanco" como celdas que aparecen en blanco, pero que en realidad pueden contener una fórmula que genera ""y, por lo tanto, no están vacías .

El COUNTAy ISBLANKmétodos no funcionará si usted quiere manejar este tipo de células como espacios en blanco, puesto que estas dos fórmulas buscan verdaderamente vacías células. Para manejar las fórmulas que generan "", tiene dos opciones:


  • Si siempre conoce el tamaño de su rango, puede usar cualquiera de los siguientes:

    =IF( COUNTBLANK(BM2:BQ2)=5, "", "Major Milestone Due")
    =IF( COUNTIF(BM2:BQ2,"")=5, "", "Major Milestone Due")

    donde 5 es el tamaño de su rango. Este método no funciona tan bien con rangos dinámicos.


  • Una fórmula un poco más compleja (¡al menos, más compleja de explicar!) Utiliza SUMPRODUCT:

    =IF( SUMPRODUCT(--(BM2:BQ2<>""))=0, "", "Major Milestone Due")


(Tenga en cuenta que COUNTIF(BM2:BQ2,"<>")tiene el mismo problema que COUNTA).

Marcus Hughes
fuente
-1

Llegué a esta página en busca de la respuesta a una pregunta casi idéntica.

Cuando vi que COUNTAse mencionaba eso, supe casi de inmediato qué hacer. En un contexto ligeramente diferente, tengo un rango de columnas a la izquierda de una columna que quiero decir not startedsi todas las celdas de la misma fila están vacías (en blanco).

La siguiente fórmula funciona para mí.

=IF(COUNTA(P3:U3)=0,"Not Started"...)

Los puntos suspensivos indican que hay varias IFfunciones adicionales en mi fórmula, que realiza más pruebas en el rango si se llena una o más.

David A. Gray
fuente
Bienvenido a Super User. Noté que su respuesta atrajo un voto negativo. La razón probable es que intentamos evitar la duplicación. Cada respuesta tiene como objetivo proporcionar una solución que sea sustancialmente diferente de lo que ya se ha aportado. Esto esencialmente duplica la segunda parte de la respuesta de Raystafarian.
fixer1234
Mi respuesta debería haber sido emitida como un comentario.
David A. Gray, el