Contar secuencia de unos y ceros con Excel

25/09/2009 - 05:27 por xorge | Informe spam
Hola a todos, soy nuevo en este grupo, tengo una duda, yo tengo una
columna, en Excel, llena de unos y ceros, lo que quiero hacer es
contar esos unos y ceros agrupandolos de uno en uno o de dos en dos
por ejemplo:

Secuencia Binaria --> 1101010001010 (la secuencia la tengo en una
columna no en forma de fila)

Ceros agrupados de 1 --> 3
Ceros agrupados de 2 --> 0
Ceros agrupados de 3 --> 1

De forma analoga se hace con los unos solo que no debo coger los
digitos de los extremos.

He intentado con la funcion contar.si pero no me sale

¿alguna sugerencia?

Preguntas similare

Leer las respuestas

#11 AnSanVal
02/10/2009 - 16:38 | Informe spam
Hola de nuevo.

Yo habia (mal) interpretado que habia que ignorar las SECUENCIAS de los extremos y NO sólo el primer y último valor.
:-(

De cualquier modo, debemos aceptar el veredicto del comité de evaluación ;-)


Aquí va la modificación:

Sub continuos()
Dim repes(1, 7) As Integer, _
cuenta%, _
fila%, _
n%, _
resultado$, _
anterior As Range

cuenta = 1
Set anterior = Range("A3")
resultado = "Valores : 0 1" & vbCr & vbCr
For fila = 4 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(fila, 1) = anterior Then
cuenta = (cuenta) - 1 * (anterior.Address <> "$A$2")
Else
repes(anterior.Value, cuenta - 1) = repes(anterior.Value, cuenta - 1) + 1
Set anterior = Cells(fila, 1)
cuenta = 1
End If
Next fila
For n = 0 To 7
resultado = resultado & n + 1 & " Rep. = " & repes(0, n) & " " & repes(1, n) & vbCr
Next n
Set anterior = Nothing
MsgBox resultado
End Sub

Saludos desde Tenerife: Antonio.
*******************************************

"Héctor Miguel" escribió en el mensaje news:
hola, Antonio !

Yo habia montado el siguiente codigo, suponiendo que la secuencia está en la columna A y empieza en la fila 2:



(creo que) presenta la misma "falla" de la que se "queja" OP: solo cuenta 4 unos y requiere contar 5 (?)

saludos,
hector.
Respuesta Responder a este mensaje
#12 ORFAO
03/10/2009 - 10:41 | Informe spam
On 2 oct, 10:38, "AnSanVal" wrote:
Hola de nuevo.

Yo  habia (mal) interpretado  que habia que ignorar las SECUENCIAS de los extremos y NO sólo el primer y último valor.
:-(

De cualquier modo,  debemos aceptar el veredicto del comité de evaluación  ;-)

 Aquí va la modificación:

Sub continuos()
  Dim repes(1, 7) As Integer, _
      cuenta%, _
      fila%, _
      n%, _
      resultado$, _
      anterior As Range

  cuenta = 1
  Set anterior = Range("A3")
  resultado = "Valores : 0  1" & vbCr & vbCr
  For fila = 4 To Cells(Rows.Count, "A").End(xlUp).Row
    If Cells(fila, 1) = anterior Then
      cuenta = (cuenta) - 1 * (anterior.Address <> "$A$2")
    Else
      repes(anterior.Value, cuenta - 1) = repes(anterior.Value, cuenta - 1) + 1
      Set anterior = Cells(fila, 1)
      cuenta = 1
    End If
  Next fila
  For n = 0 To 7
    resultado = resultado & n + 1 & " Rep. =  " & repes(0, n) & "  " & repes(1, n) & vbCr
  Next n
  Set anterior = Nothing
  MsgBox resultado
End Sub

Saludos desde Tenerife: Antonio.
*******************************************

"Héctor Miguel" escribió en el mensajenews:



> hola, Antonio !

>> Yo habia montado el siguiente codigo, suponiendo que la secuencia  está en la columna A y empieza en la fila 2:

> (creo que) presenta la misma "falla" de la que se "queja" OP: solo cuenta 4 unos y requiere contar 5 (?)

> saludos,
> hector.- Ocultar texto de la cita -

- Mostrar texto de la cita -



Hola
Prueben esro !
P5=Veces consecutivas
P7=Valor/Texto a buscar
T3:T23=Valores/Texto (Rango donde buscar)

en cualquie celda
=+SUMAPRODUCTO(SI(CONTAR.SI(INDIRECTO(DIRECCION(SI(+FILA($T$3:$T$23)-
FILA($T$3)-$P$5>0;FILA($T$3:$T$23)-$P$5-1;FILA($T$3));COLUMNA($T$3:$T
$23);4));$P$7);0;1)*SI(CONTAR.SI(INDIRECTO(DIRECCION(SI(+FILA($T$3:$T
$23)-FILA($T$3)-$P$5>0;FILA($T$3:$T$23);FILA($T$3));COLUMNA($T$3:$T
$23);4));$P$7);0;1)*SI(CONTAR.SI(DESREF(INDIRECTO(DIRECCION(SI(+FILA($T
$3:$T$23)-FILA($T$3)-$P$5>0;FILA($T$3:$T$23)-$P$5;FILA($T$3));COLUMNA
($T$3:$T$23);4));0;0;$P$5;1);$P$7)=$P$5;1;0))
(En Forma Matricial).
Y...Listo ,Resuelto...(Creo)

Saludos a Todos. Orfao.
Respuesta Responder a este mensaje
#13 Héctor Miguel
04/10/2009 - 10:36 | Informe spam
hola, moises !

buena ! (creo que vale para las intenciones de OP -hasta donde se sabe-)
habra que trabajar a partir de tu formula para tratar de optimizarla (llamadas a 32 funciones)

saludos,
hector.

__ OP __
Prueben esro !
P5=Veces consecutivas
P7=Valor/Texto a buscar
T3:T23=Valores/Texto (Rango donde buscar)

en cualquie celda
=+SUMAPRODUCTO(SI(CONTAR.SI(INDIRECTO(DIRECCION(SI(+FILA($T$3:$T$23)-FILA($T$3)-$P$5>0;FILA($T$3:$T$23)-$P$5-1;FILA($T$3));COLUMNA($T$3:$T$23);4));$P$7);0;1)*SI(CONTAR.SI(INDIRECTO(DIRECCION(SI(+FILA($T$3:$T$23)-FILA($T$3)-$P$5>0;FILA($T$3:$T$23);FILA($T$3));COLUMNA($T$3:$T$23);4));$P$7);0;1)*SI(CONTAR.SI(DESREF(INDIRECTO(DIRECCION(SI(+FILA($T$3:$T$23)-FILA($T$3)-$P$5>0;FILA($T$3:$T$23)-$P$5;FILA($T$3));COLUMNA($T$3:$T$23);4));0;0;$P$5;1);$P$7)=$P$5;1;0))

(En Forma Matricial). Y...Listo ,Resuelto...(Creo)

Saludos a Todos. Orfao.
Respuesta Responder a este mensaje
#14 ORFAO
04/10/2009 - 16:54 | Informe spam
Hola Hector !

En el otro post relacionado al tema mejore esta formula, pero... aun
faltan algunas cositas y...desde luego que espero contar con tu
ayuda.

http://groups.google.com/group/micr...e237?hl=es

Saludos a Todos. Orfao.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida