H0la Chrisr:
Supongamos que en A1 tienes las categorías de gasto (en adelante categorías) y que en B1 deseas agregar aquello que le llamaremos subcategorías de gasto (en adelante subcategorías).
Para poder realizar lo que pides, crearemos una hoja en la que agregaremos todas las subcategorías. Cada columna será una categoría distinta y cada fila una subcategoría (Esta hoja la puedes ocultar cuando la tengas lista).
En segundo lugar, seleccionaremos cada uno de los rangos que contienen las subcategorías y le asignaremos un nombre al rango
En la imagen se ve que al rango A2:A14 se le asignó el nombre Categoría1 (sin espacios). Lo mismo se debe hacer con todos los rangos que tengan subcategorías.
Ahora nos vamos a la hoja en que tengo la validación de datos.
En la siguiente imagen, fíjate que en A1 aparece el mismo nombre que le di a mi rango, pero con espacios.
Bien, entonces en el campo origen de nuestra lista de validación, como se ve en la imagen, escribiremos lo siguiente
=INDIRECTO(SUSTITUIR(A1;" ";""))
SUSTITUIR quitará los espacios en blanco de A1, de esta forma A1 contrendrá exactamente el nombre del rango al que queremos referenciar.
INDIRECTO hará que el contenido de A1 se transforme en una referencia.
Si tu celda A1 está en blanco para el momento en que le des al botón "Aceptar" debiera aparecer este mensaje
No hay problemas, le das a Sí.
Finalmente, este sería nuestro resultado
Al seleccionar Categoría 1 en A1, en B1 aparecen todas sus subcategorías. Lo mismo pasaría al seleccionar Categoría 2 o Categoría 3, en mi caso.