Agrupar y contar

Tengo en la columna A de la hoja1
A
B
B
C
C
C
Se pide en la hoja 2 lo siguiente:
A : 1
B : 2
C : 3
1

1 Respuesta

30.650 pts. Experto en Excel
Siempre hay una y mil formas distintas de llegar a roma, depende de cada uno como hacerlo.
Pregunta, ¿en la hoja 2 ya tienes los distintos datos de A B C?... o tienes que insertarlos de acuerdo a la información de la hoja 1...
Si ya los tienes y solo quieres contar, entonces usas la función contar. Si de esta forma:
=CONTAR.SI(Hoja1!A1:A6,Hoja2!aki va la celda donde estaria la A por ejemplo)
Y después solo arrastras la fórmula para las demás letras...
Si no tienes las letras en la hoja 2 puedes copiar todo el rango de la columna a de la hoja 1 y pegarla en la hoja 2... te vas a la ficha datos, quitar duplicados, eliges la columna donde pegaste los datos y listo ya tendrás valores únicos y podrás aplicar la fórmula que te di antes.
También puede hacerse mediante macro... pero dime si esto te sirve o prefieres la macro... ¿sabes de macros?
En la hoja 2 no hay nada.
En la hoja 2 se debe generar:
A:1
B:2
C:3
D:N
E:X
Es decir debe jalar toda la columna A de la hoja1
Gracias
Creo que seria mejor con macro
Ok te paso el código:
Dim celda As Range
Dim celda2 As Range
Dim valor As Variant
Dim contador As Variant
Application.ScreenUpdating = False
Sheets(2).Range("a:b") = ""
For Each celda In Range("a1", Range("a65000").End(xlUp))
If Sheets(2).Range("a:a").Find(celda.Value) Is Nothing Then
valor = celda.Value
Else: GoTo line1
End If
contador = 0
For Each celda2 In Range("a1", Range("a65000").End(xlUp))
If celda2.Value = valor Then
contador = contador + 1
End If
Next
If Sheets(2).Range("a1") = "" Then
Sheets(2).Range("a1") = valor
Sheets(2).Range("b1") = contador
Else
Sheets(2).Range("a65000").End(xlUp).Offset(1, 0) = valor
Sheets(2).Range("b65000").End(xlUp).Offset(1, 0) = contador
End If
line1: Next
Application.ScreenUpdating = True
Salu2x!...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas