Excel expertos a mi - tabla ¿dinámica?

Sheraph

Saludos MV

Aunque todo el mundo tiene nivel avanzado en Office en su CV, lo cierto es que yo me defiendo para algunas cosillas, pero quiero hacer una tabla excel para mi trabajo y no veo la forma de enfocarlo. Me explico:

Tengo una agencia de viajes, y trabajo con grupos de estudiantes. Cuando me llega una petición pido a un hotel/hostal que me bloquee X habitaciones para por ejemplo 40 alumnos.

Como no sé el nº final de alumnos, y éstos deben ir separados en habitaciones de chicos/chicas, los hostales me suelen bloquear X habitaciones y luego una vez el grupo se confirma y sabemos el nº real, los distribuimos y ajustamos (quitamos alguna habitación o añadimos alguna).

El problema es que a veces si el hostal tiene las habitaciones justas, corremos el riesgo que los nº no encajen, es decir:

40 alumnos
Hostal me bloquea
2 hab de 8 camas (total 16)
4 hab de 6 camas (total 24)
Total camas 40

Pero claro, eso sería estupendo si tuviera 16 chicos + 24 chicas, pero si es un nº impar (17 chicos + 23 chicas) entonces estoy fucked.

Me gustaría crear una tabla donde por un lado, introducir el nº de habitaciones con sus camas, y por otro lado el nº de alumnos previsto, y que hiciera una distribución para cada posibilidad, con el ejemplo anterior:

40 alumnos
20 chicos y 20 chicas -> 20 chicos en 1x8 + 2x6 / 20 chicas en 1x8 + 2x6
21 chicos y 19 chicas -> error

Así podría hacer una previsión y pedir alguna hab extra para no pillarme los dedos.

No sé si esto se puede hacer en excel o tocaría usar otro programa...

Si alguien tiene tiempo en echarme una mano, le estaré eternamente agradecido!

Saludos,

ESL_Kaiser

Pero qué tiene que ver una tabla dinámica?

Por poder se puede y si sabes exactamente el nº de ocupantes que cabe en una habitación te puede dar todos los datos precisos.

En A1 metes nº alumnos (este me sobra pero si lo quieres tener bienvenido es)
En A2 metes nº de cichos
En A3 metes nº de chicas

En B2 metes la formula para que te den el nº de habitaciones en base al nº de camas disponible
En B3 igual pero para las chicas

¿Cuál es la formula? Pues eso ya tienes que ver con ejemplos reales lo que necesitas y las distintas posibilidades por ejemplo:

SI ( nº de chicos divivido entre 6 tiene resto 0 = resultado de la division (en este caso 3) habitaciones de 6.
Si (nº de chicos divivido entre 6 tiene resto 2 = resultado de la división - 1 (en este caso 3-1)2 habitaciones de 6 y +1 de 8

1 respuesta
Kike_Knoxvil

Bienvenido al mundo de las distribuciones.
Justo estás preguntando por una cosa que muchas empresas les interesa: la distribución de productos cumpliendo una serie de requisitos

Yo en su día conseguí hacer un programa para hacerlo a traves de VBA pero tenía muchas restricciones y los cálculos en ordenadores corporativos era muy lento

1 respuesta
Sheraph

#2 He dicho tabla dinámica por decir algo, no tengo ni idea de cual sería la función correcta para el caso.

Con la fórmula que has puesto no acabo de verlo claro que pueda funcionar, ya que la fórmula debería tener en cuenta que si ponemos 1x8 + 2x6 a los chicos, para las chicas esas habitaciones ya NO están disponibles, y debería dar el resultado de que si se puede o no.

#3 Llevo años con la agencia y hasta ahora siempre me ponía a hacerlo manualmente pero es un tostón, por lo que siempre pedía más habitaciones para ir sobre seguro y luego liberaba, pero este año tengo algunos grupos enormes que literalmente, llenan el hostal ellos solos, y claro, está tan justo que como no me cuadre la distribución tendría un problemón...

Ni idea de lo que es VBA xDD

2 respuestas
Kike_Knoxvil
#4Sheraph:

Ni idea de lo que es VBA

Es el lenguaje de programación de scripts para las aplicaciones de Office (hay que abrir la pestaña de programador para ver donde van)

De todas formas tienes la suerte que tu problema de distribución no tiene en cuenta los volumenes, solo te limita el nº de personas por habitación (pero te da igual que tan gordos o delgados estén)

Así como aproximación inicial, tomas como datos iniciales nº de chicos, de chicas, los tamaños de las habitaciones y cuantas hay de cada una. Después el código debería buscar las habitaciones más grandes y empezar a rellenar la primera habitación con un sexo, cuando se llene resta uno a las disponibles y pasa a rellenarlo con el otro sexo (logicamente quitando el numero de alumnos de cada parte). Así hasta que te quedes sin habitaciones grandes. Cuando esto suceda, le das tamaño 0 y buscas la siguiente más grande, y repites el proceso hasta que te quedes sin habitaciones o sin alumnos

Al menos yo lo haría así

ESL_Kaiser
#4Sheraph:

Con la fórmula que has puesto no acabo de verlo claro que pueda funcionar

por eso te digo que eres tu el que tiene que ver los números, habitaciones y necesidades que tienes, yo te he puesto un ejemplo en base a lo que has puesto, kike te ha puesto otro, habrá bastantes formas de hacerlo

Usuarios habituales

  • ESL_Kaiser
  • Kike_Knoxvil
  • Sheraph