Anda di halaman 1dari 33

Excel: Horas sin formato

Hay alguna forma de escribir directamente horas y minutos sin


separacin y que Excel inserte los dos puntos automticamente?
Mircoles, 15 de Mayo de 2013

Es posible crear un formato personalizado para escribir 1530 y que se vea como 15:30. Pero
para que Excel reconozca eso como un dato en horas y minutos, hay que hacer algo ms.
Comencemos por el formato:

Seleccionamos el rango donde vamos a escribir las horas.

1. Tomamos las opciones [Formato/ Celdas].


2. En la ficha [Nmero] seleccionamos la categora[Personalizada].
3. Dentro de [Tipo] escribimos 00:00.
4. Hacemos clic en [Aceptar].
Con el formato creado, Excel tomar el dato que hayamos escrito e insertar los dos puntos
entre las dos primeras cifras y las dos ltimas.

Hasta aqu logramos que, escribiendo 1530, el dato se vea como 15:30. Pero el valor de la
celda seguir siendo 1530.

Hay que hacer algo ms para que eso represente quince horas con treinta minutos.

La frmula que hace esta ltima conversin es bastante compleja. Primero la decimos y luego
la explicamos. Si el dato original est en [A2], el valor convertido a horas y minutos se obtiene
con:
=ENTERO(A2/100)/24+RESIDUO(A2;1 00)/1440.
Vamos por partes. La expresin ENTERO(A2/100) divide el valor de [A2] por 100 y se queda
con la parte entera. Si [A2] vale 1530, el resultado de esta expresin es 15. Al dividir ese 15
por 24, estamos convirtiendo el quince en la fraccin de da que corresponde a quince horas.
La expresin RESIDUO(A2;100) divide el valor de [A2] por 100 y se queda con el resto.
Si [A2] vale 1530, el resultado de esta expresin es 30. Al dividir ese 30 por 1440, estamos
convirtiendo el quince en la fraccin de da que corresponde a 30 minutos (hay 1440 minutos
en un da).
Para finalizar, el resultado de sumar ambas expresiones es el valor, en das, de las horas y
minutos obtenidos en [A2]. En Excel, los datos que representan tiempos (fechas u horas)
deben expresarse en das, independientemente del formato aplicado. Tenemos que hacer esta
transformacin tanto con la hora de entrada como con la de salida, para poder restarlas y
calcular el tiempo transcurrido entre ambas.

As creamos un formato personalizado para que Excel tome un nmero de cuatro


cifras y separe las dos mitades con dos puntos.
La frmula de la celda [B2] convierte el nmero de cuatro cifras de la celda [A2]
en un valor de horas y minutos. Todo el clculo expresa ese valor en das, como
corresponde a un dato tipo hora.

Listas desplegables
dependientes en Excel
Una de las funcionalidades ms utilizadas en la validacin de datos en
Excel son las listas desplegables ya que nos ofrecen un control absoluto
sobre el ingreso de datos de los usuarios. Sin embargo, crear listas
dependientes no siempre es una tarea sencilla, as que te mostrar un
mtodo para lograr este objetivo.

Decimos que tenemos listas desplegables dependientes cuando la


seleccin de la primera lista afectar las opciones disponibles de la
segunda lista. Esto nos ofrece un mayor control sobre las opciones
elegidas por el usuario ya que siempre habr congruencia en los datos
ingresados.

Para nuestro ejemplo utilizaremos un listado de pases y ciudades con el


cual crearemos un par de listas desplegables que mostrarn las ciudades
que pertenecen al pas previamente seleccionado.
Este listado se encuentra en una hoja de Excel llamada Datos que es
donde prepararemos los datos de manera que poder crear con facilidad
las listas desplegables dependientes desde cualquier otra hoja del libro.

Preparacin de los datos

El primer paso que debemos dar es crear una lista de pases nicos.
Para esto har una copia de los datos de la columna A y pegar los
valores en la columna D. Posteriormente, con la columna seleccionada,
ir a la ficha Datos > Herramientas de datos y pulsar el botn Quitar
duplicados.
Ahora seleccionar el rango de celdas D2:D7 y le pondr el
nombre Paises. Para asignar un nombre a un rango de celdas debemos
seleccionarlo e ingresar el texto en el Cuadro de nombres de la barra de
frmulas.
El segundo paso ser nombrar los rangos de las ciudades para cada pas
de la siguiente manera:

1. Selecciona el rango que contiene las ciudades de un pas.


2. Nombra dicho rango con el nombre del pas.

Siguiendo este procedimiento tan simple, la siguiente imagen muestra el


momento en que selecciono las ciudades de Argentina y asigno el
nombre adecuado a dicho rango.

Es muy importante que el nombre del rango sea exactamente igual al


nombre del pas ya que ese ser nuestro vnculo entre ambas listas. De
la misma manera como he creado el rango de ciudades
para Argentina crear un nuevo rango para cada pas.

Una vez terminada esta tarea tendr 7 rangos nombrados. Un rango


nombrado para cada uno de los 6 pases y adems un nombre para la
lista de pases nicos. Para ver esa lista de rangos nombrados puedo ir a
la ficha Frmulas y hacer clic en el botn Administrador de nombres.

Si te equivocaste en el nombre del rango o seleccionaste un grupo de


celdas incorrecto, el Administrador de nombres te permitir hacer
cualquier modificacin haciendo clic en el botn Editar.

Crear listas desplegables dependientes

Ahora que ya tenemos listos nuestros rangos nombrados podemos crear


las listas desplegables. Para eso ir a una nueva hoja de mi libro de
Excel, seleccionar la celda A2 e ir a la ficha Datos > Herramientas de
Datos > Validacin de datos. En el cuadro de dilogo elegir la
opcin Lista y en el cuadro Origen colocar el valor =Paises que es el
nombre del rango que contiene la lista de pases nicos.
Al hacer clic en el botn Aceptar podremos comprobar que la celda A2
contiene una lista desplegable con los pases.

Ahora crearemos la lista desplegable dependiente de la celda B2 y para


eso seleccionar dicha celda e ir a la ficha Datos > Herramientas de
datos > Validacin de datos. En el cuadro de dilogo mostrado
seleccionar la opcin Lista y el en cuadro Origen colocar la siguiente
frmula:

=INDIRECTO(A2)

La funcin INDIRECTO se encargar de obtener el rango de celdas cuyo


nombre coincide con el valor seleccionado en la celda A2.
Es muy probable que al hacer clic en el botn Aceptar se muestre un
mensaje de advertencia diciendo que: El origen actualmente evala un
error Desea continuar? Este error se debe a que en ese momento no
hay un Pas seleccionado en la celda A2 y por lo tanto la funcin
INDIRECTO devuelve error, as que solo debers hacer clic en la opcin
Si para continuar.

En el momento en que selecciones un pas de la celda A2, las ciudades


de la celda B2 sern modificadas para mostrar solamente aquellas que
pertenecen al pas seleccionado.

Con estos pasos hemos crear un par de listas desplegables


dependientes en Excel las cuales muestran las ciudades
correspondientes a un pas determinado.
Limpiar seleccin de lista dependiente

Las listas dependientes que acabamos de crear en la seccin anterior


tienen un pequeo inconveniente y es que despus de hacer una primera
seleccin de Pas y Ciudad, al hacer una nueva seleccin de Pas, la
celda que muestra las ciudades permanecer con la seleccin anterior.

Para que me entiendas mejor hagamos un ejemplo sencillo. Seleccionar


el pas Colombia en la celda A2 y posteriormente en la celda B2
seleccionar la ciudad Medelln. Hasta ah todo va bien, pero si ahora
selecciono el pas Mxico en la celda A2, la celda B2 seguir mostrando
la ciudad Medelln.

Si en ese momento guardamos el libro, tendremos una incongruencia en


los datos. La mala noticia es que no existe un comando de Excel para
solucionar este problema. La buena noticia es que podemos utilizar
cdigo VBA para pedir a Excel que limpie la celda B2 cada vez que haya
un cambio en la celda A2. Para agregar el cdigo debemos hacer clic
derecho sobre el nombre de la hoja y seleccionar la opcin Ver cdigo.

En las listas desplegables mostradas debemos elegir la


opcin Worksheet y Change tal como se muestra en la siguiente imagen.
El cdigo que debemos pegar en esta ventana es el siguiente:

1 Private Sub Worksheet_Change(ByVal Target As Range)

3 If Target = Range("A2") Then

4 Range("B2").Value = ""

5 End If

6
End Sub
7

El evento Worksheet_Change se dispara cada vez que se realiza un


cambio en una celda de la hoja. Pero ya que estamos interesados en un
cambio de la celda A2, comparamos la variable Target para saber si el
cambio proviene de dicha celda. En caso afirmativo, limpiamos el valor
de la celda B2.
Si aplicas esta solucin a tus archivos, debers guardarlos como un Libro
habilitado para macros de manera que pueda ejecutarse adecuadamente
el cdigo VBA.

Agregar datos a las listas desplegables dependientes

Si deseas agregar nuevos datos a las listas desplegables, debers tener


cuidado de mantener las referencias adecuadas en cada uno de los
rangos nombrados. Por ejemplo, para agregar una nueva ciudad para
Mxico insertar una nueva fila debajo de la ciudad Guadalajara.

Ahora el pas Mxico tiene 4 ciudades en lugar de 3 as que ser


necesario modificar el rango nombrado para sus ciudades. Para hacer
este cambio debemos ir a la ficha Frmulas y hacer clic en el botn
Administrador de nombres. Al abrirse el cuadro de dilogo notars dos
cosas:
1. Aunque las ciudades de Per fueron desplazadas hacia abajo por
la insercin de la nueva fila, Excel modific automticamente la
referencia para indicar que dicho nombre ahora se refiere el rango
B18:B20.
2. Excel no modific el rango correspondiente a Mxico y en este
momento dicho rango termina en la celda B16 por lo que es
necesario que modifiquemos manualmente dicha referencia. Para
que todo funcione correctamente debo indicar lo siguiente:

=Datos!$B$14:$B$17

Para ingresar esta nueva referencias puedes seleccionar el nombre


Mxico y hacer clic en el botn Editar. Se mostrar un nuevo cuadro de
dilogo donde podrs indicar la nueva referencia.
Con este cambio ser suficiente para ver la nueva ciudad al momento de
seleccionar el pas Mxico dentro de las listas desplegables.

As que, ya sea que vas a agregar nuevas Ciudades o Pases debers


poner especial atencin a las referencias de los rangos nombrados y
debers editarlas en caso de ser necesario desde el Administrador de
nombres.

Puedes descargar el archivo de trabajo que he utilizado en este artculo


de manera que puedas comprobar por ti mismo la creacin de listas
desplegables dependientes en Excel. Practica la creacin de este tipo de
listas e implementa la misma lgica de solucin en tus propios datos.
Extraer valores nicos en
Excel
Existen diferentes mtodos para extraer valores nicos en Excel, ya
sea utilizando comandos de la herramienta o a travs de una frmula.
Pero si quieres automatizar por completo este proceso ser necesario
crear una macro.

A continuacin revisaremos varias alternativas que tenemos en Excel


para extraer los elementos nicos de un rango. Te recomiendo leer cada
una de ellas y elegir la opcin que mejor se adapte a tus necesidades.

Extraer valores nicos con comandos

Si en tus labores cotidianas la tarea de extraer valores nicos es poco


frecuente, entonces ser suficiente con utilizar el comando Quitar
duplicados. Antes de utilizar este comando te recomiendo hacer una
copia de la columna que contiene los datos originales ya que dicho
comando modificar el valor de las celdas.

Una vez que hayas hecho la copia, debers seleccionar una celda de
dicho rango e ir a Datos > Herramientas de datos > Quitar duplicados, lo
cual mostrar el cuadro de dilogo Quitar duplicados.
Si has colocado un encabezado a la copia de datos realizada debers
asegurarte de marcar la caja de seleccinMis datos tienen encabezados.
Al pulsar el botn Aceptar se mostrar un mensaje indicando la cantidad
de valores duplicados encontrados y de valores nicos que permanecen
despus de realizar la operacin. Como resultado obtendremos una lista
de valores nicos:
Adems del comando Quitar duplicados existe otro comando para extraer
valores nicos en Excel y me refiero al Filtro Avanzado. A travs de este
comando podemos indicar a Excel que deseamos copiar los registros
nicos de nuestra lista:
Si quieres conocer ms sobre el Filtro Avanzado te recomiendo consultar
el artculo Crear una lista de valores nicos en Excel donde encontrars
un ejemplo detallado.

Extraer valores nicos con una frmula

Los comandos mencionados anteriormente requieren que t hagas


algunas cosas, como seleccionar los rangos y pulsar ciertos botones. Si
quieres utilizar un mtodo que no requiera tanta intervencin de tu parte,
entonces puedes utilizar una frmula de Excel para extraer los valores
nicos. La frmula que utilizaremos ser la siguiente:

=SI.ERROR(INDICE($C$2:$C$31, COINCIDIR(0, INDICE(CONTAR.SI($F$1:F1,

$C$2:$C$31), 0, 0), 0)), "")

En esta frmula existen solo dos rangos de celdas que explicar a


continuacin. El primer rango es $C$2:$C$31 que se refiere a la
ubicacin donde se encuentran los datos originales. El segundo rango es
$F$1:F1, que es el primer argumento de la funcin CONTAR.SI, se
refiere a la primera celda de la columna donde se colocarn los valores
nicos. Observa que la primera referencia de este rango es absoluta y la
segunda es relativa y debers mantenerla de esa manera.

Otra condicin necesaria para que la frmula funcione correctamente, es


que la columna que contendr losvalores nicos deber tener una celda
de encabezado. Esto es necesario porque la frmula ser colocada en la
celda F2 haciendo referencia al rango $F$1:F1 y si no tuviramos la
celda con el encabezado se creara unareferencia circular.
Una vez que hayas adecuado ambos rangos a tus datos y la columna de
resultados tenga un encabezado, debers colocar la frmula en la
segunda fila y copiarla hacia abajo tantas veces como sea necesario
para contener todos los valores nicos que sern extrados. En la
siguiente imagen puedes observar el resultado de esta frmula:

La funcin ms importante de esta frmula es CONTAR.SI ya que para


cada fila se toma en cuenta el resultado de las filas superiores, de
manera que podamos saber si un valor ya ha aparecido previamente. Por
esta razn, el primer argumento de la funcin COINCIDIR es el valor cero,
que nos asegura que cada valor analizado ha aparecido cero veces en la
columna de resultados.

La funcin INDICE se encarga de copiar el valor de los datos originales y


adems utilizamos la funcin SI.ERROR para evitar desplegar el error
#N/A que se mostrar en las celdas inferiores una vez que se ha
terminado el listado de valores nicos.
Extraer valores nicos con una macro

Una manera ms directa y automtica de extraer valores nicos en


Excel es utilizando una macro. El cdigo VBA que nos ayudar a realizar
dicha extraccin es el siguiente:

1
Sub ValoresUnicos()
2
Dim listaOrigen As Range
3

4 On Error Resume Next

5 Set listaOrigen = Application.InputBox _

6 (Prompt:="Rango de datos origen:", Title:="Seleccionar rango", Type:=8)

8 listaOrigen.AdvancedFilter _

Action:=xlFilterCopy, CopyToRange:=ActiveCell, Unique:=True


9

10
Canceled:
11
End Sub
12

La lnea 5 se encarga de mostrar un cuadro de dilogo para


preguntarnos el rango que contiene la lista con los datos de origen. La
lnea 8 ejecuta el mtodo AdvancedFilter que nos ayuda a obtener los
valores nicos y colocarlos en la celda activa.

Para utilizar esta macro comienzo por seleccionar la celda donde se


colocarn los valores nicos y posteriormente ir a Vista > Macros y elegir
la macro a ejecutar. De inmediato se mostrar el cuadro de dilogo que
solicitar el rango de datos origen donde colocar la referencia a la
columna completa de la siguiente manera:
Como resultado obtendremos la lista de valores nicos a partir de la
celda activa:
De esta manera hemos revisado diferentes alternativas para obtener una
lista de valores nicos ya sea utilizando comandos, frmulas o una
macro. Descarga el libro de trabajo utilizado en este artculo y sigue
experimentando con la extraccin de valores nicos en Excel.
Calcular horas extras en
Excel
Hace algunos meses escrib un artculo sobre cmo calcular las horas de
trabajo en Excel entre dos fechas, sin embargo, existen algunas mejoras
que podemos implementar a dicho ejemplo, como el clculo de horas
extras y el pago de las mismas.

Observaciones importantes

A lo largo de este artculo desarrollar tres ejemplos. Para el primero de


ellos considerar una hora extracuando se sobrepasa la cantidad de
horas laborables regulares en un solo da. El segundo ejemplo es una
pequea variacin del primero para considerar aquellos horarios de
trabajo nocturnos que implican un cambio de fecha.

El tercer ejemplo hace el clculo de horas extras pero en base a un


criterio semanal y no diario como los primeros dos ejemplos. As que sin
ms que aclarar, comencemos a desarrollar el primer ejemplo.

Preparacin de los datos

Para este ejemplo utilizar una tabla de datos que contiene las horas de
entrada y salida para cada uno de losdas laborables, as como el horario
en que se ha tomado un descanso.
En las celdas B2 y B3 se encuentra el horario laboral. La celda B5 tiene
la cantidad de tiempo permitido para el descanso diario y junto con los
valores anteriores podremos obtener la cantidad de horas efectivas de
trabajo diario en la celda B6.

Las celdas E1 y E2 contienen la tarifa que deber pagarse por cada hora,
ya sea en horario regular o comohoras extras.

Calcular el total de horas trabajadas

El primer clculo que realizaremos ser el total de horas trabajas para


cada uno de los das y para eso utilizar la siguiente frmula:

=(E10-D10)+(C10-B10)
Esta frmula hace una resta entre la hora de salida y el fin de descanso y
lo suma con la diferencia de horas entre el inicio del descanso y la hora
de entrada. Observa el resultado al aplicar esta frmula para todos los
das:

Con esto obtenemos las horas de trabajo diario y los siguientes clculos
estarn basados en este valor.

Calcular las horas regulares

El total de las horas que deben laborarse por da lo hemos calculado en


la celda B6 y para saber si cada da se ha cumplido dicha cantidad de
horas de trabajo utilizar la funcin SI haciendo una comparacin con el
total de horas trabajadas con la siguiente frmula:

=SI(F10>$B$6,$B$6,F10)

Si el total de las horas trabajadas en el da es mayor que las horas que


deben laborarse, entonces hemos cumplido con la cantidad de horas
regulares requeridas. De lo contrario, las horas regulares de dicho da
son menores. Esta lgica quedar clara con la siguiente imagen:
Ya que para la mayora de los das tenemos ms de 8 horas en la
columna Total horas, entonces la columnaHoras regulares mostrar el
valor 8:00, sin embargo, para el ltimo da la condicin no se cumple y
por lo tanto las horas regulares sern las mismas que el total de horas.

Calcular horas extras en Excel

El siguiente paso es calcular las horas extras y que de nueva cuenta


ser un condicional para saber si la columna Total horas excede el
mnimo requerido. La frmula que utilizar ser la siguiente:

=SI(F10>$B$6,F10-$B$6,0)

Si la columna Total horas no excede el mnimo requerido, entonces no


hay horas extras, que para nuestro ejemplo se cumple en el ltimo da.
Observa el resultado de aplicar esta frmula:
Obtener total de horas

Solo faltar realizar la suma de las columnas Horas regulares y Horas


extras para conocer el total y poder calcular el pago. La suma es tan
simple como utilizar la funcin SUMA. Para que Excel muestre el total de
manera correcta debo utilizar el formato personalizado [hh]:mm para
ambas celdas:
Si no ests muy seguro de cmo aplicar este formato te recomiendo
consultar el artculo: Sumando horas en Excel.

Calcular el pago de horas

Para poder calcular el monto a pagar por las horas regulares y las horas
extra es necesario convertirlas a un valor decimal que pueda ser
multiplicado por la tarifa correspondiente. Para hacer dicha conversin es
suficiente con multiplicar el total por 24. Si tienes duda de por qu se
debe multiplicar por dicho valor, puedes consultar una explicacin en el
artculo Convertir un nmero decimal a minutos que describe el proceso
inverso.

Una vez que tenemos una equivalencia de las horas en valor decimal
solo nos faltar hacer la multiplicacin por las tarifas adecuadas para
obtener el total a pagar:
De esta manera hemos realizado el clculo de horas extras en
Excel as como el pago de las mismas. A continuacin mostrar una
variante de este mtodo cuando tenemos un horario de trabajo que se
extiende al da siguiente.

Calcular horas extras en horario nocturno

La modificacin que vamos a hacer del ejemplo anterior ser til para
aquellos horarios de trabajo nocturno y que implican un cambio de fecha
dentro de la misma jornada laboral. Lo que debemos hacer es agregar la
fecha para cada eventualidad de nuestra hoja, es decir, para el inicio y
final del descanso as como para la hora de salida:
Una vez ingresados estos datos la nica frmula que debemos modificar
es para la columna Total horas que deber ser la siguiente:

=((G10+H10)-(E10+F10))+((C10+D10)-(A10+B10))

Si observas con detenimiento, esta frmula combina las fechas con las
horas y posteriormente obtiene las diferencias entre todas dejndonos
como resultado el total de horas trabajadas en una jornada laboral. No es
necesario modificar el resto de frmulas del ejemplo anterior para
obtener el resultado correcto:
Calcular horas extras por semana

Hasta ahora hemos calculado las horas extras por cada da laboral, es
decir, si en un da se trabaja por nueve horas, la ltima hora ya es
considerada una hora extra y es pagada bajo dicha tarifa. Sin embargo,
es probable que en tu negocio o empresa se tenga una regla diferente y
se tenga una cuota semanal (o mensual) de horas regulares a partir de la
cual se debe realizar el clculo de horas extras. Considera el siguiente
ejemplo:
La tabla de datos es la misma tabla del primer ejemplo con la diferencia
que la suma de horas se obtiene en la columna Total horas. A partir de
dicho valor hacemos el clculo de la horas regulares y horas extras
siguiendo un procedimiento muy similar al de los ejemplos anteriores. En
este caso, solo se pagarn las horas extras que sobrepasen la cuota
semanal establecida en la celda B2.

Con estos ejemplos tendrs una buena base para realizar tu


propio clculo de horas extras en Excel y personalizar esta solucin en
base a tus propios requerimientos. Descarga el libro de trabajo y contina
trabajando con los ejemplos desarrollados.

Anda mungkin juga menyukai