Excel función extrae

62
Partes de una fecha Las funciones DIA, DIASEM, MES y AÑO nos ayudan a obtener una parte de la fecha que se especifica como argumento. Todas estas funciones se encuentran dentro del grupo de funciones de fecha y hora. La función DIA Esta función obtiene el número de día especificado en una fecha. El dato regresado es siempre un número entre 1 y 31. Por ejemplo, observa el resultado al introducir la siguiente fórmula: La función DIA despliega precisamente el número 5 que es el día del mes especificado en la fecha. La función DIASEM En ocasiones deseamos saber el día de la semana a la que se refiere una fecha específica. Por ejemplo, utilizando la misma fecha del ejemplo anterior utilizando la función DIA.SEM obtenemos el siguiente resultado: La función regresa el valor 4 porque es el valor entero que representa al día miércoles ya que de manera predeterminada Excel toma al domingo como el primer día de la semana y al sábado asigna el número 7. La función MES

Transcript of Excel función extrae

Page 1: Excel función extrae

Partes de una fechaLas funciones DIA, DIASEM, MES y AÑO nos ayudan a obtener una parte de la fecha que se especifica como argumento. Todas estas funciones se encuentran dentro del grupo de funciones de fecha y hora.

La función DIA

Esta función obtiene el número de día especificado en una fecha. El dato regresado es siempre un número entre 1 y 31. Por ejemplo, observa el resultado al introducir la siguiente fórmula:

La función DIA despliega precisamente el número 5 que es el día del mes especificado en la fecha.

La función DIASEM

En ocasiones deseamos saber el día de la semana a la que se refiere una fecha específica. Por ejemplo, utilizando la misma fecha del ejemplo anterior utilizando la función DIA.SEM obtenemos el siguiente resultado:

La función regresa el valor 4 porque es el valor entero que representa al día miércoles ya que de manera predeterminada Excel toma al domingo como el primer día de la semana y al sábado asigna el número 7.

La función MES

Para obtener el número de mes especificado en una fecha utilizamos la función MES. La función siempre regresará un valor entre 1 y 12.

Page 2: Excel función extrae

La función AÑO

Finalmente tenemos la función AÑO la cual obtiene el año de la fecha especificada.

Al trabajar con años en Excel debes tener cuidado ya que siempre que quieras hacer referencia a un año del sigo XXI debes especificar los 4 dígitos, de lo contrario recibirás un número que seguramente no esperabas. Observa el siguiente ejemplo donde en lugar de especificar el año “2011” he especificado solamente “11”:

El trabajo con fechas es muy importante en Excel y debes conocer las funciones adecuadas que te ayudarán a trabajar con este tipo de datos.

XXXXXXXXXXXXX

El formato 20130505 no es un formato de fecha válido. Te recomiendo hacer primero la conversión a un formato de fecha válido y posteriormente hacer la comparación. La conversión la puedes hacer con la siguiente fórmula:=FECHANUMERO(DERECHA(A1,2) & “/” & EXTRAE(A1,5,2) & “/” & IZQUIERDA(A1,4))

XXXXXXXXXXXXX

En algunas ocasiones nos hemos topado con la necesidad  de hacer la extracción de un

grupo de caracteres dentro de una celda ya que requerimos solo una parte de ellos,

existen diversas maneras de hacerlo no obstante en Excel existe una función que te

permite realizar este trabajo sin inconvenientes, ya que con la función EXTRAE tienes la

posibilidad de hacer la extracción de un conjunto de caracteres ya sean texto, símbolos,

valores o números.

Page 3: Excel función extrae

A continuación se explica en detalle la función de Excel EXTRAE.

La función EXTRAE devuelve un número específico de caracteres de una cadena de texto,

comenzando en la posición que especifiques y en función del número de caracteres que

especifiques.

La función EXTRAE se utiliza con idiomas que emplean un conjunto de caracteres de un

byte (SBCS).

(SBCS) Single Byte Character Set: se utiliza para referirse a conjuntos de caracteres que

utilizan exactamente un byte por cada carácter gráfico.

La función EXTRAE siempre cuenta cada carácter como 1, ya sea de un byte o de doble

byte e independientemente de la configuración predeterminada de idioma.

La función EXTRAE la podemos hallar dentro de las funciones de Texto como se aprecia

en la imagen:

En la siguiente imagen se puede apreciar la sintaxis de esta función:

Page 4: Excel función extrae

Texto: Cadena de texto que contiene los caracteres que se desea extraer.

Posición_inicial: Posición del primer carácter que se desea extraer del texto. La

Posición_inicial del primer carácter de texto es 1, y así sucesivamente.

Núm_de_caracteres: Específica el número de caracteres que se desea que EXTRAE

devuelva del argumento texto.

A considerar:

Si posición_inicial es mayor que la longitud de texto, EXTRAE devuelve “” (texto

vacío).

Si posición_inicial es menor que la longitud de texto, pero posición_inicial más

núm_de_caracteres excede la longitud de texto, EXTRAE devuelve los caracteres hasta el

final de texto.

Si posición_inicial es menor que 1, EXTRAE devuelve el valor de error #¡VALOR!

Si núm_de_caracteres es negativo, EXTRAE devuelve el valor de error #¡VALOR!

¡En Practica!

Veamos a continuación un ejemplo para comprender mejor esta función:

Existe un una tienda por departamentos en la cual se necesita realizar una organización de

los datos de tal manera que este asociado un código con un departamento en especifico,

sin embargo los códigos que se tienen están con caracteres adicionales que no se

requieren, por lo tanto se necesita hacer la extracción del código antes para que sea

combinado con el nombre del departamento.

En la imagen anexa se encuentra el ejemplo propuesto:

¿Cómo lo vamos a realizar?

Page 5: Excel función extrae

Vamos a emplear inicialmente la función EXTRAE y luego vamos a emplear la función de

Texto CONCATENAR para hacer la combinación del departamento con el código, veamos

en la imagen anexa la solución a este ejemplo:

Como se puede apreciar la combinación de ambas funciones (Formula) soluciono el

ejercicio propuesto ya que con el uso de la función EXTRAE y CONCATENAR se obtiene

el dato requerido.

El uso de la función EXTRAE simplifica el trabajo en alto grado ya que optimizamos el

tiempo que normalmente invertimos en los procedimientos manuales y además que puede

ser anidada con una gran diversidad de funciones con lo que se crean formulas nuevas

para solucionar problemas más complejos.

XXXXXXXXX

Tutorial Excel: Cómo crear una lista desplegable múltiple Posted On 23/11/2010 In Tips, Tutoriales Excel

En muchas ocasiones nos encontramos trabajando con múltiples listas desplegables en

una misma hoja de cálculo que ocupan un espacio que podríamos aprovechar para otros

fines; en nuestra experiencia este suele ser un molesto inconveniente cuando se trata de

diseñar paneles de control, balanced scorecards o dashboards desde Excel con controles

de interactividad que permitan explorar múltiples fuentes de datos, instrumentos en donde

por premisas de diseño debemos aprovechar al máximo cada espacio disponible, dándole

siempre el mejor uso posible.

Afortunadamente de una forma muy sencilla podemos forzar que una lista desplegable

cambie automáticamente a partir de nuestra selección en una combinación de botones de

Page 6: Excel función extrae

opción (también disponibles en los Controles de Formulario), los cuales ocupan

considerablemente menos espacio.  En este tutorial detallaremos como hacerlo partiendo

de tres sencillos pasos a seguir:

1. Preparar nuestra hoja de cálculo.

2. Insertar y configurar nuestros botones de opción.

3. Insertar y configura nuestra lista desplegable múltiple.

El resultado final que obtendrán al aplicar nuestras instrucciones deberá ser muy similar al

de la imagen anexa:

Si les gusta el resultado, veamos entonces en detalle como hacer nuestra lista desplegable

múltiple en Excel.

¡En práctica!

Paso 1: Preparar nuestra hoja de cálculo.

Nuestro primer paso será preparar nuestra hoja de cálculo para los cambios que vamos a

realizar. Para este fin tan solo es necesario que seleccionemos tres celdas de nuestra

Page 7: Excel función extrae

preferencia en donde alojaremos tres datos que serán de importancia para crear nuestra

lista desplegable múltiple en Excel:

Una celda para cargar los datos de selección de nuestro botón de opción

Una celda para cargar la dirección de referencia de los datos a mostrar en nuestra

lista desplegable múltiple.

Una celda para cargar los datos de la selección una vez que se comience a

interactuar con nuestra lista desplegable múltiple.

En nuestro caso seleccionamos las celdas D3 , D4 y D5 de nuestra hoja de cálculo,

trabajando con una tabla configurada de C7 a E19, tal como lo pueden apreciar en la

imagen anexa:

Para un manejo más sencillo de la formulación asignaremos un nombre a la celda en la

que cargaremos los datos que nos indican que botón de opción se encuentra

seleccionado. Para ello recuerda que solo debes acceder a la ficha Fórmulas,

sección Nombres definidos, icono Asignar nombre a un rango:

Page 8: Excel función extrae

En el cuadro de diálogo que te aparecerá asignarás cual es el nombre que deseas asignar,

a que ámbito se refiere, un comentario entorno a para que serás empleado y a que celda

hace referencia. En nuestro caso se trata de la celda D3 y la llamamos “Boton“:

Para mayores detalles entorno a como asignar nombre a un rango de datos no dudes en

visitar este artículo dedicado al tema.

Paso 2: Insertar y configurar nuestros botones de opción.

Luego de configurar nuestra hoja de cálculo procederemos a insertar nuestros botones de

opción que emplearemos para configurar la lista desplegable múltiple. Para ello iremos a la

ficha Programador, sección Controles, botón Insertar:

Una vez allí seleccionaremos en la sección Controles de Formulario, el icono de Botón

de Opción, tal como lo pueden apreciar en la imagen anexa:

Page 9: Excel función extrae

Insertaremos tantos botones de opción como categorías tenga nuestro cuadro de origen.

En nuestro caso insertaremos tres botones de opción, uno para la categoría “Días“, uno

para la categoría “Meses” y otro para la categoría “Empresas“. Luego podemos cambiar

los nombres de cada uno de nuestros botones de opción haciendo clic izquierdo sobre

cada uno de ellos y asignándole el nombre correspondiente.

Para configurar nuestros botones de opción mantendremos pulsada la tecla Control,

hacemos clic en cada uno de los botones de opción de forma que todos queden

seleccionados. Luego haremos clic sobre los mismos con el botón derecho del ratón y

seleccionamos la opción Formato de Control:

En la pestaña Control especificaremos a que celda queremos vincular nuestros controles.

En nuestro caso será con la celda D3, a la cual llamamos Boton. Si deseamos agregar un

efecto 3D a nuestro botones es posible también hacerlo desde esta ficha marcando la

opción

Page 10: Excel función extrae

Paso 3: Insertar y configurar nuestra lista desplegable múltiple.

Como paso siguiente insertaremos nuestra lista desplegable. Para ello iremos nuevamente

a la ficha Programador, sección Controles, botón Insertar:

Una vez allí seleccionaremos en la sección Controles de Formulario, el icono de Cuadro

Combinado (controles de formulario), tal como lo pueden apreciar en la imagen anexa:

Page 11: Excel función extrae

Una vez insertado nuestro cuadro combinado que emplearemos como lista desplegable

múltiple procederemos a emplear una fórmula que nos permitirá conocer cual lista de

datos debe ser mostrada de acuerdo a nuestra selección. Emplearemos para este fin la

función de MS Excel DIRECCION. En nuestro caso será cargada en la celda D4 de

nuestra hoja de cálculo, nuestra celda Dirección, haciendo referencia al rango de datos de

nuestra tabla (c7:E19):

=DIRECCION(8;Boton+2)&”:”&DIRECCION(19;Boton+2)

En el primer argumento de la primera función DIRECCION colocaremos un número que

será el resultado de sumarle 1 a el valor de referencia de la fila en que inicia nuestra tabla

para que el rango a asignar se encuentre justo por debajo del encabezado de la tabla (en

nuestro caso 7+1=8). En el primer argumento de la segunda función DIRECCION

colocaremos un número que será igual al valor de la fila en que finaliza nuestra tabla (en

nuestro caso 19).

El segundo argumento de ambas funciones DIRECION dependerá también de la ubicación

de nuestra tabla. Si inicia en la columna A no debemos sumarle nada a nuestra celda

botón pero en caso contrario debemos sumar uno por cada columna de separación que

este el inicio de nuestra tabla de la primera columna de nuestra hoja de cálculo (en nuestro

caso la tabla comienza en la columna C, por lo que sumamos 2: Boton+2)

Como resultado de aplicar esta fórmula obtendremos la dirección del grupo de celdas que

deben ser mostradas en nuestra lista desplegable múltiple de acuerdo a nuestra selección

en los botones de opción, en la imagen anexa resaltada en azul:

Page 12: Excel función extrae

Nuestra siguiente acción será crear una referencia a esta Dirección que pueda interpretar

nuestra lista desplegable múltiple. Para ello debemos ir a la ficha Fórmulas,

sección Nombres definidos, icono Asignar nombre a un rango:

En el cuadro de diálogo que te aparecerá asignarás cual es el nombre que deseas asignar,

a que ámbito se refiere, un comentario entorno a para que serás empleado y a que celda

hace referencia. En nuestro caso asignamos como nombre “Direccion”. En el cuadro de

texto Se refiere a escribiremos lo siguiente y haremos clic en Aceptar:

=INDIRECTO($D$4)

Para finalizar haremos clic con el botón derecho del ratón en nuestro cuadro de diálogo

que añadimos anteriormente y seleccionaremos la opción Formato de Control. En la

pestaña Control escribiremos “Direccion” en el cuadro de texto Rango de Entrada,

vinculando con la celda $D$5 (nuestra celda Selección). Para finalizar haz clic en Aceptar.

Page 13: Excel función extrae

Información Importante: Con el objeto de hacer más didáctico este tutorial

de cómo crear una lista desplegable múltiple en Excel, hemos empleado celdas de

referencia (D3, D4 y D5) que se encuentran a la vista de los usuarios. Recomendamos que

en sus propias configuraciones estas celdas no se encuentren a la vista de los usuarios

para evitar que puedan dañar sin desearlo la lista desplegable múltiple. Recuerden que

deben adaptar para ello toda la formulación empleada.

¡Hemos culminado!

Si han seguido los pasos detallados deberán obtener un resultado muy similar al anexo:

Dejamos a su disposición archivos de práctica para que puedan detallar como se

encuentran configurada nuestra lista desplegable múltiple en Excel:

Lista Desplegable Múltiple Formato Excel 2007

Lista Desplegable Múltiple Formato Excel 2003

Page 14: Excel función extrae

Si te gustó este tutorial no dejes de visitar nuestra sección de Tutoriales Excel donde

podrás encontrar mucha más información de tu interés:

Sección de Artículos Tutoriales Excel

Como siempre no olviden que todo nuestro equipo se encuentra a su disposición para

atender sus comentarios, aportes o dudas entorno a este o cualquiera de nuestros

artículos.

¡Estamos para servirles!

Un abrazo, pronto estaremos nuevamente en contacto.

El Equipo EXCELLENTIAS.COM

XXXXXXXXXXXXX

Macros para proteger o desproteger una hoja Excel Posted On 20/10/2009 In Macros, Macros Excel

¿Deseas conocer cómo proteger o desproteger una hoja Excel a través de macros?

En este tutorial te explicaremos en tan solo cuatro pasos como crear una macro muy

simple que te permitirá proteger una hoja de Excel, y otra que te permitirá desprotegerla,

unas escasas líneas de código que puede resultarte de amplia utilidad en aquellos casos

donde requieres trabajar con macros mucho más grandes que deben intervenir sobre

hojas de cálculo protegidas con contraseña.

Paso 1: Activar la ficha Programador.

Los comandos que se usan para editar y ejecutar macros en Excel se encuentran en el

grupo Código de la ficha Programador, la cual de forma predeterminada se encuentra

oculta. Por ello nuestro primer paso de este tutorial para proteger o desproteger una hoja

Excel será abrir nuestro archivo y activar la ficha Programador. Recuerda que este paso

solo aplicará en caso de que no tengas activa esta ficha; si ya la tienes activa puedes ir

directamente al paso siguiente.

Page 15: Excel función extrae

En Excel 2007 ubica la cinta de opciones de la barra de herramientas e ingresarás

en: Botón Inicio/ Opciones de Excel/ Más frecuentes/ y deberás seleccionar la opción

Mostrar ficha programador en la cinta de opciones. La imagen anexa te muestra cuál

es la opción a seleccionar para activar esta ficha:

Paso 2: Ingresar al editor de Visual Basic y crear un nuevo Módulo.

Nuestro segundo paso será ingresar al Editor de Visual Basic. Para ello en la ficha

Programador deberás ubicar el grupo Código el cual podrás identificar fácilmente por

encontrarse a la izquierda, con una apariencia como la de la imagen anexa:

Una vez ubiques el grupo código harás clic en el botón Visual Basic, el cuál te llevará al

Editor de Visual Basic. Cuando ingreses al editor ubicarás a la derecha de la pantalla la

ventana del Proyecto – VBAProject. Allí deberás hacer clic derecho sobre la

carpeta Microsoft Excel Objetos correspondiente al libro Excel en donde desees incluir tu

nueva macro para proteger y desproteger una hoja Excel. En el menú desplegable que

aparecerá selecciona  Insertar y luego Módulo, para crear un nuevo módulo en donde

serán alojadas nuestras macros.

Page 16: Excel función extrae

En la imagen anexa puedes apreciar cuales son las opciones a seleccionar para incluir un

nuevo módulo:

Paso 3: Alojar código para proteger o desproteger una hoja Excel.

Nuestro siguiente paso será copiar en el nuevo Modulo que hemos insertado el siguiente

código de Visual Basic. El código incluye dos macros: Proteger, la cual te permitirá

proteger con la contraseña de tu preferencia una hoja Excel, y Desproteger, la cual te

permitirá desproteger cualquier hoja Excel de tu preferencia si conoces cual es la

contraseña de desprotección de la misma.

En la línea de código que hace referencia al objeto Sheets deberás escribir el nombre de

la hoja de cálculo de Excel que deseas proteger o desproteger según la macro que

edites.En el código que te estamos suministrando ambas macros se encuentran

trabajando sobre la Hoja1. Puedes cambiar libremente esta configuración por la hoja de tu

preferencia cambiando el tecto Hoja1 por el nombre de la hoja de cálculo a proteger o

desproteger cuidando de respetar las comillas.

En el campo (“xxxx”) de ambas macros vas a colocar la contraseña de tu preferencia,

recomendablemente una que puedas recordar fácilmente:

Sub PROTECCION()

Page 17: Excel función extrae

Sheets("Hoja1").Select

ActiveSheet.Protect ("XXXX")

End Sub

Sub DESPROTEGER()

Sheets("Hoja1").Select

ActiveSheet.Unprotect ("XXXX")

End Sub

Para probar o ejecutar cualquiera de tus nuevas macros para proteger o desproteger una

hoja Excel solo debes colocar el cursor al comienzo de cada código y presionar el botón de

ejecución de la Macro (Ejecutar Sub/UserForm (F5)).

Page 18: Excel función extrae

Para que la Macro sea más segura debes bloquear el acceso al Editor de Visual Basic y

con esto restringir el acceso. Nuestro último paso de este tutorial nos mostrará como

hacerlo.

Paso 4: Proteger el acceso al Editor de Visual Basic.

En el Editor de Visual Basic harás clic derecho sobre la carpeta Microsoft Excel Objetos del

libro de Excel con el que trabajas para que selecciones en el menú desplegable que te

aparecerá la opción Propiedades de VBAProject. En la imagen anexa podrás apreciar cual es

esta opción:

Una vez seleccionada la opción Propiedades de VBAProject te va aparecer un cuadro de

dialogo en donde vas a seleccionar la pestaña Protección en donde marcarás la opción

“Bloquear proyecto para visualización”. Debajo de esta opción debes ingresar la

contraseña de tu preferencia para tener acceso al Editor de Visual Basic. Esta

contraseña te será solicitada la próxima vez que intentes editar el código al momento de

acceder al Editor de Visual Basic.

Page 19: Excel función extrae

Esperamos que este tutorial te haya resultado de máxima utilidad, no dudes comentarnos

si tienes alguna duda o consulta adicional.

Recuerda que en nuestra categoría de artículos relacionados con Macros en Excel

podrás encontrar muchísima más información, artículos y tutoriales.

Más artículos de Macros en Excel

El Equipo EXCELLENTIAS.COM

XXXXXXXXXXXXXXX

Tablas Dinámicas y campos calculados Posted On 24/08/2010 In Tutoriales Excel

Las Tablas Dinámicas han supuesto la revolución en Hojas de Cálculo de los últimos años.

Permiten generar informes rápidos y flexibles. Si usted llega a conocer bien su

funcionamiento puede cambiar radicalmente la gestión de su departamento o unidad de

negocio.

En este artículo vamos a crear una Tabla Dinámica partiendo de una base de datos. En la

tabla dispondremos de los costes de diferentes departamentos de la empresa para el año

2010 y la previsión para 2011. Crearemos un campo calculado que nos permita observar

el incremento de cada departamento en estos años.

Page 20: Excel función extrae

La base de datos de partida es sencilla.

Coste por Proyecto y Departamento

En Excel 2007 vamos al menú Insertar y luego Tabla Dinámica. Siguiendo unos sencillos

pasos llegamos a crear una tabla dinámica como la que se muestra en la siguiente

imagen:

Page 21: Excel función extrae

Disponemos de los costes del año 2010 y la previsión para 2011 por cada uno de los

departamentos. Los cuatro proyectos se han establecido como filtro de página en la parte

superior de la tabla dinámica.

Ahora deseamos disponer de una columna más que nos indique la variación porcentual

experimentada por los costes entre los años 2010 y 2011. Este objetivo se podría lograr

por varios métodos:

1. Escribiendo en la celda D5 la fórmula:  =C5/B5-1. Esta fórmula nos da el

incremento en tanto por uno. Para verlo en porcentaje basta pulsar sobre el icono de

porcentaje (%).

2. Establecer la fórmula anterior pero vinculando sobre las celdas C5 y B5. En este

caso veremos que la fórmula utiliza la función IMPORTARDATOSDINAMICOS. Esta forma

de trabajar tiene la ventaja de que esta función apunta a la tabla dinámica y por tanto no

perdemos el vínculo dinámico con la base de datos.

3. Crear un campo calculado. Este es el método que utilizaremos en este artículo.

Creación del campo calculado

Page 22: Excel función extrae

En Excel 2007 con el cursor sobre la tabla dinámica veremos arriba una nueva opción

denominada:

Herramientas de tabla dinámica

Al pulsar sobre ella se abren un nuevo menú sobre el que pulsaremos sobre Formulas.

La imagen anterior puede diferir de la que usted pueda ver en pantalla, ya que en Excel

2007 la cinta de opciones muestra diferentes iconos, o éstos más o menos resumidos en

función de la resolución de su pantalla y del tamaño de ventana que utilice.

Al pulsar sobre Fórmulas elegimos Campo calculado.

Aparece una ventana denominada Insertar campo calculado en el que crearemos la

fórmula:

=’2011′/’2010′-1

La fórmula se crea introduciendo los campos (columnas) de la tabla dinámica. En este

caso calculamos el porcentaje de variación por la clásica fórmula:

Valor Final / Valor Inicial -1

Expresión que es igual a la siguiente:

(Valor Final – Valor Inicial) / Valor Inicial

En nuestro caso los costes del año 2010 son los valores iniciales y las previsiones para

2011 son los valores finales.

Page 23: Excel función extrae

Esto genera una nueva columna que denominamos Var. % que recoge la variación

porcentual de los costes entre los años 2010 y 2011. Inicialmente los valores que nos dan

están en tanto por uno y hemos de ser nosotros los que debemos dar formato a esos

valores como Porcentaje de dos decimales.

Page 24: Excel función extrae

Los campos calculados son muy útiles al trabajar con tablas dinámicas y tienen la ventaja

de que no perdemos el vínculo dinámico con la base de datos.

Ejercicio propuesto

En la Hoja3 disponemos de una base de datos con 200 registros con los siguientes

campos: Fecha, Artículo, Facturación y Unidades. Nuestro objetivo es crear una tabla

dinámica agrupada por meses y trimestres en la que introducimos un campo calculado que

nos proporcione el precio medio de venta en cada mes.

Todos los datos de la base de datos son aleatorios. Así la fecha es un valor aleatorio del

primer semestre del año 2010, y se genera con la fórmula:

=ALEATORIO.ENTRE(FECHA(2010;1;1);FECHA(2010;6;30))

Los posibles artículos son cinco y se generan aleatoriamente con la fórmula:

=ELEGIR(ALEATORIO.ENTRE(1;5);”Art1″;”Art2″;”Art3″;”Art4″;”Art5″)

En Excel 2003 y anteriores para que no de error la fórmula ALEATORIO.ENTRE debemos

haber activado el complemento de Herramientas para análisis. Esto se puede activar en el

menú Herramientas, Complementos.

Agrupando las fechas simultáneamente por meses y por trimestres obtenemos la tabla

dinámica que se muestra en la imagen.

Page 25: Excel función extrae

Ahora hemos de crear el campo calculado que insertará una nueva columna en la tabla

dinámica. Pretendemos calcular el precio medio, por tanto hemos de dividir la facturación

entre el número de unidades.

La tabla dinámica que obtenemos ya incorpora el campo calculado Precio medio.

Page 26: Excel función extrae

Los resultados numéricos que usted obtenga serán diferentes de los que se muestran en la

anterior imagen, esto es debido a que la base de datos trabaja con valores aleatorios. Podemos

ver cómo cambian los valores de la tabla dinámica al actualizarla. Para ello pulse con el botón

derecho del ratón sobre la tabla dinámica y elija Actualizar.

Page 27: Excel función extrae

Al cambiar los datos en la base de datos nuestra tabla dinámica se actualiza al pulsar

sobre la opción Actualizar. En la gestión empresarial no dispondremos de datos aleatorios

en la base de datos pero éstos si serán cambiantes y podremos actualizar fácilmente

nuestros informes ya que la tabla dinámica no pierde el vínculo dinámico con la base de

datos.

XXXXXXXX

Eliminar celdas en blanco en Excel Posted On 06/06/2010 In Tips, Tutoriales Excel

Sabias que a través del comando de selección de MS Excel Ir a Especial podemos

eliminar celdas en blanco de forma más rápida y segura, ya que esta acción en la mayoría

de las veces se realiza de forma manual lo que en muchos casos se hace tedioso por el

volumen de los datos y hasta puede ocasionar errores.

¡En Practica!

Page 28: Excel función extrae

Veamos a continuación mediante un sencillo ejemplo como emplear este comando:

En un conjunto de datos que inicialmente vienen ordenados en una columna que tienen

celdas en blanco entre sí se requiere tener los datos ordenados pero sin las celdas en

blanco; una solución a este particular es emplear el comando de selección Ir a Especial.

El conjunto de datos inicialmente viene de la siguiente manera:

El primer paso es hacer la selección de todo el rango con datos y presionar la tecla F5 o el

método abreviado Ctrl + I en donde automáticamente aparecerá un cuadro de dialogo Ir a

en el cual vamos a seleccionar el botón Especial:

Page 29: Excel función extrae

Luego de haber hecho clic en el botón Especial aparecerá un nuevo cuadro de dialogo Ir a

Especial en donde vamos a seleccionar Celdas en blanco tal como se ve en la imagen

anexa:

Una vez hecho la selección hacemos clic sobre el botón Aceptar y de inmediato las celdas

en blanco ya están seleccionadas para que puedan ser eliminadas:

Para que las celdas en blanco puedan ser eliminadas debemos usar el metodo abreviado

Ctrl – en donde luego aparecerá un nuevo cuadro de dialogo Eliminar celdas en el cual

vamos hacer clic en la opción Desplazar las celdas hacia arriba:

Page 30: Excel función extrae

Una vez seguido estos pasos el resultado que vamos a obtener es que todas las celdas en

blanco del rango seleccionado ya no aparecen tal como se ve en la imagen anexa:

Este útil comando nos brinda una posibilidad muy util para la eliminación de celdas en

blanco de manera efectiva sobre todo si estamos manejando grandes volúmenes de datos.

XXXXXXXX

Prueba logica con color de fondo de una celda Posted On 07/08/2010 In Macros, Macros Excel

Recientemente uno de nuestros usuarios nos hizo una interesante pregunta, en la cual

manifestó lo siguiente: “¿Es posible poner un color de fondo como prueba lógica dentro de

la función SI de Ms Excel®?”

Page 31: Excel función extrae

La respuesta es sí, existen varios métodos con los que podemos construir la función a

partir de esa premisa sin embargo esta vez vamos a emplear una función desarrollada por

el MVP de MS Excel® Chip Pearson en su blog www.cpearson.com la cual nos va a

permitir elaborar una función que identifica el color de fondo de una celda para elaborar

con ella luego  fórmula que emplee la función SI para aplicar una prueba lógica al color de

fondo. Es necesario aplicar esta técnica dado que MS Excel® por defecto no trae una

función que permita identificar el color de fondo de una celda, debemos construirla a través

de Visual Basic.

Como todo lo demás que existe en el mundo de la computación los colores son realmente

un números.  Todos los colores que se muestran en la pantalla de la computadora se

encuentran definidos a partir de combinaciones de tres componentes primarios: uno rojo,

uno verde y uno azul. Esto es lo que se conoce como código RGB. Visual Basic para

Aplicaciones dispone de una función RGB que podemos emplear para combinar valores de

rojo, verde y azul para crear un valor de RGB en particular y en consecuencia un color en

específico. Chip Pearson precisamente aprovechó este particular para desarrollar un set

de funciones de gran utilidad que emplean como argumento el color de fondo de una celda

o de un rango de estas.

Lo primero que debemos realizar para conocer cual es nuestra paleta de colores

predeterminada es aplicar un simple código para que la misma se muestre en una hoja de

cálculo. La paleta de colores consta de 56 colores RGB que MS Excel® soporta para su

uso por ejemplo en los fondos de celdas y colores de fuentes. El valor de estos 56 colores

puede ser cualuiera de entre los 16 millones de colores disponibles pero en la práctica en

MS Excel® solo podemos emplear 56 colores al mismo tiempo.

El código a aplicar para conocer nuestra paleta de colores es el siguiente:

Código VBA – Atención: Antes de implementar este código tome la

precaución de guardar un soporte de su archivo. Excellentias no se

hace responsable por mal funcionamiento o daños que pueda causar la

implementación de este código.

     

Sub Displaypalette()

Dim N As Long

For N = 1 To 56

Page 32: Excel función extrae

Cells(N, 1).Interior.ColorIndex = N

Next N

End Sub

Este código cambia el color de fondo de las primeras 56 celdas de la hoja activa donde lo

ejecutemos. El número de fila será igual a un número que llamaremos  índice de colores,

que no es más en que la posición se encuentra un color de los que serán desplegados de

la fila 1 a la 56.

Para aquellos que dan sus primeros pasos en VBA  recuerden que para poder ejecutar

este código tan solo es necesario insertar un modulo nuevo en Microsoft Visual Basic en

donde vamos a cargar todos los códigos con los que vamos a trabajar en esta publicación.

Una vez cargado este código lo ejecutamos desde el panel de Microsoft Visual Basic o

bien desde la Cinta de Opciones en la ficha Programador/ Macros y con esto las primeras

56 celdas van a tener los primeros 56 colores de los 16 millones de colores disponibles.

Después de haberse ejecutado la macro el resultado es tal cual lo mostrado en la imagen

anexa:

Page 33: Excel función extrae

Esta paleta de colores nos va a servir mediante la función de color (ColorIndexOfOneCell)

para determinar un valor asociado que a su vez nos va a permitir crear la prueba

lógica con la función SI.

A continuación, para alcanzar nuestro objetivo inicial vamos a cargar el siguiente código de

Visual Basic que nos permitirá crear una nueva función ColorIndexOfOneCell la cual

partiendo de simples argumentos identifica cual es el color de fondo de una celda

para arrojarnos como resultado cual es el valor de índice de color (1 al 56) del fondo de

esta:

Código VBA – Atención: Antes de implementar este código tome la

precaución de guardar un soporte de su archivo. Excellentias no se

hace responsable por mal funcionamiento o daños que pueda causar la

implementación de este código.

     

Function ColorIndexOfOneCell(Cell As Range, OfText As Boolean, _

DefaultColorIndex As Long) As Long

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Page 34: Excel función extrae

' ColorIndexOfOneCell

' This returns the ColorIndex of the cell referenced by Cell.

' If Cell refers to more than one cell, only Cell(1,1) is

' tested. If OfText True, the ColorIndex of the Font property is

' returned. If OfText is False, the ColorIndex of the Interior

' property is returned. If DefaultColorIndex is >= 0, this

' value is returned if the ColorIndex is either xlColorIndexNone

' or xlColorIndexAutomatic.

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Dim CI As Long

 

Application.Volatile True

If OfText = True Then

CI = Cell(1, 1).Font.ColorIndex

Else

CI = Cell(1, 1).Interior.ColorIndex

End If

If CI < 0 Then

If IsValidColorIndex(ColorIndex:=DefaultColorIndex) = True

Then

CI = DefaultColorIndex

Else

CI = -1

Page 35: Excel función extrae

End If

End If

 

ColorIndexOfOneCell = CI

 

End Function

Private Function IsValidColorIndex(ColorIndex As Long) As Boolean

Select Case ColorIndex

Case 1 To 56

IsValidColorIndex = True

Case xlColorIndexAutomatic, xlColorIndexNone

IsValidColorIndex = True

Case Else

IsValidColorIndex = False

End Select

End Function

Esta función está compuesta por los siguientes argumentos:

=ColorIndexOfOneCell(Cell; OfText; DefaultColorIndex)

Page 36: Excel función extrae

Cell: es la celda cuyo color se debe leer.

OfText: son los argumentos lógicos Verdadero o Falso que indican si se devuelve el índice

de color de la fuente (OfText = Verdadero) o el fondo (OfText = Falso).

DefaultColorIndex: El parámetro DefaultColorIndex es un valor de índice de color (1 a 56)

que va a ser devuelto si no hay color específico  donde se ha asignado a la fuente o el

fondo del relleno.

La función ColorIndexOfOneCell ofrece una utilidad limitada ya que solo hace referencia a

una celda en particular para otros casos también Chip Pearson desarrollo funciones

adicionales con diferentes características que gustosamente pueden ver en su publicación

“Color Functions In Excel”.

Ahora vamos a probar que la función ColorIndexOfOneCell esté trabajando sin presentar

ningún inconveniente, los resultados iníciales los vemos mediante la siguiente imagen:

En efecto tal como vemos está funcionando correctamente ya que el color amarillo está

ubicado en la celda A6 por lo que el valor asociado a este es 6, ahora podemos trabajarla

en conjunto con la función SI.

Page 37: Excel función extrae

Tras haber realizado estos pasos ahora vamos a utilizar la función ColorIndexOfOneCell

como prueba lógica de la función SI (como recomendación previamente se debe tener

identificado cual es el valor asociado al color de la celda).

En el siguiente ejemplo tenemos una tabla con los resultados de las calificaciones de un

grupo de estudiantes con la condición de que para aprobar la materia la nota debe ser

superior a 10 puntos sino la celda se va a colorear de rojo, para esto con anterioridad se

seleccionaron las celdas donde están las calificaciones y se aplico Formato Condicional

con la Regla “Es menor que” colocando que si el valor es menor a 10 puntos el fondo pasa

a ser rojo.

Pues solo nos queda aplicar la función SI colocando como prueba lógica la función

ColorIndexOfOneCell que nos va a arrojar el valor 3 correspondiente al color rojo y si lo

asociamos con el resto de los argumentos (valor_si_verdadero) las notas que son

inferiores a 10 puntos el mensaje que se va reflejar es “Reprobó”, (valor_si_falso) si son

mayores el mensaje es “Aprobó”.

El resultado de esta operación es como lo mostrado en la siguiente imagen anexa:

Page 38: Excel función extrae

Para obtener este resultado previamente se deben hacer algunas modificaciones que

usualmente no realizamos sin embargo de acuerdo a nuestras necesidades nos ofrece una

excelente alternativa a una carencia de MS Excel®.

Les dejamos un archivo MS Excel® 2007 habilitado para macros con los pasos citados y el

ejemplo propuesto en esta publicación.

¿Tienen algún otro uso que se le pueda dar a esta interesante función? Pues les

recordamos que está disponible nuestro foro para responder a sus dudas y debatir sus

propuestas.

Espero la publicación les sea de mucha utilidad.

Saludos y éxito!

El Equipo de EXCELLENTIAS.COM

Fuente: Color Functions In Excel de Chip Pearson, Pearson Software Consulting, LLC.

XXXXXXXXXXXXXX

Como hacer un ranking en Excel Posted On 09/11/2010 In Formulas, Formulas y Funciones Excel

Page 39: Excel función extrae

MS Excel ofrece varias alternativas para jerarquizar valores de una lista de datos, una de

ellas es mediante la función JERARQUIA no obstante esta función es limitada

cuando requieres un Ranking en Excel un poco mas complejo. Mediante el uso de

formulas podemos lograr organizar los datos para proporcionar un análisis mucho más

profundo y significativo de los datos.

A continuación te explicamos en detalle como hacer un Ranking en Excel de valores

únicos en orden descendente y orden ascendente.

¡En Practica!

En una lista tenemos los puntos de un grupo de 10 nadadores, dichos puntos van a ser

necesarios para definir la clasificación a una segunda ronda de competición, es necesario

entonces emplear una forma que nos permita jerarquizar los resultados, la lista con la que

vamos a trabajar es la mostrada en la siguiente imagen:

El resultado requerido es que se devuelva el nombre del nadador que tenga más puntos

así como también hay que tomar en cuenta  que los valores deben estar en orden

descendente y deben ser resultados únicos.

En tal sentido vas a seguir los siguientes pasos para lograr realizar el ranking solicitado:

Paso 1

Vas a necesitar crear una columna adicional donde vas a insertar la función JERARQUIA y

vas a agregarle el factor de corrección para evitar que los valores repetidos afecten el

ranking y esto conlleve a que solo haya valores únicos, el resultado de aplicar la formula

con los criterios antes mencionados es tal como lo mostrado en la siguiente imagen:

Page 40: Excel función extrae

En la columna “Jerarquía” se empleo la siguiente formula para obtener valores únicos de

acuerdo a los datos de la columna “Puntos”:

=JERARQUIA(C3;$C$3:$C$12;0)+CONTAR.SI($C$3:C3;C3)-1

La formula arroja como resultado un ranking de acuerdo al nadador que tenga más puntos;

por ejemplo “Fernando” que tiene 13,63 puntos se le asigno la primera posición y David

que tiene 7,06 puntos se le asigno el séptimo puesto.

Paso 2

Insertas una columna adicional que vas a denominar “Nombre” y es donde vas a insertar la

formula que va a traer el nombre del nadador que tenga la mejor posición de acuerdo a los

puntos que posea.

La formula que vamos a emplear para lograr el resultado consta de las siguientes

funciones: DESREF, COINCIDIR, K.ESIMO.MENOR y FILA.

Cada una de las funciones va a cumplir una labor en específico de acuerdo a lo solicitado.

Mediante DESREF y empleando como argumento “fila” de la función utilizamos

COINCIDIR en conjunto con K.ESIMO.MENOR y FILA obtenemos el nombre del nadador

con mayor puntaje y mejor jerarquía con respecto al resto de los nadadores.

La formula resultante que empleamos es la mostrada a continuación:

=DESREF(B$3;COINCIDIR(K.ESIMO.MENOR(E$3:E$12;FILA()-

FILA(E$3)+1);E$3:E$12;0)-1;0)

Page 41: Excel función extrae

Aplicando esta formula a todo el conjunto de datos obtenemos los siguientes resultados:

Tal como se ve en la imagen anexa en la columna “Nombre” aparecen los nombres de los

nadadores ordenados de acuerdo a su ranking, como por ejemplo el caso de “Fernando”

quien posee ranking 1 y aparece en la primera posición de la lista, de igual forma el caso

de “David” que tiene ranking 7 y aparece en la séptima ubicación.

Paso 3

Por ultimo para tener la tabla completa vamos a traer los puntos que tuvo cada nadador y

los vamos a cargar del lado de los nombres, para ello vamos a emplear la función

BUSCARV con los argumentos que habitualmente empleamos quedando para este caso

de la siguiente manera:

=BUSCARV(H3;$B$3:$C$12;2;FALSO)

Resultados

La tabla con los resultados finales queda conforme a lo mostrado en la siguiente imagen:

Page 42: Excel función extrae

Ranking en orden ascendente

Se preguntaran ¿Es posible crear también una formula con un Ranking en Excel a la

inversa es decir, en orden ascendente? En efecto si, ingresando a la función

JERARQUIA y combinándola con la función CONTAR.SI podemos lograr que el

ranking sea en orden ascendente nuevamente mediante el uso de algunas formulas.

Vamos a continuar trabajando sobre la tabla que veníamos utilizando:

Para lograr que el ranking sea en orden ascendente primero insertamos una columna

adicional donde vamos a obtener los valores de la jerarquía, para luego insertar la formula

que vemos a continuación:

=CONTAR($C$16:$C$25)-

(JERARQUIA(C16;$C$16:$C$25;0)+CONTAR.SI($C$16:C16;C16))+2

El resultado que vamos a alcanzar con la formula anterior es que de acuerdo a los puntos

que tenga cada nadador se va a arrojar un valor en orden descendente,  los resultados de

aplicar la formula los podemos apreciar mediante la siguiente imagen:

Page 43: Excel función extrae

Los valores del ranking tal como se ve en la imagen ahora han cambiado por ejemplo para

el caso del nadador “Fernando” la jerarquía da como valor 10 (Diez) y para el nadador

“David” la jerarquía da como resultado 4 (Cuatro).

Solo resta crear una columna donde vamos a tener los nombres de los nadadores de

acuerdo a su posición en el ranking, para ello vamos a emplear la formula que utilizamos

para el primer ejemplo:

=DESREF(B$16;COINCIDIR(K.ESIMO.MENOR(E$16:E$25;FILA()-

FILA(E$16)+1);E$16:E$25;0)-1;0)

Dicha formula permite ordenar Mediante la función  DESREF y en combinación con 

COINCIDIR, K.ESIMO.MENOR y FILA el nombre del nadador con el valor jerarquía más

bajo con respecto al resto de los nadadores.

Los resultados de emplear la formula lo observamos mediante la siguiente imagen:

Page 44: Excel función extrae

Tal como se ve el orden de los nombres de los nadadores cambio ya que el valor de el

ranking para este caso es en orden ascendente y los nombres son ordenados de acuerdo

al que tenga menor puntos en adelante.

Existen opciones adicionales para hacer un Ranking en Excel no obstante las formulas

presentadas en este artículo son una muy buena opción a la hora de elaborar una

jerarquía dentro de un grupo de datos.

XXXXXXXX

Funcion Excel SI.ERROR Posted On 11/01/2011 In Formulas y Funciones Excel, Logicas

Dentro del manejo diario de tablas en MS Excel es probable que tengamos errores en los

cálculos por infinidad de razones, es por eso necesario aplicar un corrector que nos haga

el trabajo de limpiar los errores de los cálculos, para ese trabajo tenemos disponible desde

la versión MS Excel 2007 la función SI.ERROR la cual de acuerdo a la gama de errores

que puedan suceder en Excel arroja un valor o mensaje que establezcamos dentro de los

argumentos de la función.

Función SI.ERROR

La función SI.ERROR devuelve un valor que se especifica si una fórmula lo evalúa como

un error; de lo contrario, devuelve el resultado de la fórmula. La función SI.ERROR es

adecuada para interceptar y controlar errores dentro de una fórmula.

La función SI.ERROR la puedes hallar en la Biblioteca de funciones dentro de

la categoría de funciones Lógicas tal como se ve en la imagen anexa:

Page 45: Excel función extrae

La sintaxis de la función SI.ERROR es la siguiente:

=SI.ERROR(valor,valor_si_error)

Valor: Es el argumento en el que se busca un error. Puede ser una referencia a una

función o formula.

Valor_si_error: Es el valor o mensaje que se devuelve si la fórmula lo evalúa como error.

Los tipos de error que son evaluados en la función son los siguientes:

#N/A

#¡VALOR!

#¡REF!

#¡DIV/0!

#¡NUM!

#¿NOMBRE?

#¡NULO!

Importante para su consideración

Si valor o valor_si_error están en una celda vacía, SI.ERROR los trata como un

valor de cadena vacía (“”).

Si valor es una fórmula de matriz, SI.ERROR devuelve una matriz de resultados

para cada celda del rango especificado en el valor.

¡En Practica!

Page 46: Excel función extrae

Esta función reemplazaría el uso que le veníamos dando a la formula que se empleaba

con la función lógica SI y con la función de información ESERROR ya que en versiones

anteriores a MS Excel 2007 esta era la alternativa mas popular para limpiar los errores de

una tabla de datos.

Si tenemos dentro de un conjunto de datos las ventas de un grupo de vendedores pero

que en relación a todo el grupo existen personas que no hicieron ventas y si usamos la

función de búsqueda y referencia BUSCARV para devolver el numero de ventas que estos

hicieron esta va arrojar error #N/A en los casos donde no encuentre resultados para los

vendedores que no hicieron ninguna venta. Entonces a partir de los datos que tenemos

podemos crear una formula sencilla con la función SI.ERROR y la función BUSCARV para

limpiar los errores que se generen con la función.

La tabla de datos con la que vamos a trabajar es tal como la mostrada en la imagen anexa:

Podemos establecer dos tipos de corrección en los datos para cuando la función nos arroje

error:

Establecer un mensaje que indique “No realizó ventas” el cual nos sirve como

alarma visual dentro del conjunto de datos.

Establecer el valor “0” Cero que nos sirva de igual forma como alarma visual para

saber que vendedores no hicieron ventas dentro de un periodo.

Page 47: Excel función extrae

Teniendo los parámetros definidos ahora vamos a construir la formula, de acuerdo al

primer tipo de corrección la formula debe arrojar un mensaje, entonces si los datos parten

desde la celda B6 a la celda C12, la formula con la función SI.ERROR y BUSCARV la

insertamos en la celda E6, quedando de la siguiente manera:

=SI.ERROR(BUSCARV(D6;$B$6:$C$12;2;FALSO);”No realizó ventas”)

En relación al segundo tipo de corrección la formula debe arrojar “0” cuando el vendedor

no este dentro de la lista a la cual hace referencia la función BUSCARV, por lo cual la si

los datos parten desde la celda B6 a la celda C12, la formula con la función SI.ERROR y

BUSCARV la insertamos en la celda F6, quedando de la siguiente manera:

=SI.ERROR(BUSCARV(D6;$B$6:$C$12;2;FALSO);0)

Vemos mediante la siguiente imagen los resultados:

XXXXXXXX

Formula Excel para extraer dos últimos dígitos del nombre y apellido Posted On 01/12/2010 In Formulas, Formulas y Funciones Excel

Sin duda alguna el corazón de MS Excel y de cualquier hoja de cálculo son las funciones

que contiene y en consecuencia una de las más interesantes y útiles opciones que nos

pueden ofrecer estas herramientas es la capacidad de elaborar  formulas como resultado

Page 48: Excel función extrae

de la combinación de funciones, operadores aritméticos o lógicos y el contenido de otras

celdas o rangos de celdas. Mediante un uso inteligente de las diversas funciones que trae

por defecto MS Excel podemos construir un sinfín de formulas que te permiten aprovechar

al máximo la herramienta.

Por ejemplo, con frecuencia en los departamentos de tecnología resulta necesario generar

nombres de usuarios únicos para los empleados de una empresa a partir de los dos

últimos dígitos del nombre y el apellido de los empleados, como un mecanismo de control

de ingreso. Una opción apropiada en este caso es emplear una formula de Excel que nos

permitirá extraer de ciertos campos de datos solo la información requerida y concatenarla

para obtener un nombre de usuario.

¡En Practica!

Las funciones que vamos a utilizar para elaborar la formula de Excel son: CONCATENAR,

DERECHA, ESPACIOS y ENCONTRAR, con las cuales vamos a extraer los datos

necesarios en el ejemplo antes mencionado.

La tabla con los nombres y apellidos esta ordenada tal como en la imagen anexa:

La forma en que deben quedar los usuarios es por ejemplo como en el primer nombre de

la lista (Juan Antonio Sánchez): io-io-ez

Page 49: Excel función extrae

Ahora tomando en cuenta el parámetro original que indica que la formula de Excel nos

debe devolver solo los dos últimos dígitos de los nombres y el apellido y adicionalmente

estar separados entre sí por medio de un guion (-), entonces vamos a empezar a preparar

la formula.

Preparar la formula

Para este ejemplo la lista de nombres empieza a partir la celda B7, el primer segmento del

nombre de usuario lo obtenemos mediante la siguiente formula:

=DERECHA(ESPACIOS(IZQUIERDA(ESPACIOS(B7);ENCONTRAR(”

“;ESPACIOS(B7);1)));2)

Teniendo como resultado: io

El segundo segmento del nombre de usuario lo generamos con la siguiente formula:

=DERECHA(ESPACIOS(IZQUIERDA(ESPACIOS(DERECHA(ESPACIOS(B7);LARGO(ES

PACIOS(B7))-ENCONTRAR(” “;ESPACIOS(B7);1)));ENCONTRAR(”

“;ESPACIOS(DERECHA(ESPACIOS(B7);LARGO(ESPACIOS(B7))-ENCONTRAR(”

“;ESPACIOS(B7);1)));1)));2)

Teniendo como resultado: io

Finalmente para obtener el último segmento del nombre solo agregamos a la formula los

siguientes argumentos de la función DERECHA:

=DERECHA(ESPACIOS(B7);2)

Teniendo como resultado: ez

Uniendo todos los argumentos antes mencionados mediante la función CONCATENAR y

agregando  (-) para separar los caracteres se crea la siguiente formula de Excel:

=CONCATENAR(DERECHA(ESPACIOS(IZQUIERDA(ESPACIOS(B7);ENCONTRAR(”

“;ESPACIOS(B7);1)));2);”-”;DERECHA(ESPACIOS(IZQUIERDA(ESPACIOS(DERECHA(E

SPACIOS(B7);LARGO(ESPACIOS(B7))-ENCONTRAR(”

“;ESPACIOS(B7);1)));ENCONTRAR(”

“;ESPACIOS(DERECHA(ESPACIOS(B7);LARGO(ESPACIOS(B7))-ENCONTRAR(”

“;ESPACIOS(B7);1)));1)));2);”-”;DERECHA(ESPACIOS(B7);2))

Page 50: Excel función extrae

¡Y listo! Nos da el resultado requerido, por ejemplo para el primer nombre y apellido el

usuario que se genera es el siguiente: io-io-ez.

Nota Editorial: La formula está construida para que solo devuelva datos con dos nombres

y un apellido, si se requiere emplearlo para nombres compuestos por solo un nombre y un

apellido debemos quitar el último argumento de la formula:

=DERECHA(ESPACIOS(B7);2). Los niveles permitidos de anidamiento en la versión de

Excel 2003 no hace posible tener la formula en esa versión

otra manera de llegar a lo requerido.

=CONCATENAR(EXTRAE(B7,HALLAR(” “,B7,1)-2,2),”-”,EXTRAE(B7,HALLAR(”

“,B7,HALLAR(” “,B7,1)+1)-2,2),”-”,DERECHA(B7,2))

XXXXXXXXX

Extraer números o letras de códigos alfanuméricos en Excel

Page 51: Excel función extrae

MARTES, ABRIL 24, 2007

En esta nota veremos cómo extraer con Excel los números, o las letras, de códigos

alfanuméricos.

Muchas empresas usan códigos alfanuméricos, por ejemplo, para los números de

catálogo, como por ejemplo 123ABC. A veces se presenta la necesidad de aislar la parte

numérica o las letras de estos códigos.

En la primera parte de esta nota veremos una solución con fórmulas Excel, útil para los

casos en los que las cifras y las letras están agrupadas.

En la segunda parte veremos una solución con una UDF (función definida por el usuario)

para los casos en los que no hay agrupación de cifras y letras (por ejemplo, 12A3BC).

Solución con fórmulas (cifras y letras agrupadas)

Fuente: Extracting numbers from alphanumeric strings

Supongamos que en la celda A1 de nuestra hoja de Excel tenemos el código ABC123.

Nuestra tarea es extraer, con fórmulas Excel, la parte numérica, es decir, 123.

Como los números y las letras están agrupados, nuestra fórmula deberá hacer lo

siguiente:

1 – descomponer el código en sus componentes

Esto lo hacemos combinando las funciones EXTRAER y FILA de la siguiente manera

=EXTRAE(A1;FILA($1:$7);1)

Esta fórmula descompone el codigo ABC123 y pone cada uno de sus componentes en

una matriz virtual definida por la función FILA. En este ejemplo FILA define 7 filas, pero

podemos agregar más en caso de ser necesario.

2- determinar si hay un número en el código

Para esto combinamos la función ESNUMERO en la fórmula anterior

=ESNUMERO(1*EXTRAE(A1;FILA($1:$7);1))

Page 52: Excel función extrae

Esta fórmula genera una matriz de valores VERDADERO y FALSO.

Al usar EXTRAE los números son convertidos en texto, por lo tanto tenemos que

multiplicar la expresión por 1 para forzar la conversión nuevamente a números.

3 – encontrar la posición del primer número (dígito) en el código

Para esto usamos la función COINCIDIR de la siguiente manera:

=COINCIDIR(VERDADERO;ESNUMERO(1*EXTRAE(A1;FILA($1:$7);1));0)

Ésta es una función matricial y debe ser introducida pulsando simultáneamente

Ctrl+Mayúsculas+Enter

4 – contar cuántos números hay en el código

Finalmente necesitamos contar cuantas cifras componen la parte numérica del código,

lo que hacemos con la función CONTAR

={CONTAR(1*EXTRAE(A1;FILA($1:$8);1))}

Ahora combinamos todo junto en esta fórmula matricial

=EXTRAE(A1;COINCIDIR(VERDADERO;ESNUMERO(1*EXTRAE(A1;FILA($1:$8);1));0);CONT

AR(1*EXTRAE(A1;FILA($1:$8);1)))

Si queremos extraer las letras tenemos que modificar la fórmula

- cambiando el argumento VERDADERO en la fórmula a FALSO

- agregando la función LARGO para calcular la cantidad de letras a extraer, reatando de

ella la función CONTAR

=EXTRAE(A1;COINCIDIR(FALSO;ESNUMERO(1*EXTRAE(A1;FILA($1:$9);1));0);LARGO(A1

)-CONTAR(1*EXTRAE(A1;FILA($1:$9);1)))

En hoja 1 del cuaderno con el ejemplo podemos ver los distintos casos.

Page 53: Excel función extrae

Solución con UDF (función definida por el usuario)

Cuando las letras y las cifras no están agrupadas en el código, el resultado de las

fórmulas es incorrecto. Para esos casos, podemos escribir una función definida por el

usuario.

En un módulo del editor de Vba escribimos este código

Function ext_num_let(celda As Range, tipo As Boolean)

Dim iX As Integer, resultado As String, temp As String

Select Case tipo

Case 1

For iX = 1 To Len(celda)

temp = Mid(celda, iX, 1)

If IsNumeric(temp) Then

resultado = resultado & temp

End If

Next iX

Case Else

For iX = 1 To Len(celda)

temp = Mid(celda, iX, 1)

If Not IsNumeric(temp) Then

resultado = resultado & temp

End If

Next iX

End Select

ext_num_let = resultado

End Function

Page 54: Excel función extrae

Esta función usa dos argumentos:

- Celda: la celda que contiene el código

- Tipo: 1 para extraer cifras, 0 para extraer letras

Technorati Tags: MS Excel

Posted by Jorge Dunkelman at 11:15 p.m.

Enviar esto por correo electrónico BlogThis! Compartir en Twitter Compartir en Facebook

Labels: Funciones y Formulas, Macros

19 comments: F3R,  05 febrero, 2010 03:21  

excelente trabajo !!! mil gracias por compartir la información, me salvaste la vida con algo

para el trabajo, justo estan todos de vacaciones y necesitaba hacer justo esto para mañana.

graciasAnónimo,  04 noviembre, 2010 18:58  

No me funciona me da #N/AJorge L. Dunkelman,  04 noviembre, 2010 19:54  

Descargá el cuaderno con el ejemplo y fijate qué es lo que estás haciendo mal.Anónimo,  10 noviembre, 2010 19:24  

el link del archivo no sirve da errorJorge L. Dunkelman,  11 noviembre, 2010 17:22  

Acabo de corregir el enlace. Estás invitado a descargar el cuaderno.

Además, asegurate de introducir la fórmula como fórmula matricial (apretando

simultáneamente Ctrl+Mayúsculas+Enter).FELIX,  04 diciembre, 2010 01:38  

LA MACRO SI FUNCIONA PERO LA FORMULA NO FUNCIONA CON DATOS COMO

ESTE A1C123Jorge L. Dunkelman,  04 diciembre, 2010 07:28  

Efectivamente, la fórmula supone que que los números y las letras están agrupados, como

en ABC123 o 123ABC.Marcos,  14 abril, 2011 23:09  

Jorge, como estas, estoy ocupando la formula para extraer numeros, pero al momento de

querer automatizarla en una macro no funciona, por lo que ¿como codifico en VB el

Ctrl+Mayúsculas+Enter (matricial) para la formula?

Page 55: Excel función extrae

Muchas gracias y que estes bienJorge L. Dunkelman,  16 abril, 2011 14:29  

En la nota aparece una macro que hace esa tarea. ¿Por qué poner la fórmula en una

macro?Pablo Limeno,  25 julio, 2011 11:22  

Sin comentario !

Excelente trabajo, me ha ahorrado meses de estudio y me sirve para mi trabajo.

GRACIAS NUEVAMENTEJorge L. Dunkelman,  24 septiembre, 2011 13:35  

Parece que por error he eliminao un comentario que decía

la verdad que muy buena la formula... pero en el caso de que no se encuentre ordenado el

codigo? por ejemplo: 12ab34cd

O que se tengan codigos mas complicados como ser: AB.1234_list_01_90x90_SPA.FLV ??

La respuesta es usar la función UDF que aparece al final de la nota.makuki,  02 marzo, 2013 11:54  

Meter en un módulo esta función y usar la funcion.

Public Function GetNum(Valor As String) As Integer

Dim T As String

Dim Ch As String

For f = 1 To Len(Valor)

Ch = Mid(Valor, f, 1)

If IsNumeric(Ch) Then

T = T & Ch

End If

Next

GetNum = Val(T)

End FunctionJorge L. Dunkelman,  02 marzo, 2013 19:33  

Hola Makuki, gracias por colaborar pero tengo que hacer dos observaciones:

1 - en el código falta declarar la variable "f", por lo que la función falla al intentar usarla

(basta con agregar Dim f as ...);

2 - la función sólo extrae valores numéricos.Celso Fonseca,  14 junio, 2013 23:21  

Page 56: Excel función extrae

oye me podrias en enviar el codigo ya corregido por favor nuevamente muchas gracias Jorge Dunkelman,  16 junio, 2013 00:04  

Todo lo que tienes que hacer es copiar el código que aparece en la nota.Rolando Trigo,  10 julio, 2013 02:03  

Hola, ¿como puedo extraer solamente numeros de 5 digitos que estan entre caracteres

comunes pero en una sola linea de texto?. Y despues colocar estos numeros de 5 digitos

en otro contexto en comun, por ejemplo entemedio de hola y chao.

Ej: abcd89808fghipoijifjdjabcd75009fghirwecbcbjabcd46892fghgfdgdabcd32987fghikllkjfd

extraer todos los numeros de 5 digitos y pasarlos entremedio de todos los hola y chao asi:

hola89808chao

hola75009chao

hola46892chao

hola32987chao

¿Es posible?. De antemano muchas graciasCAMS-INAMBARI,  12 julio, 2013 14:41  

Buena información!!

Tengo una caso muy practico, donde deseo extraer las primeras palabras de cada nombre

científico:

Cedrela odorata = ceodJorge Dunkelman,  13 julio, 2013 23:05  

Si el texto de las celdas sigue siempre esa estructura (dos palabras separadas por un

espacio), podrías usar esta fórmula:

=IZQUIERDA(A1;2)&EXTRAE(A1;HALLAR(" ";A1)+1;2)Jorge Dunkelman,  14 julio, 2013 09:42  

Rolando,

la forma de hacerlo sería usando Vba (macros).

XXXXXXXX