Como modifico esta funcion: Contar.SI(a1:a200;"*"&b1&"*")

modificar esta funcion: Contar.SI(a1:a200;"*"&b1&"*") para que " b1 " tambien pueda ser de la forma  "b1:b10" .

1 respuesta

Respuesta
2

No es posible contar con varios criterios en una misma columna.

Referencia:

http://exceltotal.com/sumar-y-contar-con-varias-condiciones-en-excel/ 


Lo que puedes hacer es como dice en la explicación, hacer sumas de los contadores, ejemplo:

En la celda C1 poner

=CONTAR.SI(A1:A200;"*"&B1&"*")

En la celda C2 poner

=CONTAR.SI(A2:A201;"*"&B2&"*")

En la celda C3 poner:

=CONTAR.SI(A3:A202,"*"&B3&"*")

Luego en la celda d1 poner la suma

=SUMA(C1:C3)

o Puede ser así:

=CONTAR.SI(A1:A200;"*"&B1&"*")+CONTAR.SI(A2:A201;"*"&B2&"*")+CONTAR.SI(A3:A202;"*"&B3&"*")

En cualquier caso si tienes n valores tendrías que hacer n fórmulas.


La otra opción es hacer una macro.

Si quieres te preparo la macro, solamente dime: cuenta si lo que está en B1 aparece dentro de la celda, es decir:

                 A                                    B                    C             D

1  Las ideas del mañana                 ideas                 2              4

2  Más ideas                                 elegante             2

3 Fiestas elegantes

4 Es más elegante lo divertido

El resultado que te entregaría la macro sería un 4, ¿es correcto?

Espero tus comentarios.


A                B                                       c

X1         ( contar.si ) =2                              12x1xx

xx1        (contar.si)=0                                2xx2x1

Si me envías tu correo puedo ser más claro. Al hacerlo con muchos datos se ralentiza mi pc que es antiguo..

Gracias Por tu tiempo

Envíame tu archivo con varios ejemplos de los resultados que esperas.

Ya te lo he  enviado..

Saludos de un Chileno en Valencia,España

Te envié el archivo con eta macro para hacer más rápido el conteo.

En la parte inferior izquierda te va a parecer el contador de los registros que se van procesando.

Sub formulas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    u = Range("C" & Rows.Count).End(xlUp).Row
    u1 = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To u1
        Application.StatusBar = "Registro procesado: " & i & " de: " & u1
        Cells(i, "B") = Application.CountIf(Range("C1:C" & u), "*" & Cells(i, "A") & "*")
    Next
    Application.StatusBar = False
    Application.ScreenUpdating = True
    MsgBox "Cálculo de las fórmulas terminado", vbInformation, "Fecha: " & Date
End Sub

Saludos.Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas