domingo, 29 de marzo de 2015

Calcular la edad en excel

Existen varias maneras de calcular la edad en excel, pero en esta oportunidad vamos a mostrar una manera sencilla y exacta de realizarlo.

Presentaremos dos formas de realizarlo, una con formulas y otra con vba


La edad se obtiene restando los años de la fecha actual (29/03/2015) que es la fecha actual de mi sistema, menos el año de la fecha de nacimiento que se encuentra en la celda A2.

Pero si realizamos una resta simple obtendremos 28 como edad, que seria incorrecto, porque aun falta un día para que la edad sea 28, entonces se aplican dos condiciones para que el calculo de la edad sea correcta que mostramos en la siguiente formula
=SI(Y(MES(HOY())>=MES(A2),DIA(HOY())>=DIA(A2)),AÑO(HOY())-AÑO(A2),AÑO(HOY())-AÑO(A2)-1)
Condicion 1:
Si el mes actual es mayor o igual que el mes de nacimiento.

Condicion 2:
Si el dia actual es mayor o igual que el dia de nacimiento.

Explicacion:
La mejor manera de explicarlo seria con unos ejemplos.

Ejemplo 1:

Fecha Nacimiento         Fecha Actual    Edad
 30/03/1987                   29/03/2015         27

Ejemplo 2:
Fecha Nacimiento         Fecha Actual    Edad
 30/03/1987                   30/03/2015         28

Para el ejemplo 1 la edad es 27 ya que no cumple ni la condicion 1 ni la condicion 2
Pero para el ejemplo 2 si se cumplen las dos condiciones.


La otra manera de realizarlo es utilizando vba

Public Function CalcularEdad(FecNac As Date) As Integer
Dim cEdad As Integer
If (Month(Now) >= Month(FecNac) And Day(Now) >= Day(FecNac)) Then
    cEdad = Year(Now) - Year(FecNac)
Else
    cEdad = Year(Now) - Year(FecNac) - 1
End If
    CalcularEdad = cEdad
End Function

Escribir en la celda C2 la siguiente formula para utilizar nuestra funcion creada en vba

=CalcularEdad(A2)

Como hemos visto en estos 2 ejemplos, no ha resultado muy complicado realizar el calculo de la edad de una persona. Tambien existen otras maneras de realizarlo.

jueves, 26 de marzo de 2015

Como obtener un numero faltante en excel

Amigos exceleros, en esta oportunidad vamos a crear una formula que me permita mostrar un numero faltante de una lista de excel.
Cabe señalar que en la lista solo debería haber un numero faltante para que la formula muestre ese numero. Eso quiere decir que si en la lista faltan 2 o mas números, la formula no funcionara.

Comencemos:
En la columna A tenemos una lista de números correlativos, y podemos ver a simple vista que falta el numero 10.


Para poder analizarlo mejor hemos creado las formulas en varias celdas:

C2: =CONTAR(A2:A6)+1
Con esta formula mostramos la cantidad de filas + 1

D2: =(MAX(A2:A6)+MIN(A2:A6))/2 

Aqui el calculo se realiza sumando el numero maximo con el numero minimo y dividiendolo entre 2

E2: = SUMA(A2:A6)

Se obtiene la suma de los numeros de la columna A

F2: =(C2*D2)-E2

El calculo para obtener el numero faltante se realiza multiplicando los resultados de la celda C2 y D2 y restandole la suma total.

Por ultimo, si deseamos poner toda la formula en una sola celda simplemente tenemos que hacer la formula anidada y quedara de la siguiente manera:

=((CONTAR(A2:A6)+1)*(MAX(A2:A6)+MIN(A2:A6))/2)-SUMA(A2:A6)

De esta manera igual podra mostrar el mismo resultado,

domingo, 8 de marzo de 2015

Encontrar la última fila con datos usando Excel VBA

ENCONTRAR LA ÚLTIMA FILA CON DATOS USANDO EXCEL VBA

Cuando estamos trabajando sobre una hoja de cálculo en excel, queremos saber como encontrar la ultima fila con datos, ya que es necesario para alguna macro que estemos realizando.
Para esto voy a mostrar unos ejemplos de como obtenerlo.

Cuando los datos NO son continuos y existe alguna fila vacia
A veces cuando existe una fila vacia es necesario que el cursor se dirija a la ultima fila que en este caso es la fila 9. Estas funciones son aptas para estos casos.




Usando el objeto Range

Sub Contar_ultima_Celda()
    R = Range("A" & Rows.Count).End(xlUp).Row
End Sub

Usando el objeto Cells

Sub Contar_ultima_Celda2()
    R = Cells(Rows.Count, 1).End(xlUp).Row
End Sub

Cuando los datos son continuos y no hay espacios en blanco en una fila
En el caso que no hayan espacios en blanco que pueda cortar el recorrido del cursor fácilmente se puede utilizar las siguientes funciones. También se puede hacer uso del código anterior


 Sub UltimaFila3()
     j = Range("A1").End(xlDown).Row
End Sub

Sub Contar_ultimaFila4()
r = Cells(1, 1).End(xlDown).Row
End Sub

OBTENER LA  ULTIMA POSICION DE COLUMNA CON DATOS

Con ambas funciones se puede saber la posicion de la ultima columna con datos.


Sub UltimaColumna()
      r = Cells(1 & Columns.Column).End(xlToLeft).Column
End Sub

Sub UltimaColumna2()
     r = Cells(1, 1).End(xlToRight).Column
End Sub

Para que puedan ver la posicion de la ultima fila o columna con datos se puede incluir dentro de cada subrutina un mensaje con la variable que almacena la posicion:

MsgBox "Posicion de la columna " & r


 Espero que les haya sido de mucha utilidad, y ala espera de sus comentarios.

Contar registros unicos en excel

CONTAR REGISTROS ÚNICOS EN EXCEL
En algún momento de nuestro trabajo en excel necesitaremos contar la cantidad de registros unicos de una lista, ya sean números o una cadena de texto.Existe una manera practica para contar los registros únicos en excel.

Ejemplo:
A simple vista podemos ver que en la imagen existen 3 elementos únicos, pero en el caso que tuviéramos  mas registros que contar nos resultaría difícil, Por lo tanto aplicaremos una formula matricial la cual luego de escribir la siguiente función en la celda C1.

 =SUMA(1/CONTAR.SI(A1:A6,A1:A6&""))
Debemos presionar la combinación de teclas CTRL+SHIFT+ENTER para que  se active de manera matricial y muestre las llaves automáticamente que indica que esta en modo formula matricial.


Explicación:
Vamos a partir la explicación por pasos:
Lo que hace la formula es contar la cantidad de veces que se repiten los valores de la columna A (Resultado en Columna C)
-Luego dividir el numero 1 entre la cantidad de veces que se repite el valor.
Luego sumar los valores de la columna D, lo cual me da el mismo resultado de la formula anterior.


Entonces todos esos pasos lo estamos haciendo en una sola celda de manera matricial.
Si tuviéramos un texto que se repitiera 5 veces el resultado de 1 entre 5 seria 0.2 y esto tendríamos que sumarlo 5 veces, con lo cual el resultado siempre va a ser uno, por esta razón siempre se cuenta el valor único.

Valores únicos tomando en cuenta los valores vacíos
También cuenta los espacios como un valor, en nuestra formula se puede ver que al final dela funcion contar.si se agrega el valor &"".


Tener en cuenta que cada vez que se haga algún cambio en la formula se debe presionar la combinación de teclas CTRL+SHIFT+ENTER para ponerla en modo matricial

Funcion Sustituir

FUNCION SUSTITUIR

Esta funcion perteneciente a la categoria texto reemplaza el texto existente con un texto nuevo en una cadena.

SINTAXIS


Texto (obligatorio):Texto o referencia a una celda que contiene texto a la cual se desea sustituir los caracteres.
Texto Original (Obligatorio): Texto original que se quiere sustituir.
Texto nuevo (Obligatorio):  Texto nuevo que reemplazara al texto original
Núm_de_ocurrencia (opcional): Es un valor numérico, el cual indica el numero de ocurrencia del texto original, si no se especifica este valor, la función sustituir reemplazara todas las apariciones del texto original.

EJEMPLO

1. En este ejemplo al texto "Bienvenido a mi web" le estamos sustituyendo los espacios por vacios, fijense que en el parametro Núm_de_ocurrencia que es opcional no le estamos poniendo ningun valor por tal motivo la funcion sustituye todos los espacios en blanco que encuentre en el texto.

=SUSTITUIR("Bienvenido a mi web"," ","")


2. Vamos a realizar un ejemplo que use el parametro Núm_de_ocurrencia. das

=SUSTITUIR("Hola mundo en excel"," ","#",2)

Resultado
Hola mundo#en excel
Aquí sustituye el segundo espacio que encuentra por el caracter "#" ya que en Núm_de_ocurrencia estamos ingresando el valor 2.

Esta función suele ser de mucha utilidad a la hora de trabajar con textos y puede anidarse con otras mas funciones para obtener el resultado esperado.

viernes, 6 de marzo de 2015

Funcion Extrae en excel

FUNCIÓN EXTRAE
Esta función que pertenece a la categoría de funciones de texto y nos permite obtener uno o mas caracteres de una cadena de texto indicando el inicio y la cantidad de caracteres que se desea obtener.

SINTAXIS:

EXTRAE(texto,posición_inicial,núm_de_caracteres)

Texto (Obligatorio): Es la cadena de texto de la cual se van a obtener los caracteres.
Posición_inicial (Obligatorio): Valor numérico que indica la posición inicial de la cual se obtendrán los caracteres de la cadena de texto. El primer carácter del texto es 1.
Num_de_caracteres (Obligatorio): Valor numérico el cual indica cuantos caracteres se desea obtener de la cadena de texto a partir de la posición inicial.

Ejemplos

1. En este ejemplo se desea obtener de la celda A4 ("Bienvenidos") el texto "ven", para eso escribimos la función =EXTRAE(A4,5,3) la cual explicaremos.

EXTRAE(A4,   Se escribe la función extrae y el parámetro texto que sera la celda A4   
EXTRAE(A4,5, Seguidamente el numero 5, ya que la letra "v" inicia en la 5 posición del texto
EXTRAE(A4,5,3) Luego escribimos el numero 3 que son 3 caracteres a partir de la letra "v" y cerramos paréntesis y enter para terminar con la función. Vemos que nos muestra el resultado "ven"

Funcion Derecha

FUNCIÓN DERECHA
La función derecha pertenece a la categoría de funciones de texto, la cual devuelve un numero de caracteres especificados desde el final de una cadena de texto. Es decir, obtiene una cadena de texto contando los caracteres a partir de la derecha.

SINTAXIS

DERECHA (texto,[núm_de_caracteres])

texto (Obligatorio): Es la cadena de texto que contiene los caracteres que desea obtener, puede ser una cadena especifica que ingrese en la formula o una referencia a una celda.

[núm_de_caracteres](Opcional): Número que indica la cantidad de caracteres a obtener de la cadena especificada, si no se ingresa ningún valor la función toma por defecto el numero 1.

EJEMPLOS

1.  En la columna "A"  tenemos 4 meses del año,de Enero a Abril, quiero obtener en la celda B1 los tres ultimos caracteres del mes de enero, con lo cual escribimos la formula  =DERECHA(A1,3)
y el resultado es "ero", que son los últimos 3 caracteres del texto "enero"



2. En este ejemplo en el parámetro texto se ingresa la cadena "exceltutos" con comillas dobles por ser un texto y el numero de caracteres 5, lo cual me devuelve el resultado "tutos"


Nota:
Si no se ingresa ningún valor en el parámetro [núm_de_caracteres] la función toma por defecto el        número 1.
- Si en el parámetro [núm_de_caracteres] se ingresa un numero negativo #¡VALOR!





Cargar multiples archivos txt en SSIS

 Fuentes Archivos planos Descargar AQUÍ los archivos Consulta SQL de creacion de tabla Despacho en SQL Server CREATE TABLE [dbo].[Despacho]...