En este grupo En todos

Foro de Excel



Crear una lista desplegable sin duplicar "nombres" en ella.

Pedro
Económicas / 3º universidad de murcia...
Escrito por Pedro García
el 25/03/2010

Hola a tod@s,

Quisiera saber cómo crear una lista desplegable de una base de datos creada en excel sin duplicar "nombres" en esa lista.

ejemplo muy simplificado:

Nombre producto cantidad

Pedro agua 30

Felipe vino 10

Pedro vino 20

Pedro agua 15

... Y yo quiero crear en una celda aparte una lista desplegable con los nombres (que aparezcan Pedro y Felipe 1 sóla vez) y en otra celda otra lista desplegable con los productos (agua y vino 1sóla vez).

Gracias por vuestra ayuda.

Un Saludo,

Pedro García

Escrito por Héctor Miguel Orozco Díaz
el 25/03/2010

Hola, Pedro!

hay varias alternativas para extraer datos sin duplicados de un listado en excel (por formulas, por macros, por filtros avanzados,...)

pero alcanzo a ver un "detalle" con el arreglo que expones, asumiendo de necesitaras (al menos) dos listados como origen de dos reglas de validacion por lista: nombre y producto:

segun tu ejemplo, si llegan a seleccionar en un listado: Felipe y en el otro listado: agua
no habria ninguna coincidencia para: cantidad al buscar por esta combinacion (?)

(creo que) necesitaras explicar de mejor forma cual es el objetivo de las validaciones (?)

saludos,
hector.

Pedro García
Económicas / 3º universidad de murcia...
Escrito por Pedro García
el 25/03/2010

<! -- /* Style Definitions */ p. MsoNormal, li. MsoNormal, div. MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:. 0001pt; mso-pagination:widow-orphan; font-size:12. 0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:595. 3pt 841. 9pt; margin:70. 85pt 3. 0cm 70. 85pt 3. 0cm; mso-header-margin:35. 4pt; mso-footer-margin:35. 4pt; mso-paper-source:0;} div. Section1 {page:Section1;} -->

Hola Hector,

Perdona por no conseguir explicarme mejor.

Buscando en este foro he encontrado un documento muy interesante del profesor Abraham Valencia llamado Ejemplovarios1. Xls que contiene la explicación sobre la función SUMAPRODUCTO. Yo quiero crear una lista desplegable para cada "condición" con el fin de obtener la SUMAPRODUCTO para sumas condiciones y para conteos condicionales. El problema es que como en las columnas se repiten los "nombres", en la lista desplegable me aparecen duplicados tal como están en la base de donde obtengo los datos.


Gracias Hector.

Pedro García
Económicas / 3º universidad de murcia...
Escrito por Pedro García
el 25/03/2010

Perdona por no conseguir explicarme mejor.

Buscando en este foro he encontrado un documento muy interesante del profesor Abraham Valencia llamado Ejemplovarios1. Xls que contiene la explicación sobre la función SUMAPRODUCTO. Yo quiero crear una lista desplegable para cada "condición" con el fin de obtener la SUMAPRODUCTO para sumas condiciones y para conteos condicionales. El problema es que como en las columnas se repiten los "nombres", en la lista desplegable me aparecen duplicados tal como están en la base de donde obtengo los datos.


Gracias Hector.

Armando Montes
Foro excel emagister
Escrito por Armando Montes
el 26/03/2010

Hola Pedro, si entendi bien este ejemplo te servira:
https://jldexcelsp.blogspot.com/2006/07/validacin-de-datos-en-excel-agregar. Html

Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez
el 26/03/2010

Hola! Pedro. Ahora creo entenderte...
La alternativa a lo que menciona Armando para "armar" las tablas de valores únicos podrías ser:

a) Haz clic con el botón derecho de tu ratón en la solapa de la hoja en la que tienes la información y selecciona: Ver código.

b) En la ventana que se te abrirá, copia y pega el siguiente código:

__________________

Sub CrearListaSinDuplicados()
Dim Rng As Range
On Error GoTo FIN
Set Rng = Application. InputBox("Seleccione el rango de celdas a procesar" & _
vbCrLf & "incluyendo el título del mismo", "Selección", Type:=8)
If Rng.Columns.Count > 1 Then _
MsgBox "Favor de seleccionar celdas de una sola columna": GoTo FIN

With Rng(1). Offset(, 10)
. EntireColumn. ClearContents
Rng. AdvancedFilter Action:=xlFilterCopy, CopyToRange:=. Cells, Unique:=True
. Resize(WorksheetFunction. CountA(. EntireColumn)). Sort _
Key1:=. Cells, Order1:=xlAscending, Header:=xlYes
End With

FIN:
Set Rng = Nothing
End Sub

__________________

c) Cierra todas las ventanas del ambiente Visual Basic for Application en el que te encuentras, y retorna al Excel.

d) A partir de ese momento, podrás ejecutar la macro recién incorporada: CrearListaSinDuplicados
(Si lo deseas, puedes -o no- incorporar un botón para ejecutarla)

Al ejecutarla, se te pedirá que selecciones los datos de la columna en cuestión. Luego de hacerlo verás -10 columnas a la derecha- la lista pedida.

Y ya con la lista en tu poder: la mueves o la copias donde te plazca.
Saludos, Cacho.

Pedro García
Económicas / 3º universidad de murcia...
Escrito por Pedro García
el 26/03/2010

Sin duda esto es lo que buscaba.

Muchas gracias a todos, sois unos expertos fabulosos.

Un saludo,

Pedro García