¿Cómo puedo conseguir que Excel ordene en una columna un numero de nombres sin repetirlos?
Si tengo en una columna una serie de nombres muchos de los cuales se repiten varias veces, como puedo hacer para que Excel los ordene en otra columna sin repetirlos. Nombre valor nombre valor oscar 2 oscar 4 Juan 2 juan 2 Pepe 1 pepe 1 oscar 2 adrian 3 Adrian 3
1 Respuesta
Respuesta de calvuch
1
1
calvuch, las fallas constantes de esta web me cansaron!! me voy a...
El siguiente macro esta realizado en los sgtes supuestos. 1 tienes Excel 2007 2 la fila 1 es para rótulos 3 los datos parten desde fila 2 y no existen filas vacías entre el primer dato y el ultimo. 4 se respeto la estructura indicada por ti Es decir Col A nombre Col B valor Col C nombres no reetidos extraídos de A col DE apariciones de C en A. El macro se llama ordenar Lo pegas en el editor de Vba ( para activar editor ALT +F11), debes pegar el macro en un "modulo", si no tienes uno insértalo desde el menu "insertar" Sub ordena() ' copia col A en C elimina repetidos y agrega suma de apariciones del dato filtrado en D ' by calvuch 20072011 If Application.WorksheetFunction.CountA(Range("A2:A65536")) = 0 Then Exit Sub Application.ScreenUpdating = False Range("A2:A65536").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Range("C2").Select ActiveSheet.Paste Application.CutCopyMode = False ActiveSheet.Range("$C$2:$C$65536").RemoveDuplicates Columns:=1, Header:=xlNo ActiveCell.Offset(0, 1).FormulaR1C1 = "=SUMIF(R2C1:R65536C1,RC[-1],R2C2:R65536C2)" ActiveCell.Offset(0, 1).Select Selection.AutoFill Destination:=Range("D2" & ":" & "D" & Application.WorksheetFunction.CountA(Range("C2:C65536")) + 1) Application.ScreenUpdating = True End Sub El macro lo invocas como cualquier otro teclas ALT+F8. Si te sirve CIERRA la pregunta, si tienes otras preguntas habré "otra pregunta"