SlideShare una empresa de Scribd logo
1 de 130
Descargar para leer sin conexión
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 1 de 130
Proyecto de fin de Grado
DESARROLLO DE MODELOS DE
PROGRAMACIÓN DE LA
PRODUCCIÓN EN EXCEL
APLICACIÓN DOCENTE
JOSÉ MARÍA MORO OLMEDO
chema@jmoro.com
CIFP Juan de Herrera
CURSO: 2ºPPF
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 2 de 130
ÍNDICE DE CONTENIDOS
PRIMERA PARTE DESCRIPCIÓN DEL PROYECTO..........................................5
1. Justificación del proyecto..........................................................................................................6
2. Objetivos del proyecto..............................................................................................................7
3. Modelos desarrollados..............................................................................................................8
4. Organización del tiempo .........................................................................................................10
5. Características de Excel Utilizadas ...........................................................................................11
Referencias ..........................................................................................................................11
Formato condicional.............................................................................................................12
Validaciones .........................................................................................................................13
Funciones específicas ...........................................................................................................13
Funciones de error ...............................................................................................................14
Gráficos................................................................................................................................14
Fórmulas Matriciales ............................................................................................................14
Macros.................................................................................................................................15
Programación en VBA...........................................................................................................16
Uso de rangos con nombres .................................................................................................16
Rangos dinámicos.................................................................................................................17
6. Generación de documentos ....................................................................................................18
Generalidades ......................................................................................................................18
Plantilla de Word..................................................................................................................18
Formulario de impresión ......................................................................................................20
Módulo de impresión ...........................................................................................................20
Ampliación del proyecto.......................................................................................................21
7. Selector de Modelos ...............................................................................................................22
Hoja de Menú.......................................................................................................................22
Hoja de Configuración ..........................................................................................................22
SEGUNDA PARTE DESCRIPCIÓN DE LOS MODELOS .................................... 24
8. Flujos de Planta. Modelo de diagrama de cuerdas...................................................................25
Descripción del modelo ........................................................................................................25
Implementación en Excel......................................................................................................26
Ampliación ...........................................................................................................................32
9. Modelo de Análisis ABC e inventario Cíclico ............................................................................33
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 3 de 130
Descripción del modelo ........................................................................................................33
Implementación en Excel......................................................................................................34
Ampliación ...........................................................................................................................39
10.Modelo de Valoración de existencias (PMP y FIFO) .................................................................41
Descripción del modelo ........................................................................................................41
Implementación en Excel......................................................................................................42
Ampliación ...........................................................................................................................48
11.Modelo de Inventario - EOQ y POQ .........................................................................................50
Descripción del modelo ........................................................................................................50
Implementación en Excel......................................................................................................52
Ampliación ...........................................................................................................................59
12.Modelo de inventario Perecedero...........................................................................................60
Descripción del modelo ........................................................................................................60
Implementación en Excel......................................................................................................61
Ampliación ...........................................................................................................................66
13.Diagrama de Gantt..................................................................................................................67
Descripción del modelo ........................................................................................................67
Implementación en Excel......................................................................................................68
Ampliación ...........................................................................................................................73
14.Programación a corto Plazo - Modelo de Asignación (Método Húngaro) .................................74
Descripción del modelo ........................................................................................................74
Implementación en Excel......................................................................................................77
Ampliación ...........................................................................................................................82
15.Criterios de Asignación - FCFS, SPT, EDD, LPT, e IC...................................................................84
Descripción del modelo ........................................................................................................84
Implementación en Excel......................................................................................................85
Ampliación ...........................................................................................................................89
16.Programación de trabajos en dos máquinas - Regla de Johnson ..............................................90
Descripción del modelo ........................................................................................................90
Implementación en Excel......................................................................................................91
Ampliación ...........................................................................................................................95
TERCERA PARTE CONCLUSIONES Y APÉNDICES ........................................ 97
17.Conclusiones...........................................................................................................................98
18.Apéndice A - MRP ...................................................................................................................99
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 4 de 130
19.Apéndice B - Ejercicios generados .........................................................................................100
20.Bibliografía............................................................................................................................129
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 5 de 130
PRIMERA PARTE
DESCRIPCIÓN DEL PROYECTO
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 6 de 130
1. JUSTIFICACIÓN DEL PROYECTO
La idea de llevar a cabo este proyecto tiene su origen en la entrega de ejercicios dentro de la
asignatura de Programación de la Producción.
Algunas de las entregas fueron realizadas utilizando Excel, bien para realizarlas o para corregirlas;
una vez hechos, se vio que los modelos realizados podrían servir para crear más ejemplos del mismo
tipo, simplemente modificando los datos de entrada del problema.
Resulta evidente la utilidad que tendría el disponer de modelos ya resueltos para todos los posibles
ejercicios de la asignatura, poniendo a disposición del docente una herramienta que serviría de
apoyo a las clases al ser capaz de generar los ejemplos necesarios para cada tipo de problema, y
permitiendo crear baterías de ejercicios de forma rápida y sencilla.
Existen herramientas online para resolver algunos de los problemas de la asignatura pero muchas no
muestran los pasos para la resolución, sobre todo en algoritmos iterativos, y cuando lo hacen deben
ser copiados posteriormente a un documento de texto de forma manual.
Elaborar ejercicios para muchos de los temas de la asignatura es una tarea a veces complicada
dependiendo del tipo de ejercicio, y propensa a errores al resolverlos manualmente.
Desde el punto de vista del alumno la búsqueda de ejemplos en la red es una tarea que lleva mucho
tiempo y requiere consultar multitud de páginas que en muchas ocasiones hacen referencia a los
mismos ejemplos una y otra vez.
Disponiendo de modelos en Excel para cada tipo de ejercicio los alumnos podrían practicar con
cuantos ejercicios de cada tipo de problema les hiciese falta, generándolos de forma rápida y
sabiendo que tienen la solución para poder comprobar sus avances, de manera que los modelos se
podrían utilizar como una herramienta de refuerzo del aprendizaje.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 7 de 130
2. OBJETIVOS DEL PROYECTO
El proyecto tiene por objetivo la elaboración de modelos en Excel para los tipos de problemas más
relevantes o que mayor dificultad podría plantear a la hora de pasarlos a la aplicación.
Una vez creados los modelos hay que desarrollar una interfaz de usuario que permita introducir los
datos en cada modelo tantas veces como haga falta, y generar de forma automatizada un documento
de Word con el formato adecuado al centro y la asignatura, que incluya el enunciado de un ejercicio
basado en los datos introducidos y, de manera opcional, la solución al problema desarrollada
mediante el uso de tablas de datos, gráficos o imágenes cuando sea necesario.
El desarrollo del módulo de impresión a Word debe ser lo suficientemente genérico como para poder
ser utilizado en cada modelo sin muchas modificaciones.
Dado el gran número de modelos presentados durante la asignatura resulta imposible llevar a cabo
todos en el tiempo disponible para el proyecto, por lo que se hace necesario realizar una selección de
los más relevantes, bien por su importancia, o por sus peculiaridades para ser trasladados a Excel.
En definitiva, el objetivo del proyecto sería doble:
Por un lado, desarrollar una herramienta de apoyo a la docencia, que facilite el aprendizaje
de los alumnos de la asignatura de Programación de la Producción mediante la práctica.
Por otro, desarrollar las capacidades necesarias para aprovechar todas las herramientas que
ofrece Excel para modelizar cualquier problema en el ámbito de la programación de la
producción que se nos pueda plantear.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 8 de 130
3. MODELOS DESARROLLADOS
A la hora de elegir los modelos a incluir en el proyecto se ha tenido en cuenta sobre todo la dificultad
que planteaba su paso a Excel.
Existen problemas sencillos que requieren únicamente de la aplicación de una o una serie de
fórmulas para su resolución como pueden ser los problemas de productividad o algunos de los
problemas de tiempos. El traslado a Excel de este tipo de problemas resultaría trivial, por lo que en
su mayoría se han dejado para una futura ampliación del proyecto.
Sin embargo se ha incluido un modelo como ejemplo del grupo de los problemas anteriores, sencillos
de elaborar aplicando las fórmulas correspondientes; el modelo de inventario perecedero.
Este modelo nos sirve como ejemplo para demostrar el uso de elementos de Excel que resultan muy
útiles a la hora de desarrollar cualquier modelo, como son el uso de los distintos tipos de referencias
de celdas y el uso de fórmulas matriciales.
Lo mismo ocurre con el modelo de diagrama de Gantt. Excel no cuenta con herramientas gráficas que
permitan representar de manera completa diagramas de Gantt. En el modelo desarrollado para el
proyecto se hace una aproximación bastante acertada a los diagramas de Gantt, empleando
únicamente la herramienta de formato condicional de Excel. Este modelo se aprovecha además para
otro modelo que es el de la regla de Johnson.
Otros problemas aparentemente sencillos para ser realizados a mano resultan bastante complicados
de trasladar a Excel, puesto que están basados en la intuición, la observación o una capacidad de
apreciación subjetiva fáciles de realizar por el alumno, pero difíciles de obtener mediante un
programa como Excel.
Éste ha sido el caso de problemas como el diagrama de cuerdas, que se ha tenido que realizar
utilizando combinatoria para suplir la capacidad visual de determinar la acumulación de curvas entre
tareas, o como el método húngaro en el que se ha tenido que seguir un algoritmo para llevar a cabo
la tarea de tachar las filas y columnas con ceros, algo que para un número reducido de filas y
columnas resulta sencillo de realizar a mano.
En el caso del modelo del análisis ABC del inventario, se ha incluido porque la aplicación de la regla
de Pareto requiere de una flexibilidad que en Excel debe ser simulada.
Otros modelo que se han incluido son ejemplos de los problemas típicos para cuya resolución está
diseñada Excel, aquellos que manejan información tabulada. Éste sería el caso de los modelos de
gestión de inventarios PMP y FIFO, y del modelo de asignación mediante reglas como FCFS, SPT, LPT,
EDD o IC.
Por último se han escogido los modelos de costes de inventario EOQ y POQ como ejemplos de
combinación de cálculos con el uso de gráficos.
Se ha quedado fuera del proyecto un modelo bastante interesante y que se realizó durante el
transcurso de la asignatura, el modelo de MRP.
Se trata de un modelo bastante complejo, cuyas modificaciones para hacerlo completamente
funcional habrían requerido de un proyecto únicamente para él.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 9 de 130
Se ha preferido disponer de una mayor variedad de modelos que abarquen gran parte del temario
del curso a centrar el proyecto en uno sólo. No obstante se incluye la versión ya desarrollada durante
el curso del MRP sin incluir el módulo de impresión como un apéndice, junto con una pequeña
descripción para que sirva como base de mejora del proyecto en un futuro.
En resumen, los modelos elegidos para ser desarrollados en este proyecto han sido los siguientes:
Flujos de Planta. Modelo de diagrama de cuerdas
Modelo de método ABC e inventario Cíclico
Modelo de Valoración de existencias (PMP y FIFO)
Modelos de costes - EOQ y POQ
Modelo de inventario Perecedero
Diagrama de Gantt
Programación a corto Plazo - Modelo de Asignación (Método Húngaro)
Criterios de Asignación - FCFS, SPT, EDD, LPT, e IC
Programación de trabajos en dos máquinas - Regla de Johnson
El apartado dedicado a cada uno de los modelos dentro de la documentación del proyecto contiene
una descripción sobre su origen, desarrollo y características, una sección acerca de su
implementación en Excel incluyendo la descripción de la interfaz de usuario, y otra sobre las
posibilidades de ampliación y mejora que se podrían realizar en un futuro.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 10 de 130
4. ORGANIZACIÓN DEL TIEMPO
Aparte del trabajo de documentar el proyecto en sí el tiempo del proyecto se ha dedicado a dos
tareas fundamentalmente, por un lado a la elaboración de los modelos, y por otro al desarrollo del
módulo de impresión.
El tiempo dedicado a la elaboración de modelos incluye la implementación en Excel y la realización
de las pruebas necesarias para comprobar el correcto funcionamiento de cada uno de ellos.
El número de horas destinadas a cada uno de los modelos ha sido variable, desde las 10 horas para
los modelos más sencillos a varias jornadas para los más complejos. Una aproximación de tiempos
basada en las fechas de creación de cada archivo sería la siguiente:
Flujos de Planta. Modelo de diagrama de cuerdas - 32 horas
Modelo de método ABC e inventario Cíclico - 16 horas
Modelo de Valoración de existencias (PMP y FIFO) - 34 horas
Modelos de costes - EOQ y POQ - 36 horas
Modelo de inventario Perecedero - 10 horas
Diagrama de Gantt - 16 horas
Programación a corto Plazo - Modelo de Asignación (Método Húngaro) 50 horas
Criterios de Asignación - FCFS, SPT, EDD, LPT, e IC - 20 horas
Programación de trabajos en dos máquinas - Regla de Johnson - 20 horas
En cuanto a la creación del módulo de impresión ha llevado en total 50 horas de trabajo, incluyendo
una media de hora y media para integrarlo en cada modelo.
A la documentación de cada modelo y la maquetación del documento final se le han asignado 50
horas.
La distribución en el calendario ha sido la siguiente:
Marzo
Inv.
Perec
edero
Gantt PMP y FIFO EOQ POQ ABC
Método
Húngaro
Abril
Método Húngaro Diagrama de Cuerdas Asignaciones Johnson
Módulo de
impresión
Mayo
Módulo
de
impresión
Integrar
módulo de
impresión
Documentar módulos Maquetar Fin de Proyecto
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 11 de 130
5. CARACTERÍSTICAS DE EXCEL UTILIZADAS
A la hora de diseñar los distintos modelos cada uno de ellos ha requerido del uso de una, o de una
combinación de varias de las muchas herramientas que ofrece Excel, desde las más sencillas como el
uso de distintos tipos de referencias hasta las más avanzadas como el uso de la programación en
Visual Basic para aplicaciones (VBA)
A continuación repasamos las características más destacables utilizadas durante el desarrollo de los
modelos, cuyo uso se ha detallado extensamente en la documentación de cada uno de ellos:
REFERENCIAS
La herramienta más básica que nos podemos encontrar en Excel es el uso de los distintos tipos de
referencias a otras celdas, absolutas, relativas o mixtas.
El tipo de referencia que se emplea en Excel por defecto es la referencia relativa, que resulta útil en
la mayoría de los casos.
Una referencia relativa permite acceder (referir) el valor de una celda dentro de otra en relación a la
posición de la primera con respecto de la segunda, p.ej.: si estando en la celda B10 nos referimos a la
celda A1 de forma relativa (=A1) en realidad lo que indicamos es que queremos mostrar el valor de la
celda que está 9 filas por encima de B10 y una columna antes de dicha celda.
Si se hace esto de forma aislada es completamente correcto mientras no se utilice el control de
relleno para aplicar la misma fórmula a otras celdas distintas de B10.
En el caso de rellenar por ejemplo a la celda C10 el valor de la fórmula cambiará a =B1, que es la
celda que está nueve filas por encima y una columna antes de C10, de manera análoga, en caso de
rellenar a B11 el contenido de la celda será =A2, nueve filas por encima y una columna antes de B11.
Si queremos que la fórmula siempre haga referencia a la misma celda, A1 en nuestro ejemplo
deberíamos utilizar otro tipo de referencia, que es la referencia absoluta (=$A$1).
Una referencia absoluta siempre hace referencia a la misma celda independientemente de dónde se
arrastre la fórmula.
Por último, si solo queremos fijar una columna (=$A1) o una fila (=A$1) empleamos referencias
mixtas que varían la fila o la columna cuando se rellena en vertical y horizontal con ellas, dejando la
otra componente constante.
Una correcta aplicación de este tipo de referencias ahorra de manera significativa gran cantidad de
trabajo, ya que se pueden rellenar en dos pasos todas las celdas de un rango únicamente escribiendo
la fórmula de una primera celda.
Todos los modelos hacen un uso intensivo de los tres tipos de referencias, pero quizás donde más se
aprecian los resultados es en el modelo de inventario perecedero, que incluye una tabla de doble
entrada para calcular el beneficio previsto.
Siempre que el resultado de las celdas de una tabla dependa de los valores de las celdas de la
primera fila y de la primera columna de la tabla podemos utilizar referencias mixtas y rellenar la tabla
a partir de una sola celda.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 12 de 130
FORMATO CONDICIONAL
El formato condicional es otra de las características básicas de Excel más interesante, puesto que
modifica el formato de una celda en base a una serie de reglas que se pueden aplicar sobre la misma
celda o sobre otro rango de celdas.
Normalmente se utiliza para resaltar
valores que resultan, o bien correctos,
o bien condiciones de error. En la
mayoría de los modelos se utiliza para
avisar sobre datos introducidos de
manera incorrecta, pero su uso puede
ir más allá, como es en el caso del
modelo de diagrama de Gantt, en el
que la parte gráfica está íntegramente
realizada con formato condicional.
Otro de los usos que se le ha dado es el
de dibujar los bordes de aquellas
tablas que pueden variar de tamaño con las entradas de usuario, bien en ambas direcciones, bien por
incremento de sus filas. Un ejemplo de este uso está en la tabla de costes del Método Húngaro,
aunque hay más repartidos por todos los modelos.
El formato condicional tiene la gran ventaja de que puede hacer referencia a la misma celda en que
se aplica, algo que en el caso de las fórmulas de las celdas generaría un error de referencia circular, y
además permite aplicar varias reglas de forma secuencial e interrumpir su aplicación en alguna de
ellas.
Su mayor inconveniente, que hace que el usuario deba tener especial cuidado al introducir datos en
los modelos, es que se puede perder si se copian datos y se pegan directamente en celdas con
formato condicional aplicado, porque éste se reemplaza por el formato de las celdas de origen.
Para evitarlo lo mejor es no incluir formato condicional en celdas que pueda modificar el usuario y
dejarlo para celdas que no pueda modificar como son celdas de resultados. Si no es posible se debe
advertir que se emplee el pegado especial para no pegar formatos, o bien reconstruir el formato
condicional mediante programación VBA si no se puede hacer de otra manera.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 13 de 130
VALIDACIONES
Las validaciones tienen dos usos principales dentro de nuestros modelos; el primero y más común es
limitar el conjunto de valores que se pueden introducir en una celda a un tipo y rango concreto,
pudiendo admitir valores numéricos, fechas,
texto, valores de una lista, etc.
Si el usuario introduce un valor en la celda que
no se corresponda con lo esperado se puede
mostrar un mensaje de aviso o de error para
orientarle sobre qué se puede introducir en la
celda.
El otro uso de la validación en los modelos es el
de crear un cuadro desplegable en la celda que
permita elegir el valor de una lista previamente
introducida sin tener que utilizar los controles de formulario de Excel que requerirían el uso de
macros y/o programación. Así se evitan equivocaciones al teclear y limita las opciones a los valores
de la lista.
El uso de las validaciones es común a todos los modelos, aunque tienen el mismo inconveniente del
formato condicional; si se copian valores y se pegan a una celda con validación, ésta se pierde puesto
que se considera parte del formato.
FUNCIONES ESPECÍFICAS
Muchas de las fórmulas utilizadas son fórmulas sencillas, pero al tratarse de modelos de decisión hay
una función empleada por encima de todas, la función sí, que se emplea en la práctica totalidad de
los modelos, en muchos casos anidada con otras funciones, muchas veces del mismo tipo:
=SI (CONDICIÓN;VALOR SI VERDADERO;VALOR SI FALSO)
Cuando las condiciones a evaluar son varias y hay que evaluar que se cumplan todas o alguna de ellas
se han empleado las funciones lógicas Y y O, que devuelven verdadero o falso si todos los
argumentos pasados son evaluados como verdaderos o si alguno de ellos lo es, y la función NO, que
devuelve el valor lógico contrario al del valor al que se aplica, verdadero cuando el valor es falso y
viceversa.
Cuando se deben devolver valores distintos en base a otro se utiliza la función elegir:
=ELEGIR(VALOR A EVALUAR;VALOR1;VALOR2;VALOR3;…)
Esta función utiliza los distintos valores pasados dependiendo del valor a evaluar y simplifica la
elaboración de fórmulas que de otra forma se tendrían que anidar con la función Sí. Un ejemplo de
este uso de la función ELEGIR se puede encontrar en el modelo de costes de inventario EOQ/POQ.
Muchas veces se han tenido que localizar valores en un rango de celdas en función de otros valores
de otros rangos. Para ello se ha empleado profusamente la combinación de funciones INDICE y
COINCIDIR, que devuelven un valor dentro de un rango dados un número de fila y columna, y la
posición de un valor en una fila y una columna respectivamente. Se podrían haber utilizado otras
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 14 de 130
funciones de búsqueda y referencia como la función BUSCAR y sus variante BUSCARH y BUSCARV,
pero la combinación de INDICE y COINCIDIR supera con creces las limitaciones que éstas tienen.
Varios de los modelos han requerido de fórmulas más específicas para obtener resultados concretos,
como son las funciones JERARQUÍA y K.ESIMO.MENOR/K.ESIMO.MAYOR para permitir ordenar
rangos de valores de menor a mayor o viceversa.
Modelos como la Regla de Johnson o los criterios de asignación FCFS, SPT, LPT, EDD e IC son ejemplos
muy claros del uso de las cinco funciones mencionadas más arriba.
FUNCIONES DE ERROR
Relacionadas con las funciones anteriores estarían las funciones para el manejo de errores en los
resultados de las fórmulas. Cuando en una fórmula no se puede calcular un resultado porque falta
alguna de las referencias para hacerlo (Error #¡REF!), no se reconoce alguno de los resultados de una
función o no se ha podido obtener un resultado (Errores #¡VALOR! y #¡N/A!), o la operación no se
puede realizar, por ejemplo al intentar dividir por cero (#¡DIV/0!) los valores de error se muestran en
la celda, lo que da sensación de fallo en el modelo, aunque este comportamiento sea normal y esté
previsto.
Para evitar mostrar estos errores se ha empleado en todos los modelos la función SI.ERROR, que
envuelve a las fórmulas de las celdas y devuelve un valor personalizado cuando hay un error, en
nuestro caso una celda vacía (“”):
=SI.ERROR(Fórmula de la celda;””)
El uso de estas funciones es meramente estético, y, dado que complican la lectura de las fórmulas de
las celdas, en la documentación de los modelos se han obviado, haciendo referencia exclusivamente
a la fórmula relevante.
GRÁFICOS
Aunque se emplean representaciones gráficas en varios de los modelos como el diagrama de Gantt,
la regla de Johnson o el diagrama de cuerdas, en realidad sólo se han empleado los gráficos
integrados de Excel en el modelo de costes de inventario EOQ/POQ, con bastantes modificaciones.
El inconveniente de utilizar los gráficos integrados es que consisten en un conjunto limitado de tipos
de gráficos genéricos, que en muchas ocasiones no se adaptan exactamente a lo que se necesita, por
lo que requieren de muchas modificaciones y aun así en ocasiones resulta imposible que queden
fieles al modelo.
FÓRMULAS MATRICIALES
Son fórmulas que realizan cálculos sobre uno o varios elementos de una matriz y devuelven varios
resultados en un rango de celdas, o uno solo en una sola celda. Su uso en Excel está muy poco
extendido a nivel de usuario por su complejidad, pero existen casos en los que puede ahorrar
bastantes pasos de cálculo, como es en el cálculo de productos matriciales, como se hace en el
modelo de Inventario Perecedero.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 15 de 130
MACROS
Las macros son una forma avanzada pero sencilla de repetir tareas en Excel cuando los recursos
anteriores resultan insuficientes para desarrollar el modelo.
Permiten grabar una serie de acciones al usuario que pueden ser repetidas posteriormente mediante
el uso de un botón en la barra de tareas o en la propia hoja.
Estas acciones se graban como código de programación VBA, sin embargo no se necesitan
conocimientos de programación para utilizarlas y dotan de gran flexibilidad a las hojas, aunque en
ocasiones no producen los resultados esperados o éstos son limitados.
Cuando es necesario llevar a cabo un conjunto de tareas repetitivas sobre los mismos o distintos
rangos de celdas pueden resultar bastante útiles. En algunos modelos se puede encontrar alguna,
aunque en su mayoría han sido sustituidas por el uso de subrutinas de código VBA.
No obstante, resultan de gran utilidad cuando se está aprendiendo a programar en VBA, puesto que
se pueden grabar las macros para las tareas que se deseen realizar y posteriormente revisar o retocar
el código ya creado sin tener que partir de cero.
El uso de macros, al igual que el de código escrito en el lenguaje de programación VBA puesto que en
realidad las macros se traducen a esto, añade una cuestión más a tener en cuenta en los modelos
que es el tema de la seguridad en su ejecución.
Como cualquier lenguaje de
programación, la ejecución de su
código puede llevar a cambios en el
equipo que pueden resultar
perjudiciales si se trata de código
malicioso, por lo que su uso está
limitado dentro de Excel, que
dependiendo de la instalación
puede bloquear su ejecución o
preguntar al usuario si desea
habilitarla. De no activarlas, partes
importantes de los modelos no se
podrían ejecutar.
En el caso de que la ejecución de código de los modelos no funcione y ni siquiera aparezca la
notificación anterior se debe habilitar la ejecución o hacer al menos que se pregunte para habilitarla
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 16 de 130
mediante la configuración del centro de confianza, a la que se puede acceder desde en menú Archivo
de Excel Opciones Centro de Confianza Botón Configuración del Centro de confianza.
Si aparece un mensaje al abrir el modelo que avisa sobre habilitar las macros debe aceptarse para
que el modelo funcione. Se garantiza que el código incluido en los modelos no es malicioso y procede
de un origen de confianza.
PROGRAMACIÓN EN VBA
La herramienta más avanzada de desarrollo en Excel sería la programación en el lenguaje VBA, o
Visual Basic para Aplicaciones, que como su nombre indica es un lenguaje derivado del lenguaje de
programación Visual Basic de Microsoft, adaptado al paquete de aplicaciones de Office, tratándose
más bien de un subconjunto de Visual Basic, y por tanto más limitado en algunos aspectos.
La mayoría de los modelos se han intentado desarrollar sin utilizar código para que su
funcionamiento sea transparente al usuario, sin embargo, hay algunos modelos en los que ha sido
obligatorio su uso, bien porque mejoraba considerablemente el rendimiento de la hoja, como es el
caso del diagrama de cuerdas, o bien porque no se podría hacer de otra manera, como en el caso del
modelo del método húngaro.
Excel se basa en recalcular las hojas sólo ante cambios en las celdas realizados por el usuario, es decir
un único cambio cada vez. En general, cualquier algoritmo o proceso iterativo que requiera de la
repetición de distintos pasos hasta obtener la solución debe realizarse utilizando bucles y estructuras
de control repetitivas que únicamente se pueden implementar en VBA, ya que Excel no está
preparada para llevarlos a cabo directamente.
Más allá del desarrollo de los modelos ha sido necesario elaborar el módulo de generación de
documentos utilizando este lenguaje, puesto que se debía acceder y escribir datos en otra aplicación
ajena a Excel como es MS Word, y esto únicamente era posible desde código VBA.
También se ha empleado para proteger la hoja de cálculo cada vez que se activa de manera que se
eviten cambios accidentales en celdas que no sean utilizadas para introducir datos de usuario.
La protección de la hoja se hace sin contraseña, por lo que cualquier modificación en la hoja se
puede llevar a cabo simplemente desactivando la protección desde el menú Revisar Desproteger
Hoja.
USO DE RANGOS CON NOMBRES
Otra de las características utilizada extensamente en el desarrollo de los modelos ha sido la
asignación de nombres a las celdas o rangos de celdas.
Excel permite dar nombres a celdas o rangos para poder hacer referencias a ellos en lugar de a las
referencias de tipo fila-columna, algo que aporta claridad a las fórmulas y facilita enormemente el
uso de las herramientas vistas hasta ahora.
En nuestro caso los nombres se emplean en todos los modelos tanto en los cálculos como en el
módulo de impresión, para identificar y trabajar de forma rápida con rangos de enunciado,
soluciones, rangos para limpiar las tablas, etc.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 17 de 130
Otra ventaja del uso de rangos con nombres es que en cualquier momento se pueden modificar las
celdas que pertenecen al rango nombrado, sin tener que hacer los cambios en todas y cada una de
las fórmulas y funciones donde se usan esos nombres, que permanecen inalterados.
RANGOS DINÁMICOS
Una variación del uso de nombres son los denominados rangos dinámicos que son en realidad
nombres cuyo rango de origen se determina mediante la combinación de funciones DESREF y
CONTARA.
Poniendo como rango de un nombre una fórmula que combina ambas funciones podemos
seleccionar rangos con un número variable de filas o columnas dependiendo de lo que haya
rellenado el usuario, algo que resulta útil sobre todo para aquellos modelos como el de Análisis ABC,
el de PMP/FIFO y en general aquellos modelos con tablas que disponen de un conjunto de filas en
blanco dispuestas para que el usuario las rellene, sin conocer a priori el número de filas que le harán
falta.
Para ello, la fórmula parte de una celda que suele ser la esquina superior izquierda del rango que se
quiere nombrar y mediante la función CONTAR cuenta el número de celdas de, por ejemplo, la
primera columna. Si alguna fila está vacía no se incluirá en dicha cuenta, con lo que sólo se
consideran filas del rango las que tengan contenido en la primera celda.
Si en los documentos generados incluyéramos tablas con filas vacías los alargaríamos
innecesariamente, por lo que se utilizan estos rangos para seleccionar solamente aquellas filas que
contienen datos.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 18 de 130
6. GENERACIÓN DE DOCUMENTOS
GENERALIDADES
La generación de documentos es uno de los aspectos fundamentales de este proyecto, puesto que el
enfoque didáctico del mismo requiere que los modelos puedan ser distribuidos fácilmente a los
alumnos bien como ejercicios o bien como ejemplos.
Para ello era necesario dotar a los libros de los modelos de la capacidad de exportar de manera
sencilla tanto los datos introducidos como sus soluciones a documentos que se puedan editar e
imprimir de manera directa, en este caso mediante la creación de documentos de Word.
El proceso de generación de documento consta de tres componentes principales:
Una plantilla de Word para crear documentos con el mismo formato de encabezados, títulos,
párrafos, etc., que se pueda modificar para incluir los datos relevantes de la asignatura o
curso.
Una manera de iniciar el proceso de generación de documentos, en nuestro caso un botón
en cada libro o modelo para iniciar el proceso de “impresión” y un formulario donde
introducir o modificar los datos de título y enunciado del mismo.
Un componente que se encargue de crear un nuevo documento de texto a partir de la
plantilla de Word, verifique si existe, lo modifique y lo guarde automáticamente, para
posteriormente mostrárselo al usuario; en nuestro caso esta función la lleva a cabo un
módulo de VBA incluido en cada libro, modificado para adaptarlo a las particularidades de
cada libro.
PLANTILLA DE WORD
Al igual que con la mayoría de programas de Office, Word ofrece la posibilidad de guardar sus
documentos como documentos normales de Word o como plantillas.
La diferencia está en el comportamiento del documento al ser abierto desde su icono, en el caso de
un documento normal se abre y se edita directamente, mientras que el caso de una plantilla, al ser
abierta lo que se abre en su lugar es
un documento de Word normal, con
una copia del contenido de la
plantilla, de manera que ésta no es
modificada durante la edición.
Para poder editar realmente el
contenido de la plantilla es necesario
abrir Word y desde el menú de Word
abrir la plantilla.
En nuestro caso la plantilla se llama
“plantilla.dotx” (la extensión dotx
indica que es una plantilla) y está
ubicada en una carpeta llamada
Carpeta del
proyecto
Modelo 1 (excel)
Modelo 2 (excel)
...
Modelo 3 (excel)
Plantilla ejercicios
(carpeta) plantilla.dotx
(word)
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 19 de 130
“plantilla ejercicios” dentro de la carpeta donde se almacenan los libros de Excel. Es muy importante
que se respete esta ubicación puesto que de lo contrario la generación de documentos no se
realizaría correctamente.
El modelo de plantilla elegido es muy simple y contiene únicamente un encabezado y pie de página,
un área para el título del documento, un primer espacio reservado para el enunciado y sus datos
adicionales (tablas, gráficos), una línea de fin de documento y al final espacio para la solución si se
decide incluirla, puesto que es un elemento opcional cuya inclusión se marca en el formulario de
generación de documento.
Para indicar el espacio en que va cada apartado
(título, enunciado, solución y datos adicionales) se
utilizan marcadores ocultos, elementos de Word
que indican una posición en el documento, y que
se utilizan también en funciones como tablas de
contenido, ilustraciones, notas al pie, etc…
Para ver la ubicación de los marcadores podemos
ir al menú insertar => Marcadores, y verificar que
son los siguientes:
titulo_ejercicio
enunciado_ejercicio
datos_ejercicio
datos_solucion
Si se decide modificar la plantilla para adaptarla a las necesidades de la asignatura es importante no
modificar el nombre de los marcadores, puesto que es lo que utiliza Excel para acceder a ellos y
volcar el contenido correctamente en cada apartado.
Desde Excel creamos un documento nuevo basado en esta plantilla lo modificamos volcando los
datos del modelo en la posición de cada marcador correspondiente y luego se guarda el nuevo
documento con el nombre que se haya indicado. En los apéndices del proyecto se puede ver una
muestra de cada uno de los documentos generados por cada modelo.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 20 de 130
FORMULARIO DE IMPRESIÓN
Es el formulario que se muestra al pulsar el botón de generar documento. Si se decide incluir la
solución en el documento ésta debe ser buscada primero en el caso de algoritmos iterativos para
poder ser impresa.
Antes de mostrar el formulario se preparan los datos del modelo para ser pasados posteriormente al
módulo de impresión, creando un vector de rangos de celdas que es lo que utiliza Excel
posteriormente para tomar los datos de origen y pasarlos al documento de Word.
Este formulario es el mismo para todos los modelos, y en él se sugiere el título que se va a dar al
ejercicio, y un enunciado basado en los datos actuales del modelo, que toma los datos concretos
introducidos por el usuario (nombres de máquinas, trabajadores, nº de equipos, fechas, costes, etc.),
pudiendo ser éstos modificados desde el propio formulario.
Cualquier tabla, listado, gráfico, etc. que se deba incluir a mayores en el ejercicio se incluirá aunque
no aparezca en el cuadro del enunciado.
En la parte inferior del formulario hay una casilla para indicar si se desea incluir la solución en el
documento a generar, para lo que se ha tenido que haber buscado previamente en el caso de
modelos iterativos.
Como la solución puede estar compuesta desde un valor o un listado de ellos hasta una o varias
tablas y/o gráficos, el código para generarla debe ser específico para cada modelo, aunque
posteriormente la mayor parte del código del módulo de impresión es el mismo para todos los
modelos.
Una vez aceptado abre una ventana de guardado de documento donde se puede seleccionar la
ubicación y el nombre del documento a generar, tras lo cual se genera el documento, se guarda y se
muestra al usuario si todo el proceso ha tenido éxito.
MÓDULO DE IMPRESIÓN
Es el último componente necesario para generar el documento y es un módulo desarrollado
específicamente para el proyecto en VBA y añadido con las modificaciones pertinentes a todos los
libros de modelos de Excel creados.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 21 de 130
Contiene la subrutinas generarDocumento y crearDocumento que son las encargadas de interactuar
con Word para comprobar si el programa Word está abierto, si el nombre del documento es válido, si
ya existe un archivo guardado con el mismo nombre o si ya está abierto, etc.
Ha requerido de bastante tiempo el tener en cuenta todas las posibles variaciones anteriores para
que el documento se guarde correctamente, y se han evitado en lo posible los errores que pudieran
surgir por rutas o nombres de archivo incorrectos, capturándolos y avisando al usuario en lo posible.
El nombre del documento a generar es sugerido como ejercicio, el tipo de ejercicio y la fecha, p.ej.
“Ejercicio de asignaciones 16042017.docx”
Una vez comprobado el nombre del documento se toman los datos recopilados anteriormente por
Excel y los introducidos por el usuario en el formulario de impresión para generar las distintas
secciones del documento y finalmente, si todo ha ido bien guardar el documento.
Aunque el código en sí no es complicado, su modificación requiere de conocimientos básicos de
programación, por lo que explicar su funcionamiento queda más allá del ámbito de este proyecto; no
obstante se han comentado los apartados más importantes del mismo como ayuda ante una
eventual modificación del módulo en un futuro.
AMPLIACIÓN DEL PROYECTO
Aunque el módulo de generación de documentos es suficiente para crear ejercicios de manera rápida
y limpia son muchas las posibilidades de ampliación que ofrece tales como:
Centralizar en una hoja de control de los modelos los títulos y enunciados sugeridos, algo que
hasta ahora se hace por código.
Profundizar en el modelo de objetos de Word para dar un formato más detallado a los
modelos, mediante el uso de elementos como columnas, notas etc., para dar cabida a
prácticamente cualquier elemento que se nos ocurra que debiera ser incluido en el
documento.
Explorar la posibilidad de generar un único documento con una batería de ejercicios basados
en distintos modelos, como ejercicios de un tema completo, o examen, aunque eso
requeriría desarrollar la capacidad de los modelos de generar datos de entrada aleatorios y
añadir reglas para comprobar que esos datos son congruentes.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 22 de 130
7. SELECTOR DE MODELOS
Para centralizar la apertura de los modelos sin tener que ir abriéndolos uno por uno desde la carpeta
en la que se encuentren se ha creado un libro de Excel llamado “Selector de Modelos” que permite
organizar los modelos de Excel de que se disponga permitiendo mostrarlos y abrirlos de forma
cómoda, aunque también se pueden abrir directamente desde su ubicación de forma independiente.
HOJA DE MENÚ
El libro consta de dos hojas, una llamada menú, que se corresponde con la ilustración anterior, desde
la que se organizan los modelos por temas, permitiendo seleccionar el modelo en un desplegable y
abrirlo con el botón “Abrir” correspondiente.
El modelo elegido se abre en una ventana independiente y sin maximizar dentro de Excel de manera
que se puede volver al selector de modelos en cualquier momento.
HOJA DE CONFIGURACIÓN
La otra hoja del libro es una hoja de configuración que permite crear un listado de modelos, con sus
rutas correspondientes para ser recuperados por la hoja de menú.
Desde la hoja de configuración se puede incluir un listado de temas por los que se pueden clasificar
los modelos, que pueden ser seleccionados después en la columna Temas de la tabla principal de
modelos.
Añadir secciones a la lista sin
dejar filas vacías
Administrar Temas Mostrar Temas Nombre Ruta: selecciona una celda de ruta para abrir un cuadro de selección de archivos.
Productividad Sí Gestión de Stocks ABC e inventario ciclico Proyecto - ABC e inventario ciclico.xlsm
Estándares de Tiempos Sí Programación a Corto Plazo Criterios de asignación Proyecto - Criterios de asignación.xlsm
Distribución en Planta Sí Distribución en Planta Diagrama de cuerdas proyecto - Diagrama de cuerdas.xlsm
Gestión de Stocks Sí Programación a Corto Plazo Diagrama de Gantt Proyecto - Diagrama de Gantt.xlsm
Programación a Corto Plazo Sí Gestión de Stocks EOQ POQ Proyecto - EOQ POQ.xlsm
Sí Gestión de Stocks Inventario perecedero Proyecto - Inventario perecedero.xlsm
Sí Programación a Corto Plazo Metodo hungaro proyecto - Metodo hungaro.xlsm
Sí Gestión de Stocks PMP y FIFO proyecto - PMP y FIFO.xlsm
Sí Programación a Corto Plazo Regla de Johnson proyecto - Regla de Johnson.xlsm
Configuración
Introduce la ruta de acceso a los archivos de Excel que quieras mostrar en el menú, sin dejar filas vacías entre medias. Si quieres ocultar alguno temporalmente pon el valor de la celda
mostrar a No, sino asegúrate de que está puesto a Sí (con acento)
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 23 de 130
Sólo se recuperan aquellos temas de la tabla de modelos que sean iguales a los de la tabla de temas;
si se modifica el nombre de un tema en la tabla de temas, debe asegurarse que se modifica también
en todos los modelos para los que aparezca en la tabla de modelos, de lo contrario esos modelos no
se incluirán en la hoja de menú.
En la tabla de modelos se ha añadido también una columna mostrar, que permite elegir entre Sí o No
mediante una validación, e indica si el modelo correspondiente debe ser incluido o no en el menú,
por si se quiere ocultar algún modelo bien porque esté inacabado, porque la ruta esté incompleta o
bien porque haya varias versiones del mismo modelo y sólo se quiera incluir una de ellas.
El nombre del modelo se debe introducir a mano, y la ruta del modelo se puede introducir
seleccionando el archivo desde el
cuadro selector de archivos que
aparece al seleccionar la celda de la
columna ruta del modelo
correspondiente.
Una vez elegida la ruta, y sin
seleccionar otra celda, se puede
modificar dicha ruta desde la barra de
fórmulas de ser necesario.
Se pueden añadir aproximadamente
500 registros de modelos que pueden
ser los creados para el proyecto o
cualquier otro libro de Excel del usuario que se desee.
Cada vez que se abre el libro del selector de modelos o se pasa de la hoja de configuración a la de
menú se actualiza esta última, por lo que los cambios en la hoja de configuración se reflejan de
inmediato en dicha hoja.
Como se ha comentado antes, el libro de selección de modelos es una ayuda para la organización de
los modelos pero no es necesario en absoluto para el funcionamiento de éstos, pudiéndose abrir de
manera independiente, siempre que se respete la estructura de carpetas que se mencionó en el
apartado de generación de documentos, con el objeto de que esté localizada la plantilla de Word.
Los libros del usuario que no sean modelos del proyecto y que por tanto no empleen la plantilla de
Word del modelo se pueden utilizar desde la ubicación en la que estén.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 24 de 130
SEGUNDA PARTE
DESCRIPCIÓN DE LOS MODELOS
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 25 de 130
8. FLUJOS DE PLANTA. MODELO DE DIAGRAMA DE CUERDAS
DESCRIPCIÓN DEL MODELO
El diagrama de cuerdas es una de
las técnicas utilizadas en la
optimización de la distribución en
planta de las instalaciones.
Se suele utilizar en distribuciones
orientadas al proceso, para obtener
la organización óptima de las máquinas que más se adecúe a la fabricación de partes o productos
individuales que posean distintos requisitos en cuanto al uso de las máquinas y el orden en que se
utilizan.
Su objetivo es intentar asemejar la distribución orientada al proceso a una distribución orientada al
producto con las ventajas que esto conlleva en cuanto a reducción de costes.
Para conseguirlo se intenta ordenar las instalaciones de forma óptima para minimizar las distancias
entre puestos, los retrocesos y el tráfico cruzado.
Es un método que no tiene por qué obtener una solución (ordenación) óptima, puesto que se basa
en la observación por parte de quien lo realiza de un gráfico que representa el flujo (ruta) de las
distintas partes entre las distintas máquinas o equipos de la planta.
En este gráfico se colocan las máquinas de forma secuencial, en un orden inicial más o menos
acertado en base a suposiciones de partida.
Se entiende que todas las partes se recepcionan desde un único punto de la planta (R) que suele
coincidir con un almacén o con el acceso de medios de manutención (cintas, carretillas, birlochos,
AGVs) y de ahí van pasando a las estaciones o máquinas que las deben procesar, en la secuencia
adecuada.
Una vez terminadas todas las operaciones se debe dar salida a la parte resultante por un punto único
de salida (S) hacia el mismo u otro almacén, a través de medios de descarga pertinentes (de nuevo
cintas, carretillas, etc…)
Cada movimiento de una parte de una máquina a otra se representa por un arco entre ellas sobre su
identificación si es hacia adelante (sentido R a S) o por debajo de ella si es un retroceso (sentido de S
hacia R)
Estos movimientos se valoran de la manera más conveniente, desde el criterio más sencillo de
número de saltos (espacio entre máquinas que se atraviesa al pasar de una a otra en secuencia)
hasta valoraciones que tengan en cuenta distancia, peso, importancia o prioridad de las partes, o
penalizaciones si el movimiento es un retroceso.
Dado que en una misma planta se pueden procesar distintas partes, se trata de reducir la distancia
entre aquellas máquinas que se utilicen en secuencia de forma frecuente, por lo que el gráfico se
puede complicar sobremanera si existe un gran número de partes que requieran de secuencias largas
y gran variedad de máquinas, de ahí que digamos que este método puede dar soluciones
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 26 de 130
subóptimas, puesto que la resolución es intuitiva y depende de la capacidad y experiencia del
observador.
Basándose en la agrupación de los arcos que unen a las distintas máquinas, el observador determina
la secuencia que considere más adecuada, calcula el coste de cada ruta para esa secuencia y
finalmente obtiene el coste total de la secuencia sumando los costes anteriores, tratando mejorar el
coste de la secuencia original o de las anteriores.
IMPLEMENTACIÓN EN EXCEL
Este modelo es un ejemplo del tipo de modelos que comentábamos en la introducción del proyecto
que resulta intuitivo y fácil de comprender por una persona pero que resulta difícil de implementar
en Excel precisamente por el carácter subjetivo de la resolución y la necesidad de características
humanas como observación o intuición.
Dado que nuestro objetivo es el de desarrollar modelos adecuados a su uso en el aula, que nos
permita plantear ejercicios a los alumnos y disponer de la solución de manera automatizada, se hace
necesaria una aproximación más directa al problema que la observación, entendiendo por directa un
método de fuerza bruta, que requiere de ciertas condiciones de partida:
Vamos a tomar las rutas e intentar comparar los costes de éstas con todas las posibles
combinaciones de secuencias. Para ello necesitamos un algoritmo que nos identifique todas
las posibles permutaciones sin repetición de n máquinas tomadas de n en n. El número de
secuencias posibles se incrementa de manera sustancial a medida que incrementamos el
número de máquinas siendo éste de n! para n máquinas:
Nº de máquinas Permutaciones
1 1,00
2 2,00
3 6,00
4 24,00
5 120,00
6 720,00
7 5.040,00
8 40.320,00
9 362.880,00
10 3.628.800,00
11 39.916.800,00
12 479.001.600,00
Como se puede apreciar en la tabla anterior el número de secuencias se dispara a partir de 8
máquinas haciéndose prácticamente intratable debido al elevado tiempo de proceso
necesario, por lo que limitaremos el número de máquinas a 8, un número más que suficiente
para explicar el modelo y plantear ejercicios.
Vamos a suponer el modelo más sencillo de costes que es el de salto entre máquinas. El
coste de pasar de una máquina a otra es de un salto, por lo que pasar de la máquina A la
máquina C teniendo entre ambas a la máquina B es de 2 saltos. Como ampliación del modelo
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 27 de 130
no sería complicado modificar la matriz de costes para penalizar los retrocesos o tener en
cuenta otros criterios (distancia, prioridad)
o La tabla de costes resultante para la secuencia inicial en la que nombramos las
máquinas de la “a” a la “h” hasta para 8 operaciones, puestos o máquinas sería la
siguiente:
a b c d e f g h S
R 1 2 3 4 5 6 7 8 9
a 0 1 2 3 4 5 6 7 8
b 1 0 1 2 3 4 5 6 7
c 2 1 0 1 2 3 4 5 6
d 3 2 1 0 1 2 3 4 5
e 4 3 2 1 0 1 2 3 4
f 5 4 3 2 1 0 1 2 3
g 6 5 4 3 2 1 0 1 2
h 7 6 5 4 3 2 1 0 1
Los costes de cada par de letras de la tabla (Sin tener en cuenta R y S) son el resultado en valor
absoluto de restar la posición de la fila de cada letra menos la posición de la columna de la otra letra:
Cxy=|PFx-PCy|
P.ej. Cbe= |2-5|=3, “b” está en la tabla en la segunda fila (sin contar a R), y “e” está en la quinta
columna.
El caso de R y de S es especial, porque R siempre estará a un salto del primer elemento de la tabla y
se incrementa el coste en una unidad para las letras sucesivas, y S siempre estará a un salto del
último elemento de la tabla y se incrementará el coste en un salto cada vez, por lo que la fila de R y la
columna de S son en realidad un añadido a la tabla de costes de las letras de la secuencia.
Como las posiciones inicial y final R y S no se pueden permutar, no se tienen en cuenta al permutar la
secuencia, y los cálculos de sus costes se añaden al final, cuando la secuencia ya se ha calculado.
Dadas las condiciones anteriores vamos a utilizar la tabla de costes vista sustituyendo la secuencia
inicial por cada una de las secuencias calculadas, de manera que al comparar las rutas de cada parte
con la tabla de costes de cada secuencia obtengamos el coste de dicha ruta para esa secuencia.
Por ejemplo, la secuencia RcebafgdS minimizaría el coste en número de saltos de las rutas de partes
cad, adfg, geba, baf y fecdgba con un número de saltos de 68 y la siguiente secuencia:
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 28 de 130
Sin embargo, al comprobar todas las posibles secuencias puede darse el caso de que varias de ellas
tengan un coste mínimo, al menos con el criterio de coste del número de saltos; en este ejemplo
concreto tenemos que las secuencias RcebadgfS, RcebafdgS, RcebagdfS, RcebagfdS, RcebgadfS,
RcebgafdS, RcebgfadS, RcefgbadS, RcegbadfS, RcegbafdS, RcegbfadS, Rcegfbad también devolverían
un coste mínimo.
El modelo desarrollado obtiene todas estas secuencias y permite generar un documento con el
enunciado del ejercicio que se esté tratando, y la opción de añadirle la solución incluyendo el coste
mínimo y el diagrama de cuerdas correspondiente de cada secuencia que minimice el número de
saltos.
Algoritmo de Permutación
Para poder generar todas las posibles secuencias requerimos del uso de la programación en VBA,
dado que cualquier proceso que requiera iterar de manera cíclica es harto difícil aunque no imposible
de llevar a la práctica empleando sólo las fórmulas y funciones de Excel y además ralentiza
ostensiblemente los cálculos.
De hecho una primera aproximación al modelo fue la de crear una hoja para cada número de
máquinas desde 2 hasta 8 en la que almacenar todas las posibles combinaciones de cada grupo, y
aplicar las fórmulas para comparar las rutas sobre todas ellas, algo que resultó ser poco operativo. El
libro resultante ocupaba en disco unas cien veces más que cualquier otro libro y los tiempos de
apertura y recálculo cada vez que se hacía un cambio hacían inviable su uso.
Mediante el algoritmo de permutación podemos generar las secuencias de forma dinámica y en
memoria, por lo que su acceso es mucho más rápido, y, aunque para 8 combinaciones y varias rutas
puede tardar unos segundos en obtener resultados, es mucho más operativo que almacenar todas
las tablas como datos en hojas
separadas.
Además se ha incluido en la barra
de Excel una indicación del número
de iteración y el porcentaje
completado para tener una idea de lo que se puede tardar en calcular, aunque en la mayoría de los
casos es apenas visible.
R c e b a f g d S
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 29 de 130
El algoritmo es una adaptación del código de la web del experto John Walkenbach (Walkenbach,
2016) que utiliza un método recurrente (el código se llama a sí mismo hasta que ha obtenido todos
los resultados).
Si pasamos al algoritmo una secuencia de 4 máquinas (a,
b, c y d) el algoritmo separa una de ellas, p.ej. la a, y
vuelve a llamarse a sí mismo para obtener todas las
permutaciones del resto (b, c y d), de la misma manera
separa una de ellas y obtiene las permutaciones del resto
(c y d, d y c). Cuando las obtiene toma otra letra distinta
para el nivel anterior y vuelve a calcular las
permutaciones del resto, y así hasta que haya pasado por
todas las permutaciones de todas las letras en todos los
niveles.
La resolución recurrente
es uno de los métodos de
cálculo más eficientes que
existen, siendo por un lado
adecuada para llevar a
cabo cálculos iterativos y
por otro fácilmente
adaptable a cualquier
lenguaje de programación.
En la subrutina permutar
que contiene este
algoritmo es donde para
cada secuencia generada
se le asigna la tabla de
costes, y se calcula el coste
de cada ruta para obtener
al final el coste total de la
secuencia. Es aquí donde
se mantiene además el registro del coste mínimo, tomando el coste de la primera secuencia y
comparándolo con las siguientes; si el coste de alguna de las secuencias siguientes es menor al
mínimo actual se toma ése como nuevo mínimo, si es igual se añade también como mínimo para
poder obtener posteriormente el listado de todas las secuencias con coste mínimo.
Tras este proceso se muestra un mensaje en pantalla que indica el coste mínimo, el número de
secuencias que lo cumplen y la lista de las mismas, y se muestra en el área de solución del modelo.
Dibujo del diagrama
El dibujo del diagrama se realiza desde la subrutina de VBA mostrarDiagrama, que limpia las formas
dibujadas anteriormente y recorre las secuencias de cada parte tomando las letras dos a dos y
localizándolas en cada secuencia que haya resultado óptima.
permutar (primer_grupo_de_letras, segundo_grupo_de_letras)
Si nº de letras de segundo_grupo_de_letras < 2
=> se ha obtenido una secuencia
=>por cada ruta de parte
Usar la secuencia como base
para calcular el coste de la ruta.
Sino
por cada letra del segundo grupo
llamar a permutar( primer_grupo_de_letras +
letra_del_segundo,
resto_de_letras_del_segundo_grupo)
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 30 de 130
Cuando las encuentra traza un arco por encima si la primera letra está antes que la segunda en la
secuencia, o por debajo si se trata de un retroceso.
Interacción del usuario
La hoja se protege automáticamente cada vez que se activa para evitar cambios accidentales, aunque
se puede desproteger manualmente de ser necesario sin necesidad de contraseña desde el menú
Revisar -> desproteger hoja.
No se recomienda su modificación más allá de las celdas de usuario sin haber hecho una copia de
seguridad previamente.
Nombres de operación
Aunque se trabaja con las letras de operación el usuario puede añadir el nombre de cada operación
para que aparezca posteriormente en el enunciado del ejercicio, no afectando a la resolución del
modelo.
Número de operaciones
Se modifica a través del control de
flechas o directamente modificando la
celda del número. Se ha introducido
una validación para que la celda
solamente admita valores enteros,
entre 2 y 8.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 31 de 130
Botón Buscar Solución
Limpia el área de la solución e inicia el proceso de búsqueda de soluciones comparando la suma de
costes de las rutas para cada secuencia obtenida. Una vez terminado el proceso muestra la(s)
secuencia(s) y su coste en el área de solución.
Botón Generar Documento
Debe utilizarse cuando ya se ha obtenido una solución. Muestra el formulario para generar un
documento de Word, y una vez aceptado llama al módulo de impresión para rellenar el documento.
El módulo de impresión es el genérico desarrollado para el proyecto, muestra el título y el enunciado
por defecto; como datos del enunciado muestra una tabla con las rutas y para la solución muestra el
coste mínimo e imprime el gráfico de cuerdas de cada una de las secuencias óptimas alcanzadas.
Título:
“Ejercicio de Flujo de Planta (Diagrama de cuerdas)”
Enunciado
“La empresa XYZ desea optimizar el
flujo de productos en una de sus
plantas, para lo que necesita ordenar
la secuencia de sus equipos de
manera que se minimice el coste
total de las rutas que siguen los
productos a lo largo de la línea.
El coste de pasar de un equipo a otro
se mide en saltos, sin que se penalice
el retroceso, ni se dé una mayor
prioridad a unos sobre otros.
Los equipos que se deben ordenar son:
Máquina1(a), Máquina2(b), Máquina1(c), … ,Máquina8(h), y se han dispuesto inicialmente en
línea como se han nombrado.
Las rutas que sigue cada parte se detallan en la siguiente tabla:”
Aquí se añade la tabla en el documento de Word
Botón limpiar rutas
Se emplea para crear un modelo nuevo. Vacía tanto la tabla de rutas como el área de soluciones.
Tabla de rutas
Se deben incluir las rutas de cada parte que participe en la optimización. Se introducen como
secuencias de letras sin espacios, asegurándose de que cada letra representa a una máquina u
operación que participa en el supuesto. Además no puede quedar ninguna línea vacía entre rutas
para que el modelo funcione correctamente. La mayoría de errores comunes de entrada de datos
han sido previstos, pero si no se cumplen las condiciones anteriores el modelo podría generar un
error o devolver resultados erróneos.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 32 de 130
Tabla de secuencias
Como la solución puede arrojar como resultado más de una secuencia se muestra por defecto el
diagrama de cuerdas de la primera, pero seleccionando de una en una el resto de secuencias de la
solución se puede mostrar su diagrama de cuerda correspondiente.
AMPLIACIÓN
El presente modelo permite ayudar al docente a ofrecer a sus alumnos un conjunto de explicaciones
y ejercicios sobre la distribución en planta, animándoles a buscar soluciones intuitivas que puedan
cotejar posteriormente con la solución.
La solución no sólo sirve para la técnica del diagrama de cuerdas, sino también para la variante de la
tabla de procesos de columnas múltiples, y, con las modificaciones adecuadas para la técnica de la
tabla de origen-destino.
Como ampliación al modelo se podría modificar la matriz de costes para incorporar otras métricas de
coste como distancias, importancias relativas, penalizaciones por retroceso, etc.
Si bien los costes de cada ruta se calculan para cada secuencia, por razones de economía de tiempo y
de espacio en la hoja no se muestran en la solución. La modificación del modelo para mostrar dichos
costes individuales resultaría sencilla de implementar en una especificación posterior.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 33 de 130
9. MODELO DE ANÁLISIS ABC E INVENTARIO CÍCLICO
DESCRIPCIÓN DEL MODELO
El análisis ABC es un método orientado a la optimización del inventario mediante la clasificación de
los artículos en tres categorías, la categoría A, la de los bienes más valiosos, la categoría C, la de los
bienes menos valiosos y una tercera categoría intermedia de bienes, la categoría B.
El método indica que se debe prestar especial atención a un conjunto reducido de artículos
considerados críticos (categoría A), y poca atención a los artículos considerados triviales. (Collignon &
Vermorel, 2012)
El método ABC se basa en el principio de Pareto aplicado por Joseph Juran para establecer la
clasificación, que establece que el 80% de valor de los artículos vendidos o consumidos es aportado
por el 20% de los artículos existentes, por lo que no existe una demanda repartida de forma regular
entre artículos, sino que un grupo reducido de artículos son los que aportan la mayor parte de valor
al almacén, y por tanto los que requieren de especial atención en su gestión.
En base al principio anterior se establece la siguiente clasificación:
Artículos A: El 70-80% del valor anual de las ventas es aportado por el 10-20% de los artículos del
almacén.
Artículos C: el 5% del valor anual de las ventas es aportado por el 50% de los artículos del almacén.
Artículos B: el 15-25% del valor anual de las ventas es aportado por el 30% de los artículos del
almacén.
Como se puede apreciar en el gráfico anterior obtenido con datos del modelo de Excel, en el caso del
ejemplo hay dos artículos que abarcan más del 81% de total de ventas, que se corresponderían con la
categoría A.
Existen tres artículos que acumularían hasta casi el 16% de las ventas, que entrarían en la categoría
B, y el resto de los artículos, en este caso cinco en total, aportarían el 3% restante de las ventas.
42,82%
81,47%
88,00%
92,61%
96,81% 97,57% 98,31% 98,96% 99,54% 100,00%
30%
40%
50%
60%
70%
80%
90%
100%
D004 E005 G007 F006 H008 C003 I009 A001 B002 J010
Aportación a las ventas
Aportación a las ventas
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 34 de 130
Inventario Cíclico
Una vez determinada la importancia relativa de cada artículo se debe asignar una política de gestión
de inventario acorde, estableciendo un control más riguroso sobre aquellos artículos que pertenecen
a la categoría A.
Para ello se puede emplear el método de inventario o conteo cíclico, que consiste en llevar a cabo el
recuento de las existencias de un artículo en el almacén no en momentos concretos, sino repartidos
en un periodo de tiempo determinado, que será menor cuanto mayor importancia tenga el artículo.
Así, artículos de poca importancia pueden tener asignado un único inventario anual, en el que las
unidades a contar se reparten en los distintos días hábiles del año, mientras que un artículo de
categoría A se puede recontar varias veces al año, bien por semanas, quincenas, meses, o el periodo
más adecuado que determine la empresa, dependiendo del valor del artículo, su rotación,
disponibilidad de personal, etc.
No existe un periodo fijo de recuento para cada categoría, sino que depende de las circunstancias
concretas de los artículos y del almacén, por lo que se debe determinar la frecuencia óptima en base
a la rotación de los artículos y de los recursos disponibles para realizarlo con la frecuencia adecuada.
IMPLEMENTACIÓN EN EXCEL
El modelo está preparado para calcular el número de unidades de inventario cíclico para las distintas
categorías del análisis ABC obtenidas tanto por valor de las ventas como por porcentaje de
participación, para un máximo de 25 artículos distintos.
Preparación de los datos
Para poder llevar a cabo el análisis ABC se debe partir de una tabla
de datos ordenados y acumulados de ventas y participación. En
realidad se trata de dos tablas, una por cada criterio de ordenación.
Para ello se calcula el orden de cada artículo con respecto a los
demás, de mayor a menor volumen de ventas o participación
mediante el uso de la función jerarquía (columnas A y B):
=JERARQUIA(E7;$E$7:$E$25;0)+CONTAR.SI($E$7:$E7;E7)-1
La función jerarquía es una función de Excel que devuelve la
posición de un valor dentro de un rango en orden ascendente o
descendente.
Tiene el inconveniente de que devuelve el mismo número de orden
para valores iguales, por lo que hay que tener en cuenta el número de valores iguales aparecidos
hasta el momento y sumárselos al orden para que salgan valores de número de orden distintos.
Los nombres de los artículos, los valores de ventas y de participación se reordenan a partir de estos
números de orden utilizando la función K-ÉSIMO.MENOR y la posición relativa de las filas actuales
con respecto a la jerarquía, tanto por ventas como por participación.
Una vez ordenados se acumulan los valores correspondientes de ventas y participación.
1 8
2 9
3 6
4 1
5 2
6 4
7 3
8 5
9 7
10 10
Jerarquía
(Part.)
Jerarquía
(Vtas.)
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 35 de 130
Análisis ABC
A la hora de categorizar los artículos el modelo permite basarse en dos variables, el valor anual de
ventas y el porcentaje de participación.
El valor anual de ventas se calcula partiendo de los datos de salidas del almacén, mientras que el
porcentaje de participación viene asignado a priori, en base a datos ajenos al modelo, que reflejan la
importancia de cada artículo para la empresa.
Las categorías obtenidas en ambos casos no tienen por qué coincidir. El uso del porcentaje de
participación en el modelo sirve a efectos prácticos para que el usuario establezca las categorías
modificándolos según le interese para obtener el tipo de ejercicio deseado. Nosotros nos
centraremos en el valor anual de las ventas para explicar el modelo.
Aunque la regla de Pareto establece una relación 80/20, también resulta cierto que se basa en
resultados empíricos, y que está abierta por tanto a la interpretación de las circunstancias concretas
de cada caso.
Siguiendo con el ejemplo anterior, los artículos de la categoría A está claro cuáles son, pero la
pertenencia del artículo H008 a una u otra categoría podría estar sujeta a múltiples interpretaciones,
puesto que se encuentra bastante por encima del 90%, pero su aportación al total es de
aproximadamente el 4%, más parecida a la de los dos artículos anteriores (de categoría B), que a los
siguientes, que no llegan a aportar siquiera el 1% cada uno.
Esta flexibilidad de interpretación hace que se requiera de un estudio pormenorizado de cada caso
concreto, sin embargo, a la hora de desarrollar el modelo en Excel éste debe aportar resultados, por
lo que es necesario establecer una regla matemática que aproxime la pertenencia de cada artículo a
cada categoría, intentando conciliar la regla de Pareto con otros criterios que puedan establecer la
pertenencia en casos dudosos.
Puesto que, como hemos comentado, es una decisión que requiere conocer información concreta
acerca de costes, históricos, etc. sobre los distintos artículos y el entorno de la empresa que nos
ayudaría a tomar la mejor decisión, en nuestro modelo únicamente disponemos del porcentaje de
Artículo % Participación Valor Ventas Uds Art. Ordenados Valor de Vtas. % Ventas % Ventas Categoría por
Vendidas (Vtas.) Ordenados Acum. Ventas
A001 10% 13.800,00 € 200 D004 915.800,00 € 42,82% 42,82% A
B002 10% 12.500,00 € 100 E005 826.500,00 € 38,65% 81,47% A
C003 10% 16.200,00 € 1000 G007 139.500,00 € 6,52% 88,00% B
D004 10% 915.800,00 € 500 F006 98.600,00 € 4,61% 92,61% B
E005 10% 826.500,00 € 2000 H008 89.900,00 € 4,20% 96,81% B
F006 10% 98.600,00 € 800 C003 16.200,00 € 0,76% 97,57% C
G007 10% 139.500,00 € 7000 I009 15.900,00 € 0,74% 98,31% C
H008 10% 89.900,00 € 50 A001 13.800,00 € 0,65% 98,96% C
I009 10% 15.900,00 € 9000 B002 12.500,00 € 0,58% 99,54% C
J010 10% 9.800,00 € 8000 J010 9.800,00 € 0,46% 100,00% C
Totales 100% 2.138.500,00 € 28650 2.138.500,00 € 100,00%
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 36 de 130
ventas acumuladas o del de participación por lo que debemos ceñirnos a estos valores para tomar
una decisión.
El primer artículo que tenga el mayor porcentaje de ventas acumulado está claro que va a pertenecer
a la categoría A.
A partir de ahí tenemos que determinar a qué categoría pertenecen el resto de artículos, mediante la
siguiente fórmula:
=SI(O(L8<80%;Y(ABS(L8-80)<2*ABS(L7-80);L8<85%));"A";SI(O(L8<95%;Y(ABS(L8-
95)<2*ABS(L7-95);L8<97%));"B";"C"))
Esta fórmula relaciona la celda del porcentaje de ventas acumuladas de la fila en la que se encuentra
(en este caso se corresponde con la fila del artículo E005) con la celda de porcentaje de ventas
acumuladas del artículo anterior.
=O(L8<80%;Y(ABS(L8-80)<2*ABS(L7-80);L8<85%));"A"
En el caso de la categoría A el límite inferior está claro, sería el 80% y es nuestro límite mínimo;
cualquier artículo que esté por debajo del 80% (L8<80%) de ventas acumuladas, teniendo en cuenta
que están ordenados de mayor a menor, pertenece a la categoría A.
La segunda parte de la condición correspondiente a la categoría A es la que da flexibilidad en el caso
de artículos dudosos; un artículo puede estar por encima del 80% y aun así tener una participación
importante, por lo que lo comparamos con el anterior:
Y(ABS(L8-80)<2*ABS(L7-80);L8<85%)
Para ello establecemos una segunda condición en la que podemos incluir artículos entre el 80% y el
85% como artículos de clase A si la diferencia en porcentaje de ese artículo con respecto al 80% es
inferior al doble de la diferencia del artículo anterior con respecto al 80%, o lo que es lo mismo, lo
que se pasa del 80% es en proporción menos de la mitad de lo que le falta al anterior artículo para
llegar al 80% en acumulado.
Con esta regla lo que se intenta es que un valor lo suficientemente próximo en porcentaje al valor
anterior se quede dentro de la misma categoría que ese, siempre dentro de unos límites, en el caso
de la categoría A entre el 80% y el 85%
Para la categoría B la regla sería análoga, pero los límites estarían entre el 95% y el 97%, y todos los
artículos que no entren en ninguna de las categorías anteriores entrarían dentro de la categoría C.
Es una regla que sin tener por qué resultar óptima, da buenos resultados de forma empírica en las
pruebas realizadas y permite obtener una aproximación de cada categoría que permita al usuario
tomar una decisión acerca de los artículos sobre los que se debe priorizar la gestión.
Inventario Cíclico
Una vez determinadas las categorías de cada artículo se puede establecer un periodo de inventario
cíclico para cada una de ellas.
Como podemos obtener dos clasificaciones, por ventas o por participación, el modelo presenta los
datos de inventario cíclico para cada una de ellas.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 37 de 130
Simplemente dividimos el número de unidades que entran en cada categoría por el número de días
hábiles del periodo que establezca en usuario mediante los cuadros desplegables:
Unidades (por ventas):
=SUMAR.SI($N$7:$N$25;"A";$G$7:$G$25)
Frecuencia (por ventas):
REDONDEAR.MAS(I29/ELEGIR(J29;$E4$29;$E$30;$E$31;$E$32;$E$33;$E$34;$E$35);0)
El resultado lo redondeamos a la unidad superior para obtener unidades enteras y elegimos el
número de días hábiles de la tabla de días adjunta, según el valor que se encuentre en la celda
asociada al desplegable.
Los periodos de inventario son iguales para ambas clasificaciones, si se modifica el de una categoría
se modifica el análogo de la misma categoría en la otra clasificación.
Los días hábiles se pueden modificar para ajustarlos al caso concreto que se desee representar. Por
defecto se suponen jornadas laborables de cinco días por semana.
Frecuencia Nº Días Unidades Frecuencia Uds./Día
Semanal 5 300 3 15
Quincenal 10 3500 6 30
Mensual 20 24850 7 104
Trimestral 60 TOTAL 28650
Cuatrimestral 80
Semestral 120 Unidades Frecuencia Uds./Día
Anual 240 4600 3 230
7050 6 59
17000 7 71
TOTAL 28650
Clase A (% Part.)
Clase B (% Part.)
Clase C (% Part.)
Inventario Cíclico (Por Vtas.)
Clase A (Ventas)
Clase B (Ventas)
Clase C (Ventas)
Inventario Cíclico (Por Part.)
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 38 de 130
Interacción del usuario
La hoja se protege automáticamente cada vez que se activa para evitar cambios accidentales, aunque
se puede desproteger manualmente si es necesario sin necesidad de contraseña desde el menú
Revisar -> desproteger hoja.
No se recomienda su modificación más allá de las celdas de usuario sin haber hecho una copia de
seguridad previamente.
Columnas de artículos, participación, valor de ventas y unidades.
Permiten introducir los datos principales del modelo. En el caso del porcentaje de participación, un
formato condicional avisa cuando el total de porcentajes no llega al 100% sombreando en rojo la
celda de porcentaje total y las de la clasificación ABC por participación.
También se ha añadido una validación para que el número de unidades vendidas sean positivas.
Queda al criterio del usuario el rellenarlos con datos correctos.
El número de unidades vendidas se emplea para calcular el número de unidades a contar en cada
periodo.
Tabla de días:
Permite introducir el número de días hábiles que incluye cada periodo de inventario seleccionado.
Por defecto se toman cinco días útiles por semana. Los valores por defecto se restauran al limpiar el
modelo con el botón limpiar tabla.
Periodos de inventario
Permiten elegir el periodo de inventario para cada categoría, como se indicó anteriormente.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 39 de 130
Botón Generar Documento
Muestra el formulario para generar un documento de Word, y una vez aceptado llama al módulo de
impresión para rellenar el documento.
Como en este modelo la solución se va generando a medida que se introducen los datos de partida y
no hay un botón para buscar la solución, se puede generar el documento en cualquier momento,
pero se muestra un mensaje de error en el caso de que no se haya introducido ningún nombre de
artículo.
El módulo de impresión es el genérico desarrollado para el proyecto. Muestra el título y el enunciado
elegidos en el formulario anterior, o los creados por defecto. Para la solución se muestran las tablas
con sus categorías correspondientes de ventas y participación, ordenadas y acumuladas, y las tablas
de inventario.
Título por defecto:
“Ejercicio de Método ABC e Inventario cíclico”
Enunciado por defecto:
(Los espacios en blanco se rellenan automáticamente con los datos de la tabla)
“La empresa XYZ desea organizar el control
de almacén mediante inventario cíclico. Para
ello quiere emplear el análisis ABC para
clasificar las existencias y a partir de éste
llevar a cabo un inventario cíclico
Semanal/Mensual/… ( días) para los artículos
de categoría A, Semanal/Mensual/… ( días)
para los artículos de categoría B y
Semanal/Mensual/… ( días ) para los artículos
de categoría C.
La información sobre los distintos artículos se
muestra en la siguiente tabla:”
Botón Limpiar Tabla
Se emplea para crear un modelo nuevo. Vacía las columnas de artículos, participación, valor de
ventas y unidades y restaura la tabla de número de días a los valores por defecto.
AMPLIACIÓN
Al igual que otros modelos del proyecto, éste ha sido desarrollado únicamente utilizando fórmulas y
funciones de Excel.
Para ilustrar la manera en que funciona el análisis ABC se puede incluir un gráfico dinámico que tome
los datos de valor de ventas o participación para cada artículo, para que ilustre visualmente qué
artículos pertenecen a cada categoría y por qué.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 40 de 130
Sin embargo, para que el gráfico se adapte al número de registros introducidos, que se puedan
resaltar los puntos correspondientes a cada categoría y que se muestren categorías y subcategorías
en el eje principal sería necesario añadir código VBA, lo que complicaría el modelo.
Por otro lado la opción de insertar un gráfico de manera manual por parte del usuario, y su
personalización posterior siempre está disponible desde el menú insertar.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 41 de 130
10. MODELO DE VALORACIÓN DE EXISTENCIAS (PMP Y FIFO)
DESCRIPCIÓN DEL MODELO
Métodos de valoración
A la hora de valorar contablemente las existencias de un almacén nos encontramos con que
podemos tener distintas partidas de productos idénticos adquiridas a distintos precios.
Cuando las partidas de productos no se pueden agregar se deben valorar al coste individual de cada
partida, pero si son productos homogéneos existen tres métodos de valoración de existencias:
PMP:
Precio Medio Ponderado; valora las existencias como la media de los precios de adquisición
de las existencias del almacén ponderados por las cantidades adquiridas.
FIFO:
Acrónimo de “First In, First Out” (primera entrada, primera salida), valora las salidas de
acuerdo con el precio de la partida que haya entrado antes al almacén y, cuando ésta no es
suficiente para cubrir el pedido, se computan a su precio las unidades que correspondan de
la siguiente entrada, y así sucesivamente hasta que se cubra por completo el pedido de
venta. Así, las existencias finales quedan valoradas a los precios más recientes.
El valor asignado a una partida que quede en el almacén no tiene por qué coincidir con el
precio de compra de esa partida en concreto ya que dependerá de los movimientos de salida
que haya y de la ubicación en que se encontraban las unidades físicas que han salido del
almacén.
Si se trata de productos no perecederos de idénticas características es indiferente que salgan
primero las unidades de una partida que las de otras y dependerá del modo de ordenación
del almacén, aunque finalmente la valoración de las existencias se haga al precio de las
últimas partidas adquiridas.
Únicamente en el caso de productos perecederos debería coincidir que la partida sea la más
antigua, y que lo haga a su precio (el más antiguo también), ya que al disponer de fecha de
caducidad debe dárseles salida antes.
LIFO:
Acrónimo de “Last In, First Out” (última entrada, primera salida), valora las salidas de
acuerdo con el precio de la última partida que haya entrado en el almacén y, cuando ésta no
es suficiente, se computan a su precio las unidades que correspondientes de la entrada
anterior, y así sucesivamente hasta que se cubra por completo el pedido de venta. Así, las
existencias finales quedan valoradas a los precios más antiguos.
Sobre qué método resulta más adecuado para valorar las existencias, el Plan General Contable
establece para las existencias en su norma de valoración nº 10, apartado 1.3 que:
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 42 de 130
“Cuando se trate de asignar valor a bienes concretos que forman parte de un inventario de bienes
intercambiables entre sí, se adoptará con carácter general el método del precio medio o coste medio
ponderado. El método FIFO es aceptable y puede adoptarse si la empresa lo considerase más
conveniente para su gestión. Se utilizará un único método de asignación de valor para todas las
existencias que tengan una naturaleza y uso similares.” (Ministerio de Economía y Hacienda, 2007)
Entre PMP y FIFO, el Plan General Contable tiene preferencia por el PMP. El uso de FIFO tiene como
principal problema que en un entorno inflacionista se da a las existencias un mayor valor, al
considerar que permanecen en stock las ultimas en entrar, que son las más caras, lo que supone
incrementar el resultado de la empresa y por consiguiente su carga tributaria (BBVA, 2012).
Valoración mediante PMP
Seguiremos los siguientes criterios a la hora de valorar las existencias mediante PMP:
La valoración de existencias mediante PMP supone que el valor de las unidades que hay en
almacén se hace sumando el valor de las unidades de cada partida a precio de adquisición y
dividiéndolo entre el número de unidades total:
Si entran varias partidas el mismo día se valoran como una sola partida a coste medio.
Las devoluciones de compras se toman como salidas, y se valoran a precio de adquisición.
Las devoluciones de ventas se cuentan como entradas y se valoran al coste del momento en
que se vendieron.
Las bajas por inventario se valoran a coste de la partida si es conocida, y si no a PMP.
Valoración mediante FIFO
Puesto que vamos a llevar un control del precio de cada partida valoraremos las distintas entradas a
coste de adquisición y las salidas a FIFO.
IMPLEMENTACIÓN EN EXCEL
Ambos modelos se pueden implementar en Excel mediante fórmulas, sin necesidad de introducir
programación, aunque en el caso de FIFO hay que puntualizar que mediante programación sería
mucho más sencillo llevarlo a cabo como veremos más adelante.
Los dos modelos comparten el mismo tipo de tabla, aunque en el caso de FIFO el precio de
valoración de las salidas no se puede mostrar, puesto que hay que desglosarlo por partidas.
Se ha limitado en ambos el número de entradas del almacén a 32 incluyendo las existencias iniciales,
dimensión más que suficiente para plantear ejercicios de un registro por día para todo el mes, o de
varias entradas por día para gran parte del mes.
Por tanto, cada ficha se correspondería como máximo con los movimientos de inventario mensuales
de un artículo concreto.
∑ ∗ + ∗ + ⋯+ ∗
∑ + + ⋯ +
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 43 de 130
A la hora de poner los precios de salidas o de devoluciones es responsabilidad del usuario conocer el
precio que tiene que poner en función del tipo de movimiento que se haga.
Modelo PMP
Para el modelo PMP partimos de las existencias iniciales y a partir de esa primera fila se va
calculando el precio medio para cada una de las entradas, bien sean compras (a precio de
adquisición), devoluciones de ventas (a coste del momento de la venta), o salidas que sean
devoluciones de compras (a precio de adquisición).
La fórmula que determina si las unidades de cada registro se tienen que añadir o minorar del
inventario comprueba el tipo de movimiento y decide en consecuencia:
Si se trata de una compra o de una devolución de venta, y el resultado de sumar al stock
actual las unidades compradas es que aumenta el stock (asegurando que se introducen
unidades positivas):
SI(Y(O(PMP!$D7="Compra"; PMP!$D7="Devolución de venta");K6+E7>0)
Entonces se añaden las unidades al stock: K6+E7
Si por el contrario se trata de una venta o de una devolución de compra y hay unidades
suficientes en el stock para realizar la salida:
SI(Y(O(PMP!$D7="Venta"; PMP!$D7="Devolución de compra");K6-H7>0);
Entonces se minoran las unidades al stock: K6-H7
En cuanto a los precios, la fórmula de PMP que utilizamos anteriormente
∑ ∗ ∗ ⋯ ∗
∑ ⋯
,
puede simplificarse sumando al valor anterior de las existencias del almacén el valor de las entradas
o salidas y dividiendo por el número de unidades:
=SI(K7<>"";SI(K7<K6;SI(D7="devolución de compra";(M6-J7)/K7;L6);(M6+G7)/K7);"")
En PMP las devoluciones de compras deben tomarse como salidas, poniendo como precio el de
adquisición, y las devoluciones de ventas se toman como entradas, poniendo como precio el precio
medio ponderado del momento de la venta.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 44 de 130
Como al operar sobre las celdas de unidades o precios puede que alguna esté en blanco, en muchas
de las fórmulas se emplea la función SI.ERROR(), que permite realizar una operación y, en caso de
que devuelva un valor de error se sustituye por otro valor, en nuestro caso una cadena vacía(“”) que
deja la celda en blanco.
Modelo FIFO
En el caso de este modelo es interesante señalar que aun siendo más intuitivo que tener que calcular
una media ponderada de unidades y precios como en PMP resulte mucho más difícil de implementar
sólo con fórmulas que PMP.
La implementación del modelo se basa en parte en la hoja realizada por Luis Manuel Sánchez
(Sánchez Maestre, 2014) que compara ambos modelos, pero con dos diferencias sustanciales:
La primera es que el modelo de nuestro proyecto no utiliza programación para llevar a cabo
el cálculo del inventario.
La segunda y más importante en FIFO es que su método sólo puede ofrecer el desglose de
precios para el último periodo del inventario, mientras que en nuestro caso el modelo hace
el desglose por cada registro.
La tabla de movimientos y la de saldos son tablas auxiliares utilizadas para hacer el desglose de
existencias en el último periodo de la tabla, por lo que para interpretarla debemos ubicarnos
temporalmente en la situación del inventario en la última fecha de la tabla.
Ambas tablas se utilizan para calcular el número de unidades vendidas, el número de unidades en
stock y el desglose de su valoración a dicha fecha.
Para ello se toma el total de ventas (2200 en el ejemplo) y se le van restando las partidas que
estaban en el almacén de la primera a la última (columna cantidad de la tabla de movimientos) con lo
que se obtienen en esa primera tabla las unidades consumidas desglosadas por partidas.
En la tabla de saldos se obtiene el desglose de las partidas no consumidas simplemente restando de
los consumos de la tabla de movimientos la cantidad de unidades que entraron en dicho periodo.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 45 de 130
De esta manera, a partir de la última partida de la que se han consumido unidades el resto son las
existencias finales a fecha de dicho último periodo (en realidad a partir del periodo desde el que no
hay movimientos).
De esta manera obtenemos las existencias de una fecha (la última) pero empleando dos tablas
auxiliares completas para ello.
Para sacar el desglose para cada fecha introducida creamos una tabla resumen de la de saldos y
movimientos y la rellenamos con las fórmulas necesarias para hacer los cálculos anteriores pero sólo
en las filas correspondientes a cada registro, una fila para el primer registro de la tabla, dos para el
siguiente, y así con todos los registros. En total, en nuestro ejemplo 32 tablas, una por cada línea de
registro.
En la tabla de cada fecha se hace referencia a las ventas acumuladas hasta tal fecha, que se
encuentran en la primera columna del grupo de tablas auxiliares.
Estas tablas son consultadas cada vez que se pulsa el botón ver desglose, y la valoración de las
existencias de la tabla principal se obtiene consultando la última fila de la tabla auxiliar
correspondiente al registro en el que está la celda que debe contener el valor:
=INDICE($Y$5:$EV$38;34;(FILA()-5)*4)
34 indica la fila en la que se encuentra el valor total de las existencias en la tabla auxiliar de cada
periodo.
FILA()-5)*4 indica el número de columna en la que buscar el valor total y se corresponde con el
número de fila en la que esté la celda, menos las cinco celdas que hay por encima de la tabla y
multiplicado por las cuatro columnas que tiene cada tabla auxiliar.
Como se puede apreciar por lo anterior, no se pueden insertar filas o columnas en el modelo sin
modificar dicha fórmula para que coincida nuevamente con la posición correcta, puesto que las
celdas de valoración de existencias de la tabla dejarían de tener valores correctos.
Interacción del usuario
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 46 de 130
La hoja se protege automáticamente cada vez que se activa para evitar cambios accidentales, aunque
se puede desproteger manualmente si es necesario sin necesidad de contraseña desde el menú
Revisar -> desproteger hoja.
No se recomienda su modificación más allá de las celdas de usuario sin haber hecho una copia de
seguridad previamente.
Campo Fecha
Es muy importante que en ambos modelos se introduzcan todas las fechas de todos los registros que
se vayan a utilizar (incluyendo el de las existencias iniciales) y que no queden filas vacías entre
registros, ya que las fórmulas de un registro hacen referencia a las celdas de la fila anterior para
realizar sus cálculos.
Además, para determinar el número de entradas se cuentan las filas con fecha y se seleccionan
desde la primera hasta el número de filas que se hayan contado. Si quedan filas vacías entre medias
el resultado quedarán fuera de la cuenta los últimos registros.
Celdas de unidades y precios
Las únicas columnas de la tabla que deben rellenarse aparte de las vistas en apartados anteriores son
las de unidades y precios de entradas y salidas.
Los precios de entradas son los precios de adquisición o, en el caso de las devoluciones de ventas, el
valor (PMP) de la venta en el momento de realizarla.
Los precios de las salidas en PMP se valoran en el caso de las ventas a PMP, y en el caso de las
devoluciones de compras a precio de adquisición del momento.
En el caso de FIFO se valoran las salidas a desglose de precios y por lo tanto no es necesario poner su
precio.
Con FIFO, para que las devoluciones de compras se puedan valorar correctamente es necesario
introducirlas en el modelo como una entrada de unidades negativas para que minoren su partida
correspondiente.
Si se introducen como salidas minorarían de la primera partida disponible, ya que se valorarían al
precio de esa partida. De esta manera las devoluciones de compras no computarían para el cálculo
del número total de salidas, y deberían incluirse a mano de considerarse necesario.
Debe tenerse la precaución lógica cuando se añada una devolución de compra, de hacerla sobre
partidas que tengan unidades suficientes en el almacén, es decir, que no se hayan vendido ya, puesto
que de lo contrario tendremos partidas con unidades negativas no compensadas con unidades
positivas de la misma partida (a su precio), lo que degradaría la valoración del inventario.
PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO
Pág. 47 de 130
Celda “Ver Desglose”
En el caso de FIFO no existe una
manera de mostrar directamente
para cada registro el precio al que
se valoran las existencias que
quedan en el almacén, puesto que
las unidades que quedan se
valoran al precio de la partida a la
que pertenecen.
Para poder consultar el desglose
de precios de cada registro se ha
añadido un evento a las celdas de
precio para que cada vez que se
seleccione una se muestre un cuadro de
diálogo que indique el número de unidades que
quedan en el periodo, el desglose de precios por
partida de las unidades que quedan en almacén, su
valor desglosado y su valor total.
Botón Generar Documento
Muestra el formulario para generar un documento de Word, y una vez aceptado llama al módulo de
impresión para rellenar el documento.
Como en este modelo la solución se va generando a medida que se introducen los datos de partida y
no hay un botón para buscar la solución, se puede generar el documento en cualquier momento,
siempre que al menos esté introducida la fecha del primer registro (existencias iniciales)
El módulo de impresión es el genérico desarrollado para el proyecto. Muestra el título y el enunciado
elegidos en el formulario anterior, o los creados por defecto. Para la solución se muestran la tabla de
inventario correspondiente, y en el caso de FIFO el desglose de precios para cada uno de los registros
de la tabla.
Título por defecto:
“Ejercicio de Valoración de Existencias por PMP” o “Ejercicio de Valoración de Existencias por
FIFO”
Enunciado por defecto:
(Los espacios en blanco se rellenan
automáticamente con los datos de la
tabla)
PMP:
“La empresa XYZ mantiene el inventario de
su almacén mediante el método de
valoración de precio medio ponderado
(PMP).
Anotar todas las operaciones realizadas
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel
Modelos de programación de la producción en Excel

Más contenido relacionado

La actualidad más candente

Control estadistico por procesos
Control estadistico por procesos Control estadistico por procesos
Control estadistico por procesos Patricia Juares
 
Sistema Pull - Push y JIT (Just in Time o Método Justo a Tiempo
Sistema Pull - Push y JIT (Just in Time o Método Justo a TiempoSistema Pull - Push y JIT (Just in Time o Método Justo a Tiempo
Sistema Pull - Push y JIT (Just in Time o Método Justo a TiempoEstudiante.uftsaia Slideshow
 
4.3. lean supply chain.
4.3. lean supply chain.4.3. lean supply chain.
4.3. lean supply chain.Leo Velasco
 
Manufactura avanzada expo ...
Manufactura avanzada expo ...Manufactura avanzada expo ...
Manufactura avanzada expo ...ToNny Ñ Ñ Lop
 
Teoria de colas_-_una_cola_un_servidor
Teoria de colas_-_una_cola_un_servidorTeoria de colas_-_una_cola_un_servidor
Teoria de colas_-_una_cola_un_servidorErika Vazquez
 
54725830 toma-de-decisiones-a-traves-de-la-investigacion-de-operaciones
54725830 toma-de-decisiones-a-traves-de-la-investigacion-de-operaciones54725830 toma-de-decisiones-a-traves-de-la-investigacion-de-operaciones
54725830 toma-de-decisiones-a-traves-de-la-investigacion-de-operacionesjose mejia
 
Simulación Con Arena, Sistema de produccion
Simulación Con Arena, Sistema de produccionSimulación Con Arena, Sistema de produccion
Simulación Con Arena, Sistema de produccionLuis Espinel Fuentes
 
4.1 paradigma de análisis de los sistemas duros
4.1 paradigma de análisis de los sistemas duros4.1 paradigma de análisis de los sistemas duros
4.1 paradigma de análisis de los sistemas durosBryan Salas
 
Planeacion Agregada de las Operaciones - Problema
Planeacion Agregada de las Operaciones - ProblemaPlaneacion Agregada de las Operaciones - Problema
Planeacion Agregada de las Operaciones - ProblemaAlberto Carranza Garcia
 

La actualidad más candente (20)

Cartas de control en minitab por Ing. Jose Zavala
Cartas de control en minitab por Ing. Jose ZavalaCartas de control en minitab por Ing. Jose Zavala
Cartas de control en minitab por Ing. Jose Zavala
 
Mapa de la cadena de valor vsm 1
Mapa de la cadena de valor vsm 1Mapa de la cadena de valor vsm 1
Mapa de la cadena de valor vsm 1
 
Control estadistico por procesos
Control estadistico por procesos Control estadistico por procesos
Control estadistico por procesos
 
Promodel
PromodelPromodel
Promodel
 
Sistema Pull - Push y JIT (Just in Time o Método Justo a Tiempo
Sistema Pull - Push y JIT (Just in Time o Método Justo a TiempoSistema Pull - Push y JIT (Just in Time o Método Justo a Tiempo
Sistema Pull - Push y JIT (Just in Time o Método Justo a Tiempo
 
Ejercicios+mrp
Ejercicios+mrpEjercicios+mrp
Ejercicios+mrp
 
Unidad 5-analisis-de-sensibilidad
Unidad 5-analisis-de-sensibilidadUnidad 5-analisis-de-sensibilidad
Unidad 5-analisis-de-sensibilidad
 
4.3. lean supply chain.
4.3. lean supply chain.4.3. lean supply chain.
4.3. lean supply chain.
 
Manufactura avanzada expo ...
Manufactura avanzada expo ...Manufactura avanzada expo ...
Manufactura avanzada expo ...
 
Parametros de mantenimiento
Parametros de mantenimientoParametros de mantenimiento
Parametros de mantenimiento
 
Teoria de colas_-_una_cola_un_servidor
Teoria de colas_-_una_cola_un_servidorTeoria de colas_-_una_cola_un_servidor
Teoria de colas_-_una_cola_un_servidor
 
Sistemas de manufactura
Sistemas de manufacturaSistemas de manufactura
Sistemas de manufactura
 
Capacidad de Planta
Capacidad de PlantaCapacidad de Planta
Capacidad de Planta
 
Mantenibilidad y fiabilidad
Mantenibilidad y fiabilidadMantenibilidad y fiabilidad
Mantenibilidad y fiabilidad
 
54725830 toma-de-decisiones-a-traves-de-la-investigacion-de-operaciones
54725830 toma-de-decisiones-a-traves-de-la-investigacion-de-operaciones54725830 toma-de-decisiones-a-traves-de-la-investigacion-de-operaciones
54725830 toma-de-decisiones-a-traves-de-la-investigacion-de-operaciones
 
MRP y ERP
MRP y ERPMRP y ERP
MRP y ERP
 
Simulación Con Arena, Sistema de produccion
Simulación Con Arena, Sistema de produccionSimulación Con Arena, Sistema de produccion
Simulación Con Arena, Sistema de produccion
 
GC_S6_QFD y Lean Six Sigma.pdf
GC_S6_QFD y Lean Six Sigma.pdfGC_S6_QFD y Lean Six Sigma.pdf
GC_S6_QFD y Lean Six Sigma.pdf
 
4.1 paradigma de análisis de los sistemas duros
4.1 paradigma de análisis de los sistemas duros4.1 paradigma de análisis de los sistemas duros
4.1 paradigma de análisis de los sistemas duros
 
Planeacion Agregada de las Operaciones - Problema
Planeacion Agregada de las Operaciones - ProblemaPlaneacion Agregada de las Operaciones - Problema
Planeacion Agregada de las Operaciones - Problema
 

Similar a Modelos de programación de la producción en Excel

Similar a Modelos de programación de la producción en Excel (20)

Van tir, arbol problemas
Van tir, arbol problemasVan tir, arbol problemas
Van tir, arbol problemas
 
word
wordword
word
 
Cómo Diseño puestos de trabajo.pdf
Cómo Diseño puestos de trabajo.pdfCómo Diseño puestos de trabajo.pdf
Cómo Diseño puestos de trabajo.pdf
 
Trabajo Fin de Master Eduardo Audiche
Trabajo Fin de Master Eduardo AudicheTrabajo Fin de Master Eduardo Audiche
Trabajo Fin de Master Eduardo Audiche
 
Sintonizacion PID
Sintonizacion PID Sintonizacion PID
Sintonizacion PID
 
Berrospi miguel implantacion_sistema_ventas_herramienta_data_mining
Berrospi miguel implantacion_sistema_ventas_herramienta_data_miningBerrospi miguel implantacion_sistema_ventas_herramienta_data_mining
Berrospi miguel implantacion_sistema_ventas_herramienta_data_mining
 
TesisCSP.pdf
TesisCSP.pdfTesisCSP.pdf
TesisCSP.pdf
 
Curso java y j2 EE
Curso java y j2 EECurso java y j2 EE
Curso java y j2 EE
 
Introduccion poo con_java
Introduccion poo con_javaIntroduccion poo con_java
Introduccion poo con_java
 
Lab view
Lab viewLab view
Lab view
 
Pic problemas resueltos
Pic problemas resueltos Pic problemas resueltos
Pic problemas resueltos
 
Pic gama-media
Pic gama-mediaPic gama-media
Pic gama-media
 
Tutorial de computación básica II
Tutorial de computación básica IITutorial de computación básica II
Tutorial de computación básica II
 
J2 me
J2 meJ2 me
J2 me
 
Java 2 micro edition
Java 2 micro editionJava 2 micro edition
Java 2 micro edition
 
Java A Tope J2 Me (Java 2 Micro Edition)
Java A Tope  J2 Me (Java 2 Micro Edition)Java A Tope  J2 Me (Java 2 Micro Edition)
Java A Tope J2 Me (Java 2 Micro Edition)
 
Admo0553
Admo0553Admo0553
Admo0553
 
Matlab adv esp
Matlab adv espMatlab adv esp
Matlab adv esp
 
Administracion de-empresas-y-organizacion-de-la-produccion
Administracion de-empresas-y-organizacion-de-la-produccionAdministracion de-empresas-y-organizacion-de-la-produccion
Administracion de-empresas-y-organizacion-de-la-produccion
 
Reingenieria comercial administrativa_y
Reingenieria comercial administrativa_yReingenieria comercial administrativa_y
Reingenieria comercial administrativa_y
 

Último

CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...RichardRivas28
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfcesar17lavictoria
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...wvernetlopez
 

Último (20)

CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
 

Modelos de programación de la producción en Excel

  • 1. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 1 de 130 Proyecto de fin de Grado DESARROLLO DE MODELOS DE PROGRAMACIÓN DE LA PRODUCCIÓN EN EXCEL APLICACIÓN DOCENTE JOSÉ MARÍA MORO OLMEDO chema@jmoro.com CIFP Juan de Herrera CURSO: 2ºPPF
  • 2. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 2 de 130 ÍNDICE DE CONTENIDOS PRIMERA PARTE DESCRIPCIÓN DEL PROYECTO..........................................5 1. Justificación del proyecto..........................................................................................................6 2. Objetivos del proyecto..............................................................................................................7 3. Modelos desarrollados..............................................................................................................8 4. Organización del tiempo .........................................................................................................10 5. Características de Excel Utilizadas ...........................................................................................11 Referencias ..........................................................................................................................11 Formato condicional.............................................................................................................12 Validaciones .........................................................................................................................13 Funciones específicas ...........................................................................................................13 Funciones de error ...............................................................................................................14 Gráficos................................................................................................................................14 Fórmulas Matriciales ............................................................................................................14 Macros.................................................................................................................................15 Programación en VBA...........................................................................................................16 Uso de rangos con nombres .................................................................................................16 Rangos dinámicos.................................................................................................................17 6. Generación de documentos ....................................................................................................18 Generalidades ......................................................................................................................18 Plantilla de Word..................................................................................................................18 Formulario de impresión ......................................................................................................20 Módulo de impresión ...........................................................................................................20 Ampliación del proyecto.......................................................................................................21 7. Selector de Modelos ...............................................................................................................22 Hoja de Menú.......................................................................................................................22 Hoja de Configuración ..........................................................................................................22 SEGUNDA PARTE DESCRIPCIÓN DE LOS MODELOS .................................... 24 8. Flujos de Planta. Modelo de diagrama de cuerdas...................................................................25 Descripción del modelo ........................................................................................................25 Implementación en Excel......................................................................................................26 Ampliación ...........................................................................................................................32 9. Modelo de Análisis ABC e inventario Cíclico ............................................................................33
  • 3. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 3 de 130 Descripción del modelo ........................................................................................................33 Implementación en Excel......................................................................................................34 Ampliación ...........................................................................................................................39 10.Modelo de Valoración de existencias (PMP y FIFO) .................................................................41 Descripción del modelo ........................................................................................................41 Implementación en Excel......................................................................................................42 Ampliación ...........................................................................................................................48 11.Modelo de Inventario - EOQ y POQ .........................................................................................50 Descripción del modelo ........................................................................................................50 Implementación en Excel......................................................................................................52 Ampliación ...........................................................................................................................59 12.Modelo de inventario Perecedero...........................................................................................60 Descripción del modelo ........................................................................................................60 Implementación en Excel......................................................................................................61 Ampliación ...........................................................................................................................66 13.Diagrama de Gantt..................................................................................................................67 Descripción del modelo ........................................................................................................67 Implementación en Excel......................................................................................................68 Ampliación ...........................................................................................................................73 14.Programación a corto Plazo - Modelo de Asignación (Método Húngaro) .................................74 Descripción del modelo ........................................................................................................74 Implementación en Excel......................................................................................................77 Ampliación ...........................................................................................................................82 15.Criterios de Asignación - FCFS, SPT, EDD, LPT, e IC...................................................................84 Descripción del modelo ........................................................................................................84 Implementación en Excel......................................................................................................85 Ampliación ...........................................................................................................................89 16.Programación de trabajos en dos máquinas - Regla de Johnson ..............................................90 Descripción del modelo ........................................................................................................90 Implementación en Excel......................................................................................................91 Ampliación ...........................................................................................................................95 TERCERA PARTE CONCLUSIONES Y APÉNDICES ........................................ 97 17.Conclusiones...........................................................................................................................98 18.Apéndice A - MRP ...................................................................................................................99
  • 4. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 4 de 130 19.Apéndice B - Ejercicios generados .........................................................................................100 20.Bibliografía............................................................................................................................129
  • 5. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 5 de 130 PRIMERA PARTE DESCRIPCIÓN DEL PROYECTO
  • 6. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 6 de 130 1. JUSTIFICACIÓN DEL PROYECTO La idea de llevar a cabo este proyecto tiene su origen en la entrega de ejercicios dentro de la asignatura de Programación de la Producción. Algunas de las entregas fueron realizadas utilizando Excel, bien para realizarlas o para corregirlas; una vez hechos, se vio que los modelos realizados podrían servir para crear más ejemplos del mismo tipo, simplemente modificando los datos de entrada del problema. Resulta evidente la utilidad que tendría el disponer de modelos ya resueltos para todos los posibles ejercicios de la asignatura, poniendo a disposición del docente una herramienta que serviría de apoyo a las clases al ser capaz de generar los ejemplos necesarios para cada tipo de problema, y permitiendo crear baterías de ejercicios de forma rápida y sencilla. Existen herramientas online para resolver algunos de los problemas de la asignatura pero muchas no muestran los pasos para la resolución, sobre todo en algoritmos iterativos, y cuando lo hacen deben ser copiados posteriormente a un documento de texto de forma manual. Elaborar ejercicios para muchos de los temas de la asignatura es una tarea a veces complicada dependiendo del tipo de ejercicio, y propensa a errores al resolverlos manualmente. Desde el punto de vista del alumno la búsqueda de ejemplos en la red es una tarea que lleva mucho tiempo y requiere consultar multitud de páginas que en muchas ocasiones hacen referencia a los mismos ejemplos una y otra vez. Disponiendo de modelos en Excel para cada tipo de ejercicio los alumnos podrían practicar con cuantos ejercicios de cada tipo de problema les hiciese falta, generándolos de forma rápida y sabiendo que tienen la solución para poder comprobar sus avances, de manera que los modelos se podrían utilizar como una herramienta de refuerzo del aprendizaje.
  • 7. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 7 de 130 2. OBJETIVOS DEL PROYECTO El proyecto tiene por objetivo la elaboración de modelos en Excel para los tipos de problemas más relevantes o que mayor dificultad podría plantear a la hora de pasarlos a la aplicación. Una vez creados los modelos hay que desarrollar una interfaz de usuario que permita introducir los datos en cada modelo tantas veces como haga falta, y generar de forma automatizada un documento de Word con el formato adecuado al centro y la asignatura, que incluya el enunciado de un ejercicio basado en los datos introducidos y, de manera opcional, la solución al problema desarrollada mediante el uso de tablas de datos, gráficos o imágenes cuando sea necesario. El desarrollo del módulo de impresión a Word debe ser lo suficientemente genérico como para poder ser utilizado en cada modelo sin muchas modificaciones. Dado el gran número de modelos presentados durante la asignatura resulta imposible llevar a cabo todos en el tiempo disponible para el proyecto, por lo que se hace necesario realizar una selección de los más relevantes, bien por su importancia, o por sus peculiaridades para ser trasladados a Excel. En definitiva, el objetivo del proyecto sería doble: Por un lado, desarrollar una herramienta de apoyo a la docencia, que facilite el aprendizaje de los alumnos de la asignatura de Programación de la Producción mediante la práctica. Por otro, desarrollar las capacidades necesarias para aprovechar todas las herramientas que ofrece Excel para modelizar cualquier problema en el ámbito de la programación de la producción que se nos pueda plantear.
  • 8. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 8 de 130 3. MODELOS DESARROLLADOS A la hora de elegir los modelos a incluir en el proyecto se ha tenido en cuenta sobre todo la dificultad que planteaba su paso a Excel. Existen problemas sencillos que requieren únicamente de la aplicación de una o una serie de fórmulas para su resolución como pueden ser los problemas de productividad o algunos de los problemas de tiempos. El traslado a Excel de este tipo de problemas resultaría trivial, por lo que en su mayoría se han dejado para una futura ampliación del proyecto. Sin embargo se ha incluido un modelo como ejemplo del grupo de los problemas anteriores, sencillos de elaborar aplicando las fórmulas correspondientes; el modelo de inventario perecedero. Este modelo nos sirve como ejemplo para demostrar el uso de elementos de Excel que resultan muy útiles a la hora de desarrollar cualquier modelo, como son el uso de los distintos tipos de referencias de celdas y el uso de fórmulas matriciales. Lo mismo ocurre con el modelo de diagrama de Gantt. Excel no cuenta con herramientas gráficas que permitan representar de manera completa diagramas de Gantt. En el modelo desarrollado para el proyecto se hace una aproximación bastante acertada a los diagramas de Gantt, empleando únicamente la herramienta de formato condicional de Excel. Este modelo se aprovecha además para otro modelo que es el de la regla de Johnson. Otros problemas aparentemente sencillos para ser realizados a mano resultan bastante complicados de trasladar a Excel, puesto que están basados en la intuición, la observación o una capacidad de apreciación subjetiva fáciles de realizar por el alumno, pero difíciles de obtener mediante un programa como Excel. Éste ha sido el caso de problemas como el diagrama de cuerdas, que se ha tenido que realizar utilizando combinatoria para suplir la capacidad visual de determinar la acumulación de curvas entre tareas, o como el método húngaro en el que se ha tenido que seguir un algoritmo para llevar a cabo la tarea de tachar las filas y columnas con ceros, algo que para un número reducido de filas y columnas resulta sencillo de realizar a mano. En el caso del modelo del análisis ABC del inventario, se ha incluido porque la aplicación de la regla de Pareto requiere de una flexibilidad que en Excel debe ser simulada. Otros modelo que se han incluido son ejemplos de los problemas típicos para cuya resolución está diseñada Excel, aquellos que manejan información tabulada. Éste sería el caso de los modelos de gestión de inventarios PMP y FIFO, y del modelo de asignación mediante reglas como FCFS, SPT, LPT, EDD o IC. Por último se han escogido los modelos de costes de inventario EOQ y POQ como ejemplos de combinación de cálculos con el uso de gráficos. Se ha quedado fuera del proyecto un modelo bastante interesante y que se realizó durante el transcurso de la asignatura, el modelo de MRP. Se trata de un modelo bastante complejo, cuyas modificaciones para hacerlo completamente funcional habrían requerido de un proyecto únicamente para él.
  • 9. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 9 de 130 Se ha preferido disponer de una mayor variedad de modelos que abarquen gran parte del temario del curso a centrar el proyecto en uno sólo. No obstante se incluye la versión ya desarrollada durante el curso del MRP sin incluir el módulo de impresión como un apéndice, junto con una pequeña descripción para que sirva como base de mejora del proyecto en un futuro. En resumen, los modelos elegidos para ser desarrollados en este proyecto han sido los siguientes: Flujos de Planta. Modelo de diagrama de cuerdas Modelo de método ABC e inventario Cíclico Modelo de Valoración de existencias (PMP y FIFO) Modelos de costes - EOQ y POQ Modelo de inventario Perecedero Diagrama de Gantt Programación a corto Plazo - Modelo de Asignación (Método Húngaro) Criterios de Asignación - FCFS, SPT, EDD, LPT, e IC Programación de trabajos en dos máquinas - Regla de Johnson El apartado dedicado a cada uno de los modelos dentro de la documentación del proyecto contiene una descripción sobre su origen, desarrollo y características, una sección acerca de su implementación en Excel incluyendo la descripción de la interfaz de usuario, y otra sobre las posibilidades de ampliación y mejora que se podrían realizar en un futuro.
  • 10. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 10 de 130 4. ORGANIZACIÓN DEL TIEMPO Aparte del trabajo de documentar el proyecto en sí el tiempo del proyecto se ha dedicado a dos tareas fundamentalmente, por un lado a la elaboración de los modelos, y por otro al desarrollo del módulo de impresión. El tiempo dedicado a la elaboración de modelos incluye la implementación en Excel y la realización de las pruebas necesarias para comprobar el correcto funcionamiento de cada uno de ellos. El número de horas destinadas a cada uno de los modelos ha sido variable, desde las 10 horas para los modelos más sencillos a varias jornadas para los más complejos. Una aproximación de tiempos basada en las fechas de creación de cada archivo sería la siguiente: Flujos de Planta. Modelo de diagrama de cuerdas - 32 horas Modelo de método ABC e inventario Cíclico - 16 horas Modelo de Valoración de existencias (PMP y FIFO) - 34 horas Modelos de costes - EOQ y POQ - 36 horas Modelo de inventario Perecedero - 10 horas Diagrama de Gantt - 16 horas Programación a corto Plazo - Modelo de Asignación (Método Húngaro) 50 horas Criterios de Asignación - FCFS, SPT, EDD, LPT, e IC - 20 horas Programación de trabajos en dos máquinas - Regla de Johnson - 20 horas En cuanto a la creación del módulo de impresión ha llevado en total 50 horas de trabajo, incluyendo una media de hora y media para integrarlo en cada modelo. A la documentación de cada modelo y la maquetación del documento final se le han asignado 50 horas. La distribución en el calendario ha sido la siguiente: Marzo Inv. Perec edero Gantt PMP y FIFO EOQ POQ ABC Método Húngaro Abril Método Húngaro Diagrama de Cuerdas Asignaciones Johnson Módulo de impresión Mayo Módulo de impresión Integrar módulo de impresión Documentar módulos Maquetar Fin de Proyecto
  • 11. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 11 de 130 5. CARACTERÍSTICAS DE EXCEL UTILIZADAS A la hora de diseñar los distintos modelos cada uno de ellos ha requerido del uso de una, o de una combinación de varias de las muchas herramientas que ofrece Excel, desde las más sencillas como el uso de distintos tipos de referencias hasta las más avanzadas como el uso de la programación en Visual Basic para aplicaciones (VBA) A continuación repasamos las características más destacables utilizadas durante el desarrollo de los modelos, cuyo uso se ha detallado extensamente en la documentación de cada uno de ellos: REFERENCIAS La herramienta más básica que nos podemos encontrar en Excel es el uso de los distintos tipos de referencias a otras celdas, absolutas, relativas o mixtas. El tipo de referencia que se emplea en Excel por defecto es la referencia relativa, que resulta útil en la mayoría de los casos. Una referencia relativa permite acceder (referir) el valor de una celda dentro de otra en relación a la posición de la primera con respecto de la segunda, p.ej.: si estando en la celda B10 nos referimos a la celda A1 de forma relativa (=A1) en realidad lo que indicamos es que queremos mostrar el valor de la celda que está 9 filas por encima de B10 y una columna antes de dicha celda. Si se hace esto de forma aislada es completamente correcto mientras no se utilice el control de relleno para aplicar la misma fórmula a otras celdas distintas de B10. En el caso de rellenar por ejemplo a la celda C10 el valor de la fórmula cambiará a =B1, que es la celda que está nueve filas por encima y una columna antes de C10, de manera análoga, en caso de rellenar a B11 el contenido de la celda será =A2, nueve filas por encima y una columna antes de B11. Si queremos que la fórmula siempre haga referencia a la misma celda, A1 en nuestro ejemplo deberíamos utilizar otro tipo de referencia, que es la referencia absoluta (=$A$1). Una referencia absoluta siempre hace referencia a la misma celda independientemente de dónde se arrastre la fórmula. Por último, si solo queremos fijar una columna (=$A1) o una fila (=A$1) empleamos referencias mixtas que varían la fila o la columna cuando se rellena en vertical y horizontal con ellas, dejando la otra componente constante. Una correcta aplicación de este tipo de referencias ahorra de manera significativa gran cantidad de trabajo, ya que se pueden rellenar en dos pasos todas las celdas de un rango únicamente escribiendo la fórmula de una primera celda. Todos los modelos hacen un uso intensivo de los tres tipos de referencias, pero quizás donde más se aprecian los resultados es en el modelo de inventario perecedero, que incluye una tabla de doble entrada para calcular el beneficio previsto. Siempre que el resultado de las celdas de una tabla dependa de los valores de las celdas de la primera fila y de la primera columna de la tabla podemos utilizar referencias mixtas y rellenar la tabla a partir de una sola celda.
  • 12. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 12 de 130 FORMATO CONDICIONAL El formato condicional es otra de las características básicas de Excel más interesante, puesto que modifica el formato de una celda en base a una serie de reglas que se pueden aplicar sobre la misma celda o sobre otro rango de celdas. Normalmente se utiliza para resaltar valores que resultan, o bien correctos, o bien condiciones de error. En la mayoría de los modelos se utiliza para avisar sobre datos introducidos de manera incorrecta, pero su uso puede ir más allá, como es en el caso del modelo de diagrama de Gantt, en el que la parte gráfica está íntegramente realizada con formato condicional. Otro de los usos que se le ha dado es el de dibujar los bordes de aquellas tablas que pueden variar de tamaño con las entradas de usuario, bien en ambas direcciones, bien por incremento de sus filas. Un ejemplo de este uso está en la tabla de costes del Método Húngaro, aunque hay más repartidos por todos los modelos. El formato condicional tiene la gran ventaja de que puede hacer referencia a la misma celda en que se aplica, algo que en el caso de las fórmulas de las celdas generaría un error de referencia circular, y además permite aplicar varias reglas de forma secuencial e interrumpir su aplicación en alguna de ellas. Su mayor inconveniente, que hace que el usuario deba tener especial cuidado al introducir datos en los modelos, es que se puede perder si se copian datos y se pegan directamente en celdas con formato condicional aplicado, porque éste se reemplaza por el formato de las celdas de origen. Para evitarlo lo mejor es no incluir formato condicional en celdas que pueda modificar el usuario y dejarlo para celdas que no pueda modificar como son celdas de resultados. Si no es posible se debe advertir que se emplee el pegado especial para no pegar formatos, o bien reconstruir el formato condicional mediante programación VBA si no se puede hacer de otra manera.
  • 13. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 13 de 130 VALIDACIONES Las validaciones tienen dos usos principales dentro de nuestros modelos; el primero y más común es limitar el conjunto de valores que se pueden introducir en una celda a un tipo y rango concreto, pudiendo admitir valores numéricos, fechas, texto, valores de una lista, etc. Si el usuario introduce un valor en la celda que no se corresponda con lo esperado se puede mostrar un mensaje de aviso o de error para orientarle sobre qué se puede introducir en la celda. El otro uso de la validación en los modelos es el de crear un cuadro desplegable en la celda que permita elegir el valor de una lista previamente introducida sin tener que utilizar los controles de formulario de Excel que requerirían el uso de macros y/o programación. Así se evitan equivocaciones al teclear y limita las opciones a los valores de la lista. El uso de las validaciones es común a todos los modelos, aunque tienen el mismo inconveniente del formato condicional; si se copian valores y se pegan a una celda con validación, ésta se pierde puesto que se considera parte del formato. FUNCIONES ESPECÍFICAS Muchas de las fórmulas utilizadas son fórmulas sencillas, pero al tratarse de modelos de decisión hay una función empleada por encima de todas, la función sí, que se emplea en la práctica totalidad de los modelos, en muchos casos anidada con otras funciones, muchas veces del mismo tipo: =SI (CONDICIÓN;VALOR SI VERDADERO;VALOR SI FALSO) Cuando las condiciones a evaluar son varias y hay que evaluar que se cumplan todas o alguna de ellas se han empleado las funciones lógicas Y y O, que devuelven verdadero o falso si todos los argumentos pasados son evaluados como verdaderos o si alguno de ellos lo es, y la función NO, que devuelve el valor lógico contrario al del valor al que se aplica, verdadero cuando el valor es falso y viceversa. Cuando se deben devolver valores distintos en base a otro se utiliza la función elegir: =ELEGIR(VALOR A EVALUAR;VALOR1;VALOR2;VALOR3;…) Esta función utiliza los distintos valores pasados dependiendo del valor a evaluar y simplifica la elaboración de fórmulas que de otra forma se tendrían que anidar con la función Sí. Un ejemplo de este uso de la función ELEGIR se puede encontrar en el modelo de costes de inventario EOQ/POQ. Muchas veces se han tenido que localizar valores en un rango de celdas en función de otros valores de otros rangos. Para ello se ha empleado profusamente la combinación de funciones INDICE y COINCIDIR, que devuelven un valor dentro de un rango dados un número de fila y columna, y la posición de un valor en una fila y una columna respectivamente. Se podrían haber utilizado otras
  • 14. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 14 de 130 funciones de búsqueda y referencia como la función BUSCAR y sus variante BUSCARH y BUSCARV, pero la combinación de INDICE y COINCIDIR supera con creces las limitaciones que éstas tienen. Varios de los modelos han requerido de fórmulas más específicas para obtener resultados concretos, como son las funciones JERARQUÍA y K.ESIMO.MENOR/K.ESIMO.MAYOR para permitir ordenar rangos de valores de menor a mayor o viceversa. Modelos como la Regla de Johnson o los criterios de asignación FCFS, SPT, LPT, EDD e IC son ejemplos muy claros del uso de las cinco funciones mencionadas más arriba. FUNCIONES DE ERROR Relacionadas con las funciones anteriores estarían las funciones para el manejo de errores en los resultados de las fórmulas. Cuando en una fórmula no se puede calcular un resultado porque falta alguna de las referencias para hacerlo (Error #¡REF!), no se reconoce alguno de los resultados de una función o no se ha podido obtener un resultado (Errores #¡VALOR! y #¡N/A!), o la operación no se puede realizar, por ejemplo al intentar dividir por cero (#¡DIV/0!) los valores de error se muestran en la celda, lo que da sensación de fallo en el modelo, aunque este comportamiento sea normal y esté previsto. Para evitar mostrar estos errores se ha empleado en todos los modelos la función SI.ERROR, que envuelve a las fórmulas de las celdas y devuelve un valor personalizado cuando hay un error, en nuestro caso una celda vacía (“”): =SI.ERROR(Fórmula de la celda;””) El uso de estas funciones es meramente estético, y, dado que complican la lectura de las fórmulas de las celdas, en la documentación de los modelos se han obviado, haciendo referencia exclusivamente a la fórmula relevante. GRÁFICOS Aunque se emplean representaciones gráficas en varios de los modelos como el diagrama de Gantt, la regla de Johnson o el diagrama de cuerdas, en realidad sólo se han empleado los gráficos integrados de Excel en el modelo de costes de inventario EOQ/POQ, con bastantes modificaciones. El inconveniente de utilizar los gráficos integrados es que consisten en un conjunto limitado de tipos de gráficos genéricos, que en muchas ocasiones no se adaptan exactamente a lo que se necesita, por lo que requieren de muchas modificaciones y aun así en ocasiones resulta imposible que queden fieles al modelo. FÓRMULAS MATRICIALES Son fórmulas que realizan cálculos sobre uno o varios elementos de una matriz y devuelven varios resultados en un rango de celdas, o uno solo en una sola celda. Su uso en Excel está muy poco extendido a nivel de usuario por su complejidad, pero existen casos en los que puede ahorrar bastantes pasos de cálculo, como es en el cálculo de productos matriciales, como se hace en el modelo de Inventario Perecedero.
  • 15. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 15 de 130 MACROS Las macros son una forma avanzada pero sencilla de repetir tareas en Excel cuando los recursos anteriores resultan insuficientes para desarrollar el modelo. Permiten grabar una serie de acciones al usuario que pueden ser repetidas posteriormente mediante el uso de un botón en la barra de tareas o en la propia hoja. Estas acciones se graban como código de programación VBA, sin embargo no se necesitan conocimientos de programación para utilizarlas y dotan de gran flexibilidad a las hojas, aunque en ocasiones no producen los resultados esperados o éstos son limitados. Cuando es necesario llevar a cabo un conjunto de tareas repetitivas sobre los mismos o distintos rangos de celdas pueden resultar bastante útiles. En algunos modelos se puede encontrar alguna, aunque en su mayoría han sido sustituidas por el uso de subrutinas de código VBA. No obstante, resultan de gran utilidad cuando se está aprendiendo a programar en VBA, puesto que se pueden grabar las macros para las tareas que se deseen realizar y posteriormente revisar o retocar el código ya creado sin tener que partir de cero. El uso de macros, al igual que el de código escrito en el lenguaje de programación VBA puesto que en realidad las macros se traducen a esto, añade una cuestión más a tener en cuenta en los modelos que es el tema de la seguridad en su ejecución. Como cualquier lenguaje de programación, la ejecución de su código puede llevar a cambios en el equipo que pueden resultar perjudiciales si se trata de código malicioso, por lo que su uso está limitado dentro de Excel, que dependiendo de la instalación puede bloquear su ejecución o preguntar al usuario si desea habilitarla. De no activarlas, partes importantes de los modelos no se podrían ejecutar. En el caso de que la ejecución de código de los modelos no funcione y ni siquiera aparezca la notificación anterior se debe habilitar la ejecución o hacer al menos que se pregunte para habilitarla
  • 16. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 16 de 130 mediante la configuración del centro de confianza, a la que se puede acceder desde en menú Archivo de Excel Opciones Centro de Confianza Botón Configuración del Centro de confianza. Si aparece un mensaje al abrir el modelo que avisa sobre habilitar las macros debe aceptarse para que el modelo funcione. Se garantiza que el código incluido en los modelos no es malicioso y procede de un origen de confianza. PROGRAMACIÓN EN VBA La herramienta más avanzada de desarrollo en Excel sería la programación en el lenguaje VBA, o Visual Basic para Aplicaciones, que como su nombre indica es un lenguaje derivado del lenguaje de programación Visual Basic de Microsoft, adaptado al paquete de aplicaciones de Office, tratándose más bien de un subconjunto de Visual Basic, y por tanto más limitado en algunos aspectos. La mayoría de los modelos se han intentado desarrollar sin utilizar código para que su funcionamiento sea transparente al usuario, sin embargo, hay algunos modelos en los que ha sido obligatorio su uso, bien porque mejoraba considerablemente el rendimiento de la hoja, como es el caso del diagrama de cuerdas, o bien porque no se podría hacer de otra manera, como en el caso del modelo del método húngaro. Excel se basa en recalcular las hojas sólo ante cambios en las celdas realizados por el usuario, es decir un único cambio cada vez. En general, cualquier algoritmo o proceso iterativo que requiera de la repetición de distintos pasos hasta obtener la solución debe realizarse utilizando bucles y estructuras de control repetitivas que únicamente se pueden implementar en VBA, ya que Excel no está preparada para llevarlos a cabo directamente. Más allá del desarrollo de los modelos ha sido necesario elaborar el módulo de generación de documentos utilizando este lenguaje, puesto que se debía acceder y escribir datos en otra aplicación ajena a Excel como es MS Word, y esto únicamente era posible desde código VBA. También se ha empleado para proteger la hoja de cálculo cada vez que se activa de manera que se eviten cambios accidentales en celdas que no sean utilizadas para introducir datos de usuario. La protección de la hoja se hace sin contraseña, por lo que cualquier modificación en la hoja se puede llevar a cabo simplemente desactivando la protección desde el menú Revisar Desproteger Hoja. USO DE RANGOS CON NOMBRES Otra de las características utilizada extensamente en el desarrollo de los modelos ha sido la asignación de nombres a las celdas o rangos de celdas. Excel permite dar nombres a celdas o rangos para poder hacer referencias a ellos en lugar de a las referencias de tipo fila-columna, algo que aporta claridad a las fórmulas y facilita enormemente el uso de las herramientas vistas hasta ahora. En nuestro caso los nombres se emplean en todos los modelos tanto en los cálculos como en el módulo de impresión, para identificar y trabajar de forma rápida con rangos de enunciado, soluciones, rangos para limpiar las tablas, etc.
  • 17. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 17 de 130 Otra ventaja del uso de rangos con nombres es que en cualquier momento se pueden modificar las celdas que pertenecen al rango nombrado, sin tener que hacer los cambios en todas y cada una de las fórmulas y funciones donde se usan esos nombres, que permanecen inalterados. RANGOS DINÁMICOS Una variación del uso de nombres son los denominados rangos dinámicos que son en realidad nombres cuyo rango de origen se determina mediante la combinación de funciones DESREF y CONTARA. Poniendo como rango de un nombre una fórmula que combina ambas funciones podemos seleccionar rangos con un número variable de filas o columnas dependiendo de lo que haya rellenado el usuario, algo que resulta útil sobre todo para aquellos modelos como el de Análisis ABC, el de PMP/FIFO y en general aquellos modelos con tablas que disponen de un conjunto de filas en blanco dispuestas para que el usuario las rellene, sin conocer a priori el número de filas que le harán falta. Para ello, la fórmula parte de una celda que suele ser la esquina superior izquierda del rango que se quiere nombrar y mediante la función CONTAR cuenta el número de celdas de, por ejemplo, la primera columna. Si alguna fila está vacía no se incluirá en dicha cuenta, con lo que sólo se consideran filas del rango las que tengan contenido en la primera celda. Si en los documentos generados incluyéramos tablas con filas vacías los alargaríamos innecesariamente, por lo que se utilizan estos rangos para seleccionar solamente aquellas filas que contienen datos.
  • 18. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 18 de 130 6. GENERACIÓN DE DOCUMENTOS GENERALIDADES La generación de documentos es uno de los aspectos fundamentales de este proyecto, puesto que el enfoque didáctico del mismo requiere que los modelos puedan ser distribuidos fácilmente a los alumnos bien como ejercicios o bien como ejemplos. Para ello era necesario dotar a los libros de los modelos de la capacidad de exportar de manera sencilla tanto los datos introducidos como sus soluciones a documentos que se puedan editar e imprimir de manera directa, en este caso mediante la creación de documentos de Word. El proceso de generación de documento consta de tres componentes principales: Una plantilla de Word para crear documentos con el mismo formato de encabezados, títulos, párrafos, etc., que se pueda modificar para incluir los datos relevantes de la asignatura o curso. Una manera de iniciar el proceso de generación de documentos, en nuestro caso un botón en cada libro o modelo para iniciar el proceso de “impresión” y un formulario donde introducir o modificar los datos de título y enunciado del mismo. Un componente que se encargue de crear un nuevo documento de texto a partir de la plantilla de Word, verifique si existe, lo modifique y lo guarde automáticamente, para posteriormente mostrárselo al usuario; en nuestro caso esta función la lleva a cabo un módulo de VBA incluido en cada libro, modificado para adaptarlo a las particularidades de cada libro. PLANTILLA DE WORD Al igual que con la mayoría de programas de Office, Word ofrece la posibilidad de guardar sus documentos como documentos normales de Word o como plantillas. La diferencia está en el comportamiento del documento al ser abierto desde su icono, en el caso de un documento normal se abre y se edita directamente, mientras que el caso de una plantilla, al ser abierta lo que se abre en su lugar es un documento de Word normal, con una copia del contenido de la plantilla, de manera que ésta no es modificada durante la edición. Para poder editar realmente el contenido de la plantilla es necesario abrir Word y desde el menú de Word abrir la plantilla. En nuestro caso la plantilla se llama “plantilla.dotx” (la extensión dotx indica que es una plantilla) y está ubicada en una carpeta llamada Carpeta del proyecto Modelo 1 (excel) Modelo 2 (excel) ... Modelo 3 (excel) Plantilla ejercicios (carpeta) plantilla.dotx (word)
  • 19. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 19 de 130 “plantilla ejercicios” dentro de la carpeta donde se almacenan los libros de Excel. Es muy importante que se respete esta ubicación puesto que de lo contrario la generación de documentos no se realizaría correctamente. El modelo de plantilla elegido es muy simple y contiene únicamente un encabezado y pie de página, un área para el título del documento, un primer espacio reservado para el enunciado y sus datos adicionales (tablas, gráficos), una línea de fin de documento y al final espacio para la solución si se decide incluirla, puesto que es un elemento opcional cuya inclusión se marca en el formulario de generación de documento. Para indicar el espacio en que va cada apartado (título, enunciado, solución y datos adicionales) se utilizan marcadores ocultos, elementos de Word que indican una posición en el documento, y que se utilizan también en funciones como tablas de contenido, ilustraciones, notas al pie, etc… Para ver la ubicación de los marcadores podemos ir al menú insertar => Marcadores, y verificar que son los siguientes: titulo_ejercicio enunciado_ejercicio datos_ejercicio datos_solucion Si se decide modificar la plantilla para adaptarla a las necesidades de la asignatura es importante no modificar el nombre de los marcadores, puesto que es lo que utiliza Excel para acceder a ellos y volcar el contenido correctamente en cada apartado. Desde Excel creamos un documento nuevo basado en esta plantilla lo modificamos volcando los datos del modelo en la posición de cada marcador correspondiente y luego se guarda el nuevo documento con el nombre que se haya indicado. En los apéndices del proyecto se puede ver una muestra de cada uno de los documentos generados por cada modelo.
  • 20. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 20 de 130 FORMULARIO DE IMPRESIÓN Es el formulario que se muestra al pulsar el botón de generar documento. Si se decide incluir la solución en el documento ésta debe ser buscada primero en el caso de algoritmos iterativos para poder ser impresa. Antes de mostrar el formulario se preparan los datos del modelo para ser pasados posteriormente al módulo de impresión, creando un vector de rangos de celdas que es lo que utiliza Excel posteriormente para tomar los datos de origen y pasarlos al documento de Word. Este formulario es el mismo para todos los modelos, y en él se sugiere el título que se va a dar al ejercicio, y un enunciado basado en los datos actuales del modelo, que toma los datos concretos introducidos por el usuario (nombres de máquinas, trabajadores, nº de equipos, fechas, costes, etc.), pudiendo ser éstos modificados desde el propio formulario. Cualquier tabla, listado, gráfico, etc. que se deba incluir a mayores en el ejercicio se incluirá aunque no aparezca en el cuadro del enunciado. En la parte inferior del formulario hay una casilla para indicar si se desea incluir la solución en el documento a generar, para lo que se ha tenido que haber buscado previamente en el caso de modelos iterativos. Como la solución puede estar compuesta desde un valor o un listado de ellos hasta una o varias tablas y/o gráficos, el código para generarla debe ser específico para cada modelo, aunque posteriormente la mayor parte del código del módulo de impresión es el mismo para todos los modelos. Una vez aceptado abre una ventana de guardado de documento donde se puede seleccionar la ubicación y el nombre del documento a generar, tras lo cual se genera el documento, se guarda y se muestra al usuario si todo el proceso ha tenido éxito. MÓDULO DE IMPRESIÓN Es el último componente necesario para generar el documento y es un módulo desarrollado específicamente para el proyecto en VBA y añadido con las modificaciones pertinentes a todos los libros de modelos de Excel creados.
  • 21. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 21 de 130 Contiene la subrutinas generarDocumento y crearDocumento que son las encargadas de interactuar con Word para comprobar si el programa Word está abierto, si el nombre del documento es válido, si ya existe un archivo guardado con el mismo nombre o si ya está abierto, etc. Ha requerido de bastante tiempo el tener en cuenta todas las posibles variaciones anteriores para que el documento se guarde correctamente, y se han evitado en lo posible los errores que pudieran surgir por rutas o nombres de archivo incorrectos, capturándolos y avisando al usuario en lo posible. El nombre del documento a generar es sugerido como ejercicio, el tipo de ejercicio y la fecha, p.ej. “Ejercicio de asignaciones 16042017.docx” Una vez comprobado el nombre del documento se toman los datos recopilados anteriormente por Excel y los introducidos por el usuario en el formulario de impresión para generar las distintas secciones del documento y finalmente, si todo ha ido bien guardar el documento. Aunque el código en sí no es complicado, su modificación requiere de conocimientos básicos de programación, por lo que explicar su funcionamiento queda más allá del ámbito de este proyecto; no obstante se han comentado los apartados más importantes del mismo como ayuda ante una eventual modificación del módulo en un futuro. AMPLIACIÓN DEL PROYECTO Aunque el módulo de generación de documentos es suficiente para crear ejercicios de manera rápida y limpia son muchas las posibilidades de ampliación que ofrece tales como: Centralizar en una hoja de control de los modelos los títulos y enunciados sugeridos, algo que hasta ahora se hace por código. Profundizar en el modelo de objetos de Word para dar un formato más detallado a los modelos, mediante el uso de elementos como columnas, notas etc., para dar cabida a prácticamente cualquier elemento que se nos ocurra que debiera ser incluido en el documento. Explorar la posibilidad de generar un único documento con una batería de ejercicios basados en distintos modelos, como ejercicios de un tema completo, o examen, aunque eso requeriría desarrollar la capacidad de los modelos de generar datos de entrada aleatorios y añadir reglas para comprobar que esos datos son congruentes.
  • 22. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 22 de 130 7. SELECTOR DE MODELOS Para centralizar la apertura de los modelos sin tener que ir abriéndolos uno por uno desde la carpeta en la que se encuentren se ha creado un libro de Excel llamado “Selector de Modelos” que permite organizar los modelos de Excel de que se disponga permitiendo mostrarlos y abrirlos de forma cómoda, aunque también se pueden abrir directamente desde su ubicación de forma independiente. HOJA DE MENÚ El libro consta de dos hojas, una llamada menú, que se corresponde con la ilustración anterior, desde la que se organizan los modelos por temas, permitiendo seleccionar el modelo en un desplegable y abrirlo con el botón “Abrir” correspondiente. El modelo elegido se abre en una ventana independiente y sin maximizar dentro de Excel de manera que se puede volver al selector de modelos en cualquier momento. HOJA DE CONFIGURACIÓN La otra hoja del libro es una hoja de configuración que permite crear un listado de modelos, con sus rutas correspondientes para ser recuperados por la hoja de menú. Desde la hoja de configuración se puede incluir un listado de temas por los que se pueden clasificar los modelos, que pueden ser seleccionados después en la columna Temas de la tabla principal de modelos. Añadir secciones a la lista sin dejar filas vacías Administrar Temas Mostrar Temas Nombre Ruta: selecciona una celda de ruta para abrir un cuadro de selección de archivos. Productividad Sí Gestión de Stocks ABC e inventario ciclico Proyecto - ABC e inventario ciclico.xlsm Estándares de Tiempos Sí Programación a Corto Plazo Criterios de asignación Proyecto - Criterios de asignación.xlsm Distribución en Planta Sí Distribución en Planta Diagrama de cuerdas proyecto - Diagrama de cuerdas.xlsm Gestión de Stocks Sí Programación a Corto Plazo Diagrama de Gantt Proyecto - Diagrama de Gantt.xlsm Programación a Corto Plazo Sí Gestión de Stocks EOQ POQ Proyecto - EOQ POQ.xlsm Sí Gestión de Stocks Inventario perecedero Proyecto - Inventario perecedero.xlsm Sí Programación a Corto Plazo Metodo hungaro proyecto - Metodo hungaro.xlsm Sí Gestión de Stocks PMP y FIFO proyecto - PMP y FIFO.xlsm Sí Programación a Corto Plazo Regla de Johnson proyecto - Regla de Johnson.xlsm Configuración Introduce la ruta de acceso a los archivos de Excel que quieras mostrar en el menú, sin dejar filas vacías entre medias. Si quieres ocultar alguno temporalmente pon el valor de la celda mostrar a No, sino asegúrate de que está puesto a Sí (con acento)
  • 23. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 23 de 130 Sólo se recuperan aquellos temas de la tabla de modelos que sean iguales a los de la tabla de temas; si se modifica el nombre de un tema en la tabla de temas, debe asegurarse que se modifica también en todos los modelos para los que aparezca en la tabla de modelos, de lo contrario esos modelos no se incluirán en la hoja de menú. En la tabla de modelos se ha añadido también una columna mostrar, que permite elegir entre Sí o No mediante una validación, e indica si el modelo correspondiente debe ser incluido o no en el menú, por si se quiere ocultar algún modelo bien porque esté inacabado, porque la ruta esté incompleta o bien porque haya varias versiones del mismo modelo y sólo se quiera incluir una de ellas. El nombre del modelo se debe introducir a mano, y la ruta del modelo se puede introducir seleccionando el archivo desde el cuadro selector de archivos que aparece al seleccionar la celda de la columna ruta del modelo correspondiente. Una vez elegida la ruta, y sin seleccionar otra celda, se puede modificar dicha ruta desde la barra de fórmulas de ser necesario. Se pueden añadir aproximadamente 500 registros de modelos que pueden ser los creados para el proyecto o cualquier otro libro de Excel del usuario que se desee. Cada vez que se abre el libro del selector de modelos o se pasa de la hoja de configuración a la de menú se actualiza esta última, por lo que los cambios en la hoja de configuración se reflejan de inmediato en dicha hoja. Como se ha comentado antes, el libro de selección de modelos es una ayuda para la organización de los modelos pero no es necesario en absoluto para el funcionamiento de éstos, pudiéndose abrir de manera independiente, siempre que se respete la estructura de carpetas que se mencionó en el apartado de generación de documentos, con el objeto de que esté localizada la plantilla de Word. Los libros del usuario que no sean modelos del proyecto y que por tanto no empleen la plantilla de Word del modelo se pueden utilizar desde la ubicación en la que estén.
  • 24. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 24 de 130 SEGUNDA PARTE DESCRIPCIÓN DE LOS MODELOS
  • 25. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 25 de 130 8. FLUJOS DE PLANTA. MODELO DE DIAGRAMA DE CUERDAS DESCRIPCIÓN DEL MODELO El diagrama de cuerdas es una de las técnicas utilizadas en la optimización de la distribución en planta de las instalaciones. Se suele utilizar en distribuciones orientadas al proceso, para obtener la organización óptima de las máquinas que más se adecúe a la fabricación de partes o productos individuales que posean distintos requisitos en cuanto al uso de las máquinas y el orden en que se utilizan. Su objetivo es intentar asemejar la distribución orientada al proceso a una distribución orientada al producto con las ventajas que esto conlleva en cuanto a reducción de costes. Para conseguirlo se intenta ordenar las instalaciones de forma óptima para minimizar las distancias entre puestos, los retrocesos y el tráfico cruzado. Es un método que no tiene por qué obtener una solución (ordenación) óptima, puesto que se basa en la observación por parte de quien lo realiza de un gráfico que representa el flujo (ruta) de las distintas partes entre las distintas máquinas o equipos de la planta. En este gráfico se colocan las máquinas de forma secuencial, en un orden inicial más o menos acertado en base a suposiciones de partida. Se entiende que todas las partes se recepcionan desde un único punto de la planta (R) que suele coincidir con un almacén o con el acceso de medios de manutención (cintas, carretillas, birlochos, AGVs) y de ahí van pasando a las estaciones o máquinas que las deben procesar, en la secuencia adecuada. Una vez terminadas todas las operaciones se debe dar salida a la parte resultante por un punto único de salida (S) hacia el mismo u otro almacén, a través de medios de descarga pertinentes (de nuevo cintas, carretillas, etc…) Cada movimiento de una parte de una máquina a otra se representa por un arco entre ellas sobre su identificación si es hacia adelante (sentido R a S) o por debajo de ella si es un retroceso (sentido de S hacia R) Estos movimientos se valoran de la manera más conveniente, desde el criterio más sencillo de número de saltos (espacio entre máquinas que se atraviesa al pasar de una a otra en secuencia) hasta valoraciones que tengan en cuenta distancia, peso, importancia o prioridad de las partes, o penalizaciones si el movimiento es un retroceso. Dado que en una misma planta se pueden procesar distintas partes, se trata de reducir la distancia entre aquellas máquinas que se utilicen en secuencia de forma frecuente, por lo que el gráfico se puede complicar sobremanera si existe un gran número de partes que requieran de secuencias largas y gran variedad de máquinas, de ahí que digamos que este método puede dar soluciones
  • 26. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 26 de 130 subóptimas, puesto que la resolución es intuitiva y depende de la capacidad y experiencia del observador. Basándose en la agrupación de los arcos que unen a las distintas máquinas, el observador determina la secuencia que considere más adecuada, calcula el coste de cada ruta para esa secuencia y finalmente obtiene el coste total de la secuencia sumando los costes anteriores, tratando mejorar el coste de la secuencia original o de las anteriores. IMPLEMENTACIÓN EN EXCEL Este modelo es un ejemplo del tipo de modelos que comentábamos en la introducción del proyecto que resulta intuitivo y fácil de comprender por una persona pero que resulta difícil de implementar en Excel precisamente por el carácter subjetivo de la resolución y la necesidad de características humanas como observación o intuición. Dado que nuestro objetivo es el de desarrollar modelos adecuados a su uso en el aula, que nos permita plantear ejercicios a los alumnos y disponer de la solución de manera automatizada, se hace necesaria una aproximación más directa al problema que la observación, entendiendo por directa un método de fuerza bruta, que requiere de ciertas condiciones de partida: Vamos a tomar las rutas e intentar comparar los costes de éstas con todas las posibles combinaciones de secuencias. Para ello necesitamos un algoritmo que nos identifique todas las posibles permutaciones sin repetición de n máquinas tomadas de n en n. El número de secuencias posibles se incrementa de manera sustancial a medida que incrementamos el número de máquinas siendo éste de n! para n máquinas: Nº de máquinas Permutaciones 1 1,00 2 2,00 3 6,00 4 24,00 5 120,00 6 720,00 7 5.040,00 8 40.320,00 9 362.880,00 10 3.628.800,00 11 39.916.800,00 12 479.001.600,00 Como se puede apreciar en la tabla anterior el número de secuencias se dispara a partir de 8 máquinas haciéndose prácticamente intratable debido al elevado tiempo de proceso necesario, por lo que limitaremos el número de máquinas a 8, un número más que suficiente para explicar el modelo y plantear ejercicios. Vamos a suponer el modelo más sencillo de costes que es el de salto entre máquinas. El coste de pasar de una máquina a otra es de un salto, por lo que pasar de la máquina A la máquina C teniendo entre ambas a la máquina B es de 2 saltos. Como ampliación del modelo
  • 27. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 27 de 130 no sería complicado modificar la matriz de costes para penalizar los retrocesos o tener en cuenta otros criterios (distancia, prioridad) o La tabla de costes resultante para la secuencia inicial en la que nombramos las máquinas de la “a” a la “h” hasta para 8 operaciones, puestos o máquinas sería la siguiente: a b c d e f g h S R 1 2 3 4 5 6 7 8 9 a 0 1 2 3 4 5 6 7 8 b 1 0 1 2 3 4 5 6 7 c 2 1 0 1 2 3 4 5 6 d 3 2 1 0 1 2 3 4 5 e 4 3 2 1 0 1 2 3 4 f 5 4 3 2 1 0 1 2 3 g 6 5 4 3 2 1 0 1 2 h 7 6 5 4 3 2 1 0 1 Los costes de cada par de letras de la tabla (Sin tener en cuenta R y S) son el resultado en valor absoluto de restar la posición de la fila de cada letra menos la posición de la columna de la otra letra: Cxy=|PFx-PCy| P.ej. Cbe= |2-5|=3, “b” está en la tabla en la segunda fila (sin contar a R), y “e” está en la quinta columna. El caso de R y de S es especial, porque R siempre estará a un salto del primer elemento de la tabla y se incrementa el coste en una unidad para las letras sucesivas, y S siempre estará a un salto del último elemento de la tabla y se incrementará el coste en un salto cada vez, por lo que la fila de R y la columna de S son en realidad un añadido a la tabla de costes de las letras de la secuencia. Como las posiciones inicial y final R y S no se pueden permutar, no se tienen en cuenta al permutar la secuencia, y los cálculos de sus costes se añaden al final, cuando la secuencia ya se ha calculado. Dadas las condiciones anteriores vamos a utilizar la tabla de costes vista sustituyendo la secuencia inicial por cada una de las secuencias calculadas, de manera que al comparar las rutas de cada parte con la tabla de costes de cada secuencia obtengamos el coste de dicha ruta para esa secuencia. Por ejemplo, la secuencia RcebafgdS minimizaría el coste en número de saltos de las rutas de partes cad, adfg, geba, baf y fecdgba con un número de saltos de 68 y la siguiente secuencia:
  • 28. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 28 de 130 Sin embargo, al comprobar todas las posibles secuencias puede darse el caso de que varias de ellas tengan un coste mínimo, al menos con el criterio de coste del número de saltos; en este ejemplo concreto tenemos que las secuencias RcebadgfS, RcebafdgS, RcebagdfS, RcebagfdS, RcebgadfS, RcebgafdS, RcebgfadS, RcefgbadS, RcegbadfS, RcegbafdS, RcegbfadS, Rcegfbad también devolverían un coste mínimo. El modelo desarrollado obtiene todas estas secuencias y permite generar un documento con el enunciado del ejercicio que se esté tratando, y la opción de añadirle la solución incluyendo el coste mínimo y el diagrama de cuerdas correspondiente de cada secuencia que minimice el número de saltos. Algoritmo de Permutación Para poder generar todas las posibles secuencias requerimos del uso de la programación en VBA, dado que cualquier proceso que requiera iterar de manera cíclica es harto difícil aunque no imposible de llevar a la práctica empleando sólo las fórmulas y funciones de Excel y además ralentiza ostensiblemente los cálculos. De hecho una primera aproximación al modelo fue la de crear una hoja para cada número de máquinas desde 2 hasta 8 en la que almacenar todas las posibles combinaciones de cada grupo, y aplicar las fórmulas para comparar las rutas sobre todas ellas, algo que resultó ser poco operativo. El libro resultante ocupaba en disco unas cien veces más que cualquier otro libro y los tiempos de apertura y recálculo cada vez que se hacía un cambio hacían inviable su uso. Mediante el algoritmo de permutación podemos generar las secuencias de forma dinámica y en memoria, por lo que su acceso es mucho más rápido, y, aunque para 8 combinaciones y varias rutas puede tardar unos segundos en obtener resultados, es mucho más operativo que almacenar todas las tablas como datos en hojas separadas. Además se ha incluido en la barra de Excel una indicación del número de iteración y el porcentaje completado para tener una idea de lo que se puede tardar en calcular, aunque en la mayoría de los casos es apenas visible. R c e b a f g d S
  • 29. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 29 de 130 El algoritmo es una adaptación del código de la web del experto John Walkenbach (Walkenbach, 2016) que utiliza un método recurrente (el código se llama a sí mismo hasta que ha obtenido todos los resultados). Si pasamos al algoritmo una secuencia de 4 máquinas (a, b, c y d) el algoritmo separa una de ellas, p.ej. la a, y vuelve a llamarse a sí mismo para obtener todas las permutaciones del resto (b, c y d), de la misma manera separa una de ellas y obtiene las permutaciones del resto (c y d, d y c). Cuando las obtiene toma otra letra distinta para el nivel anterior y vuelve a calcular las permutaciones del resto, y así hasta que haya pasado por todas las permutaciones de todas las letras en todos los niveles. La resolución recurrente es uno de los métodos de cálculo más eficientes que existen, siendo por un lado adecuada para llevar a cabo cálculos iterativos y por otro fácilmente adaptable a cualquier lenguaje de programación. En la subrutina permutar que contiene este algoritmo es donde para cada secuencia generada se le asigna la tabla de costes, y se calcula el coste de cada ruta para obtener al final el coste total de la secuencia. Es aquí donde se mantiene además el registro del coste mínimo, tomando el coste de la primera secuencia y comparándolo con las siguientes; si el coste de alguna de las secuencias siguientes es menor al mínimo actual se toma ése como nuevo mínimo, si es igual se añade también como mínimo para poder obtener posteriormente el listado de todas las secuencias con coste mínimo. Tras este proceso se muestra un mensaje en pantalla que indica el coste mínimo, el número de secuencias que lo cumplen y la lista de las mismas, y se muestra en el área de solución del modelo. Dibujo del diagrama El dibujo del diagrama se realiza desde la subrutina de VBA mostrarDiagrama, que limpia las formas dibujadas anteriormente y recorre las secuencias de cada parte tomando las letras dos a dos y localizándolas en cada secuencia que haya resultado óptima. permutar (primer_grupo_de_letras, segundo_grupo_de_letras) Si nº de letras de segundo_grupo_de_letras < 2 => se ha obtenido una secuencia =>por cada ruta de parte Usar la secuencia como base para calcular el coste de la ruta. Sino por cada letra del segundo grupo llamar a permutar( primer_grupo_de_letras + letra_del_segundo, resto_de_letras_del_segundo_grupo)
  • 30. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 30 de 130 Cuando las encuentra traza un arco por encima si la primera letra está antes que la segunda en la secuencia, o por debajo si se trata de un retroceso. Interacción del usuario La hoja se protege automáticamente cada vez que se activa para evitar cambios accidentales, aunque se puede desproteger manualmente de ser necesario sin necesidad de contraseña desde el menú Revisar -> desproteger hoja. No se recomienda su modificación más allá de las celdas de usuario sin haber hecho una copia de seguridad previamente. Nombres de operación Aunque se trabaja con las letras de operación el usuario puede añadir el nombre de cada operación para que aparezca posteriormente en el enunciado del ejercicio, no afectando a la resolución del modelo. Número de operaciones Se modifica a través del control de flechas o directamente modificando la celda del número. Se ha introducido una validación para que la celda solamente admita valores enteros, entre 2 y 8.
  • 31. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 31 de 130 Botón Buscar Solución Limpia el área de la solución e inicia el proceso de búsqueda de soluciones comparando la suma de costes de las rutas para cada secuencia obtenida. Una vez terminado el proceso muestra la(s) secuencia(s) y su coste en el área de solución. Botón Generar Documento Debe utilizarse cuando ya se ha obtenido una solución. Muestra el formulario para generar un documento de Word, y una vez aceptado llama al módulo de impresión para rellenar el documento. El módulo de impresión es el genérico desarrollado para el proyecto, muestra el título y el enunciado por defecto; como datos del enunciado muestra una tabla con las rutas y para la solución muestra el coste mínimo e imprime el gráfico de cuerdas de cada una de las secuencias óptimas alcanzadas. Título: “Ejercicio de Flujo de Planta (Diagrama de cuerdas)” Enunciado “La empresa XYZ desea optimizar el flujo de productos en una de sus plantas, para lo que necesita ordenar la secuencia de sus equipos de manera que se minimice el coste total de las rutas que siguen los productos a lo largo de la línea. El coste de pasar de un equipo a otro se mide en saltos, sin que se penalice el retroceso, ni se dé una mayor prioridad a unos sobre otros. Los equipos que se deben ordenar son: Máquina1(a), Máquina2(b), Máquina1(c), … ,Máquina8(h), y se han dispuesto inicialmente en línea como se han nombrado. Las rutas que sigue cada parte se detallan en la siguiente tabla:” Aquí se añade la tabla en el documento de Word Botón limpiar rutas Se emplea para crear un modelo nuevo. Vacía tanto la tabla de rutas como el área de soluciones. Tabla de rutas Se deben incluir las rutas de cada parte que participe en la optimización. Se introducen como secuencias de letras sin espacios, asegurándose de que cada letra representa a una máquina u operación que participa en el supuesto. Además no puede quedar ninguna línea vacía entre rutas para que el modelo funcione correctamente. La mayoría de errores comunes de entrada de datos han sido previstos, pero si no se cumplen las condiciones anteriores el modelo podría generar un error o devolver resultados erróneos.
  • 32. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 32 de 130 Tabla de secuencias Como la solución puede arrojar como resultado más de una secuencia se muestra por defecto el diagrama de cuerdas de la primera, pero seleccionando de una en una el resto de secuencias de la solución se puede mostrar su diagrama de cuerda correspondiente. AMPLIACIÓN El presente modelo permite ayudar al docente a ofrecer a sus alumnos un conjunto de explicaciones y ejercicios sobre la distribución en planta, animándoles a buscar soluciones intuitivas que puedan cotejar posteriormente con la solución. La solución no sólo sirve para la técnica del diagrama de cuerdas, sino también para la variante de la tabla de procesos de columnas múltiples, y, con las modificaciones adecuadas para la técnica de la tabla de origen-destino. Como ampliación al modelo se podría modificar la matriz de costes para incorporar otras métricas de coste como distancias, importancias relativas, penalizaciones por retroceso, etc. Si bien los costes de cada ruta se calculan para cada secuencia, por razones de economía de tiempo y de espacio en la hoja no se muestran en la solución. La modificación del modelo para mostrar dichos costes individuales resultaría sencilla de implementar en una especificación posterior.
  • 33. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 33 de 130 9. MODELO DE ANÁLISIS ABC E INVENTARIO CÍCLICO DESCRIPCIÓN DEL MODELO El análisis ABC es un método orientado a la optimización del inventario mediante la clasificación de los artículos en tres categorías, la categoría A, la de los bienes más valiosos, la categoría C, la de los bienes menos valiosos y una tercera categoría intermedia de bienes, la categoría B. El método indica que se debe prestar especial atención a un conjunto reducido de artículos considerados críticos (categoría A), y poca atención a los artículos considerados triviales. (Collignon & Vermorel, 2012) El método ABC se basa en el principio de Pareto aplicado por Joseph Juran para establecer la clasificación, que establece que el 80% de valor de los artículos vendidos o consumidos es aportado por el 20% de los artículos existentes, por lo que no existe una demanda repartida de forma regular entre artículos, sino que un grupo reducido de artículos son los que aportan la mayor parte de valor al almacén, y por tanto los que requieren de especial atención en su gestión. En base al principio anterior se establece la siguiente clasificación: Artículos A: El 70-80% del valor anual de las ventas es aportado por el 10-20% de los artículos del almacén. Artículos C: el 5% del valor anual de las ventas es aportado por el 50% de los artículos del almacén. Artículos B: el 15-25% del valor anual de las ventas es aportado por el 30% de los artículos del almacén. Como se puede apreciar en el gráfico anterior obtenido con datos del modelo de Excel, en el caso del ejemplo hay dos artículos que abarcan más del 81% de total de ventas, que se corresponderían con la categoría A. Existen tres artículos que acumularían hasta casi el 16% de las ventas, que entrarían en la categoría B, y el resto de los artículos, en este caso cinco en total, aportarían el 3% restante de las ventas. 42,82% 81,47% 88,00% 92,61% 96,81% 97,57% 98,31% 98,96% 99,54% 100,00% 30% 40% 50% 60% 70% 80% 90% 100% D004 E005 G007 F006 H008 C003 I009 A001 B002 J010 Aportación a las ventas Aportación a las ventas
  • 34. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 34 de 130 Inventario Cíclico Una vez determinada la importancia relativa de cada artículo se debe asignar una política de gestión de inventario acorde, estableciendo un control más riguroso sobre aquellos artículos que pertenecen a la categoría A. Para ello se puede emplear el método de inventario o conteo cíclico, que consiste en llevar a cabo el recuento de las existencias de un artículo en el almacén no en momentos concretos, sino repartidos en un periodo de tiempo determinado, que será menor cuanto mayor importancia tenga el artículo. Así, artículos de poca importancia pueden tener asignado un único inventario anual, en el que las unidades a contar se reparten en los distintos días hábiles del año, mientras que un artículo de categoría A se puede recontar varias veces al año, bien por semanas, quincenas, meses, o el periodo más adecuado que determine la empresa, dependiendo del valor del artículo, su rotación, disponibilidad de personal, etc. No existe un periodo fijo de recuento para cada categoría, sino que depende de las circunstancias concretas de los artículos y del almacén, por lo que se debe determinar la frecuencia óptima en base a la rotación de los artículos y de los recursos disponibles para realizarlo con la frecuencia adecuada. IMPLEMENTACIÓN EN EXCEL El modelo está preparado para calcular el número de unidades de inventario cíclico para las distintas categorías del análisis ABC obtenidas tanto por valor de las ventas como por porcentaje de participación, para un máximo de 25 artículos distintos. Preparación de los datos Para poder llevar a cabo el análisis ABC se debe partir de una tabla de datos ordenados y acumulados de ventas y participación. En realidad se trata de dos tablas, una por cada criterio de ordenación. Para ello se calcula el orden de cada artículo con respecto a los demás, de mayor a menor volumen de ventas o participación mediante el uso de la función jerarquía (columnas A y B): =JERARQUIA(E7;$E$7:$E$25;0)+CONTAR.SI($E$7:$E7;E7)-1 La función jerarquía es una función de Excel que devuelve la posición de un valor dentro de un rango en orden ascendente o descendente. Tiene el inconveniente de que devuelve el mismo número de orden para valores iguales, por lo que hay que tener en cuenta el número de valores iguales aparecidos hasta el momento y sumárselos al orden para que salgan valores de número de orden distintos. Los nombres de los artículos, los valores de ventas y de participación se reordenan a partir de estos números de orden utilizando la función K-ÉSIMO.MENOR y la posición relativa de las filas actuales con respecto a la jerarquía, tanto por ventas como por participación. Una vez ordenados se acumulan los valores correspondientes de ventas y participación. 1 8 2 9 3 6 4 1 5 2 6 4 7 3 8 5 9 7 10 10 Jerarquía (Part.) Jerarquía (Vtas.)
  • 35. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 35 de 130 Análisis ABC A la hora de categorizar los artículos el modelo permite basarse en dos variables, el valor anual de ventas y el porcentaje de participación. El valor anual de ventas se calcula partiendo de los datos de salidas del almacén, mientras que el porcentaje de participación viene asignado a priori, en base a datos ajenos al modelo, que reflejan la importancia de cada artículo para la empresa. Las categorías obtenidas en ambos casos no tienen por qué coincidir. El uso del porcentaje de participación en el modelo sirve a efectos prácticos para que el usuario establezca las categorías modificándolos según le interese para obtener el tipo de ejercicio deseado. Nosotros nos centraremos en el valor anual de las ventas para explicar el modelo. Aunque la regla de Pareto establece una relación 80/20, también resulta cierto que se basa en resultados empíricos, y que está abierta por tanto a la interpretación de las circunstancias concretas de cada caso. Siguiendo con el ejemplo anterior, los artículos de la categoría A está claro cuáles son, pero la pertenencia del artículo H008 a una u otra categoría podría estar sujeta a múltiples interpretaciones, puesto que se encuentra bastante por encima del 90%, pero su aportación al total es de aproximadamente el 4%, más parecida a la de los dos artículos anteriores (de categoría B), que a los siguientes, que no llegan a aportar siquiera el 1% cada uno. Esta flexibilidad de interpretación hace que se requiera de un estudio pormenorizado de cada caso concreto, sin embargo, a la hora de desarrollar el modelo en Excel éste debe aportar resultados, por lo que es necesario establecer una regla matemática que aproxime la pertenencia de cada artículo a cada categoría, intentando conciliar la regla de Pareto con otros criterios que puedan establecer la pertenencia en casos dudosos. Puesto que, como hemos comentado, es una decisión que requiere conocer información concreta acerca de costes, históricos, etc. sobre los distintos artículos y el entorno de la empresa que nos ayudaría a tomar la mejor decisión, en nuestro modelo únicamente disponemos del porcentaje de Artículo % Participación Valor Ventas Uds Art. Ordenados Valor de Vtas. % Ventas % Ventas Categoría por Vendidas (Vtas.) Ordenados Acum. Ventas A001 10% 13.800,00 € 200 D004 915.800,00 € 42,82% 42,82% A B002 10% 12.500,00 € 100 E005 826.500,00 € 38,65% 81,47% A C003 10% 16.200,00 € 1000 G007 139.500,00 € 6,52% 88,00% B D004 10% 915.800,00 € 500 F006 98.600,00 € 4,61% 92,61% B E005 10% 826.500,00 € 2000 H008 89.900,00 € 4,20% 96,81% B F006 10% 98.600,00 € 800 C003 16.200,00 € 0,76% 97,57% C G007 10% 139.500,00 € 7000 I009 15.900,00 € 0,74% 98,31% C H008 10% 89.900,00 € 50 A001 13.800,00 € 0,65% 98,96% C I009 10% 15.900,00 € 9000 B002 12.500,00 € 0,58% 99,54% C J010 10% 9.800,00 € 8000 J010 9.800,00 € 0,46% 100,00% C Totales 100% 2.138.500,00 € 28650 2.138.500,00 € 100,00%
  • 36. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 36 de 130 ventas acumuladas o del de participación por lo que debemos ceñirnos a estos valores para tomar una decisión. El primer artículo que tenga el mayor porcentaje de ventas acumulado está claro que va a pertenecer a la categoría A. A partir de ahí tenemos que determinar a qué categoría pertenecen el resto de artículos, mediante la siguiente fórmula: =SI(O(L8<80%;Y(ABS(L8-80)<2*ABS(L7-80);L8<85%));"A";SI(O(L8<95%;Y(ABS(L8- 95)<2*ABS(L7-95);L8<97%));"B";"C")) Esta fórmula relaciona la celda del porcentaje de ventas acumuladas de la fila en la que se encuentra (en este caso se corresponde con la fila del artículo E005) con la celda de porcentaje de ventas acumuladas del artículo anterior. =O(L8<80%;Y(ABS(L8-80)<2*ABS(L7-80);L8<85%));"A" En el caso de la categoría A el límite inferior está claro, sería el 80% y es nuestro límite mínimo; cualquier artículo que esté por debajo del 80% (L8<80%) de ventas acumuladas, teniendo en cuenta que están ordenados de mayor a menor, pertenece a la categoría A. La segunda parte de la condición correspondiente a la categoría A es la que da flexibilidad en el caso de artículos dudosos; un artículo puede estar por encima del 80% y aun así tener una participación importante, por lo que lo comparamos con el anterior: Y(ABS(L8-80)<2*ABS(L7-80);L8<85%) Para ello establecemos una segunda condición en la que podemos incluir artículos entre el 80% y el 85% como artículos de clase A si la diferencia en porcentaje de ese artículo con respecto al 80% es inferior al doble de la diferencia del artículo anterior con respecto al 80%, o lo que es lo mismo, lo que se pasa del 80% es en proporción menos de la mitad de lo que le falta al anterior artículo para llegar al 80% en acumulado. Con esta regla lo que se intenta es que un valor lo suficientemente próximo en porcentaje al valor anterior se quede dentro de la misma categoría que ese, siempre dentro de unos límites, en el caso de la categoría A entre el 80% y el 85% Para la categoría B la regla sería análoga, pero los límites estarían entre el 95% y el 97%, y todos los artículos que no entren en ninguna de las categorías anteriores entrarían dentro de la categoría C. Es una regla que sin tener por qué resultar óptima, da buenos resultados de forma empírica en las pruebas realizadas y permite obtener una aproximación de cada categoría que permita al usuario tomar una decisión acerca de los artículos sobre los que se debe priorizar la gestión. Inventario Cíclico Una vez determinadas las categorías de cada artículo se puede establecer un periodo de inventario cíclico para cada una de ellas. Como podemos obtener dos clasificaciones, por ventas o por participación, el modelo presenta los datos de inventario cíclico para cada una de ellas.
  • 37. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 37 de 130 Simplemente dividimos el número de unidades que entran en cada categoría por el número de días hábiles del periodo que establezca en usuario mediante los cuadros desplegables: Unidades (por ventas): =SUMAR.SI($N$7:$N$25;"A";$G$7:$G$25) Frecuencia (por ventas): REDONDEAR.MAS(I29/ELEGIR(J29;$E4$29;$E$30;$E$31;$E$32;$E$33;$E$34;$E$35);0) El resultado lo redondeamos a la unidad superior para obtener unidades enteras y elegimos el número de días hábiles de la tabla de días adjunta, según el valor que se encuentre en la celda asociada al desplegable. Los periodos de inventario son iguales para ambas clasificaciones, si se modifica el de una categoría se modifica el análogo de la misma categoría en la otra clasificación. Los días hábiles se pueden modificar para ajustarlos al caso concreto que se desee representar. Por defecto se suponen jornadas laborables de cinco días por semana. Frecuencia Nº Días Unidades Frecuencia Uds./Día Semanal 5 300 3 15 Quincenal 10 3500 6 30 Mensual 20 24850 7 104 Trimestral 60 TOTAL 28650 Cuatrimestral 80 Semestral 120 Unidades Frecuencia Uds./Día Anual 240 4600 3 230 7050 6 59 17000 7 71 TOTAL 28650 Clase A (% Part.) Clase B (% Part.) Clase C (% Part.) Inventario Cíclico (Por Vtas.) Clase A (Ventas) Clase B (Ventas) Clase C (Ventas) Inventario Cíclico (Por Part.)
  • 38. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 38 de 130 Interacción del usuario La hoja se protege automáticamente cada vez que se activa para evitar cambios accidentales, aunque se puede desproteger manualmente si es necesario sin necesidad de contraseña desde el menú Revisar -> desproteger hoja. No se recomienda su modificación más allá de las celdas de usuario sin haber hecho una copia de seguridad previamente. Columnas de artículos, participación, valor de ventas y unidades. Permiten introducir los datos principales del modelo. En el caso del porcentaje de participación, un formato condicional avisa cuando el total de porcentajes no llega al 100% sombreando en rojo la celda de porcentaje total y las de la clasificación ABC por participación. También se ha añadido una validación para que el número de unidades vendidas sean positivas. Queda al criterio del usuario el rellenarlos con datos correctos. El número de unidades vendidas se emplea para calcular el número de unidades a contar en cada periodo. Tabla de días: Permite introducir el número de días hábiles que incluye cada periodo de inventario seleccionado. Por defecto se toman cinco días útiles por semana. Los valores por defecto se restauran al limpiar el modelo con el botón limpiar tabla. Periodos de inventario Permiten elegir el periodo de inventario para cada categoría, como se indicó anteriormente.
  • 39. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 39 de 130 Botón Generar Documento Muestra el formulario para generar un documento de Word, y una vez aceptado llama al módulo de impresión para rellenar el documento. Como en este modelo la solución se va generando a medida que se introducen los datos de partida y no hay un botón para buscar la solución, se puede generar el documento en cualquier momento, pero se muestra un mensaje de error en el caso de que no se haya introducido ningún nombre de artículo. El módulo de impresión es el genérico desarrollado para el proyecto. Muestra el título y el enunciado elegidos en el formulario anterior, o los creados por defecto. Para la solución se muestran las tablas con sus categorías correspondientes de ventas y participación, ordenadas y acumuladas, y las tablas de inventario. Título por defecto: “Ejercicio de Método ABC e Inventario cíclico” Enunciado por defecto: (Los espacios en blanco se rellenan automáticamente con los datos de la tabla) “La empresa XYZ desea organizar el control de almacén mediante inventario cíclico. Para ello quiere emplear el análisis ABC para clasificar las existencias y a partir de éste llevar a cabo un inventario cíclico Semanal/Mensual/… ( días) para los artículos de categoría A, Semanal/Mensual/… ( días) para los artículos de categoría B y Semanal/Mensual/… ( días ) para los artículos de categoría C. La información sobre los distintos artículos se muestra en la siguiente tabla:” Botón Limpiar Tabla Se emplea para crear un modelo nuevo. Vacía las columnas de artículos, participación, valor de ventas y unidades y restaura la tabla de número de días a los valores por defecto. AMPLIACIÓN Al igual que otros modelos del proyecto, éste ha sido desarrollado únicamente utilizando fórmulas y funciones de Excel. Para ilustrar la manera en que funciona el análisis ABC se puede incluir un gráfico dinámico que tome los datos de valor de ventas o participación para cada artículo, para que ilustre visualmente qué artículos pertenecen a cada categoría y por qué.
  • 40. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 40 de 130 Sin embargo, para que el gráfico se adapte al número de registros introducidos, que se puedan resaltar los puntos correspondientes a cada categoría y que se muestren categorías y subcategorías en el eje principal sería necesario añadir código VBA, lo que complicaría el modelo. Por otro lado la opción de insertar un gráfico de manera manual por parte del usuario, y su personalización posterior siempre está disponible desde el menú insertar.
  • 41. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 41 de 130 10. MODELO DE VALORACIÓN DE EXISTENCIAS (PMP Y FIFO) DESCRIPCIÓN DEL MODELO Métodos de valoración A la hora de valorar contablemente las existencias de un almacén nos encontramos con que podemos tener distintas partidas de productos idénticos adquiridas a distintos precios. Cuando las partidas de productos no se pueden agregar se deben valorar al coste individual de cada partida, pero si son productos homogéneos existen tres métodos de valoración de existencias: PMP: Precio Medio Ponderado; valora las existencias como la media de los precios de adquisición de las existencias del almacén ponderados por las cantidades adquiridas. FIFO: Acrónimo de “First In, First Out” (primera entrada, primera salida), valora las salidas de acuerdo con el precio de la partida que haya entrado antes al almacén y, cuando ésta no es suficiente para cubrir el pedido, se computan a su precio las unidades que correspondan de la siguiente entrada, y así sucesivamente hasta que se cubra por completo el pedido de venta. Así, las existencias finales quedan valoradas a los precios más recientes. El valor asignado a una partida que quede en el almacén no tiene por qué coincidir con el precio de compra de esa partida en concreto ya que dependerá de los movimientos de salida que haya y de la ubicación en que se encontraban las unidades físicas que han salido del almacén. Si se trata de productos no perecederos de idénticas características es indiferente que salgan primero las unidades de una partida que las de otras y dependerá del modo de ordenación del almacén, aunque finalmente la valoración de las existencias se haga al precio de las últimas partidas adquiridas. Únicamente en el caso de productos perecederos debería coincidir que la partida sea la más antigua, y que lo haga a su precio (el más antiguo también), ya que al disponer de fecha de caducidad debe dárseles salida antes. LIFO: Acrónimo de “Last In, First Out” (última entrada, primera salida), valora las salidas de acuerdo con el precio de la última partida que haya entrado en el almacén y, cuando ésta no es suficiente, se computan a su precio las unidades que correspondientes de la entrada anterior, y así sucesivamente hasta que se cubra por completo el pedido de venta. Así, las existencias finales quedan valoradas a los precios más antiguos. Sobre qué método resulta más adecuado para valorar las existencias, el Plan General Contable establece para las existencias en su norma de valoración nº 10, apartado 1.3 que:
  • 42. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 42 de 130 “Cuando se trate de asignar valor a bienes concretos que forman parte de un inventario de bienes intercambiables entre sí, se adoptará con carácter general el método del precio medio o coste medio ponderado. El método FIFO es aceptable y puede adoptarse si la empresa lo considerase más conveniente para su gestión. Se utilizará un único método de asignación de valor para todas las existencias que tengan una naturaleza y uso similares.” (Ministerio de Economía y Hacienda, 2007) Entre PMP y FIFO, el Plan General Contable tiene preferencia por el PMP. El uso de FIFO tiene como principal problema que en un entorno inflacionista se da a las existencias un mayor valor, al considerar que permanecen en stock las ultimas en entrar, que son las más caras, lo que supone incrementar el resultado de la empresa y por consiguiente su carga tributaria (BBVA, 2012). Valoración mediante PMP Seguiremos los siguientes criterios a la hora de valorar las existencias mediante PMP: La valoración de existencias mediante PMP supone que el valor de las unidades que hay en almacén se hace sumando el valor de las unidades de cada partida a precio de adquisición y dividiéndolo entre el número de unidades total: Si entran varias partidas el mismo día se valoran como una sola partida a coste medio. Las devoluciones de compras se toman como salidas, y se valoran a precio de adquisición. Las devoluciones de ventas se cuentan como entradas y se valoran al coste del momento en que se vendieron. Las bajas por inventario se valoran a coste de la partida si es conocida, y si no a PMP. Valoración mediante FIFO Puesto que vamos a llevar un control del precio de cada partida valoraremos las distintas entradas a coste de adquisición y las salidas a FIFO. IMPLEMENTACIÓN EN EXCEL Ambos modelos se pueden implementar en Excel mediante fórmulas, sin necesidad de introducir programación, aunque en el caso de FIFO hay que puntualizar que mediante programación sería mucho más sencillo llevarlo a cabo como veremos más adelante. Los dos modelos comparten el mismo tipo de tabla, aunque en el caso de FIFO el precio de valoración de las salidas no se puede mostrar, puesto que hay que desglosarlo por partidas. Se ha limitado en ambos el número de entradas del almacén a 32 incluyendo las existencias iniciales, dimensión más que suficiente para plantear ejercicios de un registro por día para todo el mes, o de varias entradas por día para gran parte del mes. Por tanto, cada ficha se correspondería como máximo con los movimientos de inventario mensuales de un artículo concreto. ∑ ∗ + ∗ + ⋯+ ∗ ∑ + + ⋯ +
  • 43. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 43 de 130 A la hora de poner los precios de salidas o de devoluciones es responsabilidad del usuario conocer el precio que tiene que poner en función del tipo de movimiento que se haga. Modelo PMP Para el modelo PMP partimos de las existencias iniciales y a partir de esa primera fila se va calculando el precio medio para cada una de las entradas, bien sean compras (a precio de adquisición), devoluciones de ventas (a coste del momento de la venta), o salidas que sean devoluciones de compras (a precio de adquisición). La fórmula que determina si las unidades de cada registro se tienen que añadir o minorar del inventario comprueba el tipo de movimiento y decide en consecuencia: Si se trata de una compra o de una devolución de venta, y el resultado de sumar al stock actual las unidades compradas es que aumenta el stock (asegurando que se introducen unidades positivas): SI(Y(O(PMP!$D7="Compra"; PMP!$D7="Devolución de venta");K6+E7>0) Entonces se añaden las unidades al stock: K6+E7 Si por el contrario se trata de una venta o de una devolución de compra y hay unidades suficientes en el stock para realizar la salida: SI(Y(O(PMP!$D7="Venta"; PMP!$D7="Devolución de compra");K6-H7>0); Entonces se minoran las unidades al stock: K6-H7 En cuanto a los precios, la fórmula de PMP que utilizamos anteriormente ∑ ∗ ∗ ⋯ ∗ ∑ ⋯ , puede simplificarse sumando al valor anterior de las existencias del almacén el valor de las entradas o salidas y dividiendo por el número de unidades: =SI(K7<>"";SI(K7<K6;SI(D7="devolución de compra";(M6-J7)/K7;L6);(M6+G7)/K7);"") En PMP las devoluciones de compras deben tomarse como salidas, poniendo como precio el de adquisición, y las devoluciones de ventas se toman como entradas, poniendo como precio el precio medio ponderado del momento de la venta.
  • 44. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 44 de 130 Como al operar sobre las celdas de unidades o precios puede que alguna esté en blanco, en muchas de las fórmulas se emplea la función SI.ERROR(), que permite realizar una operación y, en caso de que devuelva un valor de error se sustituye por otro valor, en nuestro caso una cadena vacía(“”) que deja la celda en blanco. Modelo FIFO En el caso de este modelo es interesante señalar que aun siendo más intuitivo que tener que calcular una media ponderada de unidades y precios como en PMP resulte mucho más difícil de implementar sólo con fórmulas que PMP. La implementación del modelo se basa en parte en la hoja realizada por Luis Manuel Sánchez (Sánchez Maestre, 2014) que compara ambos modelos, pero con dos diferencias sustanciales: La primera es que el modelo de nuestro proyecto no utiliza programación para llevar a cabo el cálculo del inventario. La segunda y más importante en FIFO es que su método sólo puede ofrecer el desglose de precios para el último periodo del inventario, mientras que en nuestro caso el modelo hace el desglose por cada registro. La tabla de movimientos y la de saldos son tablas auxiliares utilizadas para hacer el desglose de existencias en el último periodo de la tabla, por lo que para interpretarla debemos ubicarnos temporalmente en la situación del inventario en la última fecha de la tabla. Ambas tablas se utilizan para calcular el número de unidades vendidas, el número de unidades en stock y el desglose de su valoración a dicha fecha. Para ello se toma el total de ventas (2200 en el ejemplo) y se le van restando las partidas que estaban en el almacén de la primera a la última (columna cantidad de la tabla de movimientos) con lo que se obtienen en esa primera tabla las unidades consumidas desglosadas por partidas. En la tabla de saldos se obtiene el desglose de las partidas no consumidas simplemente restando de los consumos de la tabla de movimientos la cantidad de unidades que entraron en dicho periodo.
  • 45. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 45 de 130 De esta manera, a partir de la última partida de la que se han consumido unidades el resto son las existencias finales a fecha de dicho último periodo (en realidad a partir del periodo desde el que no hay movimientos). De esta manera obtenemos las existencias de una fecha (la última) pero empleando dos tablas auxiliares completas para ello. Para sacar el desglose para cada fecha introducida creamos una tabla resumen de la de saldos y movimientos y la rellenamos con las fórmulas necesarias para hacer los cálculos anteriores pero sólo en las filas correspondientes a cada registro, una fila para el primer registro de la tabla, dos para el siguiente, y así con todos los registros. En total, en nuestro ejemplo 32 tablas, una por cada línea de registro. En la tabla de cada fecha se hace referencia a las ventas acumuladas hasta tal fecha, que se encuentran en la primera columna del grupo de tablas auxiliares. Estas tablas son consultadas cada vez que se pulsa el botón ver desglose, y la valoración de las existencias de la tabla principal se obtiene consultando la última fila de la tabla auxiliar correspondiente al registro en el que está la celda que debe contener el valor: =INDICE($Y$5:$EV$38;34;(FILA()-5)*4) 34 indica la fila en la que se encuentra el valor total de las existencias en la tabla auxiliar de cada periodo. FILA()-5)*4 indica el número de columna en la que buscar el valor total y se corresponde con el número de fila en la que esté la celda, menos las cinco celdas que hay por encima de la tabla y multiplicado por las cuatro columnas que tiene cada tabla auxiliar. Como se puede apreciar por lo anterior, no se pueden insertar filas o columnas en el modelo sin modificar dicha fórmula para que coincida nuevamente con la posición correcta, puesto que las celdas de valoración de existencias de la tabla dejarían de tener valores correctos. Interacción del usuario
  • 46. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 46 de 130 La hoja se protege automáticamente cada vez que se activa para evitar cambios accidentales, aunque se puede desproteger manualmente si es necesario sin necesidad de contraseña desde el menú Revisar -> desproteger hoja. No se recomienda su modificación más allá de las celdas de usuario sin haber hecho una copia de seguridad previamente. Campo Fecha Es muy importante que en ambos modelos se introduzcan todas las fechas de todos los registros que se vayan a utilizar (incluyendo el de las existencias iniciales) y que no queden filas vacías entre registros, ya que las fórmulas de un registro hacen referencia a las celdas de la fila anterior para realizar sus cálculos. Además, para determinar el número de entradas se cuentan las filas con fecha y se seleccionan desde la primera hasta el número de filas que se hayan contado. Si quedan filas vacías entre medias el resultado quedarán fuera de la cuenta los últimos registros. Celdas de unidades y precios Las únicas columnas de la tabla que deben rellenarse aparte de las vistas en apartados anteriores son las de unidades y precios de entradas y salidas. Los precios de entradas son los precios de adquisición o, en el caso de las devoluciones de ventas, el valor (PMP) de la venta en el momento de realizarla. Los precios de las salidas en PMP se valoran en el caso de las ventas a PMP, y en el caso de las devoluciones de compras a precio de adquisición del momento. En el caso de FIFO se valoran las salidas a desglose de precios y por lo tanto no es necesario poner su precio. Con FIFO, para que las devoluciones de compras se puedan valorar correctamente es necesario introducirlas en el modelo como una entrada de unidades negativas para que minoren su partida correspondiente. Si se introducen como salidas minorarían de la primera partida disponible, ya que se valorarían al precio de esa partida. De esta manera las devoluciones de compras no computarían para el cálculo del número total de salidas, y deberían incluirse a mano de considerarse necesario. Debe tenerse la precaución lógica cuando se añada una devolución de compra, de hacerla sobre partidas que tengan unidades suficientes en el almacén, es decir, que no se hayan vendido ya, puesto que de lo contrario tendremos partidas con unidades negativas no compensadas con unidades positivas de la misma partida (a su precio), lo que degradaría la valoración del inventario.
  • 47. PROYECTO DE FIN DE GRADO JOSÉ MARÍA MORO OLMEDO Pág. 47 de 130 Celda “Ver Desglose” En el caso de FIFO no existe una manera de mostrar directamente para cada registro el precio al que se valoran las existencias que quedan en el almacén, puesto que las unidades que quedan se valoran al precio de la partida a la que pertenecen. Para poder consultar el desglose de precios de cada registro se ha añadido un evento a las celdas de precio para que cada vez que se seleccione una se muestre un cuadro de diálogo que indique el número de unidades que quedan en el periodo, el desglose de precios por partida de las unidades que quedan en almacén, su valor desglosado y su valor total. Botón Generar Documento Muestra el formulario para generar un documento de Word, y una vez aceptado llama al módulo de impresión para rellenar el documento. Como en este modelo la solución se va generando a medida que se introducen los datos de partida y no hay un botón para buscar la solución, se puede generar el documento en cualquier momento, siempre que al menos esté introducida la fecha del primer registro (existencias iniciales) El módulo de impresión es el genérico desarrollado para el proyecto. Muestra el título y el enunciado elegidos en el formulario anterior, o los creados por defecto. Para la solución se muestran la tabla de inventario correspondiente, y en el caso de FIFO el desglose de precios para cada uno de los registros de la tabla. Título por defecto: “Ejercicio de Valoración de Existencias por PMP” o “Ejercicio de Valoración de Existencias por FIFO” Enunciado por defecto: (Los espacios en blanco se rellenan automáticamente con los datos de la tabla) PMP: “La empresa XYZ mantiene el inventario de su almacén mediante el método de valoración de precio medio ponderado (PMP). Anotar todas las operaciones realizadas