En el ejemplo que estamos manejando en el fichero sumar_horas.xlsx deseamos calcular las horas semanales trabajadas por un empleado en jornadas de mañana y tarde.
Para introducir las horas de inicio y final de jornada lo haremos en Excel escribiendo por ejemplo 8:00 para indicar las ocho de la mañana, y 17:15 para indicar las cinco y cuarto de la tarde.
La fórmula de la celda H4 es la siguiente:
=(E4-D4)+(G4-F4)
Los paréntesis no son necesarios. Los hemos puesto para separar la jornada de mañana y la jornada de tarde.
Las celdas H9, H10 y H11 contienen todas ellas la misma fórmula que es la suma de las horas trabajadas durante la semana. La fórmula es la siguiente:
=SUMA(H4:H8)
La diferencia entre las tres fórmulas está en el formato que hemos empleado. El formato correcto es el de la celda amarilla H9. Esto es así, ya que cuando la suma de horas supera las 24 horas, se añade un día y si usamos un formato donde no se ve ese día, únicamente vemos la fracción de horas.
En este caso 35 horas y media es lo mismo que 1 día y 13 horas y media.
sábado, 8 de septiembre de 2012
Distribución Uniforme
En estadística disponemos de la distribución Uniforme. Es una distribución de carácter continuo que asigna la misma probabilidad en cualquier parte del intervalo en el que está definida.
Vamos a ver las transformación que podemos realizar partiendo de un aleatorio creado con la función ALEATORIO(), al multiplicar por un número y al sumar cierta cantidad. También veremos cómo podemos quitar la parte fraccionaria y quedarnos únicamente con la parte entera.
Si a la función ALEATORIO() la multiplicamos por un número la estamos afectando de un factor de escala. Por ejemplo, al multiplicar por 200, el número aleatorio que se obtiene ya no se mueve en el intervalo [0;1) sino en el intervalo [0;200).
Esto supone amplificar 200 veces el resultado obtenido con el número aleatorio.
Si al número aleatorio anterior se le suma una cierta cifra lo que estamos haciendo es un cambio de escala. Por ejemplo, después de haber multiplicado por 200, lo que haremos es sumar 5.000 con lo que el número obtenido ya no se moverá en el intervalo [0;200) sino en el intervalo [5000;5200).
Será un número con decimales como el del siguiente ejemplo.
En este ejemplo, lo que conseguimos es un número entero en el intervalo [5000;5199]. No se llega a alcanzar nunca el valor 5200, ya que nunca se llegaba a alcanzar el valor 1 con la función ALEATORIO, y la función ENTERO lo que hace es quitar la parte decimal.
Si queremos llegar hasta 5.200 hemos de sumar 1.
En este caso el aleatorio obtenido será un número entero que se mueve en el intervalo [5001;5200]
Existe una función en Excel que pertenece a las complementarias y que se denomina
Esta función genera números aleatorios enteros entre un valor mínimo y un valor máximo que proporcionemos.
Para conseguir el mismo intervalo que el que hemos creado en el apartado anterior escribiríamos la siguiente expresión.
En programación tambíen podemos crear números aleatorios. En realidad son número pseudoaleatorios ya que se generan con algoritmos que imitan a los verdaderos números aleatorios.
La función que genera los números aleatorios es
Genera un número aleatorio entre 0 y 1, excluido el 1. Es similar a la función ALEATORIO.
que equivale a barajar las cartas de una baraja. Es lo que se denomina cambiar la semilla de generación de los números aleatorios.
RANDOMIZE lo utilizaremos en nuestro programa, normalmente una sola vez, al principio. Por ejemplo, después de los DIM. En caso de usar bucles se debe procurar no introducirlo dentro, ya que sino estaría barajando continuamente a cada iteración del bucle.
Método 1
El siguiente programa genera 10 números aleatorios y los escribe en la columna A.
Método 2
Para generar números aleatorios entre 5.000 y 5.200 utilizaremos la siguiente expresión.
Método 3
Otro sistema que me gusta emplear para conseguir lo anterior es el siguiente.
Se multiplica por 201 ya que realmente entre 5.000 y 5.200, incluidos ambos hay 201 números.
Consulte el siguiente post para ver cómo se trabaja con matrices y cómo se ahorra tiempo en los cálculos.
Listado de valores con Macro
Cuando se trabajan con muchos valores es aconsejable utilizar matrices.
Método 4
También podemos llamar a una función de Excel desde el código de VBA. Las funciones a las que llamemos han de estar en inglés, y el separador de argumentos es la coma, ya que todo va en inglés.
Para ver un listado de funciones en inglés y en español consulte el siguiente post:
Glosario: Traducción de funciones
La función ALEATORIO.ENTRE en inglés es RandBetween.
También se pude utilizar así:
Método 5
Si lo que deseamos es dejar la fórmula en las celdas de la hoja en lugar de depositar el valor podemos utilizar la siguiente macro.
Método 6
Si lo que deseamos es utilizar nuestro idioma local depositando la fórmula en las celdas la macro será la siguiente.
Así podremos utilizar las fórmulas en español.
ALEATORIO
En Excel se puede conseguir con la función:=ALEATORIO()
que nos proporciona un número aleatorio entre 0 y 1, sin llegar al valor 1. Esto se expresa diciendo que la función genera números aleatorios en el intervalo [0;1).
En realidad, lo que se genera es un número pseudoaleatorio ya que se obtiene con ciertos algoritmos internos, y no sacando por ejemplo, bolas de un bombo de la lotería, o tirando monedas al aire a cara o cruz, lo cual generaría valores realmente aleatorios.
Podemos escribir la función ALEATORIO() en Excel y al pulsar luego la tecla de función F9, de recálculo manual, observaremos que el valor aleatorio que se obtiene cambia. Es un número entre 0 y 1 con muchos decimales. En la siguiente imagen se muestran diez números aleatorios obtenidos con esta función.
Los valores aleatorios también cambian siempre que se recalculen los valores de la hoja, cosa que sucede cada vez que se introduce un nuevo valor o se edita uno existente.
Ejemplo
Escriba en una celda un número aleatorio con la función ALEATORIO() y en otra celda escriba la palabra Hola. Al pulsar Enter observe como cambia el valor aleatorio ya que se recalcula toda la hoja.
Ejemplo
Escriba en una celda un número aleatorio con la función ALEATORIO() y en otra celda escriba la palabra Hola. Al pulsar Enter observe como cambia el valor aleatorio ya que se recalcula toda la hoja.
Aleatorios en un intervalo
Vamos a ver las transformación que podemos realizar partiendo de un aleatorio creado con la función ALEATORIO(), al multiplicar por un número y al sumar cierta cantidad. También veremos cómo podemos quitar la parte fraccionaria y quedarnos únicamente con la parte entera.
Factor de escala
Si a la función ALEATORIO() la multiplicamos por un número la estamos afectando de un factor de escala. Por ejemplo, al multiplicar por 200, el número aleatorio que se obtiene ya no se mueve en el intervalo [0;1) sino en el intervalo [0;200).
=ALEATORIO()*200
Esto supone amplificar 200 veces el resultado obtenido con el número aleatorio.
Traslación
Si al número aleatorio anterior se le suma una cierta cifra lo que estamos haciendo es un cambio de escala. Por ejemplo, después de haber multiplicado por 200, lo que haremos es sumar 5.000 con lo que el número obtenido ya no se moverá en el intervalo [0;200) sino en el intervalo [5000;5200).
=5000+ALEATORIO()*200
Será un número con decimales como el del siguiente ejemplo.
Parte entera
Si deseamos quitar los decimales, podemos utilizar la función =ENTERO. Es una función que no redondea, lo que hace es truncar la parte fraccionaria y quedarse únicamente con la parte entera.=ENTERO(5000+ALEATORIO()*200)
En este ejemplo, lo que conseguimos es un número entero en el intervalo [5000;5199]. No se llega a alcanzar nunca el valor 5200, ya que nunca se llegaba a alcanzar el valor 1 con la función ALEATORIO, y la función ENTERO lo que hace es quitar la parte decimal.
Si queremos llegar hasta 5.200 hemos de sumar 1.
=ENTERO(5000+ALEATORIO()*200)+1
En este caso el aleatorio obtenido será un número entero que se mueve en el intervalo [5001;5200]
ALEATORIO.ENTRE
Existe una función en Excel que pertenece a las complementarias y que se denomina
=ALEATORIO.ENTRE(mínimo;máximo)
Esta función genera números aleatorios enteros entre un valor mínimo y un valor máximo que proporcionemos.
Para conseguir el mismo intervalo que el que hemos creado en el apartado anterior escribiríamos la siguiente expresión.
=ALEATORIO.ENTRE(5001;5200)
En VBA
En programación tambíen podemos crear números aleatorios. En realidad son número pseudoaleatorios ya que se generan con algoritmos que imitan a los verdaderos números aleatorios.
La función que genera los números aleatorios es
Rnd
Genera un número aleatorio entre 0 y 1, excluido el 1. Es similar a la función ALEATORIO.
Barajar
Los números aleatorios que genera VBA en realidad no son aleatorios y se pueden repetir según una cierta secuencia. Para evitar que se repitan lo que hacemos es utilizar el comandoRANDOMIZE
que equivale a barajar las cartas de una baraja. Es lo que se denomina cambiar la semilla de generación de los números aleatorios.
RANDOMIZE lo utilizaremos en nuestro programa, normalmente una sola vez, al principio. Por ejemplo, después de los DIM. En caso de usar bucles se debe procurar no introducirlo dentro, ya que sino estaría barajando continuamente a cada iteración del bucle.
Método 1
El siguiente programa genera 10 números aleatorios y los escribe en la columna A.
Aleatorios en un intervalo
Si deseamos generar aleatorios en un cierto intervalo entre un valor mínimo (min) y un cierto valor máximo (max), sin decimales, utilizaremos la siguiente expresión:Int((max - min + 1) * Rnd + min)
Método 2
Int((5200 - 5000 + 1) * Rnd + 5000)En el siguiente ejemplo programa generamos 10.000 números aleatorios entre 5.000 y 5.200.
Método 3
Otro sistema que me gusta emplear para conseguir lo anterior es el siguiente.
Se multiplica por 201 ya que realmente entre 5.000 y 5.200, incluidos ambos hay 201 números.
Consulte el siguiente post para ver cómo se trabaja con matrices y cómo se ahorra tiempo en los cálculos.
Listado de valores con Macro
Cuando se trabajan con muchos valores es aconsejable utilizar matrices.
Método 4
También podemos llamar a una función de Excel desde el código de VBA. Las funciones a las que llamemos han de estar en inglés, y el separador de argumentos es la coma, ya que todo va en inglés.
Para ver un listado de funciones en inglés y en español consulte el siguiente post:
Glosario: Traducción de funciones
La función ALEATORIO.ENTRE en inglés es RandBetween.
También se pude utilizar así:
Método 5
Si lo que deseamos es dejar la fórmula en las celdas de la hoja en lugar de depositar el valor podemos utilizar la siguiente macro.
Método 6
Si lo que deseamos es utilizar nuestro idioma local depositando la fórmula en las celdas la macro será la siguiente.
Así podremos utilizar las fórmulas en español.
viernes, 10 de agosto de 2012
Pilas
Descargar el fichero pilas.xls
Este es un ejemplo de nivel inicial para introducirse en el mundo de Excel. Aprendera los conceptos básicos de Excel:
Iremos estableciendo los pasos necesarios para llegar a elaborar nuestro fichero:
Este es un ejemplo de nivel inicial para introducirse en el mundo de Excel. Aprendera los conceptos básicos de Excel:
- Introducción y edición de textos
- Formato de celdas
- Introducción de fórmulas
- Fórmulas relativas y absolutas (uso de los dólares $)
- Creación de gráficos
Iremos estableciendo los pasos necesarios para llegar a elaborar nuestro fichero:
- Inicie Excel. Puede hacerlo mediante: Inicio, Programas, Microsoft Office, Excel. Puesto que lo utilizaremos con asiduidad es aconsejable crearnos un acceso directo en nuestro escritorio.
- Excel se abre con un libro nuevo, que inicalmente se llama Libro1.xls, o en la versión 2007 se denomina Libro1.xlsx. Observar que la extensión en las versiones 2003 y anteriores es xls y en la vesión 2007 y posteriores la extensión es xlsx. Excel 2007 abre fiecheros de versiones anteriores, y al grabar se puede pedir que lo grabe en modo compatibilidad con vesiones anteriores, esto es, con extensión xls. Por tanto, en general, grabaremos los ficheros con la extensión xls para que sean compatibles con cualquier versión de Excel que utilicemos. Grabe el fichero con el nombre pilas.xls.
- Estrechamos la columna A, para dejarla como margen y no utilizarla. Esta es una peculiaridad que utilizaremos en nuestros ficheros y tiene una finalidad estética. Para estrechar una columna ponemos el cursos entre el indicador de columna A y B y en ese momento arrastramos hacia la izquierda. Esto hace que la columan A se estreche.
- Crear la tabla que se muestra en la siguiente imagen. Escriba la columna 'TIPO PILA' y la columna 'FACTURACIÓN'.
- La celda C9 totaliza las ventas. Esto se consigue incluyendo la función =SUMA(C5:C8). Toda función en Excel comienza con el signo igual (=). Tambíen puede comenzarle con el signo más (+). La función suma se puede escribir manualmente, o bien utilizando el icono del sumatorio (Autosuma). Para ello nos situamos en la celda C9 y pulsamos el icono ∑.
- Podemos dar formato a las celdas. En este caso seleccionamos los importes de la facturación y pulsamos el botón derecho del ratón, y elegimos 'Formato de celdas'. Para poner los importes con separador de miles y cero decimales elegimos las opciones que se muestran en la siguiente imagen.
- Vamos a calcular el porcentaje que supone la facturación de cada tipo de pila. La fórmula que debemos utilizar para la celda D5 es: =C5/C9. Esto nos proporcionará el valor 0,4 que expresado en tanto por uno es un 40%. Para poder ver este valor en porcentaje le damos formato de porcentaje. Estando en D5, esto se puede conseguir pulsando el icono del porcentaje (%).
- Si la fórmula anterior la copiamos hacia abajo obtendremos un hermoso error. Si copiamos la fórmula de la celda D5 una hacia abajo hasta D6, la fórmula tambien baja en una celda todas sus referencias. Esto hace que la fórmula obtenida sea =C6/C10. Esto nos da el error #!DIV/0¡, que indica que se ha producido una división por cero, ya que la celda del denominador C10 esta vacía. Al copiar una celda hacia abajo nos interesa que el numerador cambie pero queremos que el demoninador constinúe siendo la facturación total de la empresa (celda C9). Para fijar la celda C9, debemos editar la fórmula (hacindo clic sobre ella) y situado el cursor sobre C9 pulsar la tecla de función F4. Esta tecla, permite poner dólares a esta referencia de celda en una fórmula. Si ponemos =+C5/$C$9 conseguimos que la celda C9 quede fija al copiarse la fórmula. Por tanto, si en una celda una referencia a celda va sin dólares Excel efectúa una copia relativa, y si va con dólares
No hay comentarios:
Publicar un comentario