Usando Excel, ¿cómo puedo contar el número de celdas en una columna que contiene el texto "verdadero" o "falso"?

10

Tengo una hoja de cálculo que tiene una columna de celdas donde cada celda contiene una sola palabra. Me gustaría contar las ocurrencias de algunas palabras. Puedo usar la función COUNTIF para la mayoría de las palabras, pero si la palabra es "verdadera" o "falsa", obtengo 0.

        A         B 
1     manzanas 2
 2     verdadero 0
 3     falso 0
 4     naranjas 1
 5     manzanas

En la tabla de hoja de cálculo anterior, tengo estas fórmulas en las celdas B1, B2, B3 y B4:

=COUNTIF(A1:A5,"apples")
=COUNTIF(A1:A5,"true")
=COUNTIF(A1:A5,"false")
=COUNTIF(A1:A5,"oranges)

Como puede ver, puedo contar manzanas y naranjas, pero no es verdadero o falso. También he intentado esto:

=COUNTIF(A1:A5,TRUE)

Pero eso tampoco funciona.

Nota: estoy usando Excel 2007.

Jay Elston
fuente
3
Por lo que vale, he cambiado de opinión al respecto. Supongo que las fórmulas de Excel podrían considerarse un tipo de lenguaje de programación declarativo. No creo que Turing esté completo sin el uso de VBA, pero tampoco lo son las expresiones regulares, ¡que la comunidad SO considera aceptables!
Martin Smith
1
Quédate con la solución comodín. =COUNTIF(A1:A5,"<truf")-COUNTIF(A1:A5,"<=trud")cuenta cada cadena que comienza con "verdadero" o "trud", como "trudge".
Scott,
1
Jay, esta vieja pregunta apareció de nuevo debido a una nueva publicación. Incrustar una respuesta en la pregunta es un desastre con la estructura prevista del sitio. ¿Puedes mover la porción de respuesta a una respuesta?
Fixer1234

Respuestas:

5

Esto debería funcionar:

=COUNTIF(A1:A5,"*true")

aunque también contará una celda si tiene algún texto anterior a verdadero. Pero puede ser una solución cruda para usted.

Sux2Lose
fuente
1
Buena sugerencia: no había pensado en comodines. Se puede usar un segundo COUNTIF para filtrar palabras que terminan en "verdadero". Esta fórmula funciona: = COUNTIF (A1: A5, " verdadero") - COUNTIF (A1: A5, " ? Verdadero") Votaría esta respuesta, pero soy un novato con solo 11 repeticiones hasta ahora. (No puedo transferir ninguno de stackoverflow :-(
Jay Elston
1
Aquí está otra variación: =COUNTIFS(A1:A5, "tru?", A1:A5, "*e").
Scott,
7

Excel interpreta el segundo argumento de la fórmula COUNTIF como una prueba a realizar (por ejemplo, podemos ingresar "> 3", etc.). En este caso, parece que Excel está convirtiendo las cadenas "verdadero" y "falso" en 1 y 0. Eso no coincidirá con el texto original.

La única solución que conozco para este problema es escribir código VBA para hacer el recuento.

Si es aceptable cambiar los datos de entrada, reemplace "verdadero" con "T" y "falso" con "F", luego cambie a COUNTIF(A1:A5,"T").

Cuando tropecé con esto, abandoné la batalla y cambié los datos de entrada.

PD: Uso de Excel 2003 - mismo problema

Christian Garbin
fuente
Mi solución temporal fue algo así: inserté otra columna y utilicé la fórmula: IF (A1 = "verdadero", "T", IF (A1 = "falso", "F", "")) para llenar las celdas .
Hmm, puedo ver la frustración. COUNTIF(A2,">=trud")y COUNTIF(A2,"<=truf")ambos funcionan. COUNTIF(A2,A2)¡y cualquier variante concebible no lo hace!
Martin Smith
Parece que =COUNTIF(G1,">=true")y =COUNTIF(G1,"<=true") siempre devuelve 0 para cualquier entrada posible de CHAR(1)a, CHAR(255)lo que sea que se esté convirtiendo parece completamente incomparable. Parece estar actuando como lo haría una comparación NULL en una base de datos.
Martin Smith
3

Parece que Excel trata "verdadero / VERDADERO" y "falso / FALSO" como cadenas mágicas cuando aparecen en fórmulas: se tratan como funciones: VERDADERO () y FALSO () en lugar de cadenas.

Si necesita contar verdadero y falso en una columna, no obtendrá un conteo si usa "verdadero" o "= verdadero" como criterio. Hay algunos enfoques que puede usar para contar verdadero y falso como palabras.

Use a pair of COUNTIF functions. Either of the following works:

=COUNTIF(A1:A5,"*true")-COUNTIF(A1:A5,"*?true")

or

=COUNTIF(A1:A5,"<truf")-COUNTIF(A1:A5,"<=trud")

Create a new column with true converted to "T" and false converted to "F" using the formula:

=IF(A1="true","T",IF(A1="false","F",""))

Then trues and falses can be counted using:

=COUNTIF(A1:A5,"T")
=COUNTIF(A1:A5,"F")

Don't use "true" and "false" to begin with, use something else (such as T and F).

Gracias a Sux2Lose por la idea de comodín y Martin Smith por la idea de usar comparaciones con las cadenas inmediatamente mayores y menores que verdaderas o falsas.

Jay Elston
fuente
0

Pude usar las siguientes fórmulas:

=COUNTIF(A1:A5,"=apples")
=COUNTIF(A1:A5,"=true")
=COUNTIF(A1:A5,"=false")
=COUNTIF(A1:A5,"=oranges")

Lea la ayuda incorporada para COUNTIF. Describen la capacidad de utilizar operadores en la condición con más detalle.

tecnologico
fuente
1
No funciona para mi Devuelve 0.
Martin Smith
1
Esto tampoco funciona para mí.
Jay Elston
0

Tuve un problema similar con una fórmula SUMPRODUCT. Al eliminar las comillas alrededor del término FALSO, la fórmula produjo el resultado correcto, utilizando MS EXCEL 2003.

rohan
fuente
1
Mencioné en la pregunta que probé = COUNTIF (A1: A5, TRUE), y que estaba usando la versión 2007 de Excel.
Jay Elston
0

Pude resolver el problema usando la siguiente fórmula:

= COUNTIF (A1: A5, "T *").

"T*" reemplaza "Verdadero" si las entradas en la columna están limitadas a una sola palabra "T".

Rocky Ellens
fuente