Agregar una lista desplegable en excel es muy sencillo. Basta con ir a Datos > Validación de Datos > Permitir: Lista > Origen: (seleccionar datos o agregarlos manualmente separados por «;») – Haces click en Aceptar y listo.
Ahora bien, para agregar una lista desplegable de selección multiple necesitas usar Macros por lo que debes guardar el excel con el macros habilitado.
Estos son los macros para selección multiple que debes agregar en programador > Visual Basic > (elegir hoja):
Private Sub Worksheet_Change(ByVal Target As Range) Dim valAnterior As String, valNuevo As String, separador As String separador = " " 'Colocar caracter de separación On Error GoTo Terminar If Target.Column = 3 Then 'Elegir la columna en que se habilitará el macros If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Terminar Else If Target.Value = "" Then GoTo Terminar Else Application.EnableEvents = False valNuevo = Target.Value Application.Undo valAnterior = Target.Value If valAnterior = "" Then Target.Value = valNuevo Else If InStr(valAnterior, valNuevo) = 0 Then Target.Value = valAnterior & separador & valNuevo Else Target.Value = Replace(Trim(Replace(Replace(Replace(valAnterior, valNuevo, ""), separador, " "), " ", " ")), " ", separador) End If End If End If End If End If Terminar: Application.EnableEvents = True End Sub
o
Private Sub Worksheet_Change(ByVal Target As Range) Dim valAnterior As String, valNuevo As String, separador As String separador = " " 'Colocar caracter de separación On Error GoTo Terminar If Target.Address = "$C$2" Then 'Para aplicarlo sobre una columna utilizar Target.Column = número de la columna If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Terminar Else If Target.Value = "" Then GoTo Terminar Else Application.EnableEvents = False valNuevo = Target.Value Application.Undo valAnterior = Target.Value If valAnterior = "" Then Target.Value = valNuevo Else If InStr(valAnterior, valNuevo) = 0 Then Target.Value = valAnterior & separador & valNuevo Else Target.Value = Replace(Trim(Replace(Replace(Replace(valAnterior, valNuevo, ""), separador, " "), " ", " ")), " ", separador) End If End If End If End If End If Terminar: Application.EnableEvents = True End Sub