sheets operadores logicos hoja google funcion formato definicion condicional caracteristicas calculo buscarv spreadsheet google-docs

spreadsheet - operadores - Hoja de cálculo de Google: cuente filas con valor no vacío



hoja de calculo google drive (8)

En una hoja de cálculo de Google: ¿cómo puedo contar las filas de un área determinada que tienen un valor? Todas las pistas sobre esto que encontré hasta ahora conducen a fórmulas que cuentan las filas que tienen un contenido no vacío (incluida la fórmula), pero una celda con = IF (1 = 2; ""; "") // Muestra un vacío la célula también cuenta.

¿Cuál es la solución para esta simple tarea?

Gracias de antemano


Esto es lo que creo que es la mejor solución hasta ahora:

=CountIf(ArrayFormula(range<>""),TRUE)

He aquí por qué en 3 sencillos pasos

Paso 1: Simple As Pie - Añadir columna extra

La respuesta de eniacAvenger arrojará la solución correcta sin preocuparse por los casos extremos , ya que =A1<>"" parece llegar al valor correcto de falsedad / falsedad en función de cómo pensamos intuitivamente en celdas en blanco, espacios en blanco vírgenes o espacios en blanco creados.

Entonces imagina que tenemos estos datos y queremos el conteo de espacios en blanco en B2:B6 :

| | A | B | C | |---|-------------|-------|---------| | 1 | Description | Value | B1<>"" | | 2 | Text | H | TRUE | | 3 | Number | 1 | TRUE | | 4 | IF -> "" | | FALSE | | 5 | IF -> Text | h | TRUE | | 6 | Blank | | FALSE |

Si confiamos en la Columna C , podríamos obtener el recuento de valores en B como este:

=COUNTIF(C2:C6,True)

Paso 2: utilice FormulaArray para crear dinámicamente columna adicional

Sin embargo, el comentario de consideración es válido: si necesita una columna adicional, a menudo puede lograr el mismo objetivo con un ArrayFormula que puede crear una columna en la memoria sin consumir espacio en la hoja.

Entonces, si queremos crear C dinámicamente, podemos usar una fórmula de matriz como esta:

=ArrayFormula(B2:B6<>"")

Si simplemente lo colocamos en C2, crearía la matriz vertical con un solo trazo de la pluma:

| | A | B | C | |---|-------------|-------|--------------------------| | 1 | Description | Value | =ArrayFormula(B2:B6<>"") | | 2 | Text | H | TRUE | | 3 | Number | 1 | TRUE | | 4 | IF -> "" | | FALSE | | 5 | IF -> Text | h | TRUE | | 6 | Blank | | FALSE |

Paso 3: Cuente los valores en columna dinámica

Pero con eso resuelto, ya no necesitamos que la columna simplemente muestre los valores.

ArrayFormula se resolverá en el siguiente rango: {True,True,False,True,False} .
CountIf solo toma en cualquier rango y en este caso puede contar el número de valores True.

Así que podemos ajustar CountIf alrededor de los valores producidos por ArrayFormula esta manera:

=CountIf(ArrayFormula(B2:B6<>""),TRUE)

Otras lecturas

Las otras soluciones en este hilo son demasiado complejas o fallan en casos particulares que he enumerado en esta hoja de prueba:

Hoja de cálculo de Google - Prueba CountA - Demostración

Para ver por qué CountA funciona de la manera menos CountA , vea mi respuesta aquí


Dado el rango A:A , Id sugiero:

=COUNTA(A:A)-(COUNTIF(A:A,"*")-COUNTIF(A:A,"?*"))

El problema es que COUNTA sobrescribe exactamente el número de celdas con cadenas de longitud cero "" .

La solución es encontrar un recuento de exactamente estas células. Esto se puede encontrar buscando todas las celdas de texto y restando todas las celdas de texto con al menos un caracter

  • COUNTA (A: A): celdas con valor, incluyendo "" pero excluyendo celdas verdaderamente vacías
  • CONTAR.SI (A: A, "*"): celdas reconocidas como texto, incluido "" pero excluyendo celdas realmente en blanco
  • CONTEO (A: A, "? *"): Celdas reconocidas como texto con al menos un caracter

Esto significa que el valor COUNTIF(A:A,"*")-COUNTIF(A:A,"?*") Debe ser el número de celdas de texto menos la cantidad de celdas de texto que tienen al menos un carácter, es decir, el recuento de celdas que contienen exactamente ""


Haga otra columna que determine si la celda a la que se hace referencia está en blanco usando la función "CountBlank". Luego use contar en los valores creados en la nueva columna "CountBlank".


Para mí, ninguna de las respuestas funcionó para los rangos que incluyen tanto las células vírgenes como las que están vacías basadas en una fórmula (p. Ej. =IF(1=2;"";"") )

Lo que lo resolvió para mí es esto:

=COUNTA(FILTER(range, range <> ""))


Resuelto usando una solución que encontré en Google por Yogi Anand: https://productforums.google.com/d/msg/docs/3qsR2m-1Xx8/sSU6Z6NYLOcJ

El siguiente ejemplo cuenta el número de filas no vacías en el rango A3: C, recuerde actualizar ambos rangos en la fórmula con su rango de interés.

=ArrayFormula(SUM(SIGN(MMULT(LEN(A3:C), TRANSPOSE(SIGN(COLUMN(A3:C)))))))

También asegúrese de evitar las dependencias circulares, sucederá si, por ejemplo, cuenta el número de filas no vacías en A: C y coloca esta fórmula en la columna A o C.


Una solución más simple que funciona para mí:

=COUNTIFS(A:A;"<>"&"")

Cuenta números, cadenas, fechas, etc. que no están vacíos


Acabo de usar =COUNTIF(Range, "<>") y contó las celdas no vacías para mí.


=counta(range)

  • counta : "Devuelve un recuento del número de valores en un conjunto de datos"

    Nota: CountA considera que "" es un valor . Solo las celdas que están en blanco (presione eliminar en una celda para dejar en blanco) no se cuentan.

    Asistencia de Google: https://support.google.com/docs/answer/3093991

  • countblank : "Devuelve el número de celdas vacías en un rango determinado"

    Nota: CountBlank considera que tanto las celdas en blanco (presione borrar para poner en blanco una celda) como las celdas que tienen una fórmula que devuelve "" para ser celdas vacías .

    Asistencia de Google: https://support.google.com/docs/answer/3093403

Si tiene un rango que incluye fórmulas que dan como resultado "" , entonces puede modificar su fórmula de

=counta(range)

a:

=Counta(range) - Countblank(range)

EDITAR: la función es countblank , no countblanks , este último dará un error.