En una hoja de cálculo de Google: ¿cómo puedo contar las filas de un área determinada que tienen un valor? Todas las sugerencias 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;"";"") // Shows an empty cell
También se cuenta.
¿Cuál es la solución a esta simple tarea?
Respuestas:
Haga otra columna que determine si la celda referenciada está en blanco usando la función "CountBlank". Luego use count en los valores creados en la nueva columna "CountBlank".
fuente
Acabo de usar
=COUNTIF(Range, "<>")
y contó celdas no vacías para mí.fuente
=COUNTIF(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 dejarlo en blanco) no se cuentan.Soporte de Google: https://support.google.com/docs/answer/3093991
countblank
: "Devuelve el número de celdas vacías en un rango dado"Nota:
CountBlank
considera las celdas en blanco (presione eliminar para dejar en blanco una celda) y las celdas que tienen una fórmula que vuelve""
a ser celdas vacías .Soporte de Google: https://support.google.com/docs/answer/3093403
Si tiene un rango que incluye fórmulas que dan como resultado
""
, puede modificar su fórmula desdea:
EDITAR: la función es
countblank
, nocountblanks
, la última dará un error.fuente
Esto es lo que creo que es la mejor solución hasta ahora:
He aquí por qué en 3 sencillos pasos
Paso 1: simple como un pastel: agregue una columna adicional
La respuesta de eniacAvenger proporcionará la solución correcta sin preocuparse por los casos límite, ya que
=A1<>""
parece llegar al valor correcto de verdad / falsedad en función de cómo pensamos intuitivamente en las celdas en blanco, ya sea en blanco virgen o en blanco creado.Así que imagine que tenemos estos datos y queremos el recuento de no espacios en blanco en
B2:B6
:Si confiamos en la Columna C , podríamos obtener el recuento de valores en B así:
Paso 2: Úselo
FormulaArray
para crear dinámicamente Columna adicionalSin embargo, el comentario de consideRatio es válido: si necesita una columna adicional, a menudo puede lograr el mismo objetivo con el
ArrayFormula
que puede crear una columna en la memoria sin ocupar espacio en la hoja.Entonces, si queremos crear C dinámicamente, podemos usar una fórmula de matriz como esta:
Si simplemente lo ponemos en C2, crearía la matriz vertical con un solo trazo del lápiz:
Paso 3: contar valores en una columna dinámica
Pero con eso resuelto, ya no necesitamos que la columna simplemente muestre los valores.
ArrayFormula
resolverá de la siguiente gama:{True,True,False,True,False}
.CountIf
solo toma cualquier rango y en este caso puede contar el número de valores verdaderos.Entonces podemos ajustar
CountIf
los valores producidos deArrayFormula
esta manera:Otras lecturas
Las otras soluciones en este hilo son demasiado complejas o fallan en casos extremos particulares que he enumerado en esta hoja de prueba:
Hoja de cálculo de Google - Prueba CountA - Demo
Para
CountA
saber por qué funciona de la manera más inestable, vea mi respuesta aquífuente
ArrayFormula(...)
para devolver la matriz de valores dentro deCountIf
lo sugerido. He actualizado la respuesta y la demostración de la hoja de cálculo. Ambos harán lo mismo, pero la limpieza está al lado de la bondad.Para mí, ninguna de las respuestas funcionó para rangos que incluyen tanto celdas vírgenes como celdas vacías según una fórmula (por ejemplo
=IF(1=2;"";"")
)Lo que me resolvió es esto:
=COUNTA(FILTER(range, range <> ""))
fuente
Filter()
no encuentra ningún elemento, devolverá lo#N/A
que seCOUNTA()
trata como un elemento y, por lo tanto, siempre devolverá 1, incluso si el recuento debe ser cero. Ejemplo en Hojas de cálculo de Google=COUNTA(filter({1;range},{1;range}<>"")) - 1
Resuelto usando una solución que encontré en Google de 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.
También asegúrese de evitar 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.
fuente
Es trabajo para mi:
Recuento de todas las celdas no vacías desde F2 hasta el final de la columna.
fuente
Dado el rango
A:A
, sugeriría:El problema es que COUNTA cuenta en exceso exactamente por 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 carácter
""
pero excluyen celdas verdaderamente vacías""
pero excluyen celdas verdaderamente en blancoEsto significa que el valor
COUNTIF(A:A,"*")-COUNTIF(A:A,"?*")
debe ser el número de celdas de texto menos el número de celdas de texto que tienen al menos un carácter, es decir, el recuento de celdas que contienen exactamente""
fuente
Una solución más simple que funciona para mí:
Cuenta tanto números, cadenas, fechas, etc. que no están vacíos
fuente
Hasta donde puedo ver, la mayoría de las soluciones aquí cuentan el número de celdas no vacías, y no el número de filas con celdas no vacías dentro.
Una posible solución para el rango
B3:E29
es por ejemploAquí
ArrayFormula(IF(B3:B29&C3:C29&D3:D29&E3:E29="";0;1))
devuelve una columna de0
(si la fila está vacía) y1
(más).Otro se da en consideración la respuesta de Radio .
fuente
Puede definir una función personalizada utilizando Apps Script (Herramientas> Editor de script) llamado, por ejemplo
numNonEmptyRows
:Y luego úselo en una celda como esta
=numNonEmptyRows(A23:C25)
para contar el número de filas no vacías en el rangoA23:C25
;fuente
En Hojas de cálculo de Google, para contar el número de filas que contienen al menos una celda no vacía dentro de un rango bidimensional :
Donde A1: C5 es el rango que está buscando para filas no vacías.
La fórmula proviene y se explica en el siguiente artículo de EXCELXOR: https://excelxor.com/2015/03/30/counting-rows-where-at-least-one-condition-is-met/
fuente
Una forma muy flexible de hacer ese tipo de cosas es usar ARRAYFORMULA.
Como ejemplo, imagine que desea contar cadenas no vacías (campos de texto), puede usar este código:
Lo que sucede aquí es que "ArrayFormula" le permite operar sobre un conjunto de valores. Usando la función SUMA indica "ArrayFormula" para sumar cualquier valor del conjunto. La cláusula "If" solo se usa para marcar "vacío" o "no vacío", 1 para no vacío y 0 en caso contrario. "Len" devuelve la longitud de los diferentes campos de texto, allí es donde define el conjunto (rango) que desea verificar. Finalmente, "ArrayFormula" sumará 1 por cada campo dentro del conjunto (rango) en el que "len" devuelve más de 0.
Si desea verificar cualquier otra condición, simplemente modifique el primer argumento de la cláusula IF.
fuente