SlideShare una empresa de Scribd logo
En este sitio encontrará una gran variedad de recursos y software relacionado, que
le servirán como complemento al contenido del libro. Además, tendrá la posibili-
dad de estar en contacto con los editores, y de participar del foro de lectores, en
donde podrá intercambiar opiniones y experiencias.
Si desea más información sobre el libro puede comunicarse con
nuestro Servicio de Atención al Lector: usershop@redusers.com
This book contains more than 150 tips and tricks
that were selected from the questions sent to
Users magazine by its readers from all over the
world. This is an exceptional book with plain
language and concrete solutions, that every Excel
fan or heavy user should have.
EXCEL HACKS
Claudio Sánchez es un reconocido experto en Excel que recibe diariamente,
desde hace más de diez años, las más frecuentes, insólitas, imposibles e
inverosímiles consultas y problemas desde distintas partes de Latinoamérica.
Todas tienen un lugar en el interminable arcón de soluciones, consejos y
trucos de este verdadero genio, un referente con confirmada trayectoria en
la planilla de cálculos más usada del mundo.
Este libro presenta la segunda selección de las mejores preguntas basadas
en la experiencia de miles de usuarios y las respuestas a cada uno de
estos interrogantes. Un compendio imperdible e infaltable, con más de 150
soluciones a temas tan variados como gráficos, formatos, fórmulas, cálcu-
los, funciones, impresión, bases de datos, macros, y mucho más.
Definitivamente, una obra imprescindible para quienes utilizan con regu-
laridad este programa y desean conocer hasta sus rincones más oscuros.
por Claudio Sánchez
CONTENIDO
N I V E L D E U S U A R I O
PRINCIPIANTE INTERMEDIO AVANZADO EXPERTO
1 | FORMATOS
Formato para tres cifras / Caracteres matemáticos / Anchos
en centímetros / Hoja oculta / Ocultar ceros / Formato rebelde /
Bordes redondeados / Código de barras / Números en modo
texto / El color según el valor / Resaltar series de datos /
Ocultar resultados
2 | IMPRESIÓN
Imprimir imágenes / Imprimir factura / Configurar páginas /
Elegir impresora / Contar páginas / Original, duplicado
y triplicado / Encabezado variable / Combinar correspondencia
3 | GRÁFICOS
Histograma / Señalar promedio / Gráfico dinámico / Gráfico
y subgráfico / Barras de colores / Gráficos en cuatro
cuadrantes / Área bajo una curva / Escala de gráficos /
Gráfico para balance
4 | LAS FUNCIONES ESPECIALES
Estilos de puntuación / Dato móvil / Series de hojas /
Letras aleatorias / Redondeo truncado / El cambio exacto /
El botón Autosuma / Resolver ecuaciones / Cálculos con
matrices complejas / Detectar celda marcada / Eliminar
blancos / Sumar datos como texto / Fórmulas automáticas /
Criptofrases
5 | CÁLCULOS CONDICIONALES
Negativos y ceros / Funciones dentro de funciones /
Multicondicional / Demasiadas condiciones / Cobradas,
pendientes y anuladas / Contar celdas / Condición de entero /
Deuda impaga y vencida / Problema con repetidos /
Condiciones aproximadas
6 | CÁLCULOS CON FECHAS Y HORAS
Reconstruir fecha / Cierres de ejercicio / Series de meses
y de días hábiles / Señalar fines de semana / Anunciar
vencimiento / Contar por semestre / Última fecha / Contar
por hora / Horas y porcentajes / Reloj fichador / Formulario
con calendario / Un problema con el idioma
7 | OPERACIONES CON BASES DE DATOS
Carga rápida / Autocompletar / Eliminar blancos / Ordenar
por terminación / Recuperar hipervínculo / Extraer datos /
Datos comunes / Extraer lista / Problema con autofiltro /
Filtros múltiples / Filtrar varias hojas / Datos desde la Web
8 | MACROS
Botones de macro / Alarmas / Señalar fila y columna /
Barra de progreso / De Visual Basic a Excel / Validar
respuestas / Macro suicida / Identificar formato /
Rango variable / Generador de exámenes /Conteo por color /
Extraer comentario / Elegir imágenes
redusers.com
EXCEL REVELADO
Tapa excel revelado.qxp 13/01/2010 21:20 PÆgina 1
>> MICROSOFT
>> 320 PÁGINAS
>> ISBN 978-987-1347-91-9
>> MICROSOFT
>> 320 PÁGINA
>> ISBN 978-98
>> MICROSOFT / EMPRESAS
>> 256 PÁGINAS
>> ISBN 978-987-1347-84-1
>> MICROSOFT
>> 256 PÁGINA
>> ISBN 978-98
>> MICROSOFT
>> 400 PÁGINAS
>> ISBN 978-987-1347-68-1
>> MICROSOFT
>> 400 PÁGINA
>> ISBN 978-98
>> MICROSOFT / HOME
>> 352 PÁGINAS
>> ISBN 978-987-663-007-8
>> MICROSOFT
>> 352 PÁGINA
>> ISBN 978-98
Bombo - RT - LIBRO Excel Revelado - Ene 10 - EDITABLE.indd 1Bombo - RT - LIBRO Excel Revelado - Ene 10 - EDITABLE.indd 1 13/01/2010 17:18:2713/01/2010 17:18:27
Untitled-1 1Untitled-1 1 14/01/2010 15:10:1014/01/2010 15:10:10
www.redusers.com
TÍTULO: EXCEL REVELADO
AUTOR: Claudio Sánchez
COLECCIÓN: Manuales USERS
FORMATO: 17 x 24 cm
PÁGINAS: 336
Copyright © MMX. Es una publicación de Gradi S.A. Hecho el depósito que marca la
ley 11723. Todos los derechos reservados. No se permite la reproducción parcial o to-
tal, el almacenamiento, el alquiler, la transmisión o la transformación de este libro, en
cualquier forma o por cualquier medio, sea electrónico o mecánico, mediante foto-
copias, digitalización u otros métodos, sin el permiso previo y escrito del editor. Su
infracción está penada por las leyes 11723 y 25446. La editorial no asume responsa-
bilidad alguna por cualquier consecuencia derivada de la fabricación, funcionamien-
to y/o utilización de los servicios y productos que se describen y/o analizan. Todas las
marcas mencionadas en este libro son propiedad exclusiva de sus respectivos due-
ños. Impreso en Argentina. Libro de edición argentina. Primera impresión realizada
en Sevagraf, Costa Rica 5226, Grand Bourg, Malvinas Argentinas, Pcia. de Buenos
Aires en enero de MMX.
ISBN 978-987-663-021-4
Sánchez, Claudio
Excel revelado. - 1a ed. - Banfield - Lomas de Zamora : Gradi, 2010.
v. 180, 336 p. ; 24x17 cm. - (Manual users)
ISBN 978-987-663-021-4
1. Informática. I. Título
CDD 005.3
00_Excel revelado.qxp 14/01/2010 15:25 PÆgina 2
REDISEÑO BOMBOS LIBROS - PAG 01 - Base Editable - Nov 09.indd 1REDISEÑO BOMBOS LIBROS - PAG 01 - Base Editable - Nov 09.indd 1 15/12/2009 11:57:4915/12/2009 11:57:49
4
PRELIMINARES
www.redusers.com
Claudio Sánchez
Es ingeniero industrial y lleva más de quince años dedicados a la
computación y a su enseñanza. Ha publicado más de cien artícu-
los en revistas especializadas de la Argentina, España, Estados Uni-
dos y Chile. Actualmente escribe columnas sobre Excel en la revis-
ta argentina USERS y en la española Personal Computer & Internet
y artículos de divulgación en diversos medios de la Argentina.
Lleva publicados más de cuarenta libros, la mayoría sobre Excel,
que son éxitos de venta en toda Hispanoamérica.
Claudio también es profesor de física y divulgador científico, y
recorre el país con sus conferencias sobre ciencia.
00_superplanillas2.qxp 12/29/09 4:04 PM Page 4
5
PRÓLOGO
Corría el año 1994 y PC Users ya se había convertido en la revista líder de compu-
tación, caracterizada por una activa participación de los lectores, que inundaban
nuestro buzón (eran los años anteriores al correo electrónico) con propuestas, tru-
cos, consultas y pedidos. Así es que se nos ocurrió hacer “El Lector Ataca”, una edi-
ción especial escrita totalmente por los lectores.
Entre las notas que seleccionamos para ser publicadas estaba una de Claudio Sán-
chez, sobre las máquinas de Turing. Al año siguiente, Claudio preparó otra sobre el
biorritmo y, a partir de ese momento, se convirtió en SuperPlanilla, nuestro exper-
to en planillas de cálculo. Actualmente, ya lleva escritas más de doscientas notas y
contestadas unas seiscientas consultas.
Cada pregunta que un lector le hace a Claudio sobre una planilla es contestada con al
menos una solución creativa y eficiente. Así es como se formó a su alrededor una fiel
comunidad de seguidores de su sección, al punto que se casó con una de sus lectoras.
Este libro es una muestra tangible de la cantidad y variedad de consultas que re-
cibe Claudio a diario. En él conviven tanto las dudas comunes y recurrentes, co-
mo aquellos planteos que a simple vista parecen imposibles de solucionar. Para
todo hay una respuesta, y en muchos casos se ofrece más de una solución para
que el lector decida qué camino elegir.
Todas las preguntas que reunimos aquí surgen a partir de planteos e inquietudes que
se presentan con el uso cotidiano de la planilla de cálculo. Es por eso que estamos
seguros de que en esta obra encontrarán la respuesta que estaban buscando.
Miguel Lederkremer
Director Editorial
Prólogo
www.redusers.com
00_superplanillas2.qxp 12/29/09 4:04 PM Page 5
PRELIMINARES
6 www.redusers.com6
EL LIBRO DE UN VISTAZO
Excel nos permite resolver una gran cantidad de problemas y tareas tanto en la oficina como en el
hogar. Pero no siempre las opciones y comandos del programa resultan tan sencillos e intuitivos
como parecen. En este libro un experto nos brinda respuesta a un sinnúmero de consultas de las
más variadas, que nos mostrarán el potencial de la herramienta en todo su esplendor.
Capítulo 1
FORMATOS
Las preguntas respondidas en este
capítulo presentan diversas opciones,
recursos y trucos para controlar el aspecto
que muestran los datos de una hoja de Excel.
Aunque los comandos básicos son bastante
fáciles de usar, muchas veces nos
encontramos con casos especiales que
parecen escapar a todo formato convencional.
Capítulo 2
IMPRESIÓN
Todos los usuarios de Excel sabemos
imprimir las planillas. Conocemos cómo
configurar el tamaño de la hoja, los márgenes
y los encabezados. Pero las dificultades que
aparecen a la hora de imprimir un archivo de
Excel suelen ir más allá de las opciones de
impresión propiamente dichas. En este
capítulo resolveremos algunos problemas
relacionados con la impresión de planillas,
que no siempre tienen solución a través de
las opciones convencionales.
Capítulo 3
GRÁFICOS
Los gráficos son una opción atractiva de
los programas de planilla de cálculo. Son fáciles
de hacer y lindos de ver. Sin embargo, como
todo en Excel, tienen sus secretos. A veces
vemos gráficos muy interesantes, pero cuando
tratamos de reproducirlos, no encontramos las
opciones necesarias. Hay ciertos trucos y
técnicas “secretas” que sirven para lograr
efectos que no aparecen en los comandos y
opciones estándares. Con esos trucos y
técnicas daremos respuesta a los problemas
planteados en las consultas de este capítulo.
Capítulo 4
LAS FUNCIONES ESPECIALES
Excel cuenta con un arsenal de más de
trescientas funciones para cálculos especiales.
La más conocida es la función SUMA, pero hay
muchas más, para todo tipo de operaciones
matemáticas y financieras, para manejar
textos, etcétera. Curiosamente, muchas de
estas funciones se pueden usar para resolver
problemas que, en principio, no parecen estar
vinculadas con el objetivo natural de la función.
En este capítulo explicaremos diversas
aplicaciones de estas funciones.
Capítulo 5
CÁLCULOS CONDICIONALES
Los cálculos condicionales son
operaciones cuyo resultado depende de una
condición. En general, estos cálculos se
realizan con la función SI. Pero también hay
otros casos en que esta función se usa junto
con otras, en combinaciones no siempre
obvias. En este capítulo plantearemos una
gran variedad de problemas que se resuelven
con este tipo de expresiones. Algunos muy
simples y otros más complejos.
00_superplanillas2.qxp 12/29/09 4:04 PM Page 6
www.redusers.com
El libro de un vistazo
7
!
A lo largo de este manual encontrará una serie de recuadros que le brindarán información
complementaria: curiosidades, trucos, ideas y consejos sobre los temas tratados.
Cada recuadro está identificado con uno de los siguientes iconos:
INFORMACIÓN COMPLEMENTARIA
CURIOSIDADES
E IDEAS
DATOS ÚTILES
Y NOVEDADES
ATENCIÓN SITIOS WEB
Capítulo 6
CÁLCULOS CON FECHAS Y HORAS
Los datos que representan fechas u
horas tienen un tratamiento especial dentro
de las hojas de Excel. Con ellos podemos
calcular vencimientos, horas trabajadas,
tiempos de carrera, etcétera. Excel dispone
de opciones y recursos específicos para este
tipo de datos. Las preguntas respondidas en
este capítulo presentan ejemplos de uso de
estas opciones y recursos.
Capítulo 7
OPERACIONES CON BASES DE DATOS
Las bases de datos son un tipo
especial de planillas de Excel. Se trata de
listas formadas por columnas que contienen
un tipo de dato determinado. Por lo general,
en ellas no hay fórmulas, las operaciones
sobre este tipo de planillas consisten en
ciertas manipulaciones de los datos:
ordenarlos, copiarlos a otro lugar, extraer
cierta información. En este capítulo
planteamos problemas y soluciones
asociados a este tipo de hojas y algunos otros
que, aunque no son exactamente sobre bases
de datos, están emparentados con ellas.
Capítulo 8
MACROS
Las macros de Excel permiten resolver
en un solo paso problemas que, en principio,
requerirían de un conjunto de operaciones
convencionales. Aunque los problemas
resueltos con macros suelen ser los más
complejos, en este capítulo contestamos
preguntas de todo tipo: algunas que requieren
macros muy simples, “que se explican solas” y
otras que constituyen verdaderos sistemas.
Capítulo 9
MISCELÁNEA
La cantidad y variedad de problemas
que se pueden resolver con Excel es tal que
se hace muy difícil clasificarlos. Una misma
dificultad puede involucrar distintos tipos de
recursos: funciones, comandos, macros. En
este capítulo agrupamos todo lo inclasificable,
lo que no nos fue posible encuadrar en
ninguno de los demás capítulos.
Servicios al lector
En este apartado brindamos un índice que nos
ayudará a encontrar los términos más
importantes de esta obra.
00_superplanillas2.qxp 12/29/09 4:04 PM Page 7
PRELIMINARES
8 www.redusers.com
Sobre el autor 4
Prólogo 5
El libro de un vistazo 6
Información complementaria 7
Introducción 12
Capítulo 1
FORMATOS
Formato para tres cifras 14
Caracteres matemáticos 16
Anchos en centímetros 17
Hoja (muy) oculta 18
Punto y aparte 22
Ocultar ceros 24
Formato rebelde 28
El color de la solapa 30
Bordes redondeados 30
Código de barras 33
Formato de combinación 34
Convertir a número 35
Números en modo texto 37
El color según el valor 38
Destacar los no enteros 41
Resaltar series de datos 43
Ocultar resultados 46
Formato para guaraníes 48
Resumen 52
Capítulo 2
IMPRESIÓN
Imprimir imágenes 54
Imprimir factura 55
Configurar páginas 56
Elegir impresora 57
Contar páginas 59
Original, duplicado y triplicado 60
Encabezado variable 61
Combinar correspondencia 64
Resumen 66
Capítulo 3
GRÁFICOS
Histograma 68
Señalar promedio 71
Gráfico dinámico 73
Gráfico y subgráfico 76
Barras de colores 79
Gráficos en cuatro cuadrantes 81
Área bajo una curva 83
Escala de gráficos 85
Gráfico para balance 88
Resumen 92
CONTENIDO
00_superplanillas2.qxp 12/29/09 4:04 PM Page 8
Contenido
9www.redusers.com
Capítulo 4
LAS FUNCIONES ESPECIALES
Botón Pegar función 94
Estilos de puntuación 97
Dato móvil 99
¿Dónde estoy? 100
La función EXTRAE 101
La función & 102
APELLIDO, Nombre 103
Series de hojas 104
Letras aleatorias 105
La función REDONDEAR 107
Redondear a cinco centavos 108
Redondeo truncado 110
El cambio exacto 111
Un problema de redondeo 113
Reparto de diarios 116
El botón Autosuma 118
Resolver ecuaciones 120
Ángulos decimales 121
Cálculos con matrices complejas 123
Detectar celda marcada 124
Archivos de texto 126
Función CONTIENE 127
Eliminar blancos 128
Sumar datos como texto 130
Fórmulas automáticas 131
Criptofrases 133
Resumen 136
Capítulo 5
CÁLCULOS CONDICIONALES
Negativos y ceros 138
Funciones dentro de funciones 139
Multicondicional 141
Demasiadas condiciones 143
Cobradas, pendientes y anuladas 145
SUMAR.SI.SI 146
SUMAR.SI en varias hojas 148
Contar celdas 149
CONTAR.SI.SI 150
Condición de entero 151
Deuda impaga y vencida 152
Problema con repetidos 153
Esta fórmula o la otra (o la de más allá) 154
Condiciones aproximadas 156
Promedio condicional 157
Mínimo condicional 159
Buscar el mayor 160
La función BUSCARV 162
Imágenes condicionales 163
Identificar el máximo 165
Contar distintos 167
Resumen 168
Capítulo 6
CÁLCULOS CON FECHAS Y HORAS
Fecha y hora 170
Reconstruir fecha 171
00_superplanillas2.qxp 12/29/09 4:04 PM Page 9
PRELIMINARES
10 www.redusers.com
Reconstruir fecha (II) 172
Cierres de ejercicio 173
Último sábado 174
Series de meses 176
Series de días hábiles 177
Señalar fines de semana 179
Anunciar vencimiento 181
Ordenar cumpleaños 183
Sumas entre fechas 184
Contar por semestre 185
Un problema con fechas 186
Última fecha 188
Contar por hora 189
Horas extras 190
Horas y porcentajes 192
Un problema de minutos 193
Reloj fichador 194
Formulario con calendario 195
Un problema con el idioma 198
¿Cuál es tu signo? 200
Resumen 202
Capítulo 7
OPERACIONES CON BASES DE DATOS
Carga rápida 204
Autocompletar 205
Eliminar blancos 206
Función BDCONTARA 207
La función TABLA 209
Ordenar por terminación 211
Recuperar hipervínculo 213
Extraer datos 215
Datos comunes 217
Extraer lista 219
Problema con autofiltro 221
Filtros múltiples 222
Filtrar varias hojas 223
Datos desde la Web 224
Resumen 226
Capítulo 8
MACROS
Las macros en Excel 2007 228
Botones de macro 229
Eliminar macros 232
Macros para todos 234
Posición en macros 236
Macro a plazo fijo 236
Alarmas 237
Señalar fila y columna 239
Hora de actualización 241
Macros sí o sí 242
Contador de aperturas 244
Barra de progreso 245
De Visual Basic a Excel 246
El comando DIR 248
Nombre del archivo 249
00_superplanillas2.qxp 12/29/09 4:04 PM Page 10
Contenido
11www.redusers.com
La ruta del archivo 250
Correo por macro 251
Validar respuestas 253
Menú para macros 254
Macro suicida 256
Identificar formato 257
Mostrar diálogo 258
Cerrar casi todos 260
Rango variable 261
Por favor, espere 262
Tablas de multiplicar 263
Generador de exámenes 265
Conteo por color 267
Extraer comentario 268
El nombre de la hoja 270
Argumentos opcionales 271
Pintar mapas 272
Menú para hojas 274
Archivos de texto 276
Elegir imágenes 278
Resumen 282
Capítulo 9
MISCELÁNEA
Seleccionar hojas 284
Cerrar todas las planillas 285
Guardado automático 287
Saltar de panel en panel 290
Actualizar vínculos 291
Sin actualización automática 292
Hipervínculos 293
Hipervínculo móvil 295
Hipervínculo variable 298
Vínculos a fotos 299
Menú de navegación 300
Eliminar objetos 302
Reemplazar caracteres 303
Nombres de rango 3D 305
Copiar subtotales 307
Multiplicar 308
Parámetros por omisión 310
Repetir datos 311
Proteger archivo 312
Exportar a Outlook 314
Validación externa 316
Validación tolerante 319
Pantalla limitada 322
Combinar datos 324
Resumen 328
Servicios al lector
Índice temático 329
00_superplanillas2.qxp 12/29/09 4:04 PM Page 11
INTRODUCCIÓN
Ésta es la tercera recopilación de los artículos publicados desde 1998 en la sección
Consejos de Superplanilla, donde los lectores buscan respuesta a los problemas con
que se encuentran al usar la planilla de cálculo Excel.
La primera recopilación, con el título 100 respuestas avanzadas, apareció en 2002.
La segunda (Consejos de Superplanilla) se publicó tres años después. Ahora es el mo-
mento de una nueva recopilación.
La aparición de Excel 2007 hizo que muchas consultas realizadas en las dos edicio-
nes anteriores admitan nuevas respuestas. Sin embargo, todas las preguntas publi-
cadas son inéditas y ofrecen una solución actualizada al problema planteado.
Como en la edición de 2005, hemos incluido en el libro el nombre y la proceden-
cia de cada uno de los autores de las consultas respondidas. Esto es tanto para ho-
menajear la fidelidad de los lectores como para mostrar el alcance territorial de los
libros y de la revista USERS. Hay preguntas de la ciudad de Buenos Aires, de die-
ciséis provincias argentinas (Buenos Aires, Catamarca, Chaco, Córdoba, Entre Rí-
os, Formosa, La Pampa, Mendoza, Neuquén, Río Negro, Salta, San Juan, Santa Fe,
Santiago del Estero, Tierra del Fuego y Tucumán) y de Bolivia, Colombia, Chile,
España, Estados Unidos, México, Panamá, Paraguay, Perú y Uruguay.
Terminamos esta introducción como lo hicimos en la edición anterior: si no en-
cuentra en este libro la respuesta a su problema, escríbanos. Si la consulta es intere-
sante, y sabemos cómo responderla, tal vez la incluyamos en la próxima edición.
Claudio H. Sánchez (a) Superplanilla
clasanchez@redusers.com
PRELIMINARES
12 www.redusers.com
00_superplanillas2.qxp 12/29/09 4:04 PM Page 12
Formatos
Formato para tres cifras 14
Caracteres matemáticos 16
Hoja (muy) oculta 18
Ocultar ceros 24
Formato rebelde 28
Código de barras 33
Convertir a número 35
Formato para guaraníes 48
Capítulo 1
Los formatos de Excel (los que controlan
cómo aparece cada dato en la hoja)
son bastante fáciles de usar, pero
muchas veces nos encontramos
con casos especiales que parecen
escapar a todo formato convencional.
En este capítulo describiremos algunos
problemas que podemos resolver
con las distintas opciones de formato.
EXCEL REVELADO
SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 13
Formato para tres cifras
Tengo el siguiente problema: en una planilla debo escribir un código de mo-
neda que siempre tiene tres dígitos. Por ejemplo: 060, 002, etcétera. ¿Existe alguna
forma de ingresar solamente 60 ó 2 y que Excel complete automáticamente los ceros
iniciales? Muchas gracias por tu ayuda.
Juan Pablo Rossi (Buenos Aires)
Este problema puede resolverse creando un formato personalizado:
■ Crear un formato personalizado PASO A PASO
Seleccione el rango donde tiene los códigos.
En la pestaña Inicio, haga un clic en el botón de acceso al grupo Número.
Aparecerá el cuadro con los distintos formatos numéricos.
Dentro de Categoría, seleccione Personalizada.
Dentro de Tipo, escriba 000 (tres ceros).
Haga un clic en Aceptar.
Figura 1. Así creamos un formato personalizado para que Excel
complete con ceros a la izquierda los números de menos de tres cifras.
1. FORMATOS
14 www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 14
Si estamos usando Excel 2003 o una versión anterior, obtenemos el cuadro para
crear el formato con las opciones Formato/Celdas. Y, en cualquier versión, con la
combinación CONTROL+1 (el número 1).
El formato que acabamos de crear (y aplicar en el rango seleccionado) completa con
ceros a la izquierda cualquier número de menos de tres cifras. Lo que escribimos
dentro de Tipo es el “código de formato”. Hay un código para cada presentación
que queramos obtener. En Excel 2003 y en las versiones anteriores podemos ave-
riguar los códigos asociados a cada valor o tipo de valor en la Ayuda, indicando la
clave de búsqueda formatos personalizados. En Excel 2007 los encontramos ingre-
sando las palabras clave: códigos de formatos de número.
Figura 2. En la ayuda de Excel encontramos los códigos correspondientes
a cada formato personalizado. Se lo preguntamos al Ayudante de Office.
Los formatos personalizados creados de esta manera pertenecen a la planilla donde
fueron creados. Podemos aplicarlos luego a otros rangos, pero no a otras planillas.
Formato para tres cifras
15www.redusers.com
❘❘❘
Cada formato personalizado se construye con ciertos códigos (el 0 representa una cifra, la h, un
valor hora, etcétera). Para conocer los códigos necesarios para construir los distintos formatos
personalizados debemos consultar la Ayuda de Excel. Hay que indicar, en la caja de búsqueda,
las palabras clave códigos de formatos de número.
FORMATOS PERSONALIZADOS
01_superplanillas2.qxp 12/29/09 4:16 PM Page 15
1. FORMATOS
16 www.redusers.com
Caracteres matemáticos
Uso Excel para hacer apuntes de matemática. Con la tipografía Symbol ob-
tengo la mayoría de los signos que necesito, pero no encuentro el que corresponde al
valor medio. Es una letra X con una raya encima. ¿Hay alguna tipografía que incluya
este signo? Desde ya agradezco por tu respuesta.
David Campos
Para resolver este tipo de problemas podemos recurrir a algún editor de caracteres
y construir el signo deseado píxel a píxel (ver la pregunta destacada, al final de este
capítulo). Pero en el caso de caracteres matemáticos, podemos usar el editor de ecua-
ciones de Microsoft, al cual es posible entrar desde Excel:
■ Insertar caracteres matemáticos PASO A PASO
Seleccione la pestaña Insertar, dentro de la Cinta de opciones.
Haga un clic en Objeto. Aparecerá un cuadro con la lista de objetos para insertar.
Recorra la lista hasta localizar y seleccionar la opción Microsoft Editor de ecuaciones.
Haga un clic en Aceptar.
En las versiones anteriores de Excel obtenemos la lista de objetos con Insertar/Objeto.
Figura 3. Aquí buscamos el editor de ecuaciones
de Microsoft para insertar caracteres o fórmulas matemáticas.
01_superplanillas2.qxp 12/29/09 4:16 PM Page 16
En cualquier caso, aparecerán un cuadro de texto (para escribir el carácter o la ecua-
ción) y una barra de herramientas con botones mediante los cuales podemos inser-
tar los distintos caracteres matemáticos. En particular, el botón Plantillas de barras
subyacentes y superpuestas permite insertar una letra cualquiera con una línea en-
cima. Justo el que necesitamos para esta pregunta.
Figura 4. En la barra de herramientas del editor de ecuaciones
tenemos un botón para insertar un carácter cualquiera con una línea encima.
Sirve para escribir el símbolo que representa el promedio.
Una vez obtenido el carácter, hacemos un clic fuera del objeto para salir del editor
y volver a la planilla. Podemos tomar el carácter con el mouse, como cualquier otro
objeto, y acomodarlo donde lo necesitemos.
Anchos en centímetros
¿Es posible establecer el ancho de columna de una planilla Excel a una me-
dida exacta de centímetros? Espero que me puedas ayudar.
Lourdes Rodríguez Covarrubias (México)
Tradicionalmente, el ancho de las columnas de una planilla de cálculo se medía en
caracteres. En la época de las planillas en modo texto, el ancho estándar de una
Anchos en centímetros
17www.redusers.com
❘❘❘
El ancho efectivo de una columna, en centímetros, varía con la tipografía empleada, con la impre-
sora y hasta con la densidad de impresión utilizada. Encontrar el valor adecuado exige muchos in-
tentos. Tener que buscar luego uno nuevo ante la menor modificación puede ser frustrante.
ANCHOS EN CENTÍMETROS
01_superplanillas2.qxp 12/29/09 4:16 PM Page 17
columna era de nueve caracteres: se podía escribir una palabra de nueve letras (o
un número de nueve dígitos). Ésa era la medida predeterminada.
Actualmente, el ancho se mide en puntos, lo que representa aproximadamente
una letra, pero, como ahora las letras no tienen un ancho fijo, hablar de “palabra
de nueve letras” carece de sentido: la palabra MAMÁ ocupa más espacio que la
palabra tipito, aunque la segunda tiene más letras.
Figura 5. En el viejo VisiCalc, cada celda podía contener
una palabra de nueve letras o un número de nueve dígitos.
Si queremos fijar el ancho de la columna en una medida determinada, por ejem-
plo tres centímetros, tenemos que probar lo siguiente: ajustamos el ancho, im-
primimos y medimos el resultado en el papel. Parece tedioso, pero, una vez que
encontramos la relación, ésta nos sirve para siempre.
Por ejemplo, en nuestra impresora encontramos que dos columnas de 50 puntos
cubren el ancho de una hoja carta, 216 mm. Eso representa aproximadamente 2,16
mm por punto o 4,63 puntos por centímetro.
Hoja (muy) oculta
Tengo un libro y una de sus hojas es un formulario que debe permanecer ocul-
to pero se tiene que poder imprimir. No quiero que nadie pueda ver esa hoja. No me
sirve la opción de ocultar hoja porque cualquiera que conozca esa opción puede ha-
cerla visible. ¿Hay otra posibilidad?
Carlos R. Arano (General Rodríguez, provincia de Buenos Aires)
La opción para ocultar una hoja a la que se refiere el lector se encuentra en la pestaña
Inicio. La secuencia es Formato/Ocultar y mostrar/Ocultar hoja. La hoja luego puede ha-
cerse visible nuevamente con las opciones Formato/Ocultar y mostrar/Mostrar hoja.
1. FORMATOS
18 www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 18
Figura 6. El libro actual tiene una hoja “muy oculta”.
Pero la opción para mostrarla permanece deshabilitada.
En Excel 2003 y en las versiones anteriores de la planilla de cálculo, las opciones
son Formato/Hoja/Ocultar y Formato/Hoja/Mostrar.
Parecería que hay dos “estados de visibilidad” de una hoja: oculta y visible. Pero hay
un tercero: muy oculta. Para llevar la hoja a este estado el procedimiento es:
■ Hoja muy oculta PASO A PASO
Ubíquese en la hoja y, usando el botón derecho del mouse, haga un clic sobre la
solapa de la hoja que desea ocultar.
Del menú contextual que aparece, seleccione la opción Ver código. Esto abre el
editor de Visual Basic.
Dentro del editor, tome las opciones Ver/Ventana propiedades.
Se abrirá un panel a la izquierda de la pantalla. Recorra las opciones de la ventana
Propiedades hasta localizar la propiedad Visible.
Cambie el valor de la propiedad a 2-xlSheetVeryHidden.
Cierre el editor y volverá a Excel.
Hoja (muy) oculta
19www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 19
En el estado que acabamos de configurar, la hoja no se ve, y tampoco puede hacer-
se visible con la opción tradicional (desde el menú de Excel) ya que encontraremos
desactivada la opción Mostrar, como cuando el libro no tiene hojas ocultas. Y efec-
tivamente no las tiene: la hoja está “muy oculta”.
Figura 7. En esta lista deplegable indicamos
la propiedad VeryHidden (muy oculta) para la hoja seleccionada.
Para hacerla visible tenemos que repetir el procedimiento anterior, y en el Paso 5
cambiar la propiedad a 1-xlSheetVisible. Por supuesto, el que conozca este “secreto”
podrá hacer lo mismo. Conviene entonces proteger con una contraseña el acceso a
las propiedades del archivo, de la siguiente manera:
■ Proteger las propiedades PASO A PASO
Oprima la combinación Alt+F11 para abrir el editor de Visual Basic.
Dentro del editor, tome las opciones Herramientas/Propiedades de VBAProject.
Aparecerá un cuadro con dos fichas.
1. FORMATOS
20 www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 20
Seleccione la ficha Protección.
Marque la opción Bloquear proyecto para visualización.
Escriba y confirme una contraseña.
Haga un clic en Aceptar.
Cierre el editor para volver a Excel.
Para ver esta protección en acción tenemos que grabar el archivo, cerrarlo y volver-
lo a abrir. Si entonces queremos entrar a las propiedades del archivo para cambiar
el estado de la hoja, Excel nos pedirá la contraseña.
Figura 8. Aquí indicamos una contraseña para
proteger el código asociado al libro. Tenemos que grabar
y cerrar el archivo para que la protección tenga efecto.
Hoja (muy) oculta
21www.redusers.com
❘❘❘
Aplicando la tipografía Windings se pueden obtener símbolos especiales para lograr ciertos
efectos interesantes tales como indicadores tipo semáforo. En la pregunta destacada del Ca-
pítulo 2 explicamos cómo usar esta tipografía para obtener los símbolos del zodiaco.
SÍMBOLOS ESPECIALES
01_superplanillas2.qxp 12/29/09 4:16 PM Page 21
Punto y aparte
¿Cómo hago para poner un punto y aparte dentro de una celda? Es decir,
quiero escribir un dato separado en dos renglones, dentro de la misma celda.
Joel Roitvan (Buenos Aires)
Lo que pide esta pregunta es abrir una celda en dos o más renglones, como vemos
en la Figura 9. Hay por lo menos dos formas de hacerlo.
Figura 9. La celda A1 ha sido abierta
en dos renglones con la opción de Ajustar texto.
Si tenemos un texto muy largo, más que lo que da el ancho de la celda, podemos
aplicar cierta opción de formato. Si estamos usando Excel 2007, es muy fácil: sim-
plemente seleccionamos las celdas donde queremos aplicar la opción y hacemos un
clic en el botón Ajustar texto, dentro de la pestaña Inicio.
Figura 10. Con un clic en este botón abrimos la celda seleccionada
en tantos renglones como sea necesario para alojar al dato que contiene.
1. FORMATOS
22 www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 22
Punto y aparte
23www.redusers.com
En las versiones anteriores de Excel, el procedimiento es un poco más largo:
■ Ajustar texto PASO A PASO
Seleccione las celdas donde quiere aplicar la opción.
Tome las opciones Formato/Celdas.
Seleccione la ficha Alineación.
Marque la opción Ajustar texto.
Haga un clic en Aceptar.
Figura 11. Esta es la opción para lograr el efecto de “varios
renglones por fila” en las versiones de Excel anteriores a la 2007.
La opción AAjjuussttaarr tteexxttoo abre la celda en tantos renglones como sea necesario para
alojar al dato que queremos ingresar, sin superar el ancho disponible.
❘❘❘
En Excel 2003 y en las versiones anteriores, la barra de fórmulas se abre automáticamente en
tantos renglones como sea necesario según la longitud del valor ingresado. En Excel 2007 po-
demos modificar la altura de la barra de fórmulas simplemente con el mouse, de la misma for-
ma en que cambiamos el tamaño de cualquier otro objeto.
LA BARRA DE FÓRMULAS
01_superplanillas2.qxp 12/29/09 4:16 PM Page 23
También podemos lograr este efecto mientras escribimos el dato. Por ejemplo, su-
pongamos que necesitamos escribir dos palabras dentro de una celda, en dos renglo-
nes separados, dentro de una misma celda. Entonces escribimos la primera palabra y,
antes de ingresar la segunda, oprimimos la combinación ALT+ENTER. Continuamos
con la segunda palabra y luego oprimimos ENTER.
Figura 12. Oprimiendo la combinación ALT+ENTER mientras estamos
escribiendo un dato, pasamos a un nuevo renglón, dentro de la misma celda.
La combinación ALT+ENTER equivale a generar un “retorno de carro” sin pasar a la
celda siguiente. Podemos usarla muchas veces dentro de una misma celda.
Cuando tenemos una fila de títulos, y abrimos la celda en varios renglones, conviene
aplicar la opción de alineación centrada en horizontal y en vertical. Queda mejor.
Ocultar ceros
Tengo una lista con fórmulas para calcular ciertos valores en una columna.
Por comodidad, tengo la fórmula ya extendida a filas que aún no completé. En esas
filas, las fórmulas me dan cero (porque no tengo datos) pero preferiría no ver los re-
sultados. ¿Cómo puedo hacer para ocultar esos ceros?
José J. Cipollone
Para resolver este planteo pongamos un ejemplo simple. Sea el caso de una planilla
con cuatro columnas: Nombre, Cantidad, Precio unitario y Precio total. Los tres
primeros datos se escriben y el último se calcula multiplicando Cantidad x Precio
unitario. Antes de escribir la cantidad y/o el precio unitario, esta fórmula da igual a
0. Los ceros como éste son los que quiere ocultar José.
1. FORMATOS
24 www.redusers.com
❘❘❘
La mayoría de los formatos de tipografía se puede aplicar con el teclado. Por ejemplo, la com-
binación CONTROL+N aplica formato de Negrita, la combinación CONTROL+S aplica formato de
Subrayado y la combinación CONTROL+K aplica formato de Cursiva. La combinación CONTROL+1
(el número 1) muestra el cuadro con todas las opciones de formato.
FORMATOS DE TEXTO
01_superplanillas2.qxp 12/29/09 4:16 PM Page 24
Figura 13. Las fórmulas de la columna D, más abajo de la quinta fila,
muestran valores iguales a 0 porque no hay datos para calcular en esas filas.
Hay dos formas de ocultar los ceros de una planilla. Una sirve para ocultar todos
los ceros de la planilla y el procedimiento es el siguiente:
■ Ocultar ceros PASO A PASO
Haga un clic en el Botón de Office y luego seleccione Opciones de Excel.
Diríjase a la categoría Avanzadas.
En el grupo Mostrar opciones para esta hoja, desmarque la opción Mostrar un
cero en las celdas que tienen un valor cero.
Haga un clic en Aceptar.
Figura 14. Si desmarcamos esta opción, las celdas cuyo contenido
sea un 0 (una fórmula cuyo resultado sea cero) aparecerán como vacías.
Ocultar ceros
25www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 25
1. FORMATOS
26 www.redusers.com
Si estamos usando Excel 2003 o una versión anterior:
■ Ocultar ceros (Excel 2003 y anteriores) PASO A PASO
Vaya a Herramientas/Opciones.
Seleccione la ficha Ver.
Desmarque la opción Valores cero.
Haga un clic en Aceptar.
Este método tiene dos limitaciones. En primer lugar, como ya se dijo, es global: ocul-
ta todos los ceros. Es posible que solamente queramos ocultar los ceros en cierto ran-
go. Además, no afecta a las celdas donde tengamos aplicado algún formato especial.
Justamente, la segunda forma consiste en aplicar un formato personalizado sobre el
rango donde se quieran ocultar los ceros. Por ejemplo:
■ Formato para ocultar ceros PASO A PASO
Seleccione el rango donde quiere ocultar los ceros.
En la pestaña Inicio, haga un clic en el botón de acceso al grupo Número.
Aparecerá el cuadro con los distintos formatos numéricos.
Dentro de Categoría, seleccione Personalizada.
Dentro de Tipo escriba 0,00 $;-0,00 $;.
Haga un clic en Aceptar.
❘❘❘
Con la opción de “ver fórmulas” obtenemos algo equivalente a una radiografía de nuestra pla-
nilla: vemos su verdadero contenido. Activar esta opción puede servir para imprimir esta ra-
diografía y guardarla como documentación de la planilla, como registro de cómo fue construi-
da. En este caso conviene imprimir también los encabezados de fila y columna.
LA RADIOGRAFÍA DE LA PLANILLA
01_superplanillas2.qxp 12/29/09 4:16 PM Page 26
En Excel 2003 y en las versiones anteriores de la planilla de cálculo obtenemos el
cuadro para crear el formato con las opciones Formato/Celdas. Y, en cualquier ver-
sión, con la combinación CONTROL+1 (el número uno).
Figura 15. Así creamos un formato personalizado
para valores monetarios que oculta los resultados iguales a cero.
Lo que escribimos dentro de Tipo es el código de formato. En realidad, dentro de
esta opción podemos ingresar hasta cuatro códigos, separados por punto y coma:
• El primero se aplica a los valores positivos.
• El segundo, a los valores negativos.
• El tercero, a los valores iguales a cero.
• El cuarto, a los datos tipo texto.
Figura 16. La celda D6 tiene una fórmula cuyo
resultado es 0. Pero en la planilla aparece como vacía.
Ocultar ceros
27www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 27
En el ejemplo, indicamos el código para los valores positivos (parte entera y dos de-
cimales, con el signo $), para los negativos (igual al anterior, pero con signo -) y,
cuando deberíamos escribir el correspondiente a los valores iguales a cero, no escri-
bimos nada. Eso indica que los valores iguales a cero no se verán en la celda.
Formato rebelde
Tengo una planilla con varios datos que son fechas. No sé qué hice pero las
fechas se convirtieron en números. Por ejemplo, donde antes tenía 23-May-2006, aho-
ra aparece 38860. Traté de cambiar el formato, pero no dio resultado. Debo tener ac-
tivada alguna opción “oculta” pero no sé cuál es el problema.
Maximiliano Sandor (Buenos Aires)
Éste no es un problema de formato sino de opciones de visualización. La planilla
del lector tiene activada la modalidad “ver fórmulas”, que hace que se muestren
las fórmulas contenidas en las celdas y no sus resultados. Como efecto secunda-
rio, esta acción hace que las celdas con números presenten los datos sin formato,
que es el problema planteado por Maximiliano.
Figura 17. Esta planilla tiene activada la modalidad “ver fórmulas”.
En las celdas aparecen las fórmulas contenidas en ellas y los valores
de las constantes, sin formato. El valor de B2 es una fecha.
Para volver a la modalidad normal:
■ No mostrar fórmulas PASO A PASO
Haga un clic en el Botón de Office y luego en Opciones de Excel.
Seleccione la categoría Avanzadas.
1. FORMATOS
28 www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 28
En el grupo Mostrar opciones para esta hoja, desmarque la opción Mostrar
fórmulas en celdas en lugar de los resultados calculados.
Haga un clic en Aceptar.
Figura 18. Desmarcando esta opción activamos
la visualización normal de datos en la planilla Excel.
Si estamos usando Excel 2003 o una versión anterior:
■ No mostrar fórmulas (Excel 2003 y anteriores) PASO A PASO
Tome las opciones Herramientas/Opciones.
Seleccione la ficha Ver.
Desmarque la opción Fórmulas.
Haga un clic en Aceptar.
Con estas opciones, la planilla volverá a mostrar correctamente sus números y re-
sultados. La modalidad de ver fórmulas se activa también mediante la combinación
CONTROL+’ (acento grave). Cuando Maximiliano dice: “No sé qué hice”, segura-
mente se refiere a que ejecutó el atajo de teclado sin saberlo.
Formato rebelde
29www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 29
El color de la solapa
¿Cómo se hace para diferenciar las solapas de las hojas de un libro median-
te colores? Muchas gracias por tu ayuda.
Goyo Vega (provincia de Córdoba)
La opción para cambiar el color de las solapas de un libro apareció en Excel XP (y
se mantiene en Excel 2003 y 2007). La forma más simple de llegar a ella es hacer
un clic derecho en la solapa y tomar la opción Color de etiqueta. Esto abre una pa-
leta de colores de donde podemos seleccionar el color deseado.
Figura 19. De esta paleta de colores podemos seleccionar
el que se aplicará en la solapa de la hoja. Esta opción está disponible
en Excel XP y versiones posteriores.
La solapa de la hoja actualmente seleccionada permanece blanca, con una línea de
color en su borde inferior, al pasar a otra hoja la veremos con el color pleno.
Bordes redondeados
¿Es posible ponerle bordes redondeados a una celda o a un rango de celdas?
Juan Gabriel Agüero Ávila (Lambaré, Paraguay)
Comencemos por el procedimiento para aplicar un borde en una celda o rango:
■ Bordes de celdas PASO A PASO
Seleccione el rango donde quiere aplicar el borde.
En la pestaña Inicio de la Cinta de opciones, haga un clic en el botón Bordes. Se
desplegarán varias opciones.
1. FORMATOS
30 www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 30
Haga un clic en Más bordes.
En esta ficha deberá indicar el tipo de línea deseada, su color (de la paleta de la
derecha) y el lugar donde desea aplicar el borde (con los botones que rodean al
cuadro de la izquierda).
Cuando haya indicado todo esto, haga un clic en Aceptar.
Figura 20. Aquí indicamos el tipo de línea que queremos
aplicar sobre el rango seleccionado y el lugar
exacto, dentro del rango, donde la queremos aplicar.
Debemos tener en cuenta que si estamos usando Excel 2003 o una versión anterior
obtenemos el cuadro para crear el formato con las opciones Formato/Celdas. Y, en
cualquier versión, con la combinación Control+1 (el número uno).
En Excel 2007 tenemos también las opciones Dibujar borde y Dibujar cuadrícula de
borde que convierte el puntero en un lápiz para dibujar los bordes a pulso. Pero nin-
guna de estas opciones nos da la posibilidad de aplicar un borde redondeado. Lo
mejor que se nos ocurre es simular el borde con una Autoforma:
Bordes redondeados
31www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 31
1. FORMATOS
32 www.redusers.com
■ Dibujar una autoforma PASO A PASO
Dentro de la cinta de opciones, seleccione la pestaña Inicio.
Haga un clic en el botón Formas. Se desplegará un menú con varias opciones.
Haga un clic en Rectángulo redondeado. El cursor se convertirá en una pequeña cruz.
Arrastrando el mouse, dibuje un rectángulo alrededor de la celda o del rango
donde desea aplicar el borde. Para que el rectángulo coincida exactamente con
los bordes de la celda, dibuje el borde mientras mantiene presionada la tecla Alt.
Figura 21. Con esta Autoforma podemos dibujar
un borde redondeado alrededor de una celda o un rango de celdas.
Cabe recordar que en las versiones anteriores de Excel obtenemos la lista de autofor-
mas con las opciones Insertar/Imagen/Autoformas.
Figura 22. Así queda el rectángulo redondeado aplicado como borde.
01_superplanillas2.qxp 12/29/09 4:16 PM Page 32
Código de barras
33www.redusers.com
❘❘❘
Normalmente, las fuentes para obtener códigos de barras en una planilla Excel (o un documen-
to de Word) están registradas, se venden por Internet y hay que pagar por ellas. Pero también
hay algunas que son gratuitas. Hay que buscar bien hasta encontrar la opción más conveniente.
CÓDIGOS DE BARRAS
Seguramente el rectángulo tapará la celda. Para hacerlo transparente hacemos un clic
derecho sobre él, seleccionamos Formato de forma y luego marcamos Sin relleno.
Código de barras
Tengo una lista de artículos con descripción, precio, etcétera. Uno de esos
campos corresponde al código de barras. ¿Cómo hago para obtener el código de ba-
rras propiamente dicho en la hoja Excel?
Carlos M. León (Junín, provincia de Buenos Aires)
Para obtener el código de barras asociado a un número dado hay que aplicar una
fuente que corresponda a ese código. Estas fuentes se consiguen en Internet (por
ejemplo en www.barcodingfonts.com) y luego se instalan en la carpeta Win-
dowsFonts. Una vez instaladas aparecerán en el cuadro Fuente y en la ficha Fuente
correspondiente a Formato/Celdas.
Figura 23. Las celdas de la columna B tienen aplicada
una fuente que muestra el código de barras asociado a esos datos.
Hay que tener en cuenta que hay varios sistemas de codificación y tenemos que bus-
car el que corresponda a nuestras necesidades.
01_superplanillas2.qxp 12/29/09 4:16 PM Page 33
Formato de combinación
Uso Word con la opción de combinación de correspondencia para imprimir
una serie de cartas personalizadas con datos tomados de una planilla Excel. Uno de
los datos de la planilla es un importe que, al imprimir las cartas, aparece con muchos
decimales, aunque en la planilla se ve bien. ¿Cómo hago para que las cartas se im-
priman con el formato aplicado en la planilla?
Viviana Lucía Aranda (Ranelagh, provincia de Buenos Aires)
Este problema tiene una solución “oficial” que consiste en incluir una instrucción
de formato dentro del campo combinado. Sin embargo, no siempre podemos ha-
cerla funcionar. A veces da un mensaje de error y otras, simplemente, no responde
y mantiene el mismo formato.
Figura 24. El valor de la columna B, al combinarlo en el documento
de Word, aparece con un formato distinto del aplicado en la planilla Excel.
Una forma más segura de resolver el problema es crear, dentro de la planilla Ex-
cel, un campo auxiliar con una expresión tipo texto. Por ejemplo, si el sueldo es-
tá en la celda B2, se escribe en C2 (o en la fila 2 de la primera columna libre) la
fórmula =TEXTO(B2; “0,00 $”). Esta expresión muestra el valor de B2 con forma-
to de dos decimales y signo $. Este será el campo para combinar en el documento
de Word, en vez del valor original.
1. FORMATOS
34 www.redusers.com
❘❘❘
La combinación CONTROL+T da acceso a la lista desplegable de tamaños de fuente. La combina-
ción CONTROL+F da acceso a la lista desplegable de tipos de fuente. En cambio, no hay combina-
ciones de teclas que sirvan de atajo a las opciones de alineación (Izquierda, Derecha o Centrado).
ATAJOS DE TIPOGRAFÍA
01_superplanillas2.qxp 12/29/09 4:16 PM Page 34
Figura 25. Las fórmulas de la columna C arman una expresión
tipo texto con formato monetario. Al combinarlo en un documento
de Word, este valor aparecerá tal como en la hoja Excel.
Como la expresión obtenida por la función es de tipo texto, Word no hace ningún
tipo de cambio de formato y lo muestra en el documento tal como lo vemos noso-
tros en la planilla Excel.
Convertir a número
Necesito convertir a número un dato escrito como texto. Sé que hay un pro-
cedimiento basado en el comando Pegado especial, pero no conozco los detalles.
¿Podrías explicarlo? Muchas gracias por tu solución.
Jorge Couto (Buenos Aires)
A veces, los datos numéricos son tomados por Excel como un texto, produciendo
errores en las fórmulas que operen con ellos. Eso suele ocurrir cuando los datos pro-
vienen de un archivo TXT, obtenido desde otro sistema.
Figura 26. Por alguna razón, Excel toma los valores de la columna
C como textos. Eso impide que hagamos
operaciones matemáticas con ellos, tal como le sucede a Jorge.
Y, efectivamente, podemos devolverle su carácter numérico con una opción del
Pegado especial, tal como detallamos en el próximo Paso a paso:
Convertir a número
35www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 35
1. FORMATOS
36 www.redusers.com
■ Pegado especial PASO A PASO
En una celda auxiliar, escriba un 1 (el número uno).
Haga un clic en el botón Copiar, dentro de la ficha Inicio de la cinta de opciones.
Seleccione el rango de datos que va a convertir.
Haga un clic en la flechita que aparece bajo el botón Pegar para descolgar sus
opciones.
Haga un clic en Pegado especial. Aparecerá un cuadro con las distintas opciones.
Marque la opción Multiplicar.
Haga un clic en Aceptar.
No nos olvidemos que en Excel 2003 y las versiones anteriores, el cuadro Pegado
especial se obtiene con las opciones Edición/Pegado especial.
Figura 27. Con la opción Multiplicar podemos devolverle
el carácter numérico a datos que Excel está tomando como texto.
Lo que acabamos de hacer fue multiplicar por 1 los datos que queríamos convertir.
Multiplicar por 1 no afecta al valor, pero le devuelve el carácter numérico. La si-
guiente pregunta resuelve un problema emparentado con éste.
01_superplanillas2.qxp 12/29/09 4:16 PM Page 36
Números en modo texto
Tengo una hoja de Excel que me bajan de otro sistema. Por alguna razón, las
celdas están en formato de texto y me muestran las fórmulas que contienen y no el
resultado. Aunque cambio a formato General, para ver los números tengo que editar
cada uno de ellos con la tecla F2 y luego oprimir ENTER. El problema es que son cien-
tos de celdas. ¿Hay alguna manera automática?
Lucas Silva
Éste es un problema bastante común que ha sido resuelto en Excel 2007: cuando se
pasa de formato Texto a General, los datos se ajustan automáticamente al nuevo for-
mato. Sin embargo, esto no era así en las versiones anteriores y había que reingresar
una por una todas las fórmulas, sea como dice el lector o mediante una macro.
Figura 28. Las fórmulas de la columna C estaban en formato de Texto y aunque
luego lo cambiamos a General, seguimos viendo las fórmulas
y no sus resultados. Este problema ocurre en las versiones de Excel anteriores a la 2007.
Para este caso, la lectora Gladys Alé nos indicó una solución mucho mejor:
■ Pasar a formato numérico PASO A PASO
Seleccione las celdas que tienen el problema.
Números en modo texto
37www.redusers.com
❘❘❘
Cuando lo que queremos regresar a modo numérico son números fijos y no fórmulas, otra forma
de lograr este efecto es usar una de las opciones del Pegado especial para multiplicar los núme-
ros por 1, o para sumarles cero. Ninguna de estas operaciones cambia el valor del número, pero
le devuelve su carácter numérico.
NÚMEROS COMO TEXTO
01_superplanillas2.qxp 12/29/09 4:16 PM Page 37
Tome las opciones Edición/Reemplazar. Aparecerá un cuadro para indicar las
opciones del reemplazo.
Donde dice Buscar:, escriba el signo =.
Donde dice Reemplazar con:, escriba de nuevo el signo =.
Haga un clic en Reemplazar todos.
Figura 29. Una forma de hacer que Excel asuma el nuevo formato, es modificar
las fórmulas reemplazando un signo cualquiera por sí mismo.
Las fórmulas no cambiarán pero mostrarán sus resultados como corresponde.
Al reemplazar un signo por sí mismo dejamos inalteradas las fórmulas. Pero esto,
como efecto secundario, arregla el problema de las fórmulas en modo Texto. Gra-
cias Gladys por acercarnos la solución al problema.
El color según el valor
¿Existe en Excel alguna función o macro para cambiar el color de una celda
según su valor? Quiero, por ejemplo, que si el valor de una celda es mayor que el de
otra de referencia, se vea sobre fondo rojo.
Mariano Marcone (México D.F.)
Para resolver este problema existe una solución estándar: el Formato condicional. Por
ejemplo, supongamos que tenemos una serie de valores en el rango B2:B10 y un va-
lor límite en la celda D1, tal como se muestra en la Figura 30.
1. FORMATOS
38 www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 38
Figura 30. Queremos que los valores de esta lista que sean mayores que
D1 aparezcan sobre fondo rojo. Podemos lograrlo aplicando un Formato condicional.
Queremos que las celdas de la lista cuyo valor sea mayor al de referencia se vean con
fondo rojo. Para eso, aplicamos un Formato condicional de la siguiente forma:
■ Formato condicional PASO A PASO
Seleccione la lista de valores.
Haga un clic en el botón Formato condicional dentro de la ficha Inicio de la cinta
de opciones. Se desplegará un menú con más opciones.
Tome las opciones Resaltar reglas de celdas/Es mayor que. Aparecerá un cuadro
para indicar el valor límite y el formato que se quiere aplicar.
Dentro de la opción de la izquierda, seleccione D1, que es la celda que contiene
el valor límite.
En la opción de la derecha seleccione el formato que va a aplicar. Por ejemplo,
Relleno rojo claro.
Haga un clic en Aceptar.
El color según el valor
39www.redusers.com
❘❘❘
Las tipografías más empleadas son Arial y Times New Roman. La tipografía Courier reproduce
el aspecto de un texto escrito en una antigua máquina de escribir, de ancho uniforme para todas
las letras. En general, conviene evitar el uso de tipografías de fantasía que hacen que la planilla
se vuelva confusa e incómoda de leer.
TIPOGRAFÍAS
01_superplanillas2.qxp 12/29/09 4:16 PM Page 39
Ahora las celdas del rango seleccionado que cumplan la condición mayores que el
valor de D1 aparecerán con el formato indicado, como vemos en la Figura 31.
Figura 31. Este formato condicional muestra sobre un fondo de color
los valores del rango seleccionado que sean mayores que el contenido de la celda D1.
Este formato es “dinámico”: si cambiamos algún valor del rango, o el de la celda
D1, cambiará el color de las celdas que hayan modificado su estado respecto de la
condición. Para eliminarlo, volvemos a seleccionar las celdas y tomamos las op-
ciones Formato/Condicional/Borrar reglas/Borrar reglas en las celdas seleccionadas.
El Formato condicional es diferente en Excel 2003 y en las versiones anteriores:
■ Formato condicional (Excel 2003 y anteriores) PASO A PASO
Seleccione la lista de valores.
Tome las opciones Formato/Formato condicional.
En la primera opción indique valor de la celda.
En la segunda opción indique mayor que.
En la tercera (y ahora última) opción seleccione la celda D1 (quedará expresada
en la forma =$D$1).
Haga un clic en el botón Formato....
En la ficha Tramas seleccione el color Rojo.
Haga un clic en Aceptar (el formato).
Haga un clic en Aceptar (la condición).
1. FORMATOS
40 www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 40
Figura 32. Así se indica el Formato condicional
en las versiones de Excel anteriores a la 2007.
En los primeros cinco pasos indicamos la condición que deben cumplir las celdas
para ser destacadas con el nuevo formato. En los siguientes establecemos el forma-
to propiamente dicho. Para eliminar un Formato condicional en estas versiones, to-
mamos nuevamente las opciones Formato/Formato condicional, hacemos un clic en
el botón Eliminar y luego marcamos la condición que queremos borrar.
Destacar los no enteros
Tengo una lista de números en una columna. Algunos son enteros y otros tie-
nen decimales. ¿Hay alguna forma simple, rápida y efectiva de destacar los números
que tengan decimales? Te agradezco por tu ayuda.
Daniel Alberto Reinoso (provincia de Córdoba)
Esto puede resolverse con un Formato condicional. El problema consiste en indicar
la condición “no es entero”. Supongamos que los números para analizar ocupan el
rango A2:A100 (reservando la primera celda para los títulos). Queremos señalar
sobre un fondo de color los números que tengan decimales:
■ Señalar los no enteros PASO A PASO
Seleccione la lista de valores.
Haga un clic en el botón Formato condicional dentro de la ficha Inicio de la cinta
de opciones y luego en Nueva regla. Aparecerá un cuadro para indicar las
características de la nueva regla.
Donde dice Seleccionar un tipo de regla haga un clic en Aplicar formato únicamente
a las celdas que contengan. Esto cambia las opciones que aparecen más abajo.
Destacar los no enteros
41www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 41
1. FORMATOS
42 www.redusers.com
En la primera opción, deje Valor de la celda.
En la segunda, indique no igual a.
En la tercera escriba =ENTERO(A2), donde A2 es la primera celda del rango.
Haga un clic en el botón Formato....
En la ficha Relleno indique un color de su preferencia.
Haga un clic en Aceptar (el formato).
Haga un clic en Aceptar (la condición).
Figura 33. Con este formato pudimos señalar las celdas cuyo contenido
no es igual a su parte entera. Es decir, que corresponde a un número con decimales.
Si estamos usando una versión anterior de Excel, luego de seleccionar las celdas vamos
a Formato/Formato condicional y aparece el cuadro donde indicamos la misma opción.
❘❘❘
El Formato condicional es una de las opciones que más novedades ofrece en Excel 2007: hay más
formatos disponibles, a algunos los podemos aplicar rápidamente desde el menú y es posible
establecer un número indefinido de criterios dentro de un mismo rango. En Excel 2003 y en las
versiones anteriores, solamente podíamos aplicar tres condiciones.
FORMATO CONDICIONAL 2007
01_superplanillas2.qxp 12/29/09 4:16 PM Page 42
Figura 34. Así establecemos la condición de “no entero” para
un Formato condicional en las versiones de Excel anteriores a la 2007.
En cualquier caso, la condición que estamos indicando en el formato es que el valor
de la celda sea distinto que su propia parte. O sea, que sea un número con decimales.
Resaltar series de datos
Tengo una planilla con tres columnas: Fecha, Nombre e Importe. Quiero apli-
car colores sobre la lista de modo que cada vez que cambie la fecha, cambie el co-
lor, y que cada grupo de datos con la misma fecha tenga el mismo color. ¿Hay algún
Formato condicional para lograr este efecto?
Elías Manzur (provincia de San Juan)
Lo que pide Elías es un efecto de bandas de modo que la lista tenga colores alterna-
dos para cada grupo de fechas. Por ejemplo, si hay cinco datos para el 10 de julio,
luego tres para el 11 y cuatro para el 12, que las primeras cinco filas tengan un co-
lor; las siguientes tres, otro color y las siguientes cuatro, el mismo color inicial. Pue-
de hacerse con un Formato condicional, si previamente generamos una serie auxiliar.
Por ejemplo, en D2, en la primera fila de datos y en una columna auxiliar a la de-
recha, escribimos un 1. Debajo, en la segunda fila, escribimos la fórmula
=SI(A3=A2;D2;-D2). Esta fórmula repite el número si coinciden las fechas y le cam-
bia el signo si no coinciden. Al extender la fórmula a toda la lista obtenemos “ris-
tras” de 1 y -1 en coincidencia con las ristras de fechas.
Figura 35. Las fórmulas de la columna D generan “ristras” de unos
(positivos o negativos) en coincidencia con las ristras de fechas en la columna A.
Resaltar series de datos
43www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 43
Ahora aplicamos un Formato condicional asociado al valor de esta fórmula auxiliar:
■ Señalar series de datos PASO A PASO
Seleccione toda la lista, desde A2 hacia abajo y hacia la derecha, excluyendo la
columna auxiliar.
Haga un clic en el botón Formato condicional dentro de la ficha Inicio de la cinta
de opciones y luego en Nueva regla. Aparecerá un cuadro para indicar las
características de la nueva regla.
Donde dice Seleccionar un tipo de regla haga un clic en Utilice una fórmula que
determine las celdas para aplicar el formato. Aparecerán nuevas opciones abajo.
Donde dice Dar formato a las celdas donde esta fórmula sea verdadera, escriba
=$D2=1, donde D2 es la celda donde había escrito un 1. Atención al signo $.
Haga un clic en el botón Formato....
En la ficha Relleno indique algún color adecuado.
Haga un clic en Aceptar (el formato).
Haga un clic en Aceptar (la condición).
Figura 36. Esta opción permite aplicar un formato condicional “personalizado”.
Es decir, basado en una fórmula o en una condición relativamente compleja.
1. FORMATOS
44 www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 44
Al fijar la referencia a la columna D con el signo $ hacemos que la condición se eva-
lúe sobre la columna de 1 y -1 para todas las columnas de la lista.
Con la opción Utilice una fórmula que determine las celda para aplicar el formato
podemos diseñar un formato condicional “personalizado”, de forma más compleja
que simplemente mayor que, distinto de, etcétera.
El procedimiento es distinto en las versiones anteriores de Excel:
■ Señalar series de datos (Excel 2003 y anteriores) PASO A PASO
En la hoja donde aplicará el Formato condicional, seleccione toda la lista, desde
A2 hacia abajo y hacia la derecha, excluyendo la columna auxiliar.
Tome las opciones Formato/Formato condicional.
En la primera opción seleccione Fórmula.
En la segunda opción escriba =$D2=1.
Haga un clic en el botón Formato....
En la ficha Tramas indique algún color adecuado.
Haga un clic en Aceptar (el formato).
Haga un clic en Aceptar (la condición).
Figura 37. Este Formato condicional distingue la lista
de modo que cada grupo de fechas iguales tiene un mismo color.
La opción Fórmula, que indicamos en la Condición 1, es la que permite aplicar for-
matos condicionales personalizados en Excel 2003 y en las versiones anteriores.
Resaltar series de datos
45www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 45
Ocultar resultados
Armé una planilla para llevar el registro de los movimientos de una cuenta ban-
caria. En la última columna actualizo el saldo operando entre el saldo anterior y el úl-
timo movimiento. El problema es que las fórmulas se extienden más allá del último da-
to y repite el saldo en toda la columna. ¿Cómo le digo a Excel que solamente debe
calcular el saldo cuando hay algún movimiento en la fila?
Daniel Alberto Reinoso (provincia de Córdoba)
Aclaremos el problema. Tenemos una tabla con cuatro columnas: Fecha, Entrada,
Salida y Saldo. Supongamos que el último movimiento está en la séptima fila. En la
cuarta columna calculamos el saldo con la fórmula =D6+B7-C7. Es decir, al saldo an-
terior le sumamos la entrada y le restamos la salida de la fila actual.
Si extendemos la fórmula más allá de la séptima fila, dejándola lista para los próxi-
mos movimientos, el último saldo se repetirá a lo largo de toda la columna. Ese es
el problema que nuestro lector quiere resolver.
Una forma de hacerlo es condicionar el cálculo a que se haya escrito un nuevo mo-
vimiento. Por ejemplo =SI(A70;D6+B7-C7;“”). Esta fórmula pregunta si se ha escrito
una fecha en la columna A. Si es así, calcula el nuevo saldo, si no, queda en blanco.
Figura 38. Las fórmulas de la columna D calculan
el saldo solamente hasta la fila del último movimiento. Más abajo,
las fórmulas dejan un espacio en blanco.
1. FORMATOS
46 www.redusers.com
❘❘❘
Las combinaciones de teclas para aplicar las opciones de formato funcionan en todas las ver-
siones de Excel. Por ejemplo, la combinación Control+$ aplica el formato monetario y la combi-
nación Control+% aplica formato de porcentaje. La combinación Control+1 (el número 1) muestra
el cuadro con todas las opciones de formato.
ATAJOS DE TECLADO
01_superplanillas2.qxp 12/29/09 4:16 PM Page 46
Otra forma consiste en aplicar un Formato condicional que ponga los saldos en co-
lor blanco (haciéndolos invisibles) hasta que se escriba una nueva fecha.
■ Ocultar valores PASO A PASO
Seleccione la lista de saldos, desde D2 hacia abajo.
Haga un clic en el botón Formato condicional dentro de la ficha Inicio de la cinta
de opciones y luego en Nueva regla. Aparecerá un cuadro para indicar las
características de la nueva regla.
Donde dice Seleccionar un tipo de regla haga un clic en Utilice una fórmula que
determine las celdas para aplicar el formato. Esto cambia las opciones que
aparecen más abajo.
Donde dice Dar formato a las celdas donde esta fórmula sea verdadera, escriba
=$A2=0, donde A2 es la celda donde está la primera fecha.
Haga un clic en el botón Formato....
En la ficha Fuentes, dentro de Color, indique color Blanco.
Haga un clic en Aceptar (el formato).
Haga un clic en Aceptar (la condición).
Figura 39. Este Formato condicional oculta el contenido
de la columna D si la correspondiente celda de la columna A está vacía.
Ocultar resultados
47www.redusers.com
01_superplanillas2.qxp 12/29/09 4:16 PM Page 47
Lo que dice este Formato condicional es que, si la fecha de la columna A es nula (es
decir, no hay fecha todavía), el contenido del valor correspondiente de la columna
D (el saldo) debe tener color blanco. Contenido blanco sobre fondo blanco hace que
el saldo no se vea, aunque la fórmula esté ahí calculándolo.
Otro formato para ocultar valores es el formato personalizado ;;; (tres veces el pun-
to y coma). Este formato hace invisible el contenido de la celda. Si lo indicamos en
el Paso 6 (dentro de la categoría Personalizada en la ficha Número) estaremos ocul-
tado los saldos más allá de la última fecha.
Si estamos usando Excel 2003 o una versión anterior, el Formato condicional se apli-
ca con las opciones Formato/Formato condicional y, en la primera opción, se indica
Fórmula. Con esto creamos este formato condicional “personalizado”.
Formato para guaraníes
¿Es posible agregar en Excel un formato monetario con el símbolo de la mo-
neda de mi país, el guaraní? Es una G mayúscula cruzada por una barra oblicua.
Juan Gabriel Agüero Avila (Lambaré, Paraguay)
Excel incluye, dentro de sus formatos monetarios, uno para guaraníes: muestra el
valor de la celda junto con las letras Gs. Pero el lector nos aclara que no es ése el
símbolo del guaraní, de modo que tendremos que recurrir a otra opción. En este
caso podemos crear el símbolo en un editor de caracteres. Seguramente tenemos ins-
talado en nuestro equipo el Editor de caracteres privados de Windows:
■ Abrir el editor de caracteres PASO A PASO
Haga un clic en el botón Inicio de Windows.
Tome la opción Ejecutar.
1. FORMATOS
48 www.redusers.com
❘❘❘
La combinación Control+0 (el número cero) oculta la columna actual. La combinación Control+9
oculta la fila actual. La combinación Control+) muestra la columna seleccionada y actualmente
oculta. La combinación Control+( muestra la fila seleccionada y actualmente oculta.
OCULTAR Y MOSTRAR
01_superplanillas2.qxp 12/29/09 4:16 PM Page 48
Formato para guaraníes
49www.redusers.com
Dentro de Abrir escriba eucedit.
Haga un clic en Aceptar.
Figura 40. Este es el Editor de caracteres privados de Windows.
Aquí podemos crear símbolos no incluidos en las tipografías convencionales.
Con esto abrimos el Editor de caracteres privados de Windows que muestra un
cuadro con la lista de caracteres ya creados, que seguramente estará vacía. En-
tonces generamos nuestro nuevo carácter:
■ Crear un nuevo carácter PASO A PASO
Seleccione cualquier carácter no usado.
❘❘❘
El tamaño de la letra se mide en puntos. Hay 72 puntos en una pulgada (2,54 centímetros). Los ta-
maños más usados son 10 ó 12 puntos, que es lo que se obtendría en una antigua máquina de es-
cribir. En general, no conviene usar muchos tamaños de fuente distintos en una misma planilla.
TAMAÑO DE FUENTE
01_superplanillas2.qxp 12/29/09 4:16 PM Page 49
1. FORMATOS
50 www.redusers.com
Haga un clic en Aceptar. Aparecerá una cuadrícula en la pantalla donde podrá
dibujar el nuevo carácter. En vez de dibujar el símbolo desde el comienzo, tome
la G y luego dibuje la línea que la atraviesa.
A continuación, tome las opciones Edición/Copiar carácter. Aparecerá la lista de
caracteres estándares.
Seleccione la G y haga un clic en Aceptar.
Con las herramientas de dibujo, trace la línea diagonal.
Tome las opciones Edición/Guardar carácter.
Cierre el editor.
Figura 41. Así queda el símbolo del guaraní
en el Editor de caracteres privados. Lo tenemos que guardar
para poder usarlo en cualquier otro programa.
Ahora disponemos del nuevo carácter que representa al símbolo del guaraní y lo po-
demos tomar desde el mapa de caracteres de la siguiente forma:
01_superplanillas2.qxp 12/29/09 4:16 PM Page 50
■ Copiar el nuevo carácter PASO A PASO
Abra el mapa de caracteres con Inicio/Programas/Accesorios/Mapa de caracteres
(la secuencia exacta puede variar según cómo tenga organizado el menú).
Dentro de Fuente seleccione Todas las fuentes (Caracteres privados). Debe
aparecer la lista de caracteres creados, con el símbolo que creó recién.
Seleccione ese carácter.
Haga un clic en Seleccionar y luego otro en Copiar.
Figura 42. Este es el Mapa de caracteres.
Al indicar la opción Todas las fuentes (Caracteres privados)
aparece el símbolo creado antes en el editor.
Formato para guaraníes
51www.redusers.com
❘❘❘
Para desplazarnos rápidamente con el teclado, podemos utilizar las teclas AvPag y RePag para
movernos páginas hacia abajo y hacia arriba respectivamente. Para movernos en forma hori-
zontal, podemos presionar la combinación de teclas ALT+AvPag o ALT+RePag, que nos moverán
una pantalla hacia la derecha o hacia la izquierda respectivamente.
DESPLAZAMIENTO CON EL TECLADO
01_superplanillas2.qxp 12/29/09 4:16 PM Page 51
Con este procedimiento copiamos el carácter en el Portapapeles de Windows y
lo podemos pegar en cualquier programa. Por ejemplo, en Excel, dentro de la
opción Tipo al crear el formato personalizado. Por supuesto, el procedimiento sir-
ve para crear cualquier símbolo que queramos incluir en un formato personalizado.
Figura 43. El símbolo creado en el Editor de caracteres
privados pudimos pegarlo dentro de un formato personalizado para guaraníes.
1. FORMATOS
52 www.redusers.com
… RESUMEN
Las opciones de formato son de las más usadas en Excel. Se dice que uno arma su planilla en
media hora y luego pasa varios días mejorando su aspecto. Las preguntas respondidas en este
capítulo dan una idea de la variedad de problemas interesantes que se pueden resolver
aplicando convenientemente estas opciones de formato.
01_superplanillas2.qxp 12/29/09 4:16 PM Page 52
Impresión
Imprimir imágenes 54
Imprimir factura 55
Configurar páginas 56
Elegir impresora 57
Contar páginas 59
Original, duplicado y triplicado 60
Encabezado variable 61
Combinar correspondencia 64
Capítulo 2
Todos los usuarios de Excel sabemos
imprimir las planillas. Conocemos cómo
configurar el tamaño de la hoja,
los márgenes y los encabezados.
Pero las dificultades que aparecen
a la hora de imprimir un archivo de Excel
suelen ir más allá de las opciones
de impresión propiamente dichas. En este
capítulo resolveremos problemas
relacionados con la impresión de
planillas, que no siempre tienen solución
a través de las opciones convencionales.
EXCEL REVELADO
SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com
02_Excel revelado.qxp 12/29/09 4:20 PM Page 53
Imprimir imágenes
Inserté un logo en una planilla. Queda muy bien, pero, cuando imprimo la ho-
ja, el logo no aparece. Es un archivo GIF que no tiene nada de especial. ¿Qué es lo
que estoy haciendo mal? No puedo darme cuenta del problema.
Elías Manzur (provincia de San Juan)
Excel tiene una opción para indicar que una imagen insertada en la hoja se impri-
ma. Es posible que el logo de Elías tenga desactivada esa opción. De esta manera,
para imprimirlo, hay que activarla de esta forma:
■ Imprimir imágenes PASO A PASO
Haga un clic derecho sobre la imagen que quiere imprimir.
Haga un clic en la opción Tamaño y propiedades.
Seleccione la ficha Propiedades
Marque la opción Imprimir objeto.
Haga un clic en Aceptar.
Debemos tener en cuenta que en las versiones anteriores de Excel la opción para
imprimir imágenes se encuentra en la ficha Propiedades, dentro del menú Formato/
Imagen. Si todo sale bien, la imagen aparecerá en la hoja impresa.
2. IMPRESIÓN
54 www.redusers.com
02_Excel revelado.qxp 12/29/09 4:20 PM Page 54
Imprimir factura
Tengo una factura con una serie de campos: Nombre y al lado el nombre,
Fecha y al lado la fecha, etcétera. Esta factura la tengo que imprimir en un formulario
que ya tiene preimpresos los títulos. De modo que tengo que imprimir el nombre,
pero no el título Nombre; la fecha, pero no el título Fecha. ¿Cómo puedo hacerlo?
César Pérez Martínez (México D.F.)
Éste es un problema interesante. Una forma fácil de resolverlo es generar una co-
pia de la factura en un rango auxiliar e incluir solamente los datos que deseamos
imprimir y no los respectivos títulos.
Por ejemplo, supongamos que la factura ocupa el rango A1:F10 y generamos el du-
plicado en G1:L10, que será el rango que vamos a imprimir.
Figura 1. Estas dos facturas son iguales, pero en la segunda
no aparecen los títulos que están en un formulario preimpreso.
Este duplicado contendrá fórmulas que “traen” los datos para imprimir desde la fac-
tura original. Por ejemplo, si en A1 está la palabra Nombre y en B1 el nombre, en H1
escribimos la fórmula =B1; si en A2 está la palabra Fecha y en B2 el nombre, en H2 es-
cribimos la fórmula =B2. Así hacemos con todos los valores que deban imprimirse.
Ahora establecemos el rango de impresión, tal como explicamos a continuación:
Imprimir factura
55www.redusers.com
❘❘❘
A partir de Excel XP tenemos la opción de incluir imágenes en el encabezado o el pie de página.
Afortunadamente esta opción se mantiene en Excel 2003 y 2007. Esto permite crear planillas más
atractivas ya que podemos insertar un logo que se imprima luego en todas las hojas.
IMÁGENES EN ENCABEZADO Y PIE
02_Excel revelado.qxp 12/29/09 4:20 PM Page 55
■ Establecer área de impresión PASO A PASO
Seleccione la ficha Diseño de página de la cinta de opciones.
Haga un clic en el botón Área de impresión.
Haga un clic en Establecer área de impresión.
En las versiones anteriores de Excel el rango de impresión se establece con las op-
ciones Archivo/Área de impresión/Establecer área de impresión. Luego, el procedi-
miento para resolver este problema es el mismo para todas las versiones.
Configurar páginas
Tengo un archivo Excel con unas veinte hojas y necesito configurar las mis-
mas opciones de página en todas las hojas (márgenes, orientación, tamaño de la ho-
ja, etcétera). Sé hacerlo una por una, ¿cómo hago para aplicar las opciones en todas
las hojas a la vez, en un único paso?
Rodrigo Zalazar Romero (San Miguel de Tucumán)
Cuando se establecen las opciones de impresión, éstas quedan aplicadas a todas las
hojas seleccionadas. En el caso de la consulta, para aplicar las mismas opciones a to-
do el libro, basta con seleccionar previamente todas las hojas. Luego sí podemos es-
tablecer la configuración deseada, que quedará extendida a todo el libro:
2. IMPRESIÓN
56 www.redusers.com
02_Excel revelado.qxp 12/29/09 4:20 PM Page 56
■ Aplicar opciones a todas las hojas PASO A PASO
Haga un clic derecho sobre la solapa de cualquier hoja del libro.
Tome la opción Seleccionar todas las hojas.
Con las hojas seleccionadas establezca las opciones de impresión que desea, en
la ficha Diseño de página de la Cinta de opciones (Márgenes, Orientación,
Tamaño, etcétera).
Deseleccione las hojas con un clic en cualquier solapa.
Figura 2. Una vez que seleccionamos todas
las hojas del libro, al establecer las opciones de configuración
de página, éstas quedarán aplicadas a todo el libro.
Una vez completado este proceso, las opciones establecidas mientras estaban seleccio-
nadas las hojas se extenderán a todo el libro. Si queremos aplicar las opciones sólo en
algunas hojas, las seleccionamos haciendo un clic en la solapa de cada hoja mientras
mantenemos presionado CONTROL. En las versiones anteriores de Excel llegamos a
las opciones de impresión desde el menú Archivo/Configurar página.
Elegir impresora
Hice una macro que arma una hoja copiando datos de otra y luego la impri-
me. ¿Es posible que, antes de proceder a la impresión, me dé la oportunidad de se-
leccionar la impresora y no use la predeterminada?
Gustavo Borchez (Avellaneda, provincia de Buenos Aires)
Elegir impresora
57www.redusers.com
02_Excel revelado.qxp 12/29/09 4:20 PM Page 57
La respuesta es sí. La instrucción que debe incluir Gustavo en su macro, antes
de la impresión, es Application.Dialogs(xlDialogPrinterSetup).Show.
En general, Application.Dialogs(<cuadro>).Show muestra cualquiera de los cuadros
estándares de Excel, donde <cuadro> es un número que identifica al cuadro que se
va a mostrar. En el ejemplo que damos, este número aparece representado por una
constante propia de Excel: xlDialogPrinterSetup.
Figura 3. Queremos que una macro muestre
este cuadro para que el operador seleccione la impresora
antes de proceder con la impresión.
Cuando estamos escribiendo la macro, en el momento de abrir el paréntesis en
Application.Dialogs se descuelga una lista con todas las constantes posibles. Por su
nombre, es posible saber cuál corresponde al cuadro deseado. Si la lista no apare-
ce, tenemos que activar una opción en el editor de VBA:
■ Lista de argumentos en VBA PASO A PASO
Ingrese al editor de Visual Basic con la combinación Alt+F11.
Una vez dentro del editor tome las opciones Herramientas/Opciones.
Seleccione la pestaña Editor.
2. IMPRESIÓN
58 www.redusers.com
❘❘❘
En Excel 2007, las opciones asociadas a macros (escribir, grabar, ejecutar, etcétera) se encuen-
tran en la ficha Programador de la Cinta de opciones. Para disponer de esta ficha tenemos que
marcar la opción Mostrar ficha programador en la cinta de opciones, dentro de la categoría Más
frecuentes dentro de Botón de Office/Opciones de Excel.
LA FICHA PROGRAMADOR
02_Excel revelado.qxp 12/29/09 4:20 PM Page 58
Marque la opción Lista de miembros automática.
Haga un clic en Aceptar.
Figura 4. Al escribir la instrucción Application.Dialogs se descuelga
una lista con los posibles valores de la constante que identifica a cada
cuadro. Esto ocurre si tenemos activada la opción Lista de miembros
automática dentro de Herramientas/Opciones en el Editor de VBA.
Esta opción vale para todas las instrucciones que admitan una lista de argumentos
y simplifica mucho la escritura del código de las macros.
Contar páginas
Si voy a imprimir una lista muy larga, con una cantidad variable de filas, ¿có-
mo puedo saber cuántas páginas va a ocupar? Las filas pueden tener altura variable,
por lo que no puedo dividir la cantidad total de filas por la cantidad de filas por hoja,
que es variable. Muchas gracias por tu respuesta.
Roberto Rodríguez
Este problema puede resolverse con una macro que cuente los cortes de páginas den-
tro del área de impresión. El código sería como el que se detalla a continuación:
Contar páginas
59www.redusers.com
❘❘❘
Para numerar las páginas al imprimir una planilla tenemos que hacerlo a través del encabezado o
del pie de página. En la lista de encabezados o pies estándares hay varias opciones que incluyen el
número de página. También podemos diseñar a gusto el encabezado o el pie con los botones Per-
sonalizar encabezado y Personalizar pie de página de las opciones de Encabezado y pie de página.
NUMERAR PÁGINAS
02_Excel revelado.qxp 12/29/09 4:20 PM Page 59
Sub paginas()
cortes = ActiveSheet.HPageBreaks.Count
MsgBox (“Hay “ & cortes & “ páginas en la hoja”)
End Sub
La propiedad HPageBreaks.Count calcula la cantidad de cortes de página horizon-
tales (por eso la H). En principio, hay un corte de página por cada hoja que se va
a imprimir. La macro funciona tanto con los cortes de página automáticos gene-
rados por Excel como con los que pudieran haberse insertado manualmente a tra-
vés de la opción Insertar/Salto de página.
Para que la macro funcione correctamente, es necesario generar antes los cortes de
página automáticos. Para eso alcanza con hacer una Vista preliminar.
Original, duplicado y triplicado
Hice un formulario en una hoja de Excel. Cada vez que lo imprimo hago tres
copias. Necesito que en cada una haya una leyenda que indique cuál es el original,
cuál el duplicado y cuál el triplicado. ¿Cómo hago para obtener estas leyendas auto-
máticamente, sin tener que cambiar el texto en cada copia?
Fernando Ananias Ricci
Una solución sería hacer la impresión a través de una macro que cambie el encabe-
zado (o el pie de página) en cada copia.
Sub Impresion()
ActiveSheet.PageSetup.CenterHeader = “ORIGINAL”
ActiveSheet.PrintOut
ActiveSheet.PageSetup.CenterHeader = “DUPLICADO”
ActiveSheet.PrintOut
ActiveSheet.PageSetup.CenterHeader = “TRIPLICADO”
2. IMPRESIÓN
60 www.redusers.com
❘❘❘
En Excel 2003 y en las versiones anteriores, las opciones asociadas a la impresión se encuentran
en los menús Archivo/Vista preliminar, Archivo/Configurar página y Archivo/Imprimir. En Excel
2007 se encuentran mayoritariamente en la ficha Diseño de página de la cinta de opciones.
OPCIONES DE IMPRESIÓN
02_Excel revelado.qxp 12/29/09 4:20 PM Page 60
ActiveSheet.PrintOut
End Sub
Lo que hace esta macro es usar la propiedad PageSetup.CenterHeader para cambiar
el encabezado de la hoja antes de cada impresión.
Si el encabezado y el pie de página estuvieran ocupados con algún otro elemento,
el texto se puede ubicar en alguna celda adecuada.
La siguiente consulta se refiere a un problema similar y tiene una solución parecida.
Encabezado variable
Necesito imprimir una planilla que ocupa seis páginas. En las primeras tres
tiene que imprimirse un encabezado y en las tres restantes, otro. Sé que se puede ha-
cer imprimiendo cada grupo por separado. Pero es un informe que imprimo todos los
días. ¿Hay alguna forma de automatizarlo?
Juan Gabriel Agüero Ávila (Lambaré, Paraguay)
Todo lo que resulta muy tedioso cuando se hace a mano se puede simplificar con
una macro. Es una solución similar a la de la consulta anterior.
Sub Titulos()
ActiveSheet.PageSetup.CenterHeader = “Informe de ventas”
ActiveSheet.PrintOut From:=1, To:=3
ActiveSheet.PageSetup.CenterHeader = “Informe de producción”
ActiveSheet.PrintOut From:=4, To:=6
End Sub
Esta macro establece el primer encabezado y luego imprime las hojas 1 a 3. A con-
tinuación, establece el segundo encabezado e imprime las hojas restantes.
Uno no siempre recuerda las instrucciones de macro asociadas a cada opción o
Encabezado variable
61www.redusers.com
❘❘❘
La forma de abrir el editor de Visual Basic (para escribir o modificar una macro) depende de la
versión de Excel que estemos usando: a través del menú o de la ficha Programador de la Cinta
de opciones. Pero en todas las versiones podemos hacerlo con la combinación ALT+F11.
EDITOR DE VISUAL BASIC
02_Excel revelado.qxp 12/29/09 4:20 PM Page 61
comando de Excel. Entonces se lo podemos preguntar al grabador de macros. Es
un buen ejemplo del uso del grabador de macros como asistente de programación.
■ El grabador como asistente PASO A PASO
Seleccione la ficha Programador dentro de la Cinta de opciones.
Haga un clic en el botón Grabar macro.
Escriba un nombre adecuado para la macro.
Haga un clic en Aceptar.
En las versiones anteriores de Excel tomamos las opciones Herramientas/Ma-
cro/Grabar nueva macro y luego sí establecemos la configuración deseada.
2. IMPRESIÓN
62 www.redusers.com
❘❘❘
La combinación CONTROL+P muestra el menú de impresión (equivale a la opción Imprimir). No
existe en Excel una combinación de teclas para mostrar la Vista preliminar, pero sí la encon-
tramos en Word mediante la combinación CONTROL+ALT+I.
ATAJOS DE TECLADO
02_Excel revelado.qxp 12/29/09 4:20 PM Page 62
En cualquier caso, con estas opciones encendemos el grabador de macros que re-
gistrará todo lo que hagamos de ahora en más y escribirá la macro correspon-
diente a esas operaciones. En este caso, establecemos un encabezado e imprimi-
mos las primeras tres páginas de la planilla. Luego apagamos el grabador y ve-
mos la macro que hemos obtenido:
■ Ver el código de la macro PASO A PASO
Seleccione la ficha Programador dentro de la Cinta de opciones.
Haga un clic en el botón Detener grabación.
A continuación, haga un clic en el botón Macros. Aparecerá el cuadro con la lista
de macros disponibles.
Seleccione la macro que acaba de crear.
Haga un clic en Modificar.
Con esto se abrirá el editor de Visual Basic con el código de la macro que hace lo
mismo que hicimos antes desde el menú.
Sub Macro1()
‘
‘ Macro1 Macro
‘ Macro grabada el 27/10/2009 por Claudio Sánchez
‘
ActiveSheet.PageSetup.PrintArea = “”
With ActiveSheet.PageSetup
.LeftHeader = “”
Encabezado variable
63www.redusers.com
❘❘❘
Para insertar un corte de hoja manual tenemos que poner el cursor en la primera columna de la iz-
quierda y en lo que sería la primera fila de la nueva hoja. Entonces tomamos las opciones Insertar/
Salto de página o usamos el botón Saltos de la ficha Diseño de página de la cinta de opciones.
CORTES DE HOJA
02_Excel revelado.qxp 12/29/09 4:20 PM Page 63
.CenterHeader = “Preuba de encabezado”
.RightHeader = “”
.LeftFooter = “”
.CenterFooter = “”
.RightFooter = “”
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 360
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=3, Copies:=1, Collate
_
:=True
End Sub
Ahora sí podemos estudiar este código y localizar las instrucciones que correspon-
den a las operaciones que nos interesan. En este caso, las asociadas al establecimiento
de los encabezados o pies de página, de acuerdo a lo que pide el lector.
Combinar correspondencia
Tengo una lista de personas con nombre, concepto e importe. Cada persona
puede aparecer más de una vez, con distintos conceptos. Quiero imprimir cartas, usan-
do la técnica de combinación de correspondencia, pero con todos los conceptos de
una persona en una misma carta. En Word solamente puedo imprimir una carta por
persona y concepto. ¿Se puede hacer en Excel?
Robert Blanco (Asunción del Paraguay)
No existe en Excel un comando equivalente a Combinar correspondencia que sí
encontramos en Word. Pero, afortunadamente, se puede hacer lo mismo con una
2. IMPRESIÓN
64 www.redusers.com
02_Excel revelado.qxp 12/29/09 4:20 PM Page 64
macro. Y cuando se usan macros, es posible realizar todas las mejoras que a uno
se le ocurran. O que se le ocurran a nuestro lector Robert.
Por ejemplo, supongamos que tenemos la lista de personas (con Nombre, Concepto
e Importe) en A1:C13 (reservamos la primera fila para títulos). Primero debemos pre-
parar la “carta modelo” que la macro completará con los datos de cada persona. Por
ejemplo, en E1 escribimos Sr: (la macro escribirá el nombre en F1). Luego ingresa-
mos algún texto introductorio adecuado. En las columnas E y F, a partir de la fila
5, la macro copiará concepto e importe para esta persona. Si queremos, podemos
escribir una firma o frase de cierre en la última fila de la carta.
Figura 5. Una macro recorre la lista de la izquierda
y completa la carta de la derecha. Cuando termina
de armar la carta de una persona, la imprime.
En estas condiciones, la macro podría ser más o menos como la siguiente:
Sub Cartas()
ActiveSheet.PageSetup.PrintArea = “E1:H20”
fila = 2
Do While Not IsEmpty(Cells(fila, “A”))
Range(“E5:H10”).ClearContents
nombre = Cells(fila, “A”)
Range(“F1”) = nombre
f1 = 5
Do While Cells(fila, “A”) = nombre And Not IsEmpty(Cells(fila, “A”))
Cells(f1, “E”) = Cells(fila, “B”)
Cells(f1, “F”) = Cells(fila, “C”)
Combinar correspondencia
65www.redusers.com
02_Excel revelado.qxp 12/29/09 4:20 PM Page 65
fila = fila + 1
f1 = f1 + 1
Loop
ActiveSheet.PrintOut
Loop
End Sub
Lo primero que hace la macro es establecer el rango de impresión de la carta mo-
delo. Luego comienza a recorrer la lista de personas desde la segunda fila, mientras
encuentre datos en la columna A. Esto lo hacemos con la condición Not IsEmpty (no
está vacía). El recorrido del rango empieza borrando los datos de la carta anterior.
Luego toma nota del nombre de la persona y lo escribe en G1. Entonces realiza un
segundo recorrido para tomar nota de conceptos e importe de esta persona. Dos
condiciones controlan este ciclo: que la columna A tenga datos, como antes, y que
el nombre de la persona sea el que corresponde a esta carta.
Este segundo ciclo se limita a copiar el concepto en la columna F y el importe en la
columna G. Cuando el ciclo termina, imprime la carta. La impresión se hace con la
instrucción ActiveSheet.PrintOut, pero, mientras hacemos pruebas, conviene cam-
biarla por ActiveSheet.PrintPreview, que hace la vista preliminar.
2. IMPRESIÓN
66 www.redusers.com
… RESUMEN
Cualquiera pensaría que la impresión de una planilla Excel no ofrece demasiados secretos:
hacemos un clic en el botón Imprimir y listo. Sin embargo, las distintas consultas respondidas en
este capítulo demuestran que hay más en la impresión de una hoja que lo que podríamos pensar.
02_Excel revelado.qxp 12/29/09 4:20 PM Page 66
Gráficos
Histograma 68
Señalar promedio 71
Gráfico dinámico 73
Gráfico y subgráfico 76
Gráficos en cuatro cuadrantes 81
Área bajo una curva 83
Escala de gráficos 85
Gráfico para balance 88
Capítulo 3
Los gráficos son una opción atractiva
de los programas de planilla de cálculo.
Son fáciles de hacer y lindos de ver.
Sin embargo, como todo en Excel, tienen
sus secretos. A veces vemos gráficos
muy interesantes, pero cuando tratamos
de reproducirlos, no encontramos
las opciones necesarias.
Hay ciertos trucos y técnicas “secretas”
que sirven para lograr efectos
que no aparecen en los comandos
y opciones estándares. Con esos trucos
y técnicas resolveremos los problemas
planteados en este capítulo.
EXCEL REVELADO
SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 67
Histograma
Me gustaría saber si en Excel se pueden hacer gráficos tipo histograma o po-
lígonos de frecuencias. Espero tu respuesta.
Betina Russo (Buenos Aires)
Un histograma es un gráfico de columnas (barras verticales) donde cada una represen-
ta la cantidad de veces que ocurre un determinado hecho. Por ejemplo, supongamos
que organizamos un curso al que asisten personas de distintas regiones y queremos ob-
tener un gráfico que represente la procedencia de los asistentes: más personas hay de
una determinada región, más alta será la columna correspondiente.
Figura 1. La altura de cada columna de este gráfico
es proporcional a la cantidad de gente que proviene de la respectiva región.
Si tenemos una tabla donde se indique la cantidad de gente por región, hacer el grá-
fico es muy fácil: seleccionamos la tabla, hacemos un clic en el botón Columna de la
ficha Insertar y seguimos las instrucciones. En las versiones de Excel anteriores a la
2007, luego de seleccionar la tabla tomamos las opciones Insertar/Gráfico.
En realidad, el problema no es el gráfico sino el cuadro: tal vez no tengamos un cua-
dro elegante de dos columnas donde cada fila sea una provincia y donde se indique la
cantidad de asistentes de esa procedencia. Es más probable que tengamos una lista de
3. GRÁFICOS
68 www.redusers.com
❴❵
Si seleccionamos una tabla de datos y oprimimos la tecla F11 Excel crea automáticamente un
gráfico de Columnas y lo inserta en una nueva hoja de gráficos. Esta tecla rápida es más un fas-
tidio que una herramienta porque crea un gráfico muy simple que luego tenemos que ajustar.
GRÁFICO INSTANTÁNEO
03_Excel revelado.qxp 12/29/09 4:21 PM Page 68
personas (cada fila una persona), donde figura la procedencia de cada una. A partir
de esta lista tenemos que obtener el cuadro y, entonces sí, pasar al gráfico.
Figura 2. Para crear el histograma, necesitamos
obtener una tabla que diga cuántas personas hay en cada región.
Hay varias formas de obtener el cuadro de valores a partir de la lista. Una de las más
directas es mediante tablas dinámicas. Veamos cómo crearlas:
■ Crear una tabla dinámica PASO A PASO
Seleccione la lista original.
Dentro de la ficha Insertar, haga un clic en el botón Tabla dinámica y, del menú
que se descuelga, en la opción Tabla dinámica. Aparecerá un cuadro con las
opciones iniciales de la tabla.
Indique dónde quiere poner la tabla. Por ejemplo, marque la opción Hoja de
cálculo existente y, dentro de Ubicación, haga un clic en una celda libre.
Haga un clic en Aceptar. Aparecerá en el panel derecho de la pantalla una serie
de opciones para darle forma a la tabla.
Tome el campo Provincia (o como se llame el campo que contenga la
procedencia) y arrástrelo hasta el cuadro Rótulos de fila.
Tome nuevamente el campo Provincia y arrástrelo hasta el cuadro Valores. Con
esto aparecerá la tabla con dos columnas: las provincias y la cantidad de
personas en cada provincia.
Cierre el panel derecho.
Histograma
69www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 69
Esto arma la tabla dinámica con los totales por provincia.
Figura 3. Así queda la tabla dinámica
creada por Excel a partir de la lista de la izquierda.
En Excel 2003 y en las versiones anteriores, el procedimiento es un poco distinto.
■ Tabla dinámica (Excel 2003 y anteriores) PASO A PASO
Seleccione la lista original.
Vaya a las opciones Datos/Informe de tablas y gráficos dinámicos. Se abrirá el
asistente para tablas dinámicas.
En el primer paso indique Lista o base de datos de Microsoft Excel, porque ése es
el origen de los datos.
Haga un clic en Siguiente.
En el segundo paso el cuadro debe indicar correctamente el origen de datos, tal
como lo seleccionó al principio. De modo que aquí no deberá hacer nada, sólo
siga adelante con un clic en Siguiente.
En el último paso indique la ubicación para la tabla de valores que va a obtener.
Por ejemplo, Hoja de cálculo existente y una celda libre en la hoja actual.
Por último, haga un clic en Finalizar. Aparecerá el “esqueleto” de la tabla y un
cuadro con la lista de campos.
3. GRÁFICOS
70 www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 70
Tome con el mouse el campo Provincia y llévelo desde el cuadro Lista de campos
de tabla hasta donde dice Coloque campos de fila aquí. Repita la maniobra
anterior, pero esta vez lleve el campo a donde dice Coloque datos aquí.
Esta tabla dinámica obtenida tampoco es el cuadro que se graficará para obtener el
histograma. Ocurre que, en principio, cuando creamos un gráfico a partir de una
tabla dinámica, se obtiene un gráfico dinámico. Si queremos un gráfico común,
tenemos que copiar la tabla a otro rango y graficar ese segundo rango.
Señalar promedio
Tengo un gráfico de columnas, con los valores mensuales de ventas, don-
de cada columna representa un mes. Me gustaría señalar el promedio de ventas en
el gráfico para saber de un vistazo cuándo las ventas están por encima del pro-
medio y cuándo están por debajo.
Damián Omar Silva (provincia de Santa Fe)
Suponemos que la tabla que queremos graficar tiene dos columnas: Mes y Ventas.
Agreguemos una nueva columna, con el título Promedio, y cuyo contenido sea el
promedio de ventas. Por ejemplo, si las ventas están en el rango B2:B7, en C2 escri-
bimos la función =PROMEDIO(B$2:B$7) y extendemos la fórmula a toda la tabla. Si
construimos un gráfico de columnas a partir de esta tabla extendida, obtendremos
dos columnas por cada mes. La segunda columna representará el promedio y ten-
drá la misma altura en todos los meses.
Figura 4. Este gráfico tiene dos series de columnas. La segunda
serie, correspondiente al promedio, será cambiada por una línea horizontal.
Señalar promedio
71www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 71
Ahora todo lo que tenemos que hacer es que la segunda serie de datos, en este
caso los promedios de ventas, se represente con una línea horizontal. Para eso,
tenemos que cambiar el tipo de gráfico, pero solamente para esta segunda serie.
Entonces, para lograrlo, hacemos un clic derecho sobre cualquier columna de la
segunda serie y, del menú contextual que se presenta, tomamos la opción Cambiar
tipo de gráfico de series. De esta manera aparecerá un cuadro con la lista de tipos
de gráficos disponibles. Allí, simplemente debemos seleccionar alguno corres-
pondiente al tipo de Líneas.
Si utilizamos Excel 2003 o cualquiera de las versiones anteriores, cambiamos el
tipo de la segunda serie con las opciones Gráfico/Tipo de gráfico.
Figura 5. La línea horizontal señala el valor promedio
de ventas. Permite ver rápidamente en qué meses se superó
el promedio y en cuáles no ocurrió así.
Con esto obtenemos un gráfico de tipo “mixto”: una serie en columnas y la otra en
líneas. Todavía podemos cambiar las propiedades de la línea eliminando el marca-
dor y poniéndole un color más llamativo.
3. GRÁFICOS
72 www.redusers.com
❘❘❘
Los gráficos de Línea parecen iguales a los de Dispersión, pero son muy distintos. En un gráfico
de Línea, los valores de x se ubican equidistantes en el eje horizontal. En los de Dispersión, se
ubican en forma proporcional a su valor, es decir que si los valores de x son 10, 40 y 50, el se-
gundo número estará más cerca del tercero que del primero.
LÍNEAS CONTRA DISPERSIÓN
03_Excel revelado.qxp 12/29/09 4:21 PM Page 72
Gráfico dinámico
Cada vez que actualizo un gráfico dinámico (porque cambio un dato o porque
aplico un filtro) pierdo todas las opciones que apliqué, tales como el color de las ba-
rras o el grosor de las líneas. ¿Cómo puedo hacer para conservar estas característi-
cas al actualizar el gráfico? Gracias por tu ayuda.
Christian Macedo Aliaga (Lima, Perú)
Antes de pasar a la resolución de este problema, hablemos un poco de gráficos
dinámicos para comprender la diferencia con los gráficos tradicionales. Se trata
de una variante de las tablas dinámicas, que aparecieron en Excel 2000. Por ejem-
plo, supongamos que tenemos una planilla con una lista de ventas. Cada fila co-
rresponde a una venta y se indica el nombre del vendedor, el artículo vendido y
el importe de la venta. Cada vendedor aparece más de una vez, porque puede ha-
ber hecho más de una venta. Queremos obtener un gráfico de columnas que re-
presente el total de ventas por vendedor.
■ Crear un gráfico dinámico PASO A PASO
Seleccione la lista original.
A continuación, diríjase a la ficha Insertar, haga un clic en el botón Tabla
dinámica y luego en la opción Gráfico dinámico. Aparecerá un cuadro con las
opciones iniciales del gráfico.
Marque la opción Hoja de cálculo existente y, dentro de Ubicación, haga un clic
en una celda libre.
Haga un clic en Aceptar. Aparecerá en el panel derecho de la pantalla una serie
de opciones para darle forma al gráfico y un panel de filtros.
Tome el campo Nombre y arrástrelo hasta el cuadro Campos de eje.
Gráfico dinámico
73www.redusers.com
❘❘❘
En Excel 2007, cuando seleccionamos un gráfico, aparece el grupo de fichas Herramientas de
gráficos en la Cinta de opciones. Estas fichas tienen opciones específicas para trabajar con el
gráfico. En Excel 2003 y en las versiones anteriores, cuando seleccionamos un gráfico, la opción
Datos del menú principal cambia por Gráfico.
MENÚ GRÁFICO
03_Excel revelado.qxp 12/29/09 4:21 PM Page 73
Tome el campo Ventas y arrástrelo hasta el cuadro Valores. Con esto aparecerá
el gráfico de columnas con las ventas de cada vendedor.
Cierre el panel derecho.
El gráfico dinámico aparece acompañado de un cuadro llamado Panel de filtros. En
este cuadro podemos pedir que el gráfico se limite sólo a algunos vendedores. Si hi-
cimos algún ajuste en el gráfico (por ejemplo, modificamos el color de las columnas),
Excel conservará el cambio tras la actualización. Eso no ocurre en las versiones an-
teriores a Excel 2007: cada vez que actualizamos el gráfico (porque cambiamos un
dato o porque aplicamos un filtro), se vuelve a las opciones originales.
Una posible solución si trabajamos con Excel 2003, consiste en la creación de un
tipo de gráfico personalizado, como se describe a continuación:
■ Gráfico personalizado (Excel 2003 y anteriores) PASO A PASO
Aplique sobre el gráfico todos los atributos que desea.
Luego tome las opciones Gráfico/Tipo de gráfico. Aparecerá el cuadro con la lista
de tipos y subtipos.
Seleccione la ficha Tipos personalizados.
Dentro de Seleccionar desde, marque la opción Definido por el usuario.
3. GRÁFICOS
74 www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 74
Haga un clic en Agregar.
En la primera casilla escriba un nombre adecuado para el nuevo tipo que está
creando y, si lo desea, una descripción.
Haga un clic en Aceptar.
Si ahora aplicamos un filtro, volveremos al tipo estándar. Pero podemos recuperar
los atributos nuevos, aplicando el tipo que acabamos de crear.
■ Aplicar el gráfico personalizado PASO A PASO
Tome las opciones Gráfico/Tipo de gráfico.
Seleccione la ficha Tipos personalizados.
Marque la opción Definido por el usuario.
Seleccione el tipo que acaba de crear.
Haga un clic en Aceptar.
Gráfico dinámico
75www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 75
Con esto recuperamos los atributos que habíamos aplicado al gráfico dinámico. El
tipo personalizado queda disponible, además, para aplicar a otros gráficos.
Gráfico y subgráfico
Tengo una tabla con valores para cuatro rubros. Uno de esos rubros, a su vez,
está desagregado en tres subrubros. Quiero hacer un gráfico circular con cuatro sec-
tores y que uno de ellos conduzca a otro gráfico con los tres subsectores.
Miguel Ybarra (San Miguel, provincia de Buenos Aires)
Vamos a ver. Nuestra tabla tiene cuatro rubros: Ventas, Compras, Administración y
Producción. Al rubro Ventas le corresponden, a su vez, los subrubros Norte, Centro
y Oeste. Primero reacomodamos los datos de modo de tener una única tabla con los
rubros Compras, Administración, Producción, Norte, Centro y Oeste. Nótese que falta
el rubro Ventas, reemplazado por sus tres subrubros.
Figura 6. Este gráfico consta de una “torta principal”,
una de cuyas porciones se desglosa en una “subtorta”.
Primero creamos un gráfico de torta.
■ Crear un gráfico de torta PASO A PASO
Seleccione la tabla, con los rótulos y sus valores.
Seleccione la ficha Insertar, dentro de la Cinta de opciones.
3. GRÁFICOS
76 www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 76
Descuelgue las opciones del botón Circular.
Elija el tercer subtipo, el que tiene una segunda torta, más pequeña.
Ajuste las demás opciones, a gusto.
Si estamos usando Excel 2003 o una versión anterior:
■ Gráfico de torta (Excel 2003 y anteriores) PASO A PASO
Seleccione la tabla, con los rótulos y sus valores.
Tome las opciones Insertar/Gráfico.
En el primer paso del asistente indique gráfico tipo Circular y el tercer subtipo,
el de la segunda torta.
Ajuste las demás opciones, a gusto.
Haga un clic en Finalizar.
Cualquiera sea la versión de Excel que utilicemos, con los procedimientos que aca-
bamos de describir logramos crear un gráfico como el que pide el lector, a excepción
Gráfico y subgráfico
77www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 77
3. GRÁFICOS
78 www.redusers.com
❘❘❘
Cuando ubicamos el gráfico en la misma hoja que se encuentra la tabla, puede resultar dema-
siado chico. Si queremos cambiar la ubicación, tenemos que hacer un clic en el botón Mover
gráfico dentro de la ficha Diseño de la cinta de opciones. En las versiones anteriores de Excel,
cambiamos la ubicación con las opciones Gráfico/Ubicación.
UBICACIÓN DEL GRÁFICO
que el subgráfico desagrega dos rubros, cuando deberían ser tres, como pide la
consulta. Entonces, para resolver este problema, hacemos un clic derecho sobre
la torta (o la subtorta) y, del menú contextual que se presenta, tomamos la op-
ción Dar formato de la serie de datos. De esta manera se abrirá una ventana como
la de la FFiigguurraa 77. Todo lo que tenemos que hacer es indicar 3 donde dice Segundo
trazado contiene últimos, en el sector Opciones de serie. Luego completamos el pro-
ceso con un clic en Aceptar.
Figura 7. Con esta opción indicamos
que la subtorta corresponde a los últimos tres valores de la tabla.
En las versiones anteriores de Excel, hacemos el clic derecho sobre la torta y tomamos
la opción Formato/Serie de datos seleccionada. Dentro de la ficha Opciones, donde di-
ce Segundo trazado contiene últimos, indicamos 3 y hacemos un clic en Aceptar.
03_Excel revelado.qxp 12/29/09 4:21 PM Page 78
Figura 8. Así queda el gráfico con el subgráfico
que desagrega los valores correspondientes a Ventas.
A este gráfico lo podemos ajustar como cualquier otro gráfico de Excel para cam-
biar leyendas, rótulos de datos, títulos, etcétera.
Barras de colores
Tengo un gráfico de columnas que representa la velocidad de transmisión en
función de la tecnología del dispositivo. ¿Cómo hago para que cada columna tenga
un color diferente? Te agradezco por la ayuda.
Miguel Lederkremer (Buenos Aires)
Normalmente, en un gráfico de barras, las columnas de una serie son del mismo co-
lor. Por ejemplo, si representamos Ventas, Costo y Ganancia para cuatro empresas
habrá cuatro columnas para las Ventas, todas del mismo color; otras cuatro para el
Barras de colores
79www.redusers.com
❘❘❘
En Excel 2003 y en las versiones anteriores abrimos el asistente para crear gráficos median-
te las opciones Insertar/Gráfico. El concepto de asistente apareció hacia 1990 cuando ganó
el premio a la mayor innovación, otorgado por la revista PC Magazine. En inglés se lo llama-
ba Wizard, que significa mago o hechicero.
EL ASISTENTE
03_Excel revelado.qxp 12/29/09 4:21 PM Page 79
Costo, todas del mismo color (pero diferente al de las Ventas) y así sucesivamente.
Si hay una única serie de datos, como en el caso de Miguel, todas las columnas apa-
recerán del mismo color.
Figura 9. En un gráfico como éste, todas las columnas
de una misma serie tienen el mismo color. Si hay una única serie,
podemos hacer que cada columna tenga un color diferente.
Sin embargo, en este caso es posible diferenciar las distintas columnas de la misma
serie. La forma de realizarlo será como detallamos a continuación:
■ Columnas de colores PASO A PASO
Haga un clic derecho sobre cualquier columna.
En el menú contextual, vaya a las opciones Dar formato a la serie de datos.
3. GRÁFICOS
80 www.redusers.com
❘❘❘
En Excel 2003 y en las versiones anteriores, cuando seleccionamos un gráfico, la opción Gráfico
del menú principal contiene cuatro opciones para cambiar las respuestas que le podamos haber
dado al asistente durante la creación del gráfico. Estas cuatro opciones se corresponden con los
cuatro pasos del asistente.
MENÚ GRÁFICO EN EXCEL 2003
03_Excel revelado.qxp 12/29/09 4:21 PM Page 80
Seleccione la categoría Relleno.
Marque la opción Variar colores entre puntos.
Haga un clic en Cerrar.
En Excel 2003 y en las versiones anteriores, esta posibilidad está en el menú Opciones.
En realidad, esto ya lo había hecho Miguel, pero sin éxito. Ocurre que él había cam-
biado antes el color estándar de las columnas y este color personalizado manda so-
bre la otra opción. Lo que tenemos que hacer es reestablecer previamente el color
estándar. Para eso, en la ventana del PPaassoo 44, marcamos la opción Automática.
En las versiones anteriores de Excel, la opción Automática está en la ficha Tramas.
Gráficos en cuatro cuadrantes
Cuando hago un gráfico en Excel, los datos me aparecen en el primer cua-
drante (valores positivos para X e Y). ¿Hay alguna manera de que aparezcan los
cuatro cuadrantes, especialmente, cuando hago gráficos de ecuaciones de primer
y segundo grado? Quedo a la espera de tu respuesta.
Luis Montoya Sánchez (México)
Cuando creamos un gráfico tipo Dispersión, Excel establece los ejes en forma au-
tomática: si los datos son todos positivos, el gráfico mostrará solamente el primer
cuadrante; si hay datos negativos podrán aparecer los demás cuadrantes.
Gráficos en cuatro cuadrantes
81www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 81
Figura 10. Este gráfico tiene valores positivos para las dos variables. Excel
muestra solamente el primer cuadrante, porque todos los puntos caen dentro de él.
Si queremos mostrar los cuatro cuadrantes, independientemente de que Excel los
necesite, tenemos que establecer escalas manuales en ambos ejes. Por ejemplo, su-
pongamos que tenemos un gráfico donde los valores de X y de Y van de 0 a 2:
■ Cambiar la escala del eje PASO A PASO
Haga un clic derecho sobre el eje horizontal. Preferentemente, sobre alguno de
los números de la escala.
Del menú contextual, elija la opción Dar formato a eje.
Seleccione la categoría Opciones del eje.
Dentro de Mínima, marque la opción Fija.
Indique un valor de –2.
3. GRÁFICOS
82 www.redusers.com
❴❵
Las planillas de cálculo permiten la creación de gráficos, por lo menos, desde el viejo Lotus
1-2-3 de los 80. Curiosamente, éstas opciones funcionaban incluso en computadoras sin moni-
tor gráfico. Había que crear el gráfico “a ciegas” y recién cuando lo imprimíamos, sabíamos si
había quedado en la forma correcta o, al menos, como habíamos imaginado.
LOS GRÁFICOS EN LAS PLANILLAS
03_Excel revelado.qxp 12/29/09 4:21 PM Page 82
Haga un clic en Cerrar.
En Excel 2003 y en las versiones anteriores, este valor mínimo lo indicamos en
la ficha Escala, todo lo demás es igual.
Con esto le estamos pidiendo a Excel que dibuje la parte negativa del eje Y (aunque
no la necesite). Hacemos luego lo mismo con el otro eje. Si todo sale bien, el grá-
fico mostrará los cuatro cuadrantes.
Área bajo una curva
Hace poco tuve un problema con una “superplanilla” que no pude resolver.
Hice unos gráficos del tipo Dispersión y necesitaba calcular el área encerrada bajo la
curva graficada. Busqué en la Ayuda pero no encontré nada. ¿Hay alguna fórmula, op-
ción o macro para calcular esta superficie?
Alejandro Wikarczuk (Avellaneda, provincia de Buenos Aires)
Hasta donde sabemos (pero no lo sabemos todo) no hay ninguna opción o fun-
ción específica en Excel que nos permita calcular el área bajo una curva. Pero lo
que se puede hacer es una aproximación geométrica.
Área bajo una curva
83www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 83
3. GRÁFICOS
84 www.redusers.com
Figura 11. Queremos calcular la superficie del área
sombreada encerrada bajo este gráfico. Puede considerarse como
un conjunto de franjas verticales con forma de trapecio.
Por ejemplo, supongamos que los datos que vamos a graficar ocupan el rango
A2:B12 de nuestra planilla, con la variable x en la primera columna, la y en la se-
gunda y los títulos en la primera fila. El gráfico resultante puede considerarse co-
mo un conjunto de franjas verticales con forma de trapecio. La superficie de ca-
da trapecio es igual a ancho*(lado izquierdo+lado derecho)/2. Tal como está re-
presentado en la FFiigguurraa 1111.
El primero de estos trapecios tiene un ancho igual a A3-A2. Es decir, igual a la
diferencia entre los dos primeros valores de x. El lado izquierdo del trapecio es
igual al valor ingresado en B2 (que no es otra cosa que el primer valor de y) y el
lado derecho es igual al dato contenido en la celda B3 (segundo valor de y). Re-
emplazando estos datos en la fórmula anterior para el área, queda =(A3-
A2)*(B2+B3)/2. Extendiendo esta fórmula a toda la tabla, hasta la penúltima fi-
la, obtenemos la superficie de todas las franjas.
❘❘❘
Una forma simple y rápida de cambiar alguna característica de un objeto dentro de un gráfico
consiste en seleccionar el objeto y oprimir la combinación CONTROL+1 (el número 1). Esto abre
un juego de una o más fichas con todas las opciones asociadas al objeto seleccionado. Esto es
válido tanto en Excel 2007 como en las versiones anteriores.
OBJETOS Y FORMATOS
03_Excel revelado.qxp 12/29/09 4:21 PM Page 84
Figura 12. La franja vertical señalada en la figura tiene un ancho
igual a A8-A7; la altura de su lado izquierdo es igual a B7
y la de su lado derecho es igual a B8. Las fórmulas
de la columna C calculan la superficie de todas las franjas.
La suma de todos los valores obtenidos es igual al área bajo la curva que se quería
calcular. La fórmula no se extiende a toda la tabla sino hasta la penúltima fila por-
que la fórmula calcula la superficie de la franja cuyo lado derecho tiene una altura
igual al próximo valor de la tabla.
Escala de gráficos
Hice un gráfico a partir de una tabla de dos columnas. En la primera tengo
los números 0, 1, 2, etcétera, y en la segunda otros datos numéricos. Por alguna
razón el gráfico muestra correctamente todas las columnas de datos, pero en el eje
x no las numera adecuadamente sino que a la primera, que debería llevar el núme-
ro 0, le pone el 1. Cambié todas las opciones que encontré, pero no puedo hacer
aparecer los números correspondientes.
Fernando Gabriel Rossi
Escala de gráficos
85www.redusers.com
❘❘❘
Excel 2007 incluye nuevos formatos de celda que permiten crear un gráfico dentro de un rango.
El gráfico se obtiene seleccionando los datos y, en la ficha Inicio de la cinta de opciones, ha-
ciendo clic en Formato condicional y luego en Barras de datos. Aparecerá, dentro de cada celda,
una barra de color de longitud proporcional a su valor.
LOS NUEVOS FORMATOS
03_Excel revelado.qxp 12/29/09 4:21 PM Page 85
3. GRÁFICOS
86 www.redusers.com
❘❘❘
Puede ser que, inexplicablemente, aparezca en un libro de Excel una hoja de gráfico vacía o con
un gráfico muy simple. Esto suele deberse a que oprimimos sin darnos cuenta la tecla F11, que
crea un gráfico de columnas a partir de la celda seleccionada. Para eliminar esta hoja basta con
hacer un clic derecho sobre su solapa y luego seleccionar Eliminar hoja.
HOJA DE GRÁFICO
Si el gráfico muestra correctamente los valores correspondientes al 0 pero le pone
un 1, es porque numera los datos correlativamente y no está tomando la primera
columna para poner los rótulos del eje X.
Figura 13. Los valores que aparecen en el eje X
no son los de la columna A de la tabla de la derecha. Excel simplemente
está numerando las columnas correlativamente a partir de 1.
Entonces le vamos a pedir que tome los rótulos del rango adecuado.
■ Rótulos del eje PASO A PASO
Haga un clic derecho sobre el gráfico.
En el menú contextual, presione la opción Seleccionar datos.
Dentro de Etiquetas del eje horizontal, haga un clic en Editar.
03_Excel revelado.qxp 12/29/09 4:21 PM Page 86
Escala de gráficos
87www.redusers.com
Seleccione el rango de los rótulos (donde está la serie numérica que comienza
con 0). En este ejemplo sería el rango A2:A7.
Haga un clic en Aceptar (el rango).
Haga un clic en Aceptar (las opciones).
En las versiones anteriores de Excel:
■ Rótulos del eje (Excel 2003 y anteriores) PASO A PASO
Seleccione el gráfico.
Tome la opción Gráfico/Datos de origen.
Seleccione la ficha Serie.
Haga un clic dentro de Rótulos del eje de categorías.
Seleccione el rango de los rótulos (donde está la serie numérica que comienza
con 0). Para el ejemplo es el rango A2:A7.
Haga un clic en Aceptar.
Cualquiera sea la versión de Excel que estemos usando, luego de estos pasos el grá-
fico mostrará los valores del rango seleccionado como rótulos del eje X.
03_Excel revelado.qxp 12/29/09 4:21 PM Page 87
Gráfico para balance
Como sabrás, en contabilidad se verifica que el activo sea igual al pasivo más
el patrimonio neto. Tengo esos datos en una hoja y quiero ponerlos como gráfico, de
modo de tener una columna cuya altura sea igual al activo y, al lado, dos columnas,
una encima de la otra, que representen el pasivo y el patrimonio neto. ¿Cómo lo hago?
Martín Canosa
Este problema es muy común: obtener un gráfico donde la suma de dos variables
sea iguale a una tercera. Aunque no encontramos ningún gráfico estándar para es-
to, hay una solución un tanto compleja.
En primer lugar, supondremos que los datos están en el rango A1:B3, con los títulos
Activo, Pasivo y Patrimonio neto en la columna A y los importes en la columna B.
Figura 14. Estos son los datos que queremos
representar en un gráfico que indique Activo = Pasivo + Patrimonio neto.
Entonces comenzamos a crear el gráfico:
■ Gráfico para balance (1) PASO A PASO
Coloque el cursor en cualquier celda de la tabla.
Dentro de la ficha Insertar haga un clic en el botón Columnas y luego en el primer
subtipo. Aparecerá el gráfico con tres columnas, una al lado de la otra.
Haga un clic en el botón Cambiar entre filas y columnas.
Haga un clic en el botón Seleccionar datos. Aparecerá un cuadro con el detalle de
las tres series de datos.
3. GRÁFICOS
88 www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 88
Haga un clic en el botón Agregar.
Dentro de Nombre de la serie, haga un clic en A4, debajo de la última celda de la tabla.
Dentro de Valores de la serie, haga un clic en B4.
Haga un clic en Aceptar.
Lo que acabamos de hacer es agregar una serie “fantasma” (sin datos) en el gráfico.
Esta serie es importante para que el gráfico quede simétrico.
Ahora vamos a acomodar las barras como corresponde al gráfico que buscamos.
■ Gráfico para balance (2) PASO A PASO
Haga un clic derecho sobre la columna del Patrimonio neto.
Tome la opción Dar formato de la serie de datos.
Dentro de Opciones de serie marque la opción Eje secundario.
Haga un clic en Cerrar.
Gráfico para balance
89www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 89
Sin deseleccionar la columna, haga un clic en Cambiar tipo de gráfico y luego en
la opción correspondiente a Columna apilada (es el segundo subtipo desde la
izquierda).
Haga un clic en Aceptar.
Ahora debe seleccionar la columna del Pasivo. Como quedó tapada por la del
patrimonio, oprima la tecla FLECHA IZQUIERDA hasta que la vea seleccionada.
Apriete la combinación SHIFT+F10 (que simula al botón derecho) para obtener el
menú contextual.
Tome la opción Dar formato de la serie de datos.
Dentro de Opciones de serie marque la opción Eje secundario.
Haga un clic en Cerrar.
Figura 15. Los puntos de agarre y el borde en A2:B2 indican
que tenemos seleccionada la columna del Pasivo, detrás de la del Patrimonio neto.
Ahora sí veremos el gráfico que buscábamos. Es decir, la columna de Activo a la
izquierda y, a su lado, las columnas de Pasivo y Patrimonio neto, una encima de
la otra. En realidad, la columna de Activo se verá más angosta que las otras dos.
Eso lo podemos ajustar con otra opción.
3. GRÁFICOS
90 www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 90
■ Gráfico para balance (3) PASO A PASO
Haga un clic derecho sobre la columna del activo.
Tome la opción Dar formato de la serie de datos.
Dentro de Superposición de series lleve el control deslizante hacia la izquierda,
hasta el valor de –100%.
Haga lo mismo con el control de Ancho del intervalo hasta el valor de 0%.
Haga un clic en Cerrar.
Figura 16. Estas opciones hacen que la columna del Activo
quede (más o menos) con el mismo ancho que las otras dos.
Si queremos mejorar aún más el aspecto del gráfico, ajustamos la columna de Pa-
trimonio neto (o de Pasivo) para darle un ancho de intervalo que coincida con el an-
cho visible de la del Activo. También podemos eliminar el eje secundario e incluir
rótulos de datos sobre las columnas. Todo esto, más algunos ajustes estéticos, re-
quiere de un trabajo un tanto artesanal, pero el resultado final es el buscado.
Gráfico para balance
91www.redusers.com
03_Excel revelado.qxp 12/29/09 4:21 PM Page 91
Figura 17. En este gráfico se muestra que Activo = Pasivo + Patrimonio neto.
Tenemos que jugar con las opciones de columna para que todas se vean
del mismo ancho. Además, agregamos etiquetas de datos para cada columna.
En las versiones de Excel anteriores a la 2007 el procedimiento cambia pero, esen-
cialmente, se trata de cumplir los siguientes pasos:
• Incluir una serie “fantasma”, adicional a las tres de datos.
• Asignar las series de Pasivo y Patrimonio neto al eje secundario.
• Establecer, para esas mismas dos series, tipo de Columnas apiladas.
• Ajustar el ancho y superposición de las columnas.
3. GRÁFICOS
92 www.redusers.com
… RESUMEN
Éste es uno de los capítulos más cortos del libro. Una razón podría ser que los gráficos de
Excel son fáciles de crear y manejar, lo que deja poco lugar a las dudas. Sin embargo, esas
opciones son, al mismo tiempo, suficientemente poderosas como para permitir trucos no
previstos hasta por los creadores del programa.
03_Excel revelado.qxp 12/29/09 4:21 PM Page 92
Las funciones
especiales
Botón Pegar función 94
La función EXTRAE 101
La función REDONDEAR 107
Redondeo truncado 110
El cambio exacto 111
Reparto de diarios 116
Cálculos con matrices
complejas 123
Criptofrases 133
Capítulo 4
Excel cuenta con un arsenal
de más de trescientas funciones para
cálculos especiales. La más conocida
es la función SUMA, pero hay muchas
más, para todo tipo de operaciones
matemáticas y financieras, para manejar
textos, etcétera. Curiosamente, muchas
de estas funciones se pueden usar para
resolver problemas que, en principio,
no parecen estar vinculados
con el objetivo natural de la función.
EXCEL REVELADO
SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 93
Botón Pegar función
Desde que me pasé a Office XP perdí el botón fx, que me permitía insertar
una función. Ahora tengo que descolgar las opciones del botón Autosuma y, de ahí,
hacer clic en Más funciones. ¿Puedo crear un botón que llame directamente al asis-
tente para insertar funciones, como tenía en Excel 2000?
Andrés Mansilla (Lobos, provincia de Buenos Aires)
Efectivamente, hasta Excel 2000 la barra de herramientas Estándar tenía un botón
para llamar al asistente para insertar una función. A partir de Excel XP, esta opción
se incluyó en el botón Autosuma. En Excel 2007, las barras de herramientas fueron
reemplazadas por la Cinta de opciones. En la ficha Inicio está el botón Autosuma y,
su última opción, corresponde al botón Insertar función.
Figura 1. En Excel 2007 (y a partir de Excel XP)
el botón Autosuma incluye una opción
para llamar al asistente para insertar funciones.
Si queremos tener el botón Insertar función más a mano, en Excel 2007 lo pode-
mos poner en la barra de herramientas de acceso rápido:
■ Insertar función PASO A PASO
Haga un clic en el botón Autosuma.
Con el botón derecho del mouse, haga un clic en la opción Más funciones.
Haga un clic en Agregar a la barra de herramientas de acceso rápido.
4. LAS FUNCIONES ESPECIALES
94 www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 94
Figura 2. Aquí podemos personalizar la barra
de herramientas de acceso rápido e incluir el botón para insertar funciones.
Ahora la barra de herramientas de acceso rápido, que está a la derecha del Botón de
Office, mostrará el botón Insertar función.
Figura 3. Así se ve el botón Insertar función, luego
de incluirlo en la barra de herramientas de acceso rápido.
En las versiones anteriores de Excel podemos incluir el botón Insertar función al
personalizar las barras de herramientas:
■ Insertar función (Excel 2003 y anteriores) PASO A PASO
Vaya a las opciones Ver/Barras de herramientas/Personalizar.
Seleccione la ficha Comandos.
Botón Pegar función
95www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 95
Dentro de Categorías, haga un clic en Insertar.
Dentro de Comandos, busque la opción Pegar función y, tomándola con el mouse,
llévela hasta el punto de la barra de herramientas donde desea dejarla. Por
ejemplo, junto al botón Autosuma.
Haga un clic en Cerrar.
El nuevo botón quedará en su sitio, y se mantendrá ahí al reiniciar la próxima se-
sión de Excel. De esta manera podemos acceder al asistente con un solo clic.
Figura 4. Con las opciones de Personalizar las barras
de herramientas podemos agregar o quitar botones. Por ejemplo,
el viejo botón fx, para llamar al asistente para Pegar función.
Además, cualquiera sea la versión de Excel que estemos usando, podemos llamar al
asistente para insertar funciones con la combinación SHIFT+F3.
4. LAS FUNCIONES ESPECIALES
96 www.redusers.com
❘❘❘
Además de los estilos de puntuación, la configuración regional controla los formatos estánda-
res de fecha y moneda. Independientemente de estos formatos estándares, siempre podemos
aplicar otros según nuestro gusto a través de las opciones habituales de Excel.
CONFIGURACIÓN REGIONAL
04_Excel revelado.qxp 12/29/09 4:22 PM Page 96
Estilos de puntuación
Uso habitualmente algunas funciones y uso el punto y coma para separar los
argumentos, como, por ejemplo, en la función SI. Pero resulta que me cambiaron la má-
quina y ahora tengo que usar la coma. ¿Cómo hago para volver a la forma anterior?
Franco Carini
En principio, los signos de puntuación de Excel (separador decimal, separador de mi-
les y separador de argumentos) se establecen desde el Panel de control de Windows:
■ Estilo de puntuación PASO A PASO
Vaya a las opciones Inicio/Panel de control (la secuencia exacta puede depender
de la organización de los menús).
Haga clic en Reloj, idioma y región.
En la sección Configuración regional y de idioma, haga un clic en Cambiar el
idioma para mostrar.
En la ventana que se abre, elija Español del menú desplegable y presione el botón
Personalizar este formato. Este estilo corresponde a coma para separar
decimales, punto para los miles y punto y coma para argumentos de funciones.
Haga un clic en Aceptar.
Figura 5. Aquí establecemos el estilo de puntuación que se aplicará
en las expresiones de Excel, si es que no indicamos lo contrario en la configuración de Excel.
Estilos de puntuación
97www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 97
También podemos cambiar el estilo de puntuación desde Excel, sin modificar la
configuración regional de Windows. El procedimiento varía según la versión de Ex-
cel que estemos usando. En Excel 2007:
■ Cambiar puntuación PASO A PASO
Haga un clic en el Botón de Office y luego en Opciones de Excel.
Seleccione la categoría Avanzadas.
A continuación, dentro del grupo Opciones de edición, desmarque la opción Usar
separadores del sistema.
Indique los separadores deseados. Al indicar coma (,) para los decimales y punto
(.) para los miles, automáticamente quedará establecido el punto y coma (;) para
los argumentos.
Haga un clic en Aceptar.
Figura 6. Si desmarcamos la opción Usar separadores del sistema podemos cambiar
los signos de puntuación de Excel sin modificar la configuración regional de Windows.
■ Cambiar puntuación (Excel 2003 y anteriores) PASO A PASO
Vaya a Herramientas/Opciones.
4. LAS FUNCIONES ESPECIALES
98 www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 98
Seleccione la ficha Internacional.
Desmarque la opción Usar separadores del sistema.
Indique los separadores deseados. Al indicar coma (,) para los decimales y punto
(.) para los miles, automáticamente quedará establecido el punto y coma (;) para
los argumentos.
Haga un clic en Aceptar.
Figura 7. Desmarcando la opción Usar separadores
del sistema en Excel 2003 podemos cambiar los signos de puntuación
sin modificar la configuración regional de Windows.
Esta configuración afecta a todo Excel, incluso a las planillas creadas con anteriori-
dad al cambio: si las volvemos a abrir veremos los separadores cambiados.
Dato móvil
Tengo una hoja con una lista de movimientos. En una celda auxiliar necesito
obtener el último dato de la lista, que deberá ir cambiando a medida que agrego nue-
vos movimientos. ¿Se puede hacer esto con una macro?
Daniel Alberto Reinoso (Córdoba)
Este problema se puede resolver sin macros, recurriendo a unas cuantas funciones po-
co conocidas. Supongamos que la lista de datos está en la columna A. En C1 escribi-
mos la función CONTARA(A:A), que nos dice cuántos datos hay en la lista. Si la lista
comienza en A1, la cantidad de datos coincide con el número de fila del último dato.
Dato móvil
99www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 99
En C2 “armamos” la dirección del último dato con la función =DIRECCION(C1;1). Los
argumentos de DIRECCION son la fila y la columna de la celda cuya dirección quere-
mos obtener. Finalmente, obtenemos el contenido de esta dirección con la función
=INDIRECTO(C2). Esta función no nos trae el contenido de la celda C2 sino el conte-
nido de la celda cuya dirección está en C2. Por supuesto, podemos combinar todas
las funciones en una única fórmula: =INDIRECTO(DIRECCION(CONTARA(A:A);1)).
Figura 8. La fórmula de la celda C1 devuelve el último valor de la columna A. Este
valor cambiará y se mantendrá actualizado a medida que agreguemos datos a la lista.
Si la lista no comienza en A1 a la expresión anterior le tenemos que sumar el nú-
mero de fila del primer dato al valor devuelto por la función CONTARA.
¿Dónde estoy?
Necesito un procedimiento que detecte automáticamente la celda donde ten-
go el cursor y que mande a dos variables la fila y la columna correspondiente. ¿Cuál
es la fórmula que tengo que usar?
Lucas Paradisi
La respuesta a este problema depende de si queremos obtener fila y columna con
una fórmula para usar en la planilla o dentro de una macro. En el caso de una fór-
mula, podemos usar la función CELDA:
• =CELDA(“Fila”) devuelve el número de fila de la celda actual.
• =CELDA(“Columna”) devuelve el número de orden de la columna de la celda ac-
tual. Uno para la A, dos para la B y así sucesivamente.
4. LAS FUNCIONES ESPECIALES
100 www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 100
Figura 9. La función CELDA devuelve distintas propiedades de la celda
actual. En este caso, la fila donde se encuentra el cursor. Si movemos el cursor,
tenemos que recalcular la planilla para actualizar el valor de la función.
Ambas fórmulas actualizan su valor cada vez que se recalcula la planilla (porque se
cambia algún valor o porque se oprime la tecla F9). De modo que no obtenemos
los valores correctos en forma automática, simplemente moviendo el cursor.
Si necesitamos obtener esta información dentro de una macro, podemos usar pro-
piedades adecuadas del objeto ActiveCell:
• ActiveCell.Row da el número de la fila.
• ActiveCell.Column da el número de la columna.
Los valores de estas propiedades pueden asignarse a variables adecuadas, según el
cálculo que necesitemos hacer con ellos.
La función EXTRAE
Tengo un número formado por tres campos separados por guiones: un prefi-
jo de dos dígitos, un código de longitud variable y un sufijo de un dígito. ¿Cómo ha-
go para extraer el código central, del que no sé cuántos caracteres tiene?
Gustavo Escudero (provincia de Salta)
Para resolver este problema podemos usar la función EXTRAE: su sintaxis es =EXTRAE
(texto;comienzo;largo). Por ejemplo, si en la celda A1 tenemos la palabra locomo-
tora, la expresión =EXTRAE(A1;5;4) devuelve la palabra moto, es decir cuatro letras
comenzando en la quinta. Ahora, supongamos que en A1 tenemos un dato numé-
rico, sea el valor 27-16985-8. Sabemos que el campo central comienza en la cuarta
posición, después de los dígitos del prefijo y del guión de separación. Aunque
desconocemos cuántos caracteres tenemos que extraer, sí sabemos que son cinco dí-
gitos menos que la longitud del número, teniendo en cuenta los dos dígitos del
prefijo, los dos guiones y el sufijo. La longitud la obtenemos con la función LARGO.
En resumen, la expresión final para obtener el campo central en el problema plan-
teado es =EXTRAE(A1;4;LARGO(A1)-5).
La función EXTRAE
101www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 101
Figura 10. Las fórmulas de la columna B extraen el campo central sabiendo
que comienza en la cuarta posición y que tiene cinco caracteres menos que el valor total.
La función &
No encuentro la función &. ¿Podés dar una explicación breve de ella?
Graciela C. Meza (Buenos Aires)
El símbolo & no es una función sino un operador que une (técnicamente se dice
concatena) datos de tipo texto. Por ejemplo, si la palabra Feliz está escrita en A1 y
la palabra Navidad, en A2, la expresión =A1&“ ”&A2 es igual a Feliz Navidad. En es-
ta expresión concatenamos las dos palabras con un espacio intermedio.
Figura 11. La fórmula de la celda A4 usa el operador
& para concatenar los datos de A1 y A2 junto con un espacio intermedio.
4. LAS FUNCIONES ESPECIALES
102 www.redusers.com
❘❘❘
Cuando se aplica la función CONCATENAR (o el operador &) a celdas cuyo contenido es numéri-
co, estos son tratados por Excel como si fueran textos. Por ejemplo, si la celda A1 tiene el valor
10 y la celda A2 el valor 50, la expresión =CONCATENAR(A1;A2) es igual a 1050. Aunque este re-
sultado queda como texto, podemos hacer operaciones matemáticas con él.
CONCATENAR
04_Excel revelado.qxp 12/29/09 4:22 PM Page 102
Esta operación puede hacerse también con la función CONCATENAR. De esta ma-
nera, podemos obtener el resultado del ejemplo anterior mediante la siguiente
expresión: =CONCATENAR(A1;“ ”;A2). Entre los paréntesis se indican, separados
por puntos y comas, los términos para concatenar.
Figura 12. La función CONCATENAR hace el mismo
trabajo que el operador &. Junta (concatena) varios datos en uno solo.
APELLIDO, Nombre
Tengo una lista de datos personales. En la columna A están los nombres y apellidos
de las personas en la forma PÉREZ, Juan. Necesito convertir este dato a la forma Juan
PÉREZ. ¿Qué fórmula tengo que usar?
José Vanini
La solución a este problema tiene tres fases:
• Localizar la coma que separa apellido y nombre.
• Separar el apellido (a la izquierda de la coma) y el nombre (a la derecha).
• Reenganchar nombre y apellido en la forma pedida.
Supongamos que tenemos un dato en A2: Russo, Laura. En B2 localizamos la coma
con =ENCONTRAR(“,”;A2). El primer argumento es el texto para buscar (la coma) y
el segundo el texto donde se hace la búsqueda. En este ejemplo, la función devuel-
ve un 6, porque la coma es el sexto carácter del dato.
APELLIDO, Nombre
103www.redusers.com
❘❘❘
Dentro del grupo Autosuma de la Biblioteca de funciones, encontraremos una función para re-
alizar conteos numéricos simples (CONTAR). El resto de las funciones que podemos usar para
realizar diferentes tipos de conteos está dentro del grupo destinado a las funciones Estadísticas,
a las que accederemos seleccionando esa categoría, luego de presionar Insertar función.
FUNCIONES PARA REALIZAR CONTEOS
04_Excel revelado.qxp 12/29/09 4:22 PM Page 103
• En C2 extraemos el apellido. Son los cinco caracteres de la izquierda y los obtene-
mos con =IZQUIERDA(A2;B2-1).
• En D2 extraemos el nombre. Es todo lo que hay a partir de la segunda posición
después de la coma (contando el espacio en blanco). Lo obtenemos mediante
=EXTRAE(A2;B2+2;50). El último argumento es la cantidad de caracteres para extra-
er. Como no sabemos cuántos son, ponemos un número suficientemente grande.
Figura 13. Con todas estas fórmulas separamos apellido y nombre
de los datos de la columna A y luego lo concatenamos en otro orden.
Finalmente, concatenamos ambos datos, con un espacio de separación: =D2&“ ”&C2.
Luego podemos copiar esta fórmula y pegar valores sobre los datos originales. Tam-
bién podemos usar la función CONCATENAR, como se explica en la pregunta anterior.
Series de hojas
Tengo un libro de doce hojas. Cada hoja corresponde a un mes y se llama co-
mo ese mes. En una décimo tercera hoja quiero obtener una columna con los valores
de la celda A1 de cada hoja. ¿Se puede hacer esto escribiendo la fórmula para la pri-
mera hoja y luego estirando para todas las demás?
Juan Manuel Ojeda (San Rafael, provincia de Mendoza)
Lo que pide Juan Manuel es escribir =Enero!A1 y, con el puntero de estirar, obte-
ner la serie =Febrero!A1, =Marzo!A1, etcétera. En realidad, si hacemos esto, obtene-
mos la serie =Enero!A1, =Enero!A2, =Enero!A3 y así sucesivamente.
4. LAS FUNCIONES ESPECIALES
104 www.redusers.com
❘❘❘
En el grupo Biblioteca de funciones, dentro de la ficha Fórmulas, hay un botón llamado Usadas
recientemente. Al hacer clic en él, se desplegará una lista con las diez últimas funciones que he-
mos usado recientemente. De esta manera, con muy pocos clics, podemos introducir las fór-
mulas que utilizamos a menudo, sin necesidad de buscarlas en otro lugar.
FÓRMULAS MÁS USADAS
04_Excel revelado.qxp 12/29/09 4:22 PM Page 104
Figura 14. Al estirar la fórmula de A1
obtenemos una serie con el contenido de las celdas
A1, A2, A3, etcétera de la hoja Enero de este libro.
Para resolver este problema, necesitamos un rango auxiliar con los nombres de las
hojas. En A1 escribimos Enero. En B1 escribimos =INDIRECTO(A1&“!A1”). Lo que apa-
rece entre los paréntesis es la concatenación del nombre del mes con el texto A1, se-
parados por un signo de exclamación. Es decir, Enero!A1. Al aplicar a este resultado
la función INDIRECTO, obtenemos el contenido de la celda A1 de la hoja Enero.
Figura 15. Al estirar la fórmula de B1 obtenemos una serie con el contenido
de la celda A1 de las hojas Enero, Febrero, Marzo, etcétera de este libro.
Ahora seleccionamos el rango A1:B1 y lo extendemos hacia abajo con el puntero
de estirar. Al extender A1 obtenemos la serie de los meses, que coincide con la
serie de los nombres de las hojas. Al extender la función de B1 obtenemos el con-
tenido de la celda A1 de cada hoja.
Letras aleatorias
Encontré una función en Visual Basic que devuelve un número al azar, com-
prendido entre dos límites dados. ¿Se puede hacer una función o macro similar para ob-
tener letras aleatorias? Por ejemplo, que devuelva una letra cualquiera entre la A y la K.
Viviana Díaz (provincia de Santa Fe)
En realidad, para obtener números al azar no hace falta ninguna función espe-
cial. Se puede lograr lo mismo con la función ALEATORIO.ENTRE. Por ejemplo,
Letras aleatorias
105www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 105
para obtener un número aleatorio entre 10 y 25 escribimos: =ALEATORIO.
ENTRE(10, 25). Los dos argumentos de la función son los límites entre los cuales
debe quedar comprendido el número.
Esta función no es del todo estándar, porque requiere de la instalación del com-
plemento Herramientas para análisis. Si no queremos recurrir a ese complemento,
también podemos usar la función ALEATORIO, sin argumentos, que devuelve un nú-
mero al azar comprendido entre 0 y 1.
Figura 16. La función ALEATORIO devuelve un número
entre 0 y 1 que cambia cada vez que se recalcula la hoja.
Es fácil armar con esta función una expresión para obtener números comprendidos
entre otros dos límites. Por ejemplo: =1+ENTERO(6*ALEATORIO()) devuelve un nú-
mero comprendido entre 1 y 6. Puede usarse para simular un dado.
Figura 17. La fórmula de la celda A1 usa la función ALEATORIO para
generar un número entre 1 y 6 y simular el resultado de arrojar un dado.
4. LAS FUNCIONES ESPECIALES
106 www.redusers.com
❘❘❘
Para instalar el complemento Herramientas para análisis en Excel 2007 tenemos que hacer clic
en el Botón de Office, luego en Opciones de Excel y finalmente buscar el complemento en la ca-
tegoría Complementos. Tengamos en cuenta que en las versiones anteriores, los complementos
se instalan con las opciones Herramientas/Complementos.
HERRAMIENTAS PARA ANÁLISIS
04_Excel revelado.qxp 12/29/09 4:22 PM Page 106
Al multiplicar la función ALEATORIO por 6, obtenemos un número comprendido
entre 0 y 5,99999. El número nunca llega a 16 porque el valor devuelto por ALEA-
TORIO nunca llega a 1. Le aplicamos la función ENTERO para eliminar los decimales
y le sumamos 1 para que el número final quede comprendido entre 1 y 6.
Todo esto sirve para responder a la pregunta de Viviana (no nos habíamos olvida-
do). Las letras A a K tienen asociadas los códigos ASCII 65 a 75.
Figura 18. La fórmula de la celda A1 devuelve una letra
aleatoria entre la A y la K. Resulta de aplicar la función CARACTER
a una expresión que genera un número al azar entre 65 y 75.
Entonces tenemos que usar la expresión anterior para generar un número aleatorio
entre 65 y 75 y aplicarle la función CARACTER, que devuelve el carácter asociado al
código ASCII indicado. Por ejemplo, =CARACTER(65) es igual a la A mayúscula. La
expresión completa sería =CARACTER(65+ENTERO(11*ALEATORIO())).
La función REDONDEAR
No entiendo cómo calcula el resultado la función REDONDEAR.
Robert Blanco (Asunción del Paraguay)
La función REDONDEAR tiene dos argumentos:
• El primero es el número para redondear.
• El segundo es la cantidad de cifras decimales que quedarán luego del redondeo.
Por ejemplo =REDONDEAR(8,72;1) es igual a 8,7. La función redondea el primer ar-
gumento dejando un decimal. Además, la función hace redondeo simétrico. Esto
quiere decir que, si el primer decimal suprimido es cinco o más, se suma una uni-
dad al último decimal. Por ejemplo =REDONDEAR(12,37;1) es igual a 12,4.
El segundo argumento puede ser negativo. En este caso, la función redondea del
punto decimal hacia la izquierda. Por ejemplo: =REDONDEAR(1337,4;-2) es igual a
1300. La función redondea dejando dos cifras enteras iguales a 0.
La función REDONDEAR
107www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 107
Figura 19. Las fórmulas de la columna B redondean los valores de la columna
A dejando la cifra de las unidades igual a 0. Si esta cifra es menor
a cinco, se suprime. Si es mayor o igual a cinco, suma una unidad a las decenas.
En particular, uno de los ejemplos que adjunta Robert es =REDONDEAR(4,7;-1). La fun-
ción deberá mostrar un número que tenga la última cifra entera igual a 0. El resultado
será 0. Si la primera cifra para suprimir (en este caso, la de las unidades) es cinco o más,
la función redondeará “hacia arriba”. Entonces =REDONDEAR(7,3;-1) será igual a 10.
Si se quiere hacer redondeo truncado, es decir, suprimir las cifras eliminadas sin
sumar una unidad a la siguiente, se puede usar la función TRUNCAR. Por ejem-
plo =TRUNCAR(12,6;0) es igual a 12.
Figura 20. La fórmula de la celda B6 redondea el valor
de A6 descartando los decimales independientemente de su valor.
Redondear a cinco centavos
Tengo una serie de importes que son resultado de fórmulas. ¿Cómo hago pa-
ra que Excel me los redondee hacia arriba, en fracciones de cinco centavos? Por
ejemplo, si el resultado es 6,67 quiero que me quede 6,70. Si es 6,71 quiero que me
quede 6,75 y así sucesivamente.
Cristian Sola (San Carlos Centro, provincia de Santa Fe)
Existe una función específica para resolver este problema: MULTIPLO.SUPERIOR. Si
el valor para redondear está en A1, la fórmula es =MULTIPLO.SUPERIOR(A1;0,05).
El segundo argumento es la fracción a la que se redondea.
4. LAS FUNCIONES ESPECIALES
108 www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 108
Figura 21. La función MÚLTIPLO.SUPERIOR redondea hacia arriba
el primer argumento, en fracciones iguales al segundo argumento.
A quien no le guste esta función, se puede armar una expresión equivalente con
funciones convencionales: =ENTERO(A1*20+0,9)/20. Al multiplicar por 20 los cin-
co centavos se convierten en un peso.
Figura 22. Las fórmulas de la columna B usan la función ENTERO
para redondear los valores de la columna A en fracciones de cinco centavos.
Sumamos 0,9 para el efecto “redondear para arriba”, luego sacamos la parte en-
tera y dividimos por 20 para volver a pasar esa parte entera a fracciones de vein-
te centavos. Es raro, pero funciona.
Redondear a cinco centavos
109www.redusers.com
❘❘❘
El asterisco se usa para multiplicar, la barra oblicua para dividir y el acento circunflejo (^) para
la potenciación. Por ejemplo, 12^3 equivale a elevar doce a la tercera potencia o doce al cubo.
Esta operación puede hacerse también con la función POTENCIA: =POTENCIA(12;3).
SIGNOS MATEMÁTICOS
04_Excel revelado.qxp 12/29/09 4:22 PM Page 109
Redondeo truncado
Armé una planilla donde calculo comisiones multiplicando un importe por el
2%. Hasta ahí, todo bien. Mi problema es que luego cambio el formato para dejar só-
lo dos decimales y no quiero que redondee: 10,287 tiene que quedar 10,28 y me que-
da 10,29. ¿Hay alguna forma de eliminar los decimales sin “redondear hacia arriba”?
Pedro Diosnel Bordón
Efectivamente, cuando se aplica formato con cantidad fija de decimales Excel ha-
ce automáticamente un “redondeo simétrico”. Es decir, si el primer decimal eli-
minado es 5 o más, suma una unidad al último decimal que queda. En cambio,
lo que quiere el lector se llama redondeo truncado, esto es cuando los decima-
les se eliminan sin agregar nada al resto del número.
Figura 23. Sobre los valores de la columna C se aplicó formato con dos decimales.
Si el primer decimal no mostrado es mayor o igual que cinco, el formato
agrega una unidad al decimal anterior. Es decir, hace “redondeo simétrico”.
Excel tiene una función específica para hacer redondeo truncado. Por ejemplo, si el
importe original está en la celda B2, se aplica 2% con el redondeo mediante la fun-
ción =REDONDEAR.MENOS(B2*2%;2). El primer argumento es el valor para redonde-
ar y el segundo, la cantidad de decimales, tal como se observa en la Figura 24.
4. LAS FUNCIONES ESPECIALES
110 www.redusers.com
❘❘❘
Para resolver diversos problemas de redondeo, Excel incluye las funciones MULTIPLO.SUPE-
RIOR, MÚLTIPLO.INFERIOR, REDONDEAR.MAS Y REDONDEAR.MENOS. Sin embargo, podemos
resolver la mayoría de las situaciones con las funciones REDONDEAR y ENTERO, sin recurrir
a estas funciones especiales.
FUNCIONES PARA REDONDEAR
04_Excel revelado.qxp 12/29/09 4:22 PM Page 110
Figura 24. Las fórmulas de la columna C hacen redondeo truncado sobre
el resultado que se obtiene al calcular el 2% de los valores de la columna B. Esto significa
que no “redondea hacia arriba” las fracciones mayores o iguales que cinco.
Si esta función resulta demasiado esotérica, se puede obtener el mismo resultado
combinando funciones más fáciles de entender. Por ejemplo, mediante la expresión:
=ENTERO(B2*2%*100)/100. En esta fórmula, al multiplicar por 100, los centavos se
convierten en enteros. Al aplicar la función ENTERO se truncan (la función ENTERO
trunca) los decimales que no pasaron a enteros. Al dividir luego por 100, estos en-
teros vuelven a convertirse a centavos.
El cambio exacto
Trabajo en el área de Tesorería de una empresa y cada vez que realizo la liquidación de
sueldos me encuentro ante la situación de saber con exactitud, cuánto efectivo (inclu-
yendo monedas) necesito para pagar. Es decir quiero que Excel analice cada importe y
calcule la cantidad de billetes y monedas necesarias de cada denominación. Actualmen-
te lo hago a mano, pero estoy seguro de que se puede hacer automáticamente.
Jesús E. Herrera (Las Parejas, provincia de Santa Fe)
Este problema se resuelve con unas cuantas fórmulas. Comencemos suponiendo
que tenemos los importes para analizar en la primera columna, a partir de la cel-
da A2, y las distintas denominaciones de billetes y monedas en la primera fila, a
partir de B1. En la celda B2 escribimos la fórmula =ENTERO(A2/B$1) para calcular
la cantidad de billetes de la primera denominación necesaria para el primer im-
porte. Por ejemplo, si el primer importe es 593,60$ y la primera denominación es
100$, el cociente A2/B1 es igual a 5,936. Al aplicar la función ENTERO obtenemos
5, que es la cantidad de billetes de 100$ necesaria para reunir este importe. Al fi-
jar con un signo $ la referencia a la primera fila, podremos extender esta fórmula
hacia abajo, para todos los importes.
El cambio exacto
111www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 111
Figura 25. Las fórmulas de la columna B calculan
la cantidad de billetes de la primera denominación para reunir
cada uno de los importes de la columna A.
En C2 tenemos que dividir lo que falta del primer importe (una vez descontada la
primera denominación) y el valor del billete de segunda denominación. Por ejem-
plo, para el primer importe de 593,60$ ya sabemos que se necesitan cinco billetes de
100$. Ahora debemos calcular cómo pagamos los 93,60$ restantes. Para trabajar con
este importe remanente usamos la función =$A2-SUMAPRODUCTO($B$1:B$1;$B2:B2).
La función SUMAPRODUCTO multiplica cada valor del primer argumento por ca-
da valor del segundo. En este caso, simplemente multiplica B1 (valor del billete
de primera denominación) por B2 (cantidad de estos billetes). La fórmula da el
importe remanente para analizar. Lo tenemos que dividir por la denominación
de C1 y aplicar la función ENTERO. La fórmula queda, finalmente =ENTERO(($A2-
SUMAPRODUCTO($B$1:B$1;$B2:B2))/C$1).
Figura 26. Las fórmulas de la columna C calculan la cantidad
de billetes de la segunda denominación para reunir cada uno de los importes
de la columna A. Esta fórmula se puede extender hacia abajo, para todos
los importes y hacia la derecha para todas las denominaciones.
Por la forma en que pusimos los signos $, podemos extender esta fórmula hacia aba-
jo (para todos los importes) y hacia la derecha (para todas las denominaciones).
4. LAS FUNCIONES ESPECIALES
112 www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 112
Además, nótese que los dos argumentos de SUMAPRODUCTO tienen fija la referencia
a la columna en el primer argumento, pero no en el segundo. Esto es para que el
rango se vaya extendiendo tomando siempre desde la columna B, hasta la corres-
pondiente a la denominación de cada columna. Por ejemplo, en la tercera colum-
na los argumentos de SUMAPRODUCTO quedan $B$1:C$1 y $B2:C2. Multiplica, en-
tonces, la denominación del billete de B1 por la cantidad de billetes de B2 y la de-
nominación del billete de C1 por la cantidad de billetes de C2. Luego suma ambos
productos. Esta función la podemos extender a todo el resto de la hoja. Sin embar-
go, puede haber un error en el último cálculo por el manejo interno de los deci-
males que hace Excel. Hacemos entonces una pequeña corrección:
=ENTERO(($A2-SUMAPRODUCTO($B$1:K$1;$B2:K2)+0,001)/L$1).
Esa milésima que añadimos antes de dividir y hacer parte entera, elimina cualquier
error que se podría producir en la última denominación.
Un problema de redondeo
Tengo una columna de números, que son resultado de cálculos, a los que les aplico
formato de dos decimales. Cuando sumo todos los valores, el resultado no es “real”.
Por ejemplo, si sumo 10,50 más 3,20 obtengo 13,71. Por alguna razón, no consigo
que coincidan los decimales. ¿Hay alguna solución?
Rubén Echechurre (provincia de Formosa)
Este problema es muy fácil de entender. Donde Rubén ve 10,50, el verdadero valor de
la celda es 10,503. Y donde ve 3,20, el verdadero valor es 3,204. Al sumar los dos valo-
res, el resultado es 13,707 que, redondeado a dos decimales, queda 13,71. Esos deci-
males que se eliminan en los sumandos, se hacen importantes en la suma.
Figura 27. Al total obtenido en D5 le sobra un centavo. Debería
ser 33,33 y es 33,34. Este centavo adicional resulta de decimales descartados
en los valores para sumar, pero que se hacen significativos en el total.
Hay dos formas de solucionar esto. La primera consiste en pedirle a Excel que ha-
ga la cuenta con los decimales que se ven, tal como se indica a continuación:
Un problema de redondeo
113www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 113
■ Decimales exactos PASO A PASO
Haga un clic en el Botón de Office y luego en Opciones de Excel.
Seleccione el grupo Avanzadas.
Dentro de Al calcular este libro, marque la opción Establecer Precisión de pantalla.
Aparecerá un cartel que anuncia Los datos perderán precisión permanentemente.
Haga clic en Aceptar (el cartel) y nuevamente en Aceptar (la ventana).
Figura 28. Al marcar la opción Establecer Precisión de pantalla, Excel hará
los cálculos con los decimales efectivamente mostrados
y no tendrá en cuenta los decimales que no aparecen por el formato aplicado.
El procedimiento cambia en las versiones anteriores de Excel:
■ Decimales exactos (Excel 2003 y anteriores) PASO A PASO
Vaya a Herramientas/Opciones de Excel.
Seleccione la ficha Calcular.
Marque la opción Precisión de pantalla.
Haga un clic en Aceptar. Aparecerá un cartel que le advierte Los datos perderán
precisión permanentemente. Acéptelo y listo.
4. LAS FUNCIONES ESPECIALES
114 www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 114
Figura 29. Así logramos en Excel 2000 que se realicen
los cálculos con los decimales efectivamente mostrados.
Ahora las cuentas “darán bien” porque no habrá decimales escondidos que afecten
las sumas. Eso de “perder precisión permanentemente” se refiere a que los datos fi-
jos (los que no son resultados de fórmulas) perderán esos decimales escondidos. Los
números que sean resultado de fórmulas conservarán todos los decimales, pero no
serán tomados en cuenta por las fórmulas.
La otra solución consiste en usar otra expresión para hacer la suma. Por ejemplo, si
el rango a totalizar es D2:D4, la expresión es =SUMA(REDONDEAR(D2:D4;2)). A esta
fórmula hay que darle entrada con la combinación CONTROL+SHIFT+ENTER. La fór-
mula redondea individualmente cada valor, antes de hacer la suma.
Figura 30. La fórmula de la celda D5 redondea los valores antes de sumarlos.
Eso evita que se tengan en cuenta los decimales descartados por el formato aplicado.
Las llaves que encierran a esta expresión en la barra de fórmulas revelan que se trata
de una función matricial y que se le dio entrada mediante CONTROL+SHIFT+ENTER,
para que Excel entienda que debe calcular el resultado.
Un problema de redondeo
115www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 115
Reparto de diarios
Vendo diarios en un pueblo de la provincia de Entre Ríos. Tengo algunos clien-
tes que compran el diario todos los días, otros que solamente llevan el de los domingos
o el de los domingos y el de los jueves, etcétera. El precio del diario varía según el día de
la semana. ¿Cómo puedo calcular cuánto le tengo que cobrar a cada cliente a fin de mes?
Javier Vilaboa (Urdinarrain, provincia de Entre Ríos)
Para resolver este problema necesitamos saber tres cosas:
• El precio del diario para cada día de la semana.
• Qué días lleva el diario cada cliente.
• Cuántos domingos, lunes, martes, etcétera tiene cada mes.
Vamos a organizar esta información en la siguiente tabla:
• En D1:J1 (siete columnas), escribimos los días de la semana.
• En D2:J2, el precio del diario para cada día de la semana.
• A partir de C3, la lista de clientes.
Figura 31. Las fórmulas de la columna B devuelven un número
del 1 al 7 que indica el día de la semana correspondiente a cada fecha
de la columna A (1 para el domingo, 2 para el lunes y así sucesivamente).
4. LAS FUNCIONES ESPECIALES
116 www.redusers.com
❘❘❘
Para calcular una raíz cuadrada tenemos la función RAIZ. Así, la fórmula =RAIZ(A1) calcula
la raíz cuadrada del valor escrito en A1. Para calcular otras raíces, podemos usar la función
POTENCIA, indicando, como segundo argumento, la inversa del exponente. Por ejemplo,
=POTENCIA(A1;1/3) calcula la raíz cúbica del valor de A1.
RAÍCES CUADRADAS
04_Excel revelado.qxp 12/29/09 4:22 PM Page 116
Cada celda de esta tabla contendrá un número del 1 al 7, que indica el día que
compra el diario cada cliente. Por ejemplo, si el primer cliente compra el diario los
domingos y los sábados, habrá un 1 en D3 (en correspondencia con la columna
del domingo) y un 7 en J3 (para el sábado).
Por otra parte, en A1 escribimos la fecha correspondiente al primer día. En A2
escribimos =A1+1 y extendemos esta fórmula hacia abajo para obtener las fechas
para todo el mes. En B1, a la derecha de la primera fecha, escribimos la función
=DIASEM(A1). Esta fórmula, extendida a toda la columna, devuelve un número
del 1 al 7 que indica el día de la semana de cada fecha.
Atención ahora: en K3 (en la fila del primer cliente y en la columna siguiente al sába-
do) escribimos la siguiente expresión: =SUMA(CONTAR.SI(B$1:B$31;D3:J3)*D$2:J$2).
A esta expresión hay que darle entrada con la combinación CONTROL+SHIFT+ENTER.
Figura 32. Las fórmulas de la columna K cuentan cuántos domingos,
lunes, etcétera hay en el mes y multiplican esa cantidad por el precio del diario
en cada día, solamente para los días que aparecen en la tabla. El total resulta igual
al valor de los diarios comprados por cada cliente en todo el mes.
¿Qué hace esta fórmula? Por un lado tiene una función CONTAR.SI cuyo primer ar-
gumento es el rango de días de la semana para todo el mes. El segundo argumento
es el rango que contiene los números de día en que compra el diario el primer clien-
te. De modo que si el primer cliente compra el diario el domingo y el sábado, la
función cuenta cuántos domingos y sábados hay en el mes.
Pero la función aparece multiplicada por el rango que contiene el precio de los dia-
rios para cada día. De modo que la fórmula total multiplica la cantidad de domingos
Reparto de diarios
117www.redusers.com
❘❘❘
Dentro del grupo Autosuma, de la Biblioteca de funciones, encontramos algunas funciones muy
sencillas, dedicadas a calcular el promedio, a obtener los valores mínimos y máximos de una de-
terminada lista de datos y a realizar conteos. Todas ellas admiten un máximo de 255 argumen-
tos, es decir que podemos incluir hasta 255 rangos de datos separados por coma.
¿CUÁNTOS ARGUMENTOS?
04_Excel revelado.qxp 12/29/09 4:22 PM Page 117
por el precio del diario del domingo, multiplica la cantidad de sábados por el pre-
cio del diario del sábado y luego suma ambos productos. Esta suma resulta igual al
valor de todos los diarios que el cliente comprará a lo largo del mes. Si extendemos
la fórmula hacia abajo, obtendremos el valor correspondiente a cada cliente.
Esta planilla sirve para un diario. Deberíamos hacer una tabla similar para cada uno,
según el diario que compra cada cliente.
El botón Autosuma
Tengo una duda muy básica. Uso habitualmente el botón Autosuma para cal-
cular el total de una lista. Normalmente funciona todo bien, pero, cuando quiero su-
mar dos totales (obtenidos previamente con el botón Autosuma), me aparece un men-
saje que dice que no puede sumar los dos resultados. ¿Estoy haciendo algo mal o di-
rectamente no se puede hacer?
Rodolfo Mackarlen
El uso del botón Autosuma es muy simple. Supongamos que queremos sumar los va-
lores del rango B2:B10 y que queremos obtener el total en B11: primero seleccionamos
el rango B2:B11. Es decir, la lista de valores a sumar y la celda (por ahora, vacía) don-
de queremos obtener el total; y por último hacemos un clic en el botón Autosuma.
Figura 33. Para obtener rápidamente el total de una lista de datos,
los seleccionamos y luego hacemos clic en el botón Autosuma. Conviene
incluir en la selección la celda donde queremos poner el total.
4. LAS FUNCIONES ESPECIALES
118 www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 118
En realidad, en el primer paso no es necesario extender la selección hasta B11. Excel
se da cuenta de que, si los valores para sumar llegan hasta B10, el total debe ir en la
celda siguiente. Sin embargo, conviene incluir en la selección la celda donde irá el to-
tal para evitar posibles ambigüedades. Por ejemplo, si tenemos varias columnas de
datos en A1:C4, y las seleccionamos para calcular totales, Excel no sabe si queremos
sumar “por filas” (con los totales en la columna D) o “por columnas” (con los totales
en la fila 5). Resolvemos la duda incluyendo en la selección las celdas para los totales.
Otro caso es el que plantea Rodolfo. Supongamos que tenemos dos columnas de da-
tos y que obtuvimos sus respectivos totales en B11 y en C11. Ahora queremos sumar
ambos totales en D11. Si seleccionamos simplemente B11:C11 a Excel lo confunde eso
de armar una “suma sobre sumas” y cree que queremos redefinir las sumas de B11 y
C11. Resolvemos el problema seleccionando el rango B11:D11 (los dos valores a su-
mar y la celda donde queremos obtener la suma). Luego hacemos clic en Autosuma.
Figura 34. Si queremos obtener la suma de dos funciones
SUMA con el botón Autosuma, Excel cree que queremos redefinir alguna
de las dos sumas originales. Conviene seleccionar los valores para sumar,
más la celda que debe incluir la suma final. En este caso, B11:D11.
Ya que estamos en este tema, el efecto del botón Autosuma lo podemos obtener con
la combinación ALT+= (el signo igual), aunque es más sencillo con un clic.
El botón Autosuma
119www.redusers.com
❘❘❘
La combinación ALT+= (el signo igual) equivale al botón Autosuma. Si seleccionamos una lista de
números encolumnados y oprimimos la combinación ALT+= Excel escribe la función SUMA en la
celda siguiente al último valor de la lista. Debemos tener en cuenta que, en la mayoría de los te-
clados, para obtener el signo = tenemos que oprimir, al mismo tiempo, la tecla Shift.
AUTOSUMA
04_Excel revelado.qxp 12/29/09 4:22 PM Page 119
Resolver ecuaciones
Manejo cálculos bastante complejos y necesito resolver muchas ecuaciones.
¿Excel tiene opciones para la resolución de sistemas de ecuaciones lineales? Actual-
mente lo hago “a mano” y una opción automática me ahorraría mucho tiempo.
Francisco Luis Zanuttini Manzano
En principio hay dos opciones de Excel para resolver ecuaciones: Buscar Objetivo y
Solver. Pero para el caso de sistemas de ecuaciones lineales (aquellos en los que las
incógnitas no están elevadas a potencias mayores o iguales que 2) se pueden usar las
funciones para el manejo de matrices. Por ejemplo, sea resolver las ecuaciones 3x +
y = 6 y 2x + 4y = 14. En primer lugar, preparamos los siguientes rangos:
• En A1:C1 escribimos los coeficientes de la primera ecuación: 3, 1 y 6.
• En A2:C2 escribimos los coeficientes de la segunda ecuación: 2, 4 y 14.
Esto nos define dos matrices: el rango A1:B2 es la matriz que contiene los coefi-
cientes de las dos variables, en las dos ecuaciones. El rango C1:C2, que se llama
vector de términos independientes, contiene los términos independientes de
ambas ecuaciones. Para resolver este sistema tenemos que hacer dos cálculos:
■ Resolver ecuaciones (1) PASO A PASO
Seleccione A4:B5, con la misma forma y tamaño que la matriz de coeficientes.
Sin deseleccionar el rango, escriba la función =MINVERSA(A1:B2).
Dele entrada con la combinación CONTROL+SHIFT+ENTER.
Figura 35. Las fórmulas del rango A4:B5 calculan la inversa
de la matriz formada por el rango A1:B2. Esta matriz inversa
se puede usar para resolver sistemas de ecuaciones lineales.
4. LAS FUNCIONES ESPECIALES
120 www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 120
Con esto obtenemos una nueva matriz que es la inversa de la matriz de coeficientes.
Ahora viene el segundo cálculo para lo cual debemos seguir este procedimiento:
■ Resolver ecuaciones (2) PASO A PASO
Seleccione el rango C4:C5, con la misma forma y tamaño que el vector de
términos independientes.
Sin deseleccionar el rango, escriba la función =MMULT(A4:B5;C1:C2).
Dele entrada con la combinación CONTROL+SHIFT+ENTER.
Figura 36. Según el resultado de las fórmulas del rango
C4:C5 la solución a este sistema de ecuaciones es x=1 e y=3.
Con esta expresión multiplicamos la inversa de la matriz de coeficientes por el vec-
tor de términos independientes. Como resultado obtendremos los valores de las va-
riables que satisfacen el sistema de ecuaciones: el de x en C4 y el de y en C5.
Ángulos decimales
¿Hay alguna función para convertir coordenadas expresadas en grados, mi-
nutos y segundos a formato decimal? Yo tengo una función, pero me sirve sólo para
convertir grados y minutos. Necesito la precisión de los segundos porque, para los
datos que manejo, se producen errores de hasta 1500 metros.
Raúl Herrera S. (La Plata, provincia de Buenos Aires)
Para hacer la conversión tenemos que recordar que un grado es igual a sesenta mi-
nutos y que un minuto es igual a sesenta segundos. La fórmula depende de cómo
esté indicado el ángulo en la planilla. Supongamos que tenemos los datos separados
en tres celdas: los grados en A1, los minutos en B1 y los segundos en C1. Pasamos
Ángulos decimales
121www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 121
todo a grados con decimales mediante esta fórmula =A1+B1/60+C1/3600. El factor
3600 se debe a que un grado es igual a tres mil seiscientos segundos.
Figura 37. La fórmula de la celda D1 expresa en grados y fracción
el ángulo indicado con grados en A1, minutos en B1 y segundos en C1.
Otra posibilidad es escribir los ángulos empleando formatos de hora. Efectivamen-
te, el valor 27:12:44 tanto puede interpretarse como 27 horas, 12 minutos y 44 se-
gundos, como 27 grados, 12 minutos y 44 segundos. Para pasar este valor a grados
(u horas) decimales tenemos que hacer dos cosas:
• Multiplicar el valor por 24. Esto se debe a que, internamente, el valor está medi-
do en “días”. Multiplicándolo por 24 lo pasamos a horas o, lo que es equivalente
en nuestro caso, a grados.
• Además, tenemos que aplicar en la celda formato General.
Figura 38. La fórmula de la celda B1 expresa en grados y fracción el ángulo
indicado en A1 en formato de hora. A la celda B1 se le aplicó formato General.
Si nos alcanza con precisión de hasta segundos, los dos métodos tienen que dar los
mismos resultados. La elección dependerá de cuál nos resulte más sencillo.
4. LAS FUNCIONES ESPECIALES
122 www.redusers.com
❘❘❘
En Excel, los datos que representan tiempo (fechas u horas) se guardan internamente como un
número de serie. Este número de serie representa la cantidad de días desde el 1 de enero de
1900. Por ejemplo, el número 40 representa el 9 de febrero de 1900. Si el número de serie tiene
decimales, estos representan una fracción de día.
DATOS TIPO FECHA U HORA
04_Excel revelado.qxp 12/29/09 4:22 PM Page 122
Cálculos con matrices complejas
Necesito multiplicar dos matrices, cada uno de cuyos elementos es un número
complejo. Excel tiene funciones para operar con matrices y para operar con números com-
plejos, pero no encuentro una función para operar con ambos. ¿Es posible hacerlo?
Rubén Librandi
Ésta es realmente una pregunta “compleja”. Los cálculos con matrices se emplean
para resolver diversos problemas de matemática e ingeniería. Por ejemplo, sean dos
matrices de dos filas por dos columnas. La primera ocupa el rango A1:B2 y la se-
gunda, el rango D1:E2. El producto de ambas matrices es otra matriz de dos filas y
dos columnas y se calcula como sigue:
■ Multiplicar matrices PASO A PASO
Seleccione un rango de dos filas y dos columnas. Es decir, el rango que ocupará
la matriz producto.
Sin deseleccionar el rango escriba la fórmula =MMULT(A1:B2;D1:E2). Los
argumentos son los rangos de las matrices para multiplicar.
Dele entrada con la combinación CONTROL+SHIFT+ENTER.
Figura 39. El rango A4:B5 contiene una fórmula
matricial que da el producto de las otras dos matrices.
El resultado de esta operación será una fórmula matricial (así se dice) que ocupa to-
das las celdas del rango seleccionado.
Este procedimiento no funciona si el contenido de cada celda (cada elemento de
las matrices) es un número complejo. Excel también dispone de la función
IM.SUM para sumar números complejos e IM.PRODUCT para multiplicarlos. Pero
separadamente, no como elementos de una matriz. Lo que podemos hacer es
combinar estas funciones complejas para desarrollar el producto de las matrices
elemento por elemento, siguiendo las reglas del álgebra. Es un tema muy técni-
co, de modo que damos el resultado. Como antes, suponemos que las matrices
que vamos a multiplicar están en A1:B2 y D1:E2:
Cálculos con matrices complejas
123www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 123
• El elemento de la primera columna, primera fila de la matriz, se obtiene con la
función =IM.SUM(IM.PRODUCT(A1;D1);IM.PRODUCT(B1;D2)). Esto es el producto
del elemento de primera fila, primera columna de la primera matriz por el ele-
mento de primera fila, primera columna de la segunda matriz, más el producto
del elemento de primera fila, segunda columna de la primera matriz por el ele-
mento de segunda fila, primera columna de la segunda matriz.
• El siguiente elemento (primera fila, segunda columna) se obtiene con =IM.SUM
(IM.PRODUCT(A1;E1);IM.PRODUCT(B1;E2)). Es el producto del elemento de prime-
ra fila, primera columna de la primera matriz por el elemento de primera fila, se-
gunda columna de la segunda matriz, más el producto del elemento de primera
fila, segunda columna de la primera matriz por el elemento de segunda fila, se-
gunda columna de la segunda matriz.
Figura 40. En el rango A4:B5 se han escrito fórmulas para el manejo
de números complejos que dan el producto de las otras dos matrices.
Es complicado, pero los que conozcan el algoritmo para multiplicación de matrices no
deberían tener problemas para calcular los demás elementos de la matriz producto.
Las funciones para el manejo de números complejos requieren de la instalación del
complemento Herramientas para análisis.
Detectar celda marcada
Tengo dos rangos de tres filas por tres columnas. El primero tiene distintos
valores en cada celda y el segundo está en blanco y funciona como un formulario. Yo
quiero que, si marco con una X una celda del segundo rango, en otra celda me apa-
rezca el valor correspondiente del primer formulario.
Alberto M. Bertona (Martínez, provincia de Buenos Aires)
Vamos por partes. Supongamos que el primer rango tiene los valores 15, 8 y 7
en la primera fila; 22, 12 y 30 en la segunda y 10, 41 y 20 en la tercera. Lo que
pide el lector es que, si marcamos con una X la primera celda de la segunda fila
en el formulario, en otra celda aparezca el número 22, que es el que ocupa esa
misma posición en el primer formulario.
4. LAS FUNCIONES ESPECIALES
124 www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 124
Figura 41. Queremos que en E1 aparezca el valor de la celda A2 que, dentro
del rango A1:C3, ocupa la misma posición que la celda marcada en el rango A5:C7.
De alguna forma, buscamos que una fórmula reconozca la celda marcada en el
primer formulario y tome el valor correspondiente del segundo. Podemos ha-
cerlo con una combinación de funciones.
Si el primer formulario ocupa el rango A1:C3 y el segundo, el rango A5:C7 usamos
la siguiente fórmula =SUMA(SI(A5:C7>0;A1:C3)). A esta fórmula hay que darle en-
trada con la combinación CONTROL+SHIFT+ENTER.
Figura 42. La fórmula de la celda E1 muestra el valor de la celda
que, dentro del rango A1:C3, ocupa la misma posición que la celda marcada
en el rango A5:C7. Nótense las llaves que encierran a la fórmula, lo que indica
que ha sido ingresada con la combinación CONTROL+SHIFT+ENTER.
Detectar celda marcada
125www.redusers.com
❘❘❘
Dentro de las opciones de Excel referidas a Fórmulas incluidas en el Botón de Office, bajo el títu-
lo Comprobación de errores, podremos activar o desactivar esas herramientas. Ésta identificará,
con una marca en la esquina superior izquierda de la celda, aquellas que sean consideradas con
errores o aquellas cuya fórmula difiera de las que están a su alrededor.
COMPROBACIÓN DE ERRORES
04_Excel revelado.qxp 12/29/09 4:22 PM Page 125
Para comprenderlo mejor, podemos pensar que la fórmula “recorre” el segundo
rango buscando las celdas con valor mayor que cero (lo que equivale a celdas no
vacías). Cuando encuentra una en estas condiciones, suma el valor de la celda
que ocupa la misma posición en el segundo rango.
Archivos de texto
Tengo una planilla con dos columnas: Nombre e Ingresos. Quiero guardar la
planilla como archivo de texto con cada dato entre comillas y separados con punto y
coma. Por ejemplo “Juan”;”220”. Probé con todas las opciones de texto que ofrece
Excel pero ninguna tiene la estructura que yo quiero. ¿Cómo puedo resolverlo?
Raúl Vergara (Ushuaia, Tierra del Fuego)
Una forma de resolver esto es creando el registro con la estructura deseada en una
columna auxiliar y luego copiar esa columna en el bloc de notas.
Por ejemplo, si tenemos el nombre en A1 y el importe en B1, armamos el registro me-
diante: =CARACTER(34)&A1&CARACTER(34)&”;”&CARACTER(34)&B1&CARACTER(34).
Figura 43. Las fórmulas de la columna D arman un registro donde los datos
de las columnas A y B quedan encerrados entre comillas y separados por punto y coma.
Esta expresión concatena ambos datos encerrándolos entre comillas (obtenidas con
la función =CARACTER(34)) y separándolos con el punto y coma. Luego la extende-
4. LAS FUNCIONES ESPECIALES
126 www.redusers.com
❘❘❘
Para salir de Excel, podremos utilizar la opción incluida dentro del Botón de Office o la combi-
nación de teclas ALT+F4, que dará por finalizada la sesión actual del programa. Este atajo de te-
clado también se puede utilizar para cerrar otras aplicaciones e incluso para hacer aparecer la
ventana de opciones de apagado de Microsoft Windows.
SALIR DE EXCEL
04_Excel revelado.qxp 12/29/09 4:22 PM Page 126
mos hacia abajo para todas las filas de la planilla y la copiamos en el bloc de notas.
El archivo así generado tendrá la estructura deseada.
Función CONTIENE
Tengo una lista de operaciones comerciales, con descripción e importe. En
una tercera columna le tengo que aplicar un porcentaje a las operaciones que inclu-
yen la palabra IVA en su descripción. ¿Hay alguna función de Excel que me diga si
cierto dato (en este caso, la palabra IVA) está contenido dentro de una celda?
Elías Manzur (provincia de San Juan)
En principio, no existe en Excel una función CONTIENE. Pero se puede simular su
efecto mediante una combinación de las funciones HALLAR, ESERROR y NO. Co-
menzamos con la función HALLAR, que busca un texto dentro de otro.
Figura 44. La función HALLAR busca un texto dentro de otro. Si lo encuentra,
devuelve la posición donde comienza. Si no lo encuentra, devuelve un mensaje de error.
Por ejemplo la expresión =HALLAR(“IVA”;“DERIVA”) devuelve el valor 4, porque la
secuencia IVA se encuentra a partir de la cuarta letra de DERIVA. Si el texto no se en-
cuentra, la función devuelve un mensaje de error. A la expresión anterior le pode-
mos aplicar la función ESERROR que devuelve VERDADERO si el argumento es un
error. Entonces la expresión =ESERROR(HALLAR(“IVA”; B2)) devuelve el valor VER-
DADERO si la palabra IVA no se encuentra en B2 y FALSO si la encuentra.
Figura 45. La combinación de funciones de la columna
C devuelven el valor lógico VERDADERO si la palabra IVA no está
en las celdas de la columna A y FALSO en caso contrario.
Función CONTIENE
127www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 127
Alguien podría objetar que esta combinación de ESERROR y HALLAR equivale a “no
contiene” (devuelve FALSO si el texto está y VERDADERO si no está). Objeción váli-
da: entonces aplicamos a todo la función NO: =NO(ESERROR(HALLAR(“IVA”; B2))).
La función NO cambia el valor del argumento de VERDADERO a FALSO y viceversa.
Eliminar blancos
Tengo una lista de nombres y apellidos. Por alguna razón, estos datos tienen
espacios de más: al comienzo, en el medio (entre nombre y apellido) y al final. Quiero
eliminar esos blancos. Probé con la opción de reemplazar pero me elimina todos los
blancos y yo necesito que deje un espacio (sólo uno) entre nombre y apellido. ¿Qué
otra opción puedo usar? Muchas gracias por tu ayuda.
Betina Russo (Buenos Aires)
Una manera simple de resolver este problema es con la función ESPACIOS que hace jus-
to lo que Betina necesita: elimina todos los espacios que hay en un dato tipo texto, pe-
ro dejando un espacio intermedio entre palabras, si hubiera alguno. La sintaxis es:
=ESPACIOS(texto), donde texto es el dato del cual queremos eliminar los espacios. Por
supuesto, este argumento puede ser las coordenadas de la celda que contiene el dato.
Figura 46. La función ESPACIOS elimina los espacios en exceso
dentro de un dato tipo texto. Pero deja un espacio entre palabras, si hubiera
alguno. En este caso, deja un espacio entre nombre y apellido.
4. LAS FUNCIONES ESPECIALES
128 www.redusers.com
❘❘❘
Si pegamos datos desde el Portapapeles usando el botón Pegar (o la combinación CONTROL+V)
aparece, en el extremo inferior del rango pegado, el botón con las opciones de pegado. Este bo-
tón funciona como una lista desplegable que ofrece algunas de las opciones del Pegado especial.
OPCIONES DE PEGADO
04_Excel revelado.qxp 12/29/09 4:22 PM Page 128
Una vez escrita la función en una columna auxiliar, y extendida a todos los nom-
bres de la lista, tenemos que “pegar valores”:
■ Pegar valores PASO A PASO
Seleccione el rango donde tiene la función con los textos ya limpiados de espacios.
Haga clic en el botón Copiar de la ficha Inicio o use cualquiera de sus atajos.
Seleccione la primera celda de la lista de datos originales.
Descuelgue las opciones del botón Pegar y haga clic en Pegar valores.
Figura 47. Con esta opción pegamos en la dirección actual el resultado de las fórmulas
antes copiadas al Portapapeles. Equivale a la opción Valores del Pegado especial.
Por último, con la lista ya limpiada de espacios supernumerarios, podemos borrar
la columna auxiliar de fórmulas, porque ya no la necesitamos.
Eliminar blancos
129www.redusers.com
❴❵
El asistente para insertar función nos guía en el momento de escribir una función ofreciéndo-
nos cajas donde escribir cada argumento. Este asistente aparece como última opción del botón
Autosuma o con la combinación SHIFT+F3. En Excel 2003 y en las versiones anteriores aparece
también con las opciones Insertar/Función.
ASISTENTE PARA INSERTAR FUNCIÓN
04_Excel revelado.qxp 12/29/09 4:22 PM Page 129
Sumar datos como texto
Tengo un archivo con números escritos como texto. Cuando sumo todos esos
números, obtengo 0, porque así es como Excel considera los textos. ¿Cómo hago pa-
ra calcular el total? No puedo modificar los números ni quiero usar macros.
Damián Silva (provincia de Santa Fe)
Hay, por lo menos, dos razones por las que un número es considerado como tex-
to por Excel. El primer caso es cuando está precedido por un apóstrofo y, el se-
gundo, es cuando la celda que lo contiene tiene aplicado el formato Texto. De
cualquier forma, se le puede devolver el carácter numérico aplicando la función
VALOR. Por ejemplo, sea la expresión: =VALOR(A1).
Figura 48. Las cantidades de la columna B están
escritas como texto (precedidos
por un apóstrofo). Por eso el total de B11 da 0.
Si queremos sumar todo un rango de valores de este tipo, no necesitamos conver-
tirlos a número uno por uno en un rango auxiliar: podemos hacer la conversión y
la suma en la misma fórmula. Por ejemplo, supongamos que los valores están en
el rango B2:B10, la fórmula a ingresar sería =SUMA(VALOR(B2:B10)). A esta expre-
sión tenemos que darle entrada con la combinación CONTROL+SHIFT+ENTER. Es lo
que se llama una fórmula matricial, de la que ya hemos hablado antes.
4. LAS FUNCIONES ESPECIALES
130 www.redusers.com
❴❵
En VisiCALC, el primer programa para manejo de planillas de cálculo, las funciones especiales
se escribían precedidas por el símbolo @. Por eso se las llamaba funciones arroba o, en inglés,
AT-Functions. Esto se mantuvo en Lotus 1-2-3 y en Quattro pro. En 1987, Excel estableció el sig-
no = como prefijo para todos los cálculos y funciones.
FUNCIONES “ARROBA”
04_Excel revelado.qxp 12/29/09 4:22 PM Page 130
Figura 49. La fórmula de la celda B11 convierte a números
las cantidades de B2:B10 y las suma. Es una fórmula matricial
que se ingresa con la combinación CONTROL+SHIFT+ENTER.
Fórmulas automáticas
Tengo un libro de Excel que tiene un comportamiento extraño: cuando agre-
go una fila de datos al final de la lista aparecen automáticamente las fórmulas en
todas las columnas. Estuve analizando el archivo y no encuentro explicación a es-
te comportamiento. Espero que me puedas ofrecer una solución.
Hernando Pang (Panamá)
El comportamiento que comenta el lector se debe a una opción incorporada a Ex-
cel desde hace varias versiones. Lo explicamos:
Sea una planilla con tres columnas: Cantidad, Precio unitario e Importe. A partir de
la segunda fila, luego de los títulos, escribimos valores en las dos primeras colum-
nas. En la celda C2, a la derecha del primer precio, escribimos =A2*B2 para calcular
el importe y extendemos esta fórmula a toda la lista.
Figura 50. Las dos primeras columnas de esta tabla tienen datos fijos. En la tercera
hay una fórmula. Si agregamos una nueva fila a esta tabla, luego de escribir los datos
de las columnas A y B, la fórmula de la columna C aparecerá automáticamente.
Fórmulas automáticas
131www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 131
Si ahora escribimos un nuevo juego de valores en Cantidad y Precio unitario, debemos
extender la fórmula a estos nuevos datos. Sin embargo, si la lista es suficientemente
larga, Excel extenderá la fórmula automáticamente. El comando que produce este
efecto se activa desde las Opciones de Excel:
■ Fórmulas automáticas PASO A PASO
Haga un clic en el Botón de Office y luego en Opciones de Excel.
Seleccione la categoría Avanzadas.
Marque la opción Extender formatos de rangos de datos y fórmulas.
Haga un clic en Aceptar.
Figura 51. La opción Extender formatos de rangos de datos y fórmulas
hace que Excel repita automáticamente las fórmulas de una lista y los formatos
de sus celdas si estos están aplicados en las últimas cuatro filas.
4. LAS FUNCIONES ESPECIALES
132 www.redusers.com
❘❘❘
Para escribir una fórmula compleja, con cálculos dentro de cálculos, podemos usar distintos
niveles de paréntesis, pero no corchetes ni llaves. La cantidad de niveles de paréntesis y fun-
ciones dentro de una misma fórmula varía según la versión de Excel que estamos usando y es
mucho mayor en Excel 2007 que en las versiones anteriores.
NIVELES DE PARÉNTESIS
04_Excel revelado.qxp 12/29/09 4:22 PM Page 132
En las versiones anteriores de Excel tenemos que marcar la opción Extender forma-
tos de lista y fórmulas, en la ficha Modificar de Herramientas/Opciones.
Una vez activada esta opción, Excel repetirá automáticamente las fórmulas (y el
formato) de las celdas precedentes en una lista, siempre que las fórmulas estén
presentes en las últimas cuatro filas.
Criptofrases
Estoy tratando de hacer un programa para generar criptofrases. Se trata de esos
juegos donde una frase es encriptada reemplazando cada letra por un número (a igual le-
tra, igual número) y que luego hay que descifrar. Quiero darle la frase al programa y que
éste la encripte para que otro la pueda descifrar. Supongo que se puede hacer en Excel.
Eduardo De la Llama (Santiago del Estero)
Este problema es relativamente complejo, por la cantidad de tareas que implica:
• Generar una clave, que sea distinta para cada juego.
• Separar la frase dada, letra por letra.
• Reemplazar cada letra de la frase por el número indicado en la clave.
Figura 52. Este juego se llama criptofrase. Hay que descubrir
una frase oculta, escribiendo una letra en cada casilla numerada. A igual
número, igual letra. La solución, al final del capítulo.
Comencemos por el principio. En la columna A, a partir de A2, escribimos el abe-
cedario, una letra por celda. En la columna C, a partir de C2, escribimos los núme-
ros del 1 al 27. Finalmente, en la columna D, a partir de D2, escribimos la función
=ALEATORIO(), extendida a toda la lista.
El rango A2:C28 establece una correspondencia entre cada letra y un número: a la A
le hace corresponder el 1, a la B el 2 y así sucesivamente. Si ahora ordenamos la co-
lumna D (la que contiene la función ALEATORIO) el resultado será desordenar la co-
lumna C, por lo que se establecerá una nueva relación entre las letras y los números.
Criptofrases
133www.redusers.com
04_Excel revelado.qxp 12/29/09 4:22 PM Page 133
Ésa será nuestra clave. Es esencial dejar en blanco la columna B para que la lista de
letras quede fija y solamente se desordenen los números. También tenemos que es-
cribir un espacio en blanco (sólo uno) en A1 por razones que aclararemos luego.
Figura 53. Al ordenar esta lista según los números aleatorios de la columna
D, desordenamos los números de la columna C, que indican cómo se codifican
las letras de la columna A. Cada ordenamiento genera una codificación diferente.
Ahora escribimos la frase para encriptar en F1. A partir de F2, hacia la derecha, es-
cribimos los números 1, 2, 3, etcétera. Estos números servirán como índice para se-
parar de la frase la primera letra, la segunda, etcétera. En F3 vamos a escribir una
fórmula que separe la primera letra de la frase: =EXTRAE($F$1;F2:1). Esta función
tiene tres argumentos entre los paréntesis:
• El primero es el texto del que vamos a separar la letra.
• El segundo es la posición que ocupa la letra que queremos separar. En este caso,
será el 1 que hay en F2.
• El tercero es la cantidad de letras que queremos extraer. En este caso, una sola letra.
4. LAS FUNCIONES ESPECIALES
134 www.redusers.com
❘❘❘
A partir de su versión XP, Excel incluye una ayuda instantánea para funciones, que facilita
nuestra tarea. Cuando llega el momento de escribir los argumentos, aparecen carteles que
indican cuáles son. Para activar esta ayuda tenemos que marcar la opción Información sobre
herramientas de funciones, dentro de Herramientas/Opciones/General.
AYUDA INSTANTÁNEA
04_Excel revelado.qxp 12/29/09 4:22 PM Page 134
Figura 54. Las fórmulas de la fila 3 separan la frase de la primera
fila en cada una de las letras que la componen. Estas letras luego
se codifican según la clave aleatoria de la izquierda.
Esta fórmula la podemos extender hacia la derecha para separar la segunda letra,
la tercera, etcétera. En resumen, a partir de F3 obtendremos la misma frase que
hay en F1, pero una letra por celda.
Sólo nos queda reemplazar cada letra de la fila 3, por el número que le corresponde se-
gún la clave generada en A2:C28. Para eso, en F6 escribimos =BUSCARV(F3;$A1:$C28;3).
Esta fórmula busca la primera letra de la frase en la tabla A1:C28. Cuando la encuen-
tra, trae el número que la acompaña en la tercera columna. Nótese que la dirección de
la tabla incluye la celda donde escribimos el espacio en blanco. Esto es para tener en
cuenta los espacios entre palabras en la frase. La fórmula debe extenderse hacia la de-
recha para reemplazar todas las letras de la frase.
Figura 55. Las fórmulas de la fila 6 codifican cada una de las letras
de la fila 3 según la clave aleatoria de la tabla de la izquierda. Se agregan
algunas letras en la fila 5 para ayudar a la resolución del juego.
Criptofrases
135www.redusers.com
❘❘❘
Cuando una función muestra el resultado ¿NOMBRE? es porque hemos escrito mal su nombre.
Si muestra los resultados ¡VALOR!, N/A o ¡NUM! es porque pretendemos hacer alguna opera-
ción inválida. En cualquier caso, hay que revisar la función, ver lo que hemos escrito mal en la
función propiamente dicha o en sus datos.
MENSAJES DE ERROR
04_Excel revelado.qxp 12/29/09 4:22 PM Page 135
Para resolver el juego planteado en esta consulta, simplemente tenemos que copiar
la lista de números que obtenemos a partir de la celda F6.
De todos modos, esta planilla generadora de criptofrases necesita un poco de cos-
mética para que tanto la frase como la tabla de claves quede oculta y para acomo-
dar mejor las letras dentro de sus casilleros.
La solución a la criptofrase de la Figura 52 es:
Nada le saca tanto el gusto a la mantequilla de maní como el amor no correspondido.
4. LAS FUNCIONES ESPECIALES
136 www.redusers.com
… RESUMEN
La pregunta destacada de este capítulo representa un final adecuado para uno de los temas
más interesantes de Excel, aquél que permite hacer los cálculos y operaciones más útiles y
poderosas. Pero las funciones especiales no terminan aquí. Quedan todavía dos capítulos
relacionados, dedicados a cálculos condicionales y con fechas y horas.
04_Excel revelado.qxp 12/29/09 4:22 PM Page 136
Cálculos
condicionales
Funciones dentro de funciones 139
Multicondicional 141
Cobradas, pendientes y anuladas145
SUMAR.SI en varias hojas 148
Contar celdas 149
Condición de entero 151
Condiciones aproximadas 156
La función BUSCARV 162
Capítulo 5
Dentro de las operaciones que podemos
realizar en Excel hay una categoría
de cálculos muy especial: los cálculos
condicionales, cuyo resultado depende
de una condición. En general, estos
cálculos se realizan con la función SI.
Pero en muchos casos esta función se
usa junto con otras, en combinaciones
no siempre obvias. En este capítulo
plantearemos una gran variedad
de problemas que se resuelven con
este tipo de expresiones.
EXCEL REVELADO
SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 137
Negativos y ceros
¿Hay alguna función que convierta en cero los números negativos? Es decir,
si tengo una lista con los valores 10, 25, -7, 12, -20 y -8 quiero transformarla en 10,
25, 0, 12, 0 y 0. No pude encontrar la solución.
Betina Russo (Buenos Aires)
La consulta que plantea la lectora puede resolverse (por lo menos) de dos maneras.
La lógica sería mediante una función condicional: =SI(B2<0;0;B2). Suponiendo que
el número original está en la celda B2, esta función pregunta si el dato es menor que
cero (o sea, negativo). Si lo es, nos muestra un cero; si no, muestra el número ori-
ginal. Tal como podemos observar en la Figura 1.
Figura 1. Las fórmulas de la columna
C transforman en cero los valores negativos de la columna B.
Pero hay otra expresión más compacta (aunque un poco más difícil de entender):
=MAX(B2;0). Esta función devuelve el mayor valor entre los dos que aparecen en-
tre paréntesis. Si el dato contenido en la celda B2 es negativo, el mayor de los
dos será el cero. Si es positivo, él será el mayor. Para pensarlo. La función MAX
se encuentra dentro del grupo Autosuma en la Biblioteca de funciones.
Figura 2. Las fórmulas de la columna C usan la función
MAX para transformar en cero los valores negativos de la columna B.
5. CÁLCULOS CONDICIONALES
138 www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 138
Funciones dentro de funciones
Me gustaría alguna explicación, con ejemplos, sobre el uso de funciones ani-
dadas: funciones dentro de funciones. Por ejemplo, una condicional SI dentro de otra SI.
Rubén Echechurre (provincia de Formosa)
La función condicional SI permite asignar uno de dos valores posibles, según una
condición. Por ejemplo: un club cobra diez pesos la cuota a los mayores de 12 años
y cinco a los menores. Tenemos una lista de sus socios, con sus respectivas edades,
y queremos calcular la cuota que le corresponde a cada uno. Este es el tipo de pro-
blemas que se resuelve con la función condicional. Tenemos dos valores posibles
para la fórmula (la cuota de cinco o la de diez) y una condición que decide cuál es
el valor que efectivamente se toma (ser o no mayor de doce años). Estos tres ele-
mentos (los dos valores y la condición) aparecerán dentro de la función. Si la edad
está en la celda B2 la función es =SI(B2>12;10;5). O sea “si la edad es mayor que do-
ce; la cuota vale diez; si no, vale cinco”. La función se llama condicional porque el
valor que se obtiene depende de una condición.
Figura 3. La función de la columna C asigna un cinco o un diez según el valor de la
columna B. Se llama condicional porque el valor que muestra depende de una condición.
Ahora supongamos que este club tiene tres valores de cuota:
Funciones dentro de funciones
139www.redusers.com
❘❘❘
La función SI se llama condicional porque el resultado que entrega depende de una condición.
Resuelve problemas donde hay dos resultados posibles y una condición que decide cuál de es-
tos dos resultados tomará la función. Sus argumentos son la condición, el valor que toma la fun-
ción cuando la condición se cumple y el valor que toma cuando no se cumple.
FUNCIÓN CONDICIONAL
05_Excel revelado.qxp 12/29/09 4:23 PM Page 139
• Los niños de hasta 12 años no pagan.
• De 13 a 18 años pagan 5$
• Más de 18 años pagan 10$.
La función condicional permite resolver problemas en los que hay que elegir entre
dos valores posibles. En este caso los valores posibles son tres. Podemos resolver es-
to combinando dos funciones condicionales. Es posible pensarlo así:
En principio hay dos casos: niños de hasta 12 que no pagan y mayores de 12 que
sí pagan. Pero para los mayores de 12 años hay, a su vez, otros dos casos posi-
bles: que tengan hasta 18 años (pagan 5$) o más (pagan 10$). Así como con-
ceptualmente podemos “abrir” la elección en dos casos de dos valores cada uno,
también podemos resolver el problema con dos funciones: una para cada elec-
ción. De nuevo, si tenemos los datos correspondientes a la edad en la celda B2,
nos queda la siguiente fórmula: =SI(B2<=12;0;SI(B2<=18;5;10)). El segundo va-
lor para la primera condicional es otra condicional. El último valor se asigna por
descarte, cuando no se cumple ninguna de las condiciones. Nótense los dos pa-
réntesis que se cierran al final: uno para cada función.
Figura 4. Las fórmulas de la columna C combinan dos funciones
condicionales para calcular el valor de la cuota entre tres casos posibles.
Si hubiera más de tres casos posibles, podríamos combinar más funciones. Por
ejemplo, supongamos que tenemos una lista de alumnos con las notas obtenidas
en un examen. Queremos pasar una calificación a palabras según la siguiente ta-
bla: 3 o menos, Aplazado; 4, 5 o 6, Aprobado; 7, 8 y 9, Bueno; 10, Sobresaliente.
Como hay cuatro casos posibles, lo resolvemos combinando tres funciones. Si su-
ponemos que la nota está en la celda B2 la función a ingresar sería así: =SI(B2<4;
“Aplazado”;SI(B2<7;“Aprobado”;SI(B2<10;“Bueno”;“Sobresaliente”))).
5. CÁLCULOS CONDICIONALES
140 www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 140
Figura 5. Las fórmulas de la columna C combinan tres funciones condicionales
para asignar una calificación según cuatro casos posibles. El último
caso se resuelve por descarte, cuando no se cumple ninguna de las condiciones.
Si leemos esta fórmula desde la mitad, parecería que dijera “menos de siete es apro-
bado”. Pero la condición “nota menor a 7” solamente se evalúa si no se cumplió la
anterior “nota menor a 4”. Por lo tanto, el aprobado se lo llevan los que sacaron
menos de 7, pero más de 3, como debe ser. En la siguiente consulta explicamos otro
ejemplo de funciones SI combinadas.
Multicondicional
Armé una planilla con facturas y sus importes. En una columna tengo que cal-
cular el impuesto que, dependiendo del tipo de factura, puede ser 10,5%, 21%, 27%
o estar exenta. Sé cómo usar una función SI para aplicar el porcentaje cuando hay dos
tipos de factura, pero no sé cómo se combinan las funciones cuando hay más casos.
Fermín Cáceres (provincia de Salta)
Tal como dice el lector, la función condicional SI permite aplicar uno u otro por-
centaje cuando hay dos tipos posibles de factura. Por ejemplo, =SI(A2=“Factura
A”;B2*21%;B2*27%). Esta función aplica un 21% sobre el importe de la celda B2
si el tipo de comprobante es Factura A. En cualquier otro caso aplica un 27%. Es
Multicondicional
141www.redusers.com
❘❘❘
Se puede combinar la función SI con algunas funciones matemáticas (SUMA, MAX, PROMEDIO,
etcétera) para realizar cálculos sobre bases de datos, condicionando los datos al cumplimiento
de un criterio. Podemos ver algunos ejemplos de estos cálculos condicionales en el Capítulo 5.
CÁLCULOS CONDICIONALES
05_Excel revelado.qxp 12/29/09 4:23 PM Page 141
decir, la función SI analiza una condición y, si se cumple, hace una cosa y si no se
cumple hace otra: una condición da lugar a dos situaciones según se cumpla o no.
Figura 6. Las fórmulas de la columna C aplican un porcentaje de impuesto,
según el tipo de comprobante indicado en la columna B.
Se analizan tres condiciones para considerar cuatro tipos de comprobante.
Cuando hay cuatro casos (como en el planteo del lector) hay que analizar tres con-
diciones mediante funciones “anidadas”:
=SI(A2=“Factura A”;B2*21%;SI(A2=“Factura A1”;B2*10,5%;
SI(A2=“Factura A2”;B2*27%;0)))
Esta función dice:
• Si el comprobante es Factura A, aplicar 21%. Si no…
• Si el comprobante es Factura A1, aplicar 10,5%. Si no…
• Si el comprobante es Factura A2, aplicar 27%. Si no…
• Considerar impuesto igual a cero.
Como puede verse, se analizan tres condiciones. Cada una corresponde a un caso.
El cuarto caso sale por descarte.
Cuando se anidan estas funciones, cada una se abre antes de cerrar la anterior. Al
final, se cierran todas. Por eso los tres paréntesis.
5. CÁLCULOS CONDICIONALES
142 www.redusers.com
❴❵
Una función que le falta a Excel es la que permitiría expresar importes (y cantidades en general) en
letras. Inexplicablemente, Excel incluye una función así: TEXTOBATH, pero sólo sirve para el idioma
tailandés. Buscando en Internet es posible encontrar funciones adecuadas para nuestro idioma.
IMPORTES EN LETRAS
05_Excel revelado.qxp 12/29/09 4:23 PM Page 142
Demasiadas condiciones
Estoy armando una planilla para cálculos de impuestos. En una celda tengo
que analizar una serie de condiciones para decidir el coeficiente que se debe aplicar.
En Excel 2007 puedo hacer funcionar la fórmula sin problemas. Pero, en Excel 2003
directamente no me la deja ingresar. ¿Por qué pasa esto y cómo se resuelve?
Robert Blanco (Asunción del Paraguay)
La fórmula que nos adjunta el lector tiene muchas condiciones: analiza importes,
regiones, ciertas condiciones legales, etcétera. Eso obliga a utilizar funciones SI den-
tro de otras funciones SI, como en el caso de la consulta anterior. Las versiones de
Excel anteriores a la 2007 imponen un límite a la cantidad de funciones condicio-
nales que se pueden anidar. Por eso no funciona.
Figura 7. La fórmula de la celda D2 tiene muchas funciones
SI, una dentro de la otra. Más de las que admite Excel 2003.
Este problema no aparece en Excel 2007, que admite muchos más niveles de ani-
dación (así se dice) de funciones dentro de funciones.
Figura 8. La fórmula de la celda D2 tiene muchas funciones
SI, una dentro de la otra, pero esto no es un problema en Excel 2007.
Demasiadas condiciones
143www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 143
Si armamos la fórmula en Excel 2007, pero luego guardamos el archivo en formato
Excel 97-2003, un cuadro como el de la Figura 9 nos avisará que hay una fórmula con
más niveles de anidación que los permitidos en ese formato.
Figura 9. Armamos en Excel 2007 una fórmula con muchos
niveles de funciones SI, una dentro de la otra. No podemos conservar
la fórmula si luego guardamos el libro en formato de Excel 97-2003.
En realidad, cuando una fórmula debe analizar más de dos o tres condiciones, pue-
de ser mejor usar la función BUSCARV, con una tabla que considere cada condición.
Pero, si esto no es posible, se puede resolver el problema separando la fórmula en
dos. Por ejemplo, si hay diez condiciones, en E2 se analizan las primeras cinco:
=SI(condición1;valor1;SI(condición2;valor2;
SI(condición3;valor3;SI(condición4;valor4;
SI(condición5;valor5;D2)))))
Esta fórmula dice que, si no se cumple ninguna de las cinco condiciones, se toma
el valor de la celda D2. En D2 se analizan las cinco condiciones restantes:
5. CÁLCULOS CONDICIONALES
144 www.redusers.com
❘❘❘
Normalmente, los argumentos de una función Excel (los datos que se escriben entre los parénte-
sis) se separan por puntos y comas. Pero eso depende de la configuración de idioma. Para saber
cómo cambiar esta configuración, ver la consulta sobre estilos de puntuación en el Capítulo 4.
SEPARADOR DE ARGUMENTOS
05_Excel revelado.qxp 12/29/09 4:23 PM Page 144
=SI(condición6;valor6;SI(condición7;valor7;
SI(condición8;valor8;SI(condición9;valor9;
SI(condición10;valor10;valor11)))))
Figura 10. Ahora la fórmula de la celda E2 analiza las primeras
cinco condiciones. Si no se cumple ninguna de ellas, remite al valor de D2,
donde otra serie de funciones SI analiza las condiciones restantes.
La técnica que acabamos de explicar permite, con fórmulas sucesivas, crear un
cálculo condicional tan complejo como se quiera.
Cobradas, pendientes y anuladas
Tengo una tabla de tres columnas: Factura, Importe y Estado. El estado pue-
de ser Cobrada, Pendiente o Anulada. Quiero obtener, en tres celdas separadas, el im-
porte total de cada uno de ellos.
Pablo Valentín Peralta (Lanús, provincia de Buenos Aires)
Para resolver este tipo de problemas hay una función específica: SUMAR.SI. Esta fun-
ción suma los valores de un rango sujetos a una condición. Por ejemplo, suponga-
mos que la tabla ocupa el rango A1:C15, con títulos en la primera fila. Queremos
sumar las facturas cobradas. La fórmula es =SUMAR.SI(C2:C15;“Cobrada”;B2:B15).
Figura 11. La función de la celda E2 suma los importes
de las facturas con la condición Cobrada en la columna B.
Cobradas, pendientes y anuladas
145www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 145
La función tiene tres argumentos entre los paréntesis:
• El primero es el rango donde se evalúa la condición. En este caso, si está Cobrada,
Pendiente o Anulada.
• El segundo es la condición que decide si el valor se suma o no. En este caso, que
el valor del rango anterior sea Cobrada.
• El tercero es el rango de los valores que hay que sumar. Aquí, el de los importes.
Cambiando la palabra Cobrada por Pendiente y por Anulada, se pueden totalizar los
importes para las otras dos condiciones. Estas palabras pueden ser referencias a celdas.
SUMAR.SI.SI
Tengo una base de datos con varias columnas. Uso la función SUMAR.SI pa-
ra obtener totales por nombre, por artículo, por ciudad, etcétera. ¿Cómo hago para
totalizar un campo según dos criterios? Por ejemplo, sumar los importes que corres-
ponden a Juan y al mes de enero.
Eduardo Alfonso Bermúdez Mojica (México)
En principio, la función SUMAR.SI permite hacer sumas de los valores dentro de una
lista que cumplen una única condición. Para hacer lo mismo, pero con más de una
condición, hay dos soluciones posibles.
Si usamos Excel 2007 tenemos la función SUMAR.SI.CONJUNTO. Por ejemplo, sea
una base con la siguiente estructura:
• Nombre en la columna A.
• Mes en la columna B.
• Importe en la columna C.
La base tiene títulos en la fila 1 y los datos ocupan hasta la fila 10. Para sumar
los importes correspondientes a Juan y al mes de Enero escribimos la función:
=SUMAR.SI.CONJUNTO(C2:C10;A2:A10;“Juan”;B2:B10;“Enero”).
5. CÁLCULOS CONDICIONALES
146 www.redusers.com
❘❘❘
Si tenemos una lista de ventas, con el nombre del artículo vendido y la fecha de las ventas, pode-
mos combinar la función MAX con la función SI para saber cuándo fue la última vez que se vendió
un determinado artículo: el máximo valor de una fecha corresponde a la operación más reciente.
ÚLTIMA FECHA
05_Excel revelado.qxp 12/29/09 4:23 PM Page 146
Figura 12. La función de la celda E3 suma todos los importes
de la columna C que cumplan las condiciones “columna A igual a Juan”
y “columna B igual a Enero”. Esta función es exclusiva de Excel 2007.
El primer argumento es el rango que se debe sumar. Luego vienen tantos pares de
argumentos como criterios haya. Cada par consiste en un rango y un valor. En
este ejemplo, indicamos que en la columna A debe estar el nombre Juan y en la
columna B, el mes de Enero. Cuando se cumplen ambas condiciones, la función
suma el respectivo valor de la columna C.
Si estamos usando Excel 2003 o una versión anterior (donde no existe esta función)
podemos obtener el mismo resultado combinando la función SUMA con tantas funcio-
nes SI como condiciones haya. En este caso: =SUMA(SI(A2:A10=“Juan”;SI(B2:B10=
“Enero”;C2:C10))). A esta función se le debe dar entrada mediante la combinación
CONTROL+SHIFT+ENTER para que Excel realice el cálculo.
Figura 13. La fórmula de la celda E3 combina la función SUMA
con dos funciones SI para sumar todos los importes de la columna C que cumplan
las condiciones “columna A igual a Juan” y “columna B igual a Enero”.
Esta técnica de combinación de funciones SI con otras funciones de Excel permite
hacer muchos cálculos condicionales, incluso aquellos no previstos en Excel. Por
ejemplo, un máximo condicional.
SUMAR.SI.SI
147www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 147
SUMAR.SI en varias hojas
Tengo un libro de Excel con treinta hojas, una por día. En cada hoja tengo ta-
blas de dos columnas: Artículo y Ventas. Quiero acumular, en una hoja adicional, los
subtotales por cada artículo. Pensé en usar la función SUMAR.SI, pero no sé cómo in-
dicarle un rango que incluya todas las hojas.
Elías Manzur (provincia de San Juan)
Supongamos que tenemos una lista sencilla, en una única hoja, con dos colum-
nas: Artículo y Ventas, y queremos obtener las ventas totales del artículo Cajas. Po-
demos usar la función SUMAR.SI que suma los valores de un rango en función de
una condición. Si suponemos que los artículos están en A2:A7 y sus respectivas
ventas en B2:B7, la fórmula sería =SUMAR.SI(A2:A7;“Cajas”;B2:B7). La función tie-
ne tres argumentos entre los paréntesis:
• El primero es el rango donde se evalúa la condición. En este caso el rango donde
están los nombres de los artículos.
• El segundo es la condición que debe cumplirse en el rango anterior. En este caso,
ser el artículo Cajas.
• El tercer argumento es el rango donde están los valores que se van a sumar. En es-
te caso, las ventas.
Figura 14. La fórmula de la celda D2 suma todos
los importes de la columna B que corresponden al artículo Cajas.
5. CÁLCULOS CONDICIONALES
148 www.redusers.com
❘❘❘
Excel tiene más de trescientas funciones para todo tipo de cálculo. Si, así y todo, nos encontramos
con un cálculo para el cual no existe una función adecuada, podemos crearla nosotros mismos en
el editor de Visual Basic, mediante técnicas de programación. Para eso, podemos ver el Capítulo 8.
FUNCIONES A MEDIDA
05_Excel revelado.qxp 12/29/09 4:23 PM Page 148
En el problema planteado el rango donde se evalúa la condición incluye varias ho-
jas, una por día. La forma de indicar este tipo de rangos multihoja es, por ejemplo,
Hoja1:Hoja30!A2:A7. Sin embargo, la función SUMAR.SI no admite este tipo de ran-
gos como argumento. Una solución sería usar, en la hoja adicional, tantas funciones
SUMAR.SI como hojas haya. Luego se suman todos los subtotales obtenidos. Es posi-
ble que haya otras soluciones, pero ésta es razonablemente práctica. Y funciona.
Figura 15. Las tres primeras fórmulas de la columna A suman
los valores de la columna B de cada hoja, correspondientes al artículo Cajas.
Contar celdas
Creé una planilla para controlar la ocupación en un hotel. En una lista ten-
go las distintas habitaciones en la primera columna y los días del mes en la prime-
ra fila. En cada celda escribo una O (ocupada) o una L (libre) según corresponda a
ese día y a esa habitación. ¿Cómo hago para saber cuántas habitaciones están li-
bres en un determinado día?. Espero que me puedas ayudar.
Jeremías Fretes
Este problema consiste en contar las letras L que hay en el rango correspondiente al
día deseado. Por ejemplo, si las habitaciones están en A2:A10 y las fechas en B1:H1
(una semana), contamos las L correspondientes al primer día con la función =CON-
TAR.SI(B2:B10;“L”). Esta función tiene dos argumentos entre los paréntesis:
• El primero es el rango donde se cuentan los datos. En este caso, las celdas corres-
pondientes al primer día de la lista.
Contar celdas
149www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 149
• El segundo argumento es el dato para contar. En este caso, las letras L que iden-
tifican a las habitaciones que no están ocupadas.
Figura 16. La función de la celda B12 cuenta cuántas L hay en el rango
correspondiente al lunes. Es decir, cuántas habitaciones están libres ese día.
La fórmula cuenta cuántas letras L hay en el rango indicado. O sea, cuántas habita-
ciones están libres el primer día de la semana.
CONTAR.SI.SI
Tengo una lista de clientes con distintas columnas de datos (Nombre, Estado,
Tipo de revisión, Segmento, etcétera). Mi pregunta es si en la función CONTAR.SI se
pueden indicar dos condiciones. Por ejemplo, contar cuántos clientes se encuentran
en el estado Activo y que han sido revisados.
Fernando Heguy
Tal como está formulada la consulta, la respuesta es no. En la función CONTAR.SI
no se puede indicar más de una condición. Sin embargo, hay muchos recursos que
permiten lograr el mismo efecto. Nuestro favorito consiste en una forma especial de
las fórmulas condicionales.
5. CÁLCULOS CONDICIONALES
150 www.redusers.com
❴❵
Excel 2007 incluye la nueva función SUMAR.SI.CONJUNTO para calcular sumas según dos o más
condiciones. Es como una extensión de la función SUMAR.SI. Sin embargo, no incluye una fun-
ción CONTAR.SI.CONJUNTO para contar datos según dos o más condiciones. Para eso recurrimos
al truco de combinar SUMA con SI.
CONTAR.SI.CONJUNTO
05_Excel revelado.qxp 12/29/09 4:23 PM Page 150
Supongamos que la lista de clientes está en A1:C10, con el nombre en la columna A, el
estado en la B y el tipo de revisión en la C, con los datos a partir de la segunda fila. Pa-
ra contar los clientes de Estado: Activo y Revisión: Semestral usamos esta expresión:
=SUMA(SI(B2:B10= “Activo”;SI(C2:C10= “Semestral”;1;0))). A esta fórmula hay que
darle entrada con la combinación CONTROL+SHIFT+ENTER.
Figura 17. La fórmula de la celda E2 cuenta cuántas filas de la tabla
de la izquierda tienen la palabra Activo en la columna B y la palabra Semestral en la C.
Lo que hace esta fórmula es controlar si el valor de la columna B es la palabra Activo y
si el de la columna C es Semestral. Por cada fila en la que se cumplan ambas condicio-
nes, suma una unidad. El resultado es contar las filas en que se cumplen las condicio-
nes, es decir, los clientes que corresponden a Estado: Activo y Revisión: Semestral.
Condición de entero
Tengo una lista de datos numéricos y quiero indicar, en una celda auxiliar, si
esos datos son enteros. Sé que tengo que usar una función condicional, pero no sé
cómo expresar la condición de entero.
Robert Blanco (Asunción del Paraguay)
Un número es entero cuando no tiene parte decimal. Una forma de expresar esta
condición es comparar el número con su parte entera: si el número es entero am-
bos valores serán iguales. Algo así: =SI(A1=ENTERO(A1); “Es entero”; “No es entero”).
Condición de entero
151www.redusers.com
❘❘❘
Si estamos usando Excel XP o una versión posterior, mientras escribimos una función aparecen
unos carteles amarillos que nos dicen los argumentos que tenemos que escribir. Si no vemos
estos carteles, podemos activar esta ayuda con la opción Información sobre herramientas de
funciones, dentro de Herramientas/Opciones/General.
INGRESO GUIADO
05_Excel revelado.qxp 12/29/09 4:23 PM Page 151
Figura 18. Las fórmulas de la columna C indican
si el respectivo valor de la columna B es o no un número entero.
Una expresión de este tipo puede utilizarse para indicar la condición de entero en
un formato condicional, aunque éste no es el caso del lector.
Excel tiene muchas funciones para obtener información acerca de una celda: si es-
tá en blanco (ESBLANCO), si es par (ES.PAR), si es un texto (ESTEXTO), etcétera. Pero
no hay una función ESENTERO.
Deuda impaga y vencida
Trabajo en un instituto de enseñanza donde los alumnos pagan una cuota
mensual que vence el día cinco de cada mes. En una planilla anoto la palabra Pagó
cada vez que un alumno paga su cuota. Para calcular la deuda de cada alumno ten-
go que contar las celdas vacías, pero solamente las que corresponden a fechas de
cuotas ya vencidas. No sé cómo indicar esta condición.
Claudio Pérez Heguy
El problema planteado en esta consulta se resuelve con una fórmula condicional
compuesta. Hay que indicar dos condiciones: fecha de vencimiento menor a la ac-
tual y celda vacía (sin la palabra Pagó).
Supongamos la planilla organizada de la siguiente manera:
• En B1, la fecha actual.
• En B2, el valor de la cuota.
• En B4:F4, las fechas de vencimiento (el día cinco de cada mes).
• En la columna A, a partir de A5, los nombres de los alumnos.
• En las columnas B a F, a partir de la fila 5, la palabra Pagó, en las columnas co-
rrespondientes a cada mes.
5. CÁLCULOS CONDICIONALES
152 www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 152
En la celda G5 vamos a escribir una fórmula que cuente cuántas celdas vacías hay
en el rango B5:F5, siempre que las respectivas fechas del rango B4:F4 sean menores
a la actual, que está escrita en la celda B1. La fórmula que debemos escribir es:
=CONTAR(SI(B$4:F$4<B$1;SI(B5:F5=0;B5:F5))).
Esta fórmula usa la función CONTAR. Su argumento son dos condicionales anidadas:
B4:F4<B1 indica fecha de vencimiento menor a la actual; B5:F5 indica celda vacía. Si se
cumplen estas dos condiciones, cuenta las celdas correspondientes en B5:F5. A esta fór-
mula tan especial hay que darle entrada con la combinación CONTROL+SHIFT+ENTER.
Figura 19. La fórmula de la celda G5 cuenta las celdas sujetas
a dos condiciones: fecha de su respectiva columna menor
a la de B1 y celda vacía. Eso corresponde a cuota vencida e impaga.
Si queremos, en la fórmula anterior podemos multiplicar por B2 para obtener la
deuda: cantidad de cuotas impagas, vencidas, multiplicada por el valor de la cuota.
Problema con repetidos
En una lista tengo números de pedido. Los números pueden repetirse pero en
esos casos, tengo que señalar los repetidos marcándolos con un subíndice distinto
cada vez que esto ocurre. Ahora lo hago a mano, repasando la lista valor por valor.
¿Hay alguna función para hacerlo automáticamente?
Osvaldo Montenegro (Malargüe, provincia de Mendoza)
Ésta es una variante de lo que hemos bautizado “El problema de los repetidos”: có-
mo manejar listas con datos repetidos, señalándolos, eliminándolos, evitándolos, et-
cétera. Lo que plantea Osvaldo es nuevo: los datos repetidos deben distinguirse con
un subíndice. Por ejemplo, si aparece el número 28 por segunda vez, lo converti-
mos en 28-1. Si aparece por tercera vez, lo convertimos en 28-2 y así sucesivamen-
te. Podemos hacer esto con dos columnas auxiliares.
Supongamos que la lista original está en la columna A, a partir de A1. En B2, a la de-
recha del segundo valor de la lista escribimos la función =CONTAR.SI(A$1:A1;A2).
Problema con repetidos
153www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 153
Esta función, extendida a toda la lista, cuenta cuántas veces lleva aparecido cada va-
lor. Por ejemplo, si la extendemos hasta A10 nos queda =CONTAR.SI(A$1:A9;A10), es
decir, cuántas veces apareció el décimo número de la lista, entre los nueve anteriores.
Figura 20. Las fórmulas de la columna B cuentan cuántas veces aparece cada número
de la columna A en la lista formada por todos los anteriores. Las fórmulas de la columna
C agregan como subíndice el resultado de ese conteo, para el caso de los números repetidos.
Luego, en C2, una columna más a la derecha, escribimos esta otra función
=SI(B2=0;A2;A2&“-”&B2). Esta fórmula pregunta si el resultado del conteo anterior fue
igual a cero. En ese caso, no hace nada (el número no está repetido). Pero, si fue dis-
tinto de cero, concatena ese resultado con el número original, separándolos con un
guión. Es decir, el resultado del conteo se añade como subíndice al número original.
Esta fórmula o la otra (o la de más allá)
Trabajo en un consorcio de riego y armé una planilla que calcula el caudal en
ríos, canales y arroyos. El caudal se calcula midiendo la velocidad en distintos pun-
tos. La fórmula para el cálculo depende de la cantidad de mediciones que se hacen:
si se hace una sola medición, se toma el 90% de esa velocidad medida. Si se hacen
dos, se promedian. Si se hacen tres, se promedia la primera con la tercera y el resul-
tado se promedia, a su vez con la segunda. ¿Cómo puedo hacer para que Excel apli-
que la fórmula correcta en cada caso?
María Isabel Sarmiento Lanoza (Joaquín V. González, provincia de Salta)
Acá hay dos problemas juntos. Primero, Excel tiene que reconocer cuántas medi-
ciones se hicieron. Eso lo podemos hacer con la función CONTAR. Supongamos que
5. CÁLCULOS CONDICIONALES
154 www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 154
las mediciones se escriben en las tres primeras columnas de la fila 2. La función
=CONTAR(A2:C2) devolverá la cantidad de datos en el rango.
Ahora, y según el valor obtenido por CONTAR, hay que hacer uno de tres cálculos:
• Si se contó una sola medición, la fórmula a ingresar es =0,9*A2. Es decir, el 90%
de esta única medición.
• Si se contaron dos mediciones, la fórmula es =(A2+B2)/2. Es decir, el promedio
entre las dos mediciones.
• Si se contaron tres mediciones, la fórmula es =((A2+C2)/2+B2)/2. Es decir, se
promedia la primera medición con la última y el resultado se promedia, a su
vez, con la segunda.
Figura 21. En la columna D se usó la función CONTAR para obtener
la cantidad de datos que hay en las primeras tres columnas de cada fila.
Si las fórmulas fueran dos podríamos usar una función SI. Pero como son tres, usamos
la función ELEGIR de la siguiente manera: =ELEGIR(CONTAR(A2:C2);0,9*A2;(A2+B2)/2;
((A2+C2)/2+B2)/2). La función ELEGIR tiene un número indefinido de argumentos.
• El primer argumento es un número entero (o fórmula que devuelve un número
entero), mayor que cero.
• El segundo es la fórmula que se aplicará si el primer argumento fue un uno.
• El tercero es la fórmula que se aplicará si el primer argumento fue un dos.
• El cuarto es la fórmula que se aplicará si el primer argumento fue un tres.
Esta fórmula o la otra (o la de más allá)
155www.redusers.com
❘❘❘
Excel tiene distintas funciones para contar datos. En particular, CONTAR y CONTARA. CONTAR
cuenta los datos numéricos que hay en el rango indicado como argumento. CONTARA cuenta to-
do tipo de datos. Es decir, cuenta las celdas no vacías. Nuestra técnica de contar con la combi-
nación de SUMA con SI funciona para todo tipo de datos.
CONTAR Y CONTARA
05_Excel revelado.qxp 12/29/09 4:23 PM Page 155
Figura 22. La función ELEGIR elige entre tres fórmulas posibles, según
la cantidad de datos que haya en las primeras tres columnas de cada fila.
Y así sucesivamente. En nuestro caso, el resultado de la función CONTAR indica cuál
de las otras tres fórmulas calculará la velocidad.
Condiciones aproximadas
Tengo una lista de órdenes de trabajo. Copié una fórmula tuya para contar las
órdenes cumplidas, que son las que tienen la palabra Cumplido en una columna. El
problema es que a veces dice Cumplido, otras Cumplida y otras Cump. Traté de usar
comodines, pero no funcionan. ¿Cómo hago para contar las órdenes cumplidas, cual-
quiera sea la palabra usada para identificarlas?
Edgardo Raúl Arboleya (Ushuaia, Tierra del Fuego)
Veamos primero el caso normal. Por ejemplo, queremos contar las palabras Cumplido en
el rango C2:C14. Podemos usar la función CONTAR.SI: =CONTAR.SI(C2:C14; “Cumplido”).
Figura 23. La fórmula de la celda E2 cuenta las celdas
de la columna C que tienen la palabra Cumplido, correctamente escrita.
Si no estamos seguros de la forma en que está escrita la palabra Cumplido, podemos
usar un comodín: =CONTAR.SI(C2:C14; “Cump*”). La condición Cump* representa a
todas las palabras que comienzan con Cump.
5. CÁLCULOS CONDICIONALES
156 www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 156
Figura 24. Mediante el uso de un asterisco como comodín, la fórmula de la celda
E2 cuenta las celdas de la columna C que tienen la palabra Cumplido, o más o menos.
Cuando Edgardo dice que no le funciona la fórmula con comodines, es porque él
usa otra forma de fórmula condicional: =SUMA(SI(C2:C14=“Cumplido”;1;0)). Esta
fórmula, a la que se le debe dar entrada con la combinación CONTROL+SHIFT+ENTER,
suma una unidad por cada celda del rango C2:C14 que satisface la condición. Si que-
remos usar este tipo de fórmula todavía tenemos una opción: =SUMA(SI(IZQUIER-
DA(C2:C14;4)=“Cump”;1;0)). Aquí estamos pidiendo que las cuatro primeras letras
de la columna de estado sean Cump.
Este tipo de funciones condicionales tiene la ventaja de admitir más de una condición
para el conteo, cosa que no es posible en las versiones de Excel anteriores a la 2007.
Promedio condicional
Tengo una planilla con tres columnas: Nombre, Sección y Sueldo. ¿Cómo pue-
do hacer para calcular el sueldo promedio de cada sección?
Mariano D’Amico
A partir de Excel 2007 tenemos una función PROMEDIO.SI para calcular el prome-
dio de una lista de valores, sujetos a una condición. Por ejemplo, supongamos que
la lista ocupa el rango A1:C11, con los títulos en la primera fila. Podemos sumar to-
dos los sueldos de la sección Ventas con la función =PROMEDIO.SI(B2:B11;“Ven-
tas”;C2:C11). La función tiene tres argumentos entre los paréntesis:
• El primer argumento es el rango donde se evalúa la condición. En este caso,
donde están las secciones.
• El segundo es el valor que debe haber en las celdas del rango anterior para que se-
an tomadas en cuenta en la operación. En este caso, Ventas.
• El tercero es el rango que ocupan los valores que serán promediados.
Promedio condicional
157www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 157
Figura 25. La fórmula de la columna E calcula el promedio
de sueldos para cada sección. Esta función solamente existe en Excel 2007.
Si hubiera más de una condición para evaluar, tenemos la función
PROMEDIO.SI.CONJUNTO. Pero ninguna de estas dos funciones existe en las versio-
nes de Excel anteriores a 2007. En este caso, podemos calcular el promedio con-
dicionado combinando otras dos funciones.
Para la tabla anterior sumamos todos los sueldos de la sección Ventas con la función
=SUMAR.SI(B2:B11;“Ventas”;C2:C11). El primer argumento es la lista de secciones, el
segundo es el valor que debe tener esta columna para que sea tenida en cuenta en la
suma y el tercero es el rango que hay que sumar. La función suma todas las celdas
del rango C2:C11 para las filas en las que el rango B2:B11 tenga el valor Ventas.
Figura 26. La fórmula de la celda E5 calcula el sueldo promedio
de la sección Ventas. La función SUMAR.SI suma todos los sueldos de esa sección
y CONTAR.SI cuenta cuántos sueldos hay en la sección. La fórmula simula
el efecto de la función PROMEDIO.SI de Excel 2007.
De la misma forma, la función =CONTAR.SI(B2:B11;“Ventas”) cuenta las filas en las
que el rango B2:B11 tiene el valor Ventas. Dividiendo ambos valores, se obtiene el
sueldo promedio de la sección Ventas. La palabra Ventas en estas funciones puede
reemplazarse por la referencia a una celda que contenga esta palabra.
5. CÁLCULOS CONDICIONALES
158 www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 158
Hay todavía otra forma de resolver este problema: combinando las funciones PRO-
MEDIO y SI. Si suponemos el mismo caso del ejemplo anterior, la fórmula es =PRO-
MEDIO(SI(B2:B11= “Ventas”;C2:C11)). A esta expresión hay que darle entrada con la
combinación CONTROL+SHIFT+ENTER.
Figura 27. La fórmula de la celda E5 calcula el sueldo promedio
de la sección Ventas combinando las funciones SI y PROMEDIO.
Para entender el funcionamiento de esta fórmula podemos pensar que recorre el ran-
go B2:B11 y, cada vez que encuentra un valor igual a la palabra Ventas, incluye el
valor correspondiente del rango C2:C11 para calcular su promedio.
Mínimo condicional
Tengo una lista con dos columnas. En la primera hay códigos que se repiten
y pueden ser los números 1, 2 ó 3. En la segunda, una serie de valores. Necesito que,
en otra celda, se muestre el menor valor que corresponde a cada código.
Eduardo Elusto
Enunciada técnicamente, esta consulta pide recorrer la columna A buscando el có-
digo 1. Cada vez que se encuentra ese código, tomar nota del valor que lo acompa-
ña en la columna B. Una vez recorrida toda la columna, mostrar el mínimo valor
encontrado. Luego hacer lo mismo con todos los códigos.
Mínimo condicional
159www.redusers.com
❘❘❘
Cuando seleccionamos un rango, puede aparecer, en la parte inferior de la pantalla, la suma de los
valores seleccionados. Si no vemos este resultado, hacemos un clic derecho sobre la barra de es-
tado y aparecerá un menú con las operaciones Promedio, Suma, Máximo, Mínimo, etcétera.
OPERACIONES INSTANTÁNEAS
05_Excel revelado.qxp 12/29/09 4:23 PM Page 159
El problema puede resolverse con una sintaxis poco conocida de las funciones con-
dicionales. Suponiendo que la lista se extiende desde las filas uno a quince, sería
=MIN(SI(A1:A15=1;B1:B15)). A esta expresión hay que darle entrada con la combi-
nación CONTROL+SHIFT+ENTER.
Figura 28. Las fórmulas del rango E1:E3 calculan el mínimo
valor de la columna B para cada uno de los códigos 1, 2 y 3.
La fórmula combina las funciones MIN (mínimo) y SI (condicional) para crear
una función Mínimo condicional. Es decir, calcular el mínimo de una serie de
valores, pero sujetos a una condición. En este caso, que los valores estén acom-
pañados por un 1 en la columna A. Cambiando el 1 en la fórmula se pueden en-
contrar los mínimos para los demás códigos.
Buscar el mayor
Tengo una lista con dos columnas con los valores 100; 200; 300 y 400 en la
primera columna y textos en la segunda. Uso una función BUSCARV para encontrar
el texto correspondiente a un valor dado. Pero, si pido buscar el texto correspon-
diente a un valor que no está en la primera columna, por ejemplo 250, la función me
trae el correspondiente a 200. Es decir, al inmediato anterior. ¿Cómo hago para ob-
tener el correspondiente al inmediato siguiente. En este caso, al 300?
Juan Pablo Rossi (Buenos Aires)
Antes de dar con la respuesta a esta consulta, comencemos por una breve guía
para comprender cómo trabaja la función BUSCARV. Supongamos que la tabla
que menciona el lector ocupa el rango A1:B4; con los valores 100, 200, 300 y 400
en la primera columna y las palabras Bajo, Medio, Alto y Muy alto en la segunda.
Enla celda D1 tenemos un valor numérico, por ejemplo 200. Para obtener el tex-
to correspondiente a este valor usamos la función =BUSCARV(D1;A1:B4;2). Hay
tres argumentos entre los paréntesis, que son:
5. CÁLCULOS CONDICIONALES
160 www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 160
• El primero es el valor cuyo texto se quiere encontrar.
• El segundo es la tabla que vincula los valores numéricos con sus respectivos textos.
• El tercero indica que se busca el dato que está en la segunda columna de la tabla.
Figura 29. La función de la celda D2 encuentra el texto que, según la tabla
de la izquierda, corresponde al valor escrito en D1. Si el valor
no está en la tabla, la función trae el que corresponde al inmediato anterior.
Ahora bien, supongamos que en la celda D1 tenemos el valor 330. Como este valor
no está en la tabla, la función devuelve Alto, que es el texto que corresponde al va-
lor inmediato anterior en la tabla. O sea, 300. Sin embargo, el problema que plan-
tea el lector es que, en este caso, la función muestre el texto Muy alto, que es el que
corresponde al valor inmediato siguiente. Para dar con la respuesta podemos hacer
uso de la función INDICE. La expresión que debemos escribir es: =INDICE(B1:B4;
SUMA(SI(D1>A1:A4;1;0))+1). A esta fórmula, como a todas las funciones matricia-
les, hay que darle entrada con la combinación CONTROL+SHIFT+ENTER.
Figura 30. La fórmula de la celda D2 encuentra el texto que,
según la tabla de la izquierda, corresponde al valor escrito en D1. Si el valor
no está en la tabla, trae el que corresponde al inmediato siguiente.
Buscar el mayor
161www.redusers.com
❘❘❘
Existe una segunda familia de funciones para cálculos condicionales: las funciones BD o fun-
ciones para bases de datos. No son muy usadas porque su sintaxis es un poco compleja y ne-
cesita cierto rango auxiliar. Puede verse un ejemplo de este tipo de funciones en el capítulo
sobre Operaciones con bases de datos.
FUNCIONES DE BASES DE DATOS
05_Excel revelado.qxp 12/29/09 4:23 PM Page 161
Explicación:
La función SI analiza los datos del rango A1:A4. Por cada uno que sea menor al da-
to indicado en D1, la función SUMA añade una unidad. Es decir que cuenta cuántos
datos están por debajo de D1 en la tabla. Por ejemplo, para el 330 contaría 3. Lue-
go suma una unidad a este resultado. Finalmente, la función INDICE localiza el va-
lor que en B1:B4 ocupa esa posición.
La función BUSCARV
Tengo una tabla con dos columnas: Nombre y Sueldo. Escribo el nombre en
otra celda y pretendo obtener su sueldo con la función BUSCARV. Hago todo lo que se
supone debo hacer, pero a veces no obtengo el sueldo correcto y otras veces obten-
go un mensaje de error. ¿Qué puedo estar haciendo mal?
Juan Gabriel Agüero Ávila (Lambaré, Paraguay)
La función BUSCARV es muy útil, pero tiene un pequeño secreto. En principio, esta fun-
ción sirve para buscar datos en tablas, según una clave de entrada. Por ejemplo, en el
caso que plantea la pregunta tenemos una tabla en el rango A2:B11 con nombres en
la primera columna y sueldos en la segunda. Podemos obtener el sueldo de Carlos con la
función =BUSCARV(“Carlos”;A2:B11;2). Hay tres argumentos entre los paréntesis:
• El primero es el valor con el que entramos en la tabla. En este caso, el nombre cu-
yo sueldo queremos obtener.
• El segundo es la tabla que vincula el valor con el que entramos (el nombre) con
el que buscamos (los sueldos).
• El tercero indica que, en este ejemplo, queremos el valor de la segunda columna.
Figura 31. La función de la celda E1 busca el sueldo
de Carlos en la tabla de la izquierda. Como supone que la tabla está ordenada
alfabéticamente, “cree” que Carlos debería estar entre Bruno y Daniel. Como
no lo está, trae el sueldo de Bruno, que es el primero de los dos.
Pero hay algo más: en principio, la función supone que la primera columna de la ta-
bla está ordenada en forma creciente. En el ejemplo que propone el lector, la primera
5. CÁLCULOS CONDICIONALES
162 www.redusers.com
05_Excel revelado.qxp 12/29/09 4:23 PM Page 162
columna tenía los nombres Bernardo, Bruno, Daniel y Carlos. Si le pedimos que bus-
que el sueldo de Carlos, la función supondrá que Carlos se encuentra entre Bruno y
Daniel (así sería si la tabla estuviera ordenada alfabéticamente). Como no está, la fun-
ción devuelve el sueldo correspondiente al primero de los dos nombres entre los que
debería encontrarse Carlos. En este caso, el sueldo de Juan. Más todavía, si le pedi-
mos que busque el sueldo de Alberto, la función tratará de encontrar el sueldo de
alguien que está antes de Bernardo. Como Bernardo es el primer valor de la tabla,
obtenemos un mensaje de error. La solución a este problema consiste en agregar un
cuarto argumento en la función, el valor lógico FALSO.
En este último caso, obtenemos el sueldo de Carlos con la función =BUSCARV(“Car-
los”;A2:B11;2;FALSO). Este cuarto argumento puede reemplazarse por el valor nu-
mérico 0 (cero). En estas condiciones, la función devolverá correctamente el valor
correspondiente. Y, si pedimos el sueldo de una persona inexistente, obtendremos
un mensaje de error, lo que es bastante razonable.
Alguien podría pensar que el problema se puede resolver ordenando la tabla según
su primera columna (en este ejemplo, ordenamos los nombres alfabéticamente). Pe-
ro, en este caso, si buscamos el sueldo para un nombre inexistente, la función in-
ventará un valor, y no detectaremos el error.
Imágenes condicionales
Soy profesor de natación infantil y quiero imprimir una planilla donde, con un
dibujito adecuado, se indique el grado de progreso del niño. Es decir, escribo el gra-
do en una celda y en otra obtengo el dibujo. Ahora lo hago a mano, pero me gustaría
que fuera automático. ¿Hay alguna función para eso?
Domingo Farías (Río Segundo, provincia de Córdoba)
Lo que necesita Domingo es una función como BUSCARV, pero que, en vez de
devolver un valor, devuelva una imagen. Lamentablemente, eso no existe (por
ahora). Una solución podría ser generar una macro que se ejecutaría luego de es-
cribir el nivel y que inserte la imagen tomada de una hoja auxiliar. Pero hoy no
Imágenes condicionales
163www.redusers.com
❘❘❘
El Asistente para pegar función incluye un botón para pedir ayuda sobre la función que estamos
escribiendo. Un clic en ese botón nos conduce directamente a la página de ayuda asociada a la
función. El asistente se abre con la combinación SHIFT+F3 y con distintas opciones según la ver-
sión de Excel que tengamos instalada.
AYUDA
05_Excel revelado.qxp 12/29/09 4:23 PM Page 163
tenemos ganas de hablar de esa macro. Otra posibilidad es recurrir a la tipogra-
fía Windings en la que cada carácter es un dibujito.
Figura 32. En la tipografía Windings a cada carácter le corresponde un dibujito
diferente. Hay que elegir un tamaño relativamente grande para que el dibujo sea visible.
Supongamos que queremos poner una carita de acuerdo con la siguiente escala:
• De cero a tres: carita triste.
• De cuatro a siete: carita seria.
• De ocho a diez: carita sonriente.
Las tres caritas corresponden a los caracteres L, K y J, respectivamente. Entonces po-
demos preparar una tabla de dos columnas y tres filas. Por ejemplo, en el rango E1:F3:
• En la columna E, los valores 0, 4 y 8. Es decir, los más bajos de cada banda.
• En la columna F, las letras L, K y J.
Ahora, si en B2 escribimos una nota, obtenemos el dibujito correspondiente con la
función =BUSCARV(B2;E1:F3;2). A esta fórmula tenemos que aplicarle tipografía Win-
dings, con un tamaño adecuado. Por lo menos, 20 puntos.
5. CÁLCULOS CONDICIONALES
164 www.redusers.com
❴❵
Excel cumplió veinte años en 2007. En 1987, la revista PC Magazine anunció en su tapa el lanza-
miento del programa con una pregunta: ¿Es ésta la mejor hoja de cálculo de todos los tiempos?
La nota destacaba que Excel era “hambriento” de memoria RAM, algo muy problemático en una
época en que la mayoría de las computadoras no superaba los 640 Kb.
EL CUMPLEAÑOS DE EXCEL
05_Excel revelado.qxp 12/29/09 4:23 PM Page 164
Figura 33. La función de la celda C2 devuelve una de las tres letras
L, K o J según el valor de B2 y la tabla de la derecha. Aplicando tipografía Windings
las letras son reemplazadas por una carita con tres expresiones distintas.
Otros valores adecuados para los caracteres Windings son la C y la D, que muestran
una mano en posición de “pulgar arriba” y “pulgar abajo”, respectivamente. Alguien
podría opinar que estamos haciendo trampa al elegir un ejemplo muy especial pa-
ra el que existen los dibujitos adecuados. Y tendría razón.
Identificar el máximo
Tengo una lista con dos columnas: Mes e Importe. En otra celda uso la fun-
ción MAX para conocer el máximo importe. ¿Qué otra función tengo que usar para sa-
ber a qué mes le corresponde ese máximo?
Marco Antonio Zamora Izarraraz (México)
Supongamos que tenemos la lista que describe el lector en el rango A2:B13. Es de-
cir, tenemos una fila por cada mes del año, más una fila para los títulos. En otra
celda, por ejemplo, D1 encontramos el importe máximo mediante la función
=MAX(B2:B13). Hasta ahí, todo bien. Ahora, en otra celda, por ejemplo, D2 escri-
bimos =COINCIDIR(D1;B2:B13;0). Esta función nos dice en qué posición dentro de
la lista se encuentra el máximo obtenido en D1. La función COINCIDIR tiene tres
argumentos entre los paréntesis, que son:
Identificar el máximo
165www.redusers.com
❘❘❘
Las fórmulas que resultan de la combinación de funciones SI con alguna otra (como SUMA y SI
para hacer sumas condicionales) se llaman fórmulas matriciales. Realizan sobre cada una de
las celdas de un rango operaciones que, normalmente, se realizan sobre celdas individuales.
Siempre se ingresan con la combinación CONTROL+SHIFT+ENTER.
FÓRMULAS MATRICIALES
05_Excel revelado.qxp 12/29/09 4:23 PM Page 165
• El primero es el dato que queremos localizar. En este caso, el máximo.
• El segundo argumento es el rango donde queremos localizar el dato anterior. En
este caso, la lista de importes.
• El tercero indica el “tipo de coincidencia”. Es decir cuándo decimos que la fun-
ción ha localizado el dato buscado. En nuestro caso, el 0 indica que exigimos una
coincidencia exacta.
Ahora solamente resta hallar el nombre del mes que en A2:A13 ocupa la posición
encontrada con la función COINCIDIR. Esto lo hacemos con =INDICE(A2:A13;D2).
La función INDICE tiene dos argumentos entre los paréntesis:
• El primero es el rango del cual queremos extraer un dato. En este caso, los meses.
• El segundo es la posición del dato que queremos extraer. En este caso, la obteni-
da con la función COINCIDIR.
Figura 34. La función INDICE de la celda D3 dice cuál
es el dato del rango A2:A13 que ocupa la posición indicada en D2.
Si modificamos algún valor de la lista, y eso cambia la posición del máximo, tam-
bién se actualizará el nombre del mes correspondiente.
5. CÁLCULOS CONDICIONALES
166 www.redusers.com
❘❘❘
En versiones anteriores de Excel, no existían tantas opciones de formatos condicionales. Por eso, al
pasar un archivo a un formato anterior, perderemos algunos de estos formatos (como las barras de
colores o los formatos con iconos). Sin embargo, estos permanecerán en la planilla y podrán ser re-
cuperados al abrir el libro con Excel 2007, a menos que hayan sido editados en otra versión.
EL FORMATO CONDICIONAL Y LAS VERSIONES ANTERIORES
05_Excel revelado.qxp 12/29/09 4:23 PM Page 166
Contar distintos
Hace un tiempo publicaste una fórmula que servía para saber cuántos da-
tos distintos hay en un rango. Esa fórmula me sirvió mucho, pero ¿cómo se en-
tiende? Traté de analizarla parte por parte pero las matemáticas no son mi fuerte.
¿Podrías explicar cómo funciona?
Damián Silva (Alcorta, provincia de Santa Fe)
La fórmula a la que se refiere Damián es la siguiente: si queremos contar cuántos da-
tos distintos hay en el rango A1:A9, escribimos =SUMA(1/CONTAR.SI(A1:A10;A1:A9)).
Los dos argumentos de CONTAR.SI son el rango donde se hace el conteo, y a la fórmula
hay que darle entrada con la combinación CONTROL+SHIFT+ENTER.
Figura 35. La fórmula de la celda C1 cuenta cuántos datos
distintos hay en A1:A9. Nótense las llaves que encierran a la fórmula,
lo que indica que se trata de una fórmula matricial.
La fórmula no es tan difícil de entender, una vez que uno sabe cómo funcionan
las fórmulas matriciales. Aquéllas que hacen sobre un rango lo que normal-
mente hacen sobre una única celda.
Supongamos que tenemos el rango A1:A3 con los nombres Juan, Juan y Pedro. La ex-
presión matricial =CONTAR.SI(A1:A3;A1:A3) equivale a hacer CONTAR.SI(A1:A3;A1),
CONTAR.SI(A1:A3;A2) y CONTAR.SI(A1:A3;A3). Los resultados de estas tres funciones
son 2, 2 y 1, respectivamente (Juan está dos veces y Pedro, una).
Contar distintos
167www.redusers.com
❘❘❘
En Excel 2007 podemos llegar a cualquier lado y utilizar cualquier parte de la Cinta de op-
ciones, sólo con presionar el teclado. De esta manera, al apretar la tecla ALT, veremos en
pantalla el carácter asignado a cada ficha de la cinta y, luego, podremos introducirnos en es-
tos nuevos caracteres para realizar la ejecución de las diferentes funciones.
TODO CON EL TECLADO
05_Excel revelado.qxp 12/29/09 4:23 PM Page 167
Ahora bien, la expresión es =SUMA(1/CONTAR.SI). Esta fórmula suma las inversas de
cada uno de los tres valores anteriores: 1/2 + 1/2 + 1. El resultado es 2, igual a la
cantidad de valores diferentes.
Veamos otro ejemplo: supongamos que tenemos los datos Juan, Juan, Pedro, Pedro,
Pedro, Luis. La fórmula suma 1/2 + 1/2 (para los dos Juan) 1/3 + 1/3 + 1/3 (para los
tres Pedro) y 1 (para el único Luis). El resultado es 1+1+1=3. Otra vez, igual a la
cantidad de datos distintos en el rango.
En general, si un dato está repetido n veces, su contribución en la fórmula será 1/n
+ 1/n +...+1/n, n veces. El resultado de esta suma siempre es 1. Y así para todos los
datos: cada dato diferente contribuye con una unidad al total, no importa cuántas
veces esté repetido. Este total coincide entonces con la cantidad de datos distintos.
5. CÁLCULOS CONDICIONALES
168 www.redusers.com
… RESUMEN
Aunque muchos usuarios trabajan regularmente con Excel sin recurrir a la función
condicional (ni a ninguna de las funciones especiales), este capítulo demuestra la variedad de
problemas que pueden resolverse con este tipo de cálculos. En particular, la combinación de
la función SI con otras funciones es especialmente poderosa.
05_Excel revelado.qxp 12/29/09 4:23 PM Page 168
Cálculos con
fechas y horas
Reconstruir fecha 171
Cierres de ejercicio 173
Último sábado 174
Sumas entre fechas 184
Última fecha 188
Contar por hora 189
Horas y porcentajes 192
Reloj fichador 194
Capítulo 6
Un tipo especial de cálculos
que se pueden hacer en Excel
son los que involucran fechas y horas:
vencimientos, horas trabajadas, tiempos
de carrera. Para este tipo de cálculos
hay una serie de funciones especiales.
En este capítulo contestaremos
las consultas asociadas a estos cálculos
cronológicos. Pero, como suele suceder,
la solución no siempre viene por las vías
normales y hay que recurrir a trucos
y otras opciones.
EXCEL REVELADO
SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 169
Fecha y hora
Mi pregunta es muy simple: en una celda tengo una fecha, por ejemplo
20/7/2008; en otra tengo una hora, por ejemplo 15:30 ¿Cómo hago para unir ambos
datos de modo de obtener, en otra celda, 20/7/2008 15:30?
Javier Israel Muñoz Perera (Cancún, México)
La respuesta a esta pregunta también es simple: basta con sumar ambos valores. Es-
to se debe a la forma en que Excel maneja los datos de tipo fecha y hora.
Figura 1. Si aplicamos formato general sobre una fecha, vemos el dato como un número
entero que representa la cantidad de días transcurridos desde el 1 de enero de 1900.
Para Excel, una fecha es un número que representa la cantidad de días transcurridos
desde el 1 de enero de 1900. Por ejemplo, el 20 de febrero de 1900 se representa con
el número 51, es decir 31 días para el mes de enero y 20 días más hasta la fecha dada.
Los datos tipo hora también miden el tiempo en días. En este caso, una fracción de
día. Por ejemplo, la hora 18:00 es, en realidad, el número 0,75 porque las seis de la
tarde representan 3/4 partes de un día.
6. CÁLCULOS CON FECHAS Y HORAS
170 www.redusers.com
✱
El número que, internamente, usa Excel para guardar una fecha, se llama número de serie. Re-
presenta la cantidad de días transcurridos desde el 1 de enero de 1900. Es algo similar a lo que
los astrónomos llaman día juliano. Pero no tiene nada que ver con el calendario juliano.
NÚMERO DE SERIE
06_Excel revelado.qxp 12/29/09 4:24 PM Page 170
Figura 2. En A3 sumamos la fecha de A1 más
la hora de A2. El resultado es un dato tipo fecha y hora.
Si sumamos 9/4/1900 más 6:00 estamos sumando, en realidad, 100 más 0,25 (hay
100 días desde el 1 de enero hasta el 9 de abril y 6 horas más representan un cuar-
to de día). El resultado será las 6 de la mañana del 9 de abril. Tenemos que aplicar
un formato de día y hora, si es que Excel no lo hace automáticamente.
Reconstruir fecha
Tengo una base de datos con 1300 registros. Uno de los campos es una fe-
cha de nacimiento en formato DDMMAAAA. Por ejemplo, el 14 de junio de 1975 apa-
rece como 14061975. ¿Cómo se hace para obtener la fecha en forma normal, con ba-
rras que separen día, mes y año?
Marcelo Maldonado (provincia de Formosa)
El problema que plantea el lector consiste en separar los tres campos (día, mes y
año) del gran número que representa la fecha y luego ensamblarlos para que formen
una fecha que Excel pueda entender.
Lo primero podemos hacerlo con las funciones ENTERO (que devuelve la parte
entera de un número) y RESIDUO (que devuelve el resto de la división entre dos
números). Por ejemplo, si tenemos el dato original en la celda A1, separamos el
día (las primeras dos cifras) con: =ENTERO(A1/1000000). Para el ejemplo que da
Marcelo, A1 dividido 1000000 es igual a 14,061975. La función ENTERO toma so-
lamente la parte entera. Es decir, el día.
Reconstruir fecha
171www.redusers.com
❘❘❘
El número de serie asociado a una fecha puede tener decimales. En este caso, la parte decimal
representa una fracción de día. Por ejemplo, el número de serie 20,5 corresponde a las 12 del
mediodía del 20 de enero. Que se vea como 20 de enero, como 12:00 del mediodía o de alguna
otra forma, depende del formato aplicado al dato.
NÚMERO DE SERIE Y DECIMALES
06_Excel revelado.qxp 12/29/09 4:24 PM Page 171
De la misma forma, tenemos la función =RESIDUO(A1;10000) que devuelve el res-
to que resulta de dividir el valor por 10000. En este caso 14061975 dividido
10000 da 1406 con un resto de 1975.
Separar el mes es un poco más complejo: =RESIDUO(ENTERO(A1/10000);100). La
función ENTERO devuelve 1406 y RESIDUO devuelve el resto que resulta de dividir
este último número por 100. O sea, 06.
Figura 3. La fórmula de la celda A3 separa año, mes y día
del valor que hay en A1 y luego recompone la fecha con la función FECHA.
Una vez obtenidos los tres valores los unimos con la función FECHA. Su sintaxis es
=FECHA(año;mes;día), donde año, mes y día son los valores que acabamos de sepa-
rar. Podemos hacer todo en una celda y luego aplicarle un formato adecuado.
En la siguiente pregunta resolvemos el mismo problema con una técnica diferente.
Reconstruir fecha (II)
Tengo una planilla con datos en formato dmmaaaa. Por ejemplo, el 5 de agos-
to de 1995 está guardado como 5081995. ¿Cómo hago para recuperar este dato co-
mo una fecha que Excel reconozca y pueda usarse para cálculos?
Cristian Pradenas
Éste es el mismo problema de la consulta anterior y la solución es del mismo tipo:
separar año, mes y día y luego juntar los tres datos con la función FECHA. Pero va-
mos a hacer la separación con otras funciones. Si el dato original está en A1:
• El año está formado por los cuatro caracteres de la derecha. Lo separamos con la
función =DERECHA(A1;4).
• El día está formado por el primer carácter de la izquierda, si el dato tiene siete
caracteres (dmmaaaa), o los dos primeros, si tiene ocho (ddmmaaaa). En cualquier
caso, la cantidad de caracteres que forman el día es igual al largo total menos seis:
=IZQUIERDA(A1;LARGO(A1)-6)).
• El mes está formado por dos caracteres, contando desde el segundo o el tercero,
según la longitud del dato: =EXTRAE(A1;LARGO(A1)-5;2).
6. CÁLCULOS CON FECHAS Y HORAS
172 www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 172
Figura 4. Las fórmulas de la columna B separan
el año, el mes y el día y luego los juntan para rearmar la fecha.
Una vez obtenidos los tres componentes, luego sí armamos la fecha con la fun-
ción FECHA. Esta función tiene tres argumentos que son, justamente, el año, el
mes y el día. Su sintáxis es: =FECHA(año;mes;día).
En la consulta anterior resolvemos el mismo problema separando los tres compo-
nentes de la fecha con las funciones ENTERO y RESIDUO.
Cierres de ejercicio
Estoy armando un tablero de comando y, para hacerlo más interesante, quie-
ro obtener en forma automática las fechas de cierre de los informes. Estas fechas siem-
pre son en el mes de julio. Si el informe se emite de enero a julio, inclusive, la fecha
de cierre es julio del año anterior. Si se emite entre agosto y diciembre, el cierre es en
julio del año en curso. Ahora quiero saber: ¿cómo hago para que Excel encuentre la
fecha de cierre que corresponda a cada caso?
Gustavo Piquero (Turdera, provincia de Buenos Aires)
Para resolver este problema podemos combinar una función condicional SI (para
analizar el mes de emisión) con una función FECHA (para armar la fecha de cie-
rre). Por ejemplo, supongamos que tenemos las fechas de emisión en la columna
A, a partir de A2. Podemos obtener el año de cierre con esta condicional:
Cierres de ejercicio
173www.redusers.com
❘❘❘
Para calcular el tiempo transcurrido entre dos fechas, en años, meses o días, se usa la función
SIFECHA. Por ejemplo, para calcular la edad en años cumplidos de una persona cuya fecha de
nacimiento está en A1, usamos la fórmula =SIFECHA(A1;HOY();“Y”). El último argumento indi-
ca que queremos calcular el tiempo entre ambas fechas en años.
LA FUNCIÓN SIFECHA
06_Excel revelado.qxp 12/29/09 4:24 PM Page 173
=AÑO(A2)-SI(MES(A2)<8;1,0). Es decir, tomamos en principio el mismo año que
la fecha de emisión pero le restamos una unidad si el mes es anterior a agosto. La
fecha de cierre se arma con el año obtenido según esta fórmula, mes igual a 7 (ju-
lio) y día igual a 1: =FECHA(AÑO(A2)-SI(MES(A2)<8;1;0);7;1). Esta fórmula puede
extenderse luego a toda la lista usando el puntero de estirar.
Figura 5. Las fórmulas de la columna B arman la fecha correspondiente al 1 de julio.
Toman el mismo año que la fecha de la columna A para informes emitidos entre agosto
y diciembre, y el año anterior para informes emitidos entre enero y julio.
Último sábado
Hice una función que, para un mes dado, da la fecha del primer sábado, del
segundo, etcétera. ¿Cómo hago para conocer la fecha del último sábado? Hay que
tener en cuenta que en un mes puede haber cuatro o cinco sábados.
Miguel Lederkremer (Buenos Aires)
Las inquietudes de nuestro director editorial son lo más parecido a una orden. Vea-
mos la fórmula: si en A1 tenemos una fecha, la función =FECHA(AÑO(A1);MES(A1)+1;0)
6. CÁLCULOS CON FECHAS Y HORAS
174 www.redusers.com
❘❘❘
La cinta de opciones puede desorientar al usuario acostumbrado a los menús tradicionales de
Excel. En ese caso se puede llegar a las opciones de formato mediante combinaciones de teclas.
Por ejemplo, la combinación CONTROL+# aplica formato de fecha. La combinación CONTROL+1
(el número 1) muestra el menú correspondiente a las opciones Formato/Celdas.
TECLAZOS PARA FORMATO
06_Excel revelado.qxp 12/29/09 4:24 PM Page 174
da la fecha del último día del mes de A1. Nótese que el mes de esta fecha es el
siguiente al dado, pero el día es el 0. Eso representa el último día del mes dado.
Para Excel, “0 de abril” equivale a 31 de marzo.
Figura 6. Las fórmulas de la columna B devuelven la fecha
del último sábado para cada uno de los meses de la columna A.
Si esta fecha ya es sábado, nuestro problema está resuelto. En cambio, si es domin-
go, hay que retroceder un día; y si es lunes, dos y así sucesivamente. Por una afor-
tunada casualidad, la función DIASEM devuelve 1 para el domingo; 2 para el lunes,
y así sucesivamente. De modo que podemos usar el valor devuelto por esta función
para retroceder (restar) tantos días como sea necesario hasta llegar al sábado:
=FECHA(AÑO(A1);MES(A1)+1;0)-DIASEM(FECHA(AÑO(A1);MES(A1)+1;0))
Pero ahora hay un problema: si el último día del mes ya es sábado, la fórmula
resta 7 días, porque ése es el valor devuelto por la función DIASEM en este caso.
De modo que la fórmula daría la fecha del penúltimo sábado. Afortunadamen-
te, esto se puede resolver incluyendo en la fórmula la función RESIDUO. De esta
manera, la expresión final nos queda de esta forma: =FECHA(AÑO(A1);MES(A1)+1;0)-
RESIDUO(DIASEM(FECHA(AÑO(A1);MES(A1)+1;0));7).
Último sábado
175www.redusers.com
❘❘❘
Afortunadamente, los formatos para fechas y horas no se limitan a los disponibles en la lista es-
tándar. Podemos crear nuestros propios formatos escribiendo el código adecuado dentro de la
opción Tipo, en la categoría Personalizada. Por ejemplo, el Tipo dd-mmmm-aaaa muestra una fe-
cha en la forma 27-Diciembre-2010.
FORMATOS DE FECHA
06_Excel revelado.qxp 12/29/09 4:24 PM Page 175
6. CÁLCULOS CON FECHAS Y HORAS
176 www.redusers.com
La función RESIDUO devuelve el resto de la división entre los dos argumentos. Si
DIASEM es 1, 2, 3, etcétera, el resultado de la función RESIDUO será también 1, 2, 3,
etcétera. Pero si DIASEM devuelve un 7, el resultado de la función RESIDUO será 0.
Series de meses
He leído en uno de tus libros cómo generar la serie de los meses del año par-
tiendo de una celda que contiene la palabra Enero. Parece fácil, pero no logro que fun-
cione, solamente me repite la palabra Enero a lo largo de todo el rango.
Servando López Jiménez (Oceanside, California, USA)
Cuando estiramos con el puntero una celda que contiene el nombre de un mes,
Excel genera la serie de todos los meses del año. Esto se debe a que Excel reco-
noce los nombres de los meses (así como los días de la semana) como miembros
de ciertas series. Si estiramos una celda con un dato cualquiera, Excel simple-
mente repite el dato a lo largo del rango.
Evidentemente, en este caso, la palabra Enero no es reconocida como el nombre de un
mes. Entonces podemos enseñarle a Excel a reconocerlo como integrante de una serie:
■ Listas personalizadas PASO A PASO
Haga un clic en el Botón de Office.
Dentro de la categoría Más frecuentes, haga un clic en Modificar listas
personalizadas. Aparecerá un cuadro con las listas reconocidas por Excel.
06_Excel revelado.qxp 12/29/09 4:24 PM Page 176
Dentro de Entradas de lista escriba los elementos de la nueva lista (en este caso,
los nombres de los meses) separados por comas.
Haga un clic en Agregar y luego en Aceptar.
Con esto le hemos enseñado a Excel una nueva serie. En las versiones de Excel an-
teriores a 2007 el cuadro para crear una nueva serie se obtiene seleccionando la fi-
cha Listas personalizadas dentro de Herramientas/Opciones. Dada la procedencia del
lector, es posible que esté usando una versión de Excel en inglés, lo que explica que
no reconozca una palabra en castellano. En ese caso, las opciones para incorporar
una nueva serie son Tools/Options.
Series de días hábiles
¿Cómo hago para obtener una serie de fechas que correspondan solamente a días
hábiles? Es decir, quiero excluir de la lista sábados, domingos y feriados.
Betina Russo (Buenos Aires)
Hay una solución simple, pero imperfecta para este problema, usando el puntero:
■ Serie de días hábiles PASO A PASO
Escriba la primera fecha en A1.
Con el cursor en A1 apoye el puntero del mouse en la esquina inferior derecha de
la celda para que aparezca el puntero de estirar (la cruz fina).
Con el botón derecho, haga un clic y, sin soltarlo, baje hasta la última celda.
Series de días hábiles
177www.redusers.com
❘❘❘
Las funciones del grupo Fecha y hora de la ficha Fórmulas de la Biblioteca de funciones son
útiles para datos que actualizamos periódicamente y no revisten demasiada complejidad. Co-
mo vemos en las distintas consultas que desarrollamos en este capítulo, con ellas podemos
determinar días, meses y años, así como también horas, minutos y segundos de las horas.
LAS FUNCIONES DE FECHA Y HORA
06_Excel revelado.qxp 12/29/09 4:24 PM Page 177
6. CÁLCULOS CON FECHAS Y HORAS
178 www.redusers.com
❘❘❘
Para poder usar la función DIA.LAB hay que instalar previamente el complemento Herramientas
para análisis. En Excel 2007 los complementos se instalan desde la categoría Complementos a
la que accedemos desde Botón de Office/Opciones de Excel. En las versiones anteriores los en-
contramos en el menú Herramientas/Complementos.
LA FUNCIÓN DIA.LAB
Suelte el botón del mouse. Aparecerá un menú con distintas opciones.
Haga un clic en Rellenar días de la semana.
Este procedimiento genera una serie de fechas que excluye sábados y domingos. No
excluye feriados porque el puntero no puede saber qué día corresponde a cada fe-
riado. Por eso decimos que la solución es imperfecta.
Si queremos excluir de la serie también los días feriados, tenemos que armar una
lista de las fechas que corresponden a los feriados. Digamos que esta lista la es-
cribimos en el rango C1:C6. Entonces, si escribimos la primera fecha en A1, en A2
escribimos la función =DIA.LAB(A1;1;C$1:C$6). Esta función calcula el día si-
guiente a A1, excluyendo sábados, domingos y las fechas del rango C1:C6.
06_Excel revelado.qxp 12/29/09 4:24 PM Page 178
Figura 7. La fórmula de la celda A2 calcula la fecha siguiente
a la de A1, excluyendo sábados, domingos y los feriados de la tabla de la derecha.
La función DIA.LAB calcula la fecha que corresponde a una cierta cantidad de días
hábiles a partir de otra. El primer argumento es la fecha inicial y el segundo, la can-
tidad de días para considerar. En principio, la función excluye de los días hábiles a
sábados y domingos. Para que excluya también los días feriados le podemos dar, co-
mo tercer argumento, un rango con las fechas de estos feriados.
Señalar fines de semana
Tengo una planilla Excel en la cual cargo fechas y horarios de entrada y sali-
da. Me gustaría saber si existe alguna forma de señalar con colores diferentes las fe-
chas que corresponden a los sábados y domingos.
Walter Diana (Buenos Aires)
Se puede señalar con color los sábados y domingos aplicando un Formato condicional.
Supongamos que las fechas están en la columna A, a partir de la celda A2:
■ Formato condicional PASO A PASO
Seleccione la lista de fechas. Haga un clic en el botón Formato condicional dentro
de la ficha Inicio de la cinta de opciones y luego en Nueva regla.
En la casilla que indica: Seleccionar un tipo de regla haga un clic en la opción
Utilice una fórmula que determine las celdas para aplicar el formato. Esto
cambiará las opciones que aparecen más abajo.
Señalar fines de semana
179www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 179
En la casilla que dice Dar formato a las celdas donde esta fórmula sea verdadera,
escriba la fórmula =O(DIASEM(A2)=1;DIASEM(A2)=7), donde A2 es la celda de la
primera fecha de la lista.
A continuación, haga un clic en el botón Formato.... En la ficha Relleno indique
algún color adecuado.
Haga un clic en Aceptar (el formato) y nuevamente en Aceptar (la condición).
Figura 8. Este Formato condicional señala con un fondo rojo
las fechas de la columna de la izquierda que correspondan a fines de semana.
La fórmula identifica el día de la semana con la función DIASEM.
La condición que escribimos pide que la función DIASEM, aplicada a la primera fe-
cha, devuelva un 1 (que corresponde al sábado) o un 7 (que corresponde al do-
mingo). De modo que la condición se satisface en los días de semana.
La función DIASEM devuelve un número que indica el día de la semana: 1 para el
domingo, 2 para el lunes y así sucesivamente, hasta 7 para el sábado. Si queremos
señalar sábados y domingos con colores diferentes podemos indicar dos formatos
condicionales (dos reglas), cada uno con su condición.
Recordemos que en Excel 2003 y en las versiones anteriores, el cuadro para definir
el Formato condicional se obtiene con las opciones Formato/Formato condicional. Ade-
más, si guardamos el archivo en una versión anterior podemos perder algunos for-
matos, aunque permanecerán en la planilla y podremos recuperarlos después.
6. CÁLCULOS CON FECHAS Y HORAS
180 www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 180
Anunciar vencimiento
Tengo una planilla con fechas de vencimiento. Necesito que, diez días antes
de esa fecha, la celda cambie de color como anuncio de que está próxima a vencer.
José M. Salazar Colín (Tamaulipas, México)
Este problema puede resolverse con un Formato condicional. Lo difícil es encontrar
la condición necesaria. Por ejemplo, supongamos que estamos a 20 de noviembre.
El formato debería señalar los vencimientos que tengan lugar el 30 de noviembre,
o antes. Es decir, que la fecha de vencimiento sea menor o igual a la fecha de hoy,
más diez días. Vamos a indicar esa condición en el formato:
■ Formato condicional II PASO A PASO
Seleccione la lista de fechas. Haga un clic en el botón Formato condicional dentro
de la ficha Inicio de la cinta de opciones.
Tome las opciones Resaltar reglas de celdas/Es menor que.... Aparecerá un
cuadro donde deberá indicar la condición.
En la primera opción escriba =HOY()+10.
En la segunda opción elija un formato adecuado.
Haga un clic en Aceptar.
En la condición usamos la función HOY para obtener la fecha actual. En realidad, el for-
mato señala los vencimientos para dentro de diez días, incluyendo los ya pasados.
Figura 9. Este formato señala con fondo rojo las fechas anteriores al día
de hoy más diez días. Es decir, las facturas que vencen dentro de los próximos diez días.
Anunciar vencimiento
181www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 181
En Excel 2003 y en las versiones anteriores, el procedimiento es algo distinto.
■ Formato condicional (Excel 2003 y anteriores) PASO A PASO
Seleccione la lista de fechas. Tome las opciones Formato/Formato condicional.
Aparecerá un cuadro donde deberá indicar la condición.
En la primera opción, deje valor de la celda.
En la segunda, indique menor o igual que.
En la tercera, escriba =HOY()+10.
Haga un clic en el botón Formato>> y elija algún formato adecuado.
Haga un clic en Aceptar (el formato) y luego en Aceptar (la condición).
Figura 10. Así se indica en Excel 2003 el Formato condicional
que señala con fondo rojo las fechas anteriores al día de hoy más diez días.
Repasemos esto: si hoy es 20 de noviembre, el formato que acabamos de definir
señalará las fechas menores (es decir, anteriores) al día 30. Si esa fecha es 27 de
noviembre, cumple la condición, vence dentro de los próximos diez días y será se-
ñalada con el formato. Si, en cambio, la fecha es 2 de diciembre, no es menor, no
está próxima a vencer y no será señalada por el formato.
6. CÁLCULOS CON FECHAS Y HORAS
182 www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 182
Ordenar cumpleaños
Tengo una lista de personas con sus fechas de nacimiento. ¿Cómo puedo
ordenar la lista según la fecha de cumpleaños de cada uno? De esta manera, una
persona nacida el 20 de febrero de 1970 tiene que quedar antes de otra nacida el
20 de marzo de 1960. Gracias por tu ayuda.
Roberto Padula (Buenos Aires)
Una forma de resolver este problema consiste en crear una segunda serie de fechas,
con el día y el mes de nacimiento, pero con un año fijo. Por ejemplo, si tenemos
una fecha en B2, armamos la nueva fecha con =FECHA(2000;MES(B2);DIA(B2)). Es-
ta fórmula se extiende a toda la lista de fechas. Al tener todas el mismo año, lo que
decide el orden de las fechas son el mes y el año.
Pero hay una fórmula mejor. De nuevo, para una fecha de nacimiento escrita en B2,
la fórmula sería =TEXTO(B2;“mmdd”). Esta fórmula devuelve un texto con el mes y
el día. Por ejemplo, si B2 es igual a 20/Feb/1970, la fórmula devuelve 0220.
Si es igual a 20/Mar/1960, la fórmula devuelve 0320. Como aparece primero el mes
y luego el día, ése será el orden en que se analizarán las fechas para ordenarlas.
Figura 11. Las fórmulas de la columna C contienen un texto
que corresponde al mes y al día (en ese orden) de las fechas
de la columna B. Si ordenamos la lista según el contenido de la columna
C estas personas quedarán ordenadas según su fecha de cumpleaños.
La función TEXTO arma un texto a partir de un número, aplicando un formato es-
pecificado. Es muy sencilla ya que sólo tiene dos argumentos:
• El primero es el valor que se va usar.
• El segundo es el formato para aplicar.
Ordenar cumpleaños
183www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 183
En nuestro caso el valor es una fecha y el formato es mes-día, sin separación. Una
vez obtenida esta expresión en una columna auxiliar, ordenamos la lista según el
contenido de esa columna, y problema resuelto.
Sumas entre fechas
Tengo una lista de dos columnas: Fecha e Importe. Quiero escribir dos fechas
en sendas celdas y obtener el total de importes entre esas fechas. ¿Qué fórmula ten-
go que usar?. Desde ya te agradezco la solución que me puedas brindar.
Leila Margarita Cura (provincia de Catamarca)
Supongamos que las fechas están en el rango A1:A10 y los importes en el rango
B1:B10. Escribimos una fecha inicial en D1 y una fecha final en D2. Queremos su-
mar los importes de la columna B correspondientes a fechas comprendidas entre D1
y D2. La fórmula es =SUMA(SI(A1:A10>=D1;SI(A1:A10<=D2;B1:B10))). A esta expre-
sión le tenemos que dar entrada con la combinación CONTROL+SHIFT+ENTER.
La fórmula analiza las fechas del rango A1:A10. Cuando alguna de estas fechas es
mayor o igual que la fecha inicial escrita en D1, analiza si, además, es menor o
igual que la fecha final escrita en D2. Cuando se cumplen estas dos condiciones,
suma el respectivo valor de B1:B10.
Figura 12. La fórmula de la celda D3 suma los importes en la columna B correspondientes
a fechas comprendidas entre D1 y D2. Nótense las llaves que encierran
la fórmula, lo que indica que fue ingresada con la combinación CONTROL+SHIFT+ENTER.
Éste es un ejemplo de un tipo especial de fórmulas que combinan la función con-
dicional SI con alguna otra función (en este caso, SUMA). Con esta combinación
se pueden hacer diversos cálculos no previstos en las funciones estándares de Ex-
cel. Las siguientes preguntas muestran más ejemplos de este tipo de fórmulas con-
dicionales así que pasemos rápidamente a la próxima consulta.
6. CÁLCULOS CON FECHAS Y HORAS
184 www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 184
Contar por semestre
Estudio la tecnicatura en informática en la Universidad del Litoral. En una
práctica me dan una lista de personas con las fechas de nacimiento. Me piden que
cuente cuántas personas nacieron en el primer semestre y cuántas nacieron en un
fin de semana. ¿Pueden ayudarme?
César Contreras (Villa Dolores, Córdoba)
Los cálculos que pregunta César se pueden hacer con una forma poco conocida de
fórmulas condicionales. Por ejemplo, si las fechas están en B1:B10, las correspon-
dientes al primer semestre son aquellas para las que la función MES devuelve un nú-
mero menor que 7. Entonces escribimos =CONTAR(SI(MES(B1:B10)<7;B1:B10)). A
esta fórmula hay que darle entrada con la combinación CONTROL+SHIFT+ENTER.
La fórmula evalúa la condición para cada una de las celdas del rango B1:B10. Para
cada caso en que la condición se cumple, cuenta un valor.
Figura 13. La fórmula de la celda D1 cuenta las fechas
de la columna B que corresponden al primer semestre (mes menor que siete).
Para contar las fechas correspondientes a fines de semana podemos usar la función
DIASEM que devuelve un número del 1 al 7 ó del 0 al 6, según el día de la semana
al que corresponde la fecha. La función tiene dos argumentos:
Contar por semestre
185www.redusers.com
❴❵
Calc, el programa de planillas de cálculo de OpenOffice, incluye la función DOMINGOPASCUA para
calcular la fecha del domingo de Pascua en cualquier año. Aunque no existe una función equivalen-
te en Excel, la podemos crear tal como explicamos en el libro Proyectos con macros en Excel.
LA FECHA DE PASCUA
06_Excel revelado.qxp 12/29/09 4:24 PM Page 185
• El primero es la fecha para la cual se desea conocer el día de la semana.
• El segundo (opcional) indica cómo se numerarán los días.
Si el segundo argumento es un 2, el valor devuelto por DIASEM es un 1 para el lu-
nes, 2 para martes y así sucesivamente hasta un 7 para el domingo.
Figura 14. La fórmula de la celda D1 cuenta las fechas de la columna
B que corresponden a fines de semana (número de día de la semana 6 ó 7).
El problema de contar los fines de semana en el rango B1:B10 se reduce a contar las
fechas para las cuales la función DIASEM, con su segundo argumento igual a 2, de-
vuelve un valor de 6, que equivale al día sábado, o de 7, que corresponde al do-
mingo. En otras palabras, que sea mayor que 5. De esta manera, debemos escribir
la expresión: =CONTAR(SI(DIASEM(B1:B10;2)>5;B1:B10)). A esta fórmula también
hay que darle entrada con la combinación CONTROL+SHIFT+ENTER.
Un problema con fechas
Te adjunto una planilla que me está volviendo loco. Trato de usar la función
SUMAR.SI para obtener acumulados mensuales, pero me da cualquier cosa. Lo con-
sulté con gente que usa Excel y no me supieron explicar por qué hace lo que hace. Si
me podés develar este misterio, te lo voy a agradecer.
Pedro Alejandro Wikarczuk (Avellaneda, provincia de Buenos Aires)
Ciertamente éste es un problema muy curioso. La planilla de Alejandro tiene dos
columnas: Mes en el rango A2:A13 (Enero, Febrero, Marzo, etcétera) e Importe
en B2:B13. En una celda auxiliar, por ejemplo en D1, Alejandro escribe la siguiente
fórmula =SUMAR.SI(A2:A13;”<Agosto”;B2:B13) para obtener el importe acumula-
do hasta julio inclusive. Sin embargo, obtiene solamente el importe correspon-
diente a abril, tal como podemos observar en la Figura 15.
6. CÁLCULOS CON FECHAS Y HORAS
186 www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 186
Figura 15. La fórmula de D1 suma los importes correspondientes a meses que,
ordenados alfabéticamente, aparecerían antes de agosto. Es decir, el de abril solamente.
Ocurre que, para Excel, los nombres de los meses son solamente palabras. La con-
dición <Agosto agrupa a los meses cuyos nombres, ordenados alfabéticamente, esta-
rían antes de agosto. O sea, solamente abril.
Para resolver el problema hay que hacer dos cosas. En primer lugar los meses de la
columna A deben ser datos tipo fecha. Por ejemplo, el primer día de cada mes: 1/1,
1/2, 1/3, etcétera. A estos datos luego se les puede aplicar un formato para que mues-
tren los nombres de los meses, como en la planilla original.
Luego, para calcular el importe acumulado hasta julio inclusive, se debe usar la si-
guiente fórmula: =SUMA(SI(MES(A2:A13)<8;B2:B13)). A esta fórmula se le debe dar
entrada con la combinación CONTROL+SHIFT+ENTER.
Figura 16. La fórmula de D1 suma los importes correspondientes a los meses
anteriores a agosto. Es decir, de enero a julio. Los datos de la columna A son fechas.
Un problema con fechas
187www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 187
La fórmula evalúa las fechas de la columna A, aplicándoles la función MES. Si el
mes resultante es menor que 8 (es decir, anterior a agosto), suma el correspon-
diente importe de la columna B. Así resolvemos este problema.
Última fecha
Tengo una lista con datos de empresas que se van visitando y con todas las
fechas en que éstas fueron visitadas (esas fechas pueden ser más de una). Ahora quie-
ro que en otra lista me muestre automáticamente la última fecha en que la empresa
fue visitada. ¿Cómo puedo hacer esto?
Alejandro Gabriel Noya
Este problema puede resolverse con una combinación de función condicional con
MAX. Por ejemplo, supongamos que tenemos los nombres de las empresas en el ran-
go A2:A10 (reservamos la primera celda para el título) y las fechas de visita en B2:B10.
Queremos saber cuándo fue la última vez que visitamos al almacén Don Manolo.
La fórmula es: =MAX(SI(A2:A10=“Don Manolo”;B2:B10)). A esta fórmula le tenemos
que dar entrada con la combinación CONTROL+SHIFT+ENTER.
Podemos pensar que esta fórmula “recorre” el rango A2:A10 comparando cada cel-
da con el valor “Don Manolo”. De todas las veces que se verifica la igualdad, elige
el máximo entre los respectivos valores del rango B2:B10. Entre datos que represen-
tan fechas, el máximo corresponde al más reciente, al último. La referencia al nom-
bre de la empresa puede ser una celda donde ese nombre esté escrito.
Figura 17. La fórmula de la celda E2 encuentra la última fecha correspondiente
a la empresa escrita en D2. Nótese las llaves que encierran la fórmula y que revelan
que ésta fue ingresada con la combinación CONTROL+SHIFT+ENTER.
6. CÁLCULOS CON FECHAS Y HORAS
188 www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 188
Contar por hora
Tengo una planilla donde controlo el ingreso de vehículos. En ella se indica un
número de orden, la patente y la hora de ingreso. Ahora quiero tener un resumen donde
yo le indique una hora y una fórmula me diga cuántos autos ingresaron en esa hora.
Mariano Blanco
Este problema es una variante de un caso más general que podemos llamar “conteo
condicional”. En principio, el conteo condicional se puede hacer con la función
CONTAR.SI. Supongamos que tenemos una lista de nombres en la columna A, don-
de cada nombre puede repetirse. Queremos saber cuántas veces aparece el nombre
“Juan”. La fórmula sería =CONTAR.SI(A:A;“Juan”). El primer argumento es el rango
donde se hace el conteo y el segundo, el dato que se quiere contar.
Figura 18. La fórmula de la celda C1 cuenta cuántas
veces aparece el nombre Juan en la lista de la columna A.
Esta función sirve para condiciones simples. El caso que plantea la pregunta es más
complejo y puede resolverse combinando dos funciones.
Supongamos que las horas de entrada están en el rango A2:A16 (reservando la pri-
mera fila para títulos) y que queremos saber cuántos autos entraron entre las 20:00
Contar por hora
189www.redusers.com
❘❘❘
Es importante tener en cuenta que cuando armamos una fecha con la función FECHA, Excel
supone “días continuos”. Por ejemplo, la expresión =FECHA(2010;40;6), que, supuestamen-
te, representa el “40 de junio”, corresponde al 10 de julio. De la misma forma, la expresión
=FECHA(2010;0;3) corresponde al último día de febrero, sea éste el 28 o el 29.
CALCULAR FECHAS
06_Excel revelado.qxp 12/29/09 4:24 PM Page 189
y las 21:00 (en realidad, hasta las 20:59). La fórmula es =SUMA(SI(HORA(A2:A16)
=20;1;0)). A esta fórmula, como a todas las matriciales, le tenemos que dar entrada
con la combinación CONTROL+SHIFT+ENTER.
Podemos imaginar que esta fórmula recorre el rango A2:A16 y le aplica a cada
celda la función HORA, que devuelve la parte de horas de un dato (por ejemplo
=HORA(“15:41”) es igual a 15). Cada vez que el resultado de esta función es 20,
la función SUMA adiciona una unidad.
Figura 19. La fórmula de la celda D2 cuenta
cuántos vehículos ingresaron entre las 20:00 y las 20:59.
Horas extras
En la empresa donde trabajo el horario normal de trabajo es de 9 de la ma-
ñana hasta las 6 de la tarde. Las horas trabajadas fuera de ese horario se consideran
“extras”. ¿Cuál es la fórmula para calcular estas horas extras?
Walter Diana (Buenos Aires)
Por ejemplo, supongamos que la hora de entrada está en la celda B2 y la de salida
en C2. Supongamos también que estas horas son 7:30 y 19:00. La resta =9/24-B2
nos dice cuántas horas (una y media, en este caso) se trabajaron antes de la hora nor-
mal de salida. En esta fórmula la hora 9 de la mañana está representada por el va-
lor 9/24. Esto se debe a que, en Excel, los datos tipo hora se deben medir en días.
El factor 24 que divide convierte las horas a días. Debemos tener en cuenta que la
celda donde escribimos la fórmula debe tener formato de hora.
6. CÁLCULOS CON FECHAS Y HORAS
190 www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 190
Figura 20. Las fórmulas de la columna D dan las horas trabajadas antes
de las 9 de la mañana. En la fila 5, la fórmula da un valor negativo
(la hora de entrada es posterior a las nueve de la mañana) y por eso da un error.
El problema es que, si hacemos las restas en la forma planteada, corremos el riesgo de
obtener valores negativos. Por ejemplo, supongamos que el valor de B2 es 10:00, por-
que la persona en cuestión entró una hora tarde. La resta =9/24-B2 nos dará -1, una ho-
ra negativa. La solución consiste en tomar el resultado de la resta solamente cuando sea
positivo. Esto lo logramos con la fórmula =MAX(0;9/24-B2). Si el resultado de la resta
es negativo, la función devolverá 0 (que es mayor). Si es positivo, devolverá ese valor.
Figura 21. Las fórmulas de la columna D restan la hora de entrada
de las 9 de la mañana y dan el resultado solamente si es mayor o igual que 0.
De la misma forma, las horas trabajadas luego de las 6 de la tarde se obtienen con
=MAX(0;C2-18/24). La suma de ambas expresiones da las horas extras totales.
Horas extras
191www.redusers.com
❴❵
Curiosamente, Excel arrastra, desde sus primeras versiones, un error en el manejo de fechas:
da como válida la fecha 29/2/1900. Pero 1900 no fue un año bisiesto, excepto en el entonces
Imperio Ruso y en otras naciones regidas por la Iglesia Ortodoxa. Este error no lo comete Calc,
la hoja de cálculo de OpenOffice.
EL BISIESTO QUE NO FUE
06_Excel revelado.qxp 12/29/09 4:24 PM Page 191
Horas y porcentajes
Me gustaría que me explicaras cómo se puede aplicar un porcentaje a un va-
lor que representa un tiempo. Por ejemplo, si quiero calcular el 17% de 60 minutos
(una hora), el resultado es 10,20. Pero los 20 no son veinte segundos sino veinte cen-
tésimos de minuto o doce segundos. Yo querría que apareciera 10:12 o algo así. Pro-
bé algunas variantes pero no me sale el resultado esperado.
Mario Toledo
Hay, por lo menos, dos formas de resolver el problema que plantea el lector. La más
“correcta” consiste en trabajar con datos tipo hora. Por ejemplo, para escribir una
hora, tenemos que escribir 1:00. Para escribir 15 minutos, tenemos que escribir
00:15:00. En cualquier caso, Excel reconocerá este formato como hora y, si mul-
tiplicamos por 17%, obtendremos el resultado correcto en ese mismo formato,
tal como vemos en la Figura 22. Sin embargo, si preferimos verlo como minutos
y segundos, tenemos que aplicar el formato mm:ss.
Figura 22. Los datos de la columna B están en formato
de hora. Al aplicar un porcentaje en la columna C el resultado
aparece también en formato de horas, minutos y segundos.
Otra posibilidad es escribir los tiempos como datos numéricos comunes. Por
ejemplo, tenemos una lista de tareas en la columna A y sus duraciones expresa-
das en minutos en la columna B, con títulos en la primera fila y datos a partir de
la segunda. Si queremos aplicar a estos tiempos un porcentaje del 17% la fun-
6. CÁLCULOS CON FECHAS Y HORAS
192 www.redusers.com
❘❘❘
Hay distintas formas de obtener el día de la semana correspondiente a una fecha dada. Una de
las más simples consiste en usar la fórmula =TEXTO(fecha; “dddd”), donde fecha es la celda
que contiene la fecha cuyo día de la semana queremos obtener. También podemos usar un for-
mato personalizado o la función DIASEM.
EL DÍA DE LA SEMANA
06_Excel revelado.qxp 12/29/09 4:24 PM Page 192
ción que debemos ingresar es =ENTERO(B2*17%) para obtener los minutos y, a
continuación, la función =RESIDUO(B2*17%;1)*60, que nos dará los segundos.
La función RESIDUO devuelve la parte decimal (la fracción de minuto). Al mul-
tiplicar por 60 expresamos esa fracción en segundos.
Figura 23. Las fórmulas de la columna D calculan
la fracción de minutos, después de aplicar un porcentaje en los tiempos
de la columna B y luego expresan esa fracción en segundos.
Un problema de minutos
Tengo un problema con un cálculo de minutos. Armé una hoja con una lista
de tiempos en una columna. Cada tiempo es una cierta cantidad de segundos. Nece-
sito sumar todos esos tiempos y obtener el total en minutos y segundos, pero no su-
pe cómo resolverlo. Desde ya quedo agradecido por la solución que me puedan dar.
Juan J. Mikuletz
Para resolver este problema hay que saber que, en Excel, los tiempos se miden en
días. Entonces, si tenemos una lista de segundos en el rango A1:A10, obtenemos el
total con =SUMA(A1:A10), naturalmente. Pero, para que Excel interprete este total
como un dato “tipo hora” hay que traducirlo a días. Como hay 86400 segundos en
un día, la expresión final es =SUMA(A1:A10)/86400. A esta fórmula luego se le pue-
de aplicar un formato de minutos y segundos para obtener el total como quiere Juan.
Un problema de minutos
193www.redusers.com
❘❘❘
La función HOY() muestra la fecha actual. Esta fecha es dinámica. Es decir, cambia cuando pasa el
tiempo según el reloj interno de Windows. También obtenemos la fecha actual con la combinación
CONTROL+; (el punto y coma). Pero esta fecha queda como dato fijo y no cambia con el tiempo.
LA FECHA ACTUAL
06_Excel revelado.qxp 12/29/09 4:24 PM Page 193
Figura 24. La fórmula de la celda A11 suma todos los tiempos
de la columna. Como estos tiempos están en segundos, al total se lo divide
por 86400 para pasarlo a días (hay 86400 segundos en un día).
Luego se aplica un formato de minutos y segundos.
Reloj fichador
Quiero usar una planilla Excel como reloj para que mis empleados ingresen
una clave y se registre automáticamente la hora de entrada y salida. ¿Qué me po-
dés sugerir al respecto?. Espero que me puedas ayudar.
Diego David
Para resolver este problema necesitamos una planilla con la lista de empleados y dos
columnas para registrar las horas de entrada y salida. Cuando un empleado entra,
hace clic en un botón Entrada y escribe su número de legajo. Cuando sale, hace lo
propio en un botón Salida. Un sistema de macros se encargará del resto.
Figura 25. Con un sistema de macros completamos esta
hoja con las horas de entrada y salida de los empleados de la lista.
6. CÁLCULOS CON FECHAS Y HORAS
194 www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 194
Por ejemplo, supongamos que la lista de legajos ocupa el rango A2:A15, la macro de
la Figura 25 permite registrar la hora de entrada en la columna 2.
Sub Entrada()
Legajo = Val(InputBox(“¿Número de legajo?”))
For i = 2 To 15
If Cells(i, “A”) = Legajo Then _
Cells(i, “B”) = Time
Next I
End Sub
Esta macro pregunta por el número de legajo. Busca el número ingresado en la
columna A y, cuando lo localiza, guarda la hora actual en la respectiva fila de la co-
lumna B. La hora se obtiene con la función Time, que equivale en macros a la
función AHORA() de Excel. El legajo lo preguntamos con InputBox. Como esta
función devuelve un dato tipo texto, le aplicamos la función Val, para convertir-
lo a valor. Cambiando la referencia a la columna B por C tenemos la macro para
registrar la hora de salida. Para mayor elegancia, las macros se pueden ejecutar
mediante botones: un botón para cada macro.
Formulario con calendario
Armé un formulario que despliega un calendario y guarda la fecha seleccio-
nada en una celda. Pero tengo un problema: si la fecha seleccionada corresponde a
los días uno al doce (de cualquier mes) me la guarda en formato mes-día. Si es pos-
terior al día doce me la guarda en formato día-mes. ¿Cómo hago para que siempre
me quede en formato día-mes?
Raúl Ojeda (Rincón de los Sauces, provincia de Neuquén)
Antes de dar respuesta a esta consulta, vamos a comentar el formulario de Raúl que
es muy interesante. Este formulario tiene tres controles:
Formulario con calendario
195www.redusers.com
❘❘❘
Mediante la opción de formatos personalizados podemos crear un formato para mostrar un dato
tipo hora en minutos, segundos y centésimas. Hay que indicar, dentro de la opción Tipo, en la ca-
tegoría Personalizada, el Tipo mm:ss,00. Este formato es útil para mostrar tiempos de carrera.
FORMATOS DE HORA
06_Excel revelado.qxp 12/29/09 4:24 PM Page 195
• Un calendario.
• Un cuadro de texto que muestra la fecha seleccionada en el calendario.
• Un botón de comando que guarda en una celda la fecha mostrada en el cuadro.
Figura 26. Este formulario muestra en el cuadro
de texto la fecha seleccionada en el calendario. Cuando se hace
un clic en el botón Cargar, esa fecha se guarda en la hoja.
Del cuadro de texto y del botón de comando no tenemos nada que decir. En cuan-
to al calendario, se trata de un control MonthView. Para disponer de él en el cuadro
de herramientas, tenemos que instalarlo:
■ Formulario con calendario PASO A PASO
Cree el formulario propiamente dicho: dentro del editor de Visual Basic, tome las
opciones Insertar/Formulario.
Abra el cuadro de herramientas con las opciones Ver/Cuadro de herramientas.
Tome las opciones Herramientas/Controles adicionales. Aparecerá un cuadro con
la lista de controles instalados y sin instalar.
6. CÁLCULOS CON FECHAS Y HORAS
196 www.redusers.com
❘❘❘
Es importante tener en cuenta que la función AHORA() muestra el “momento actual”. Es decir,
la fecha y la hora. Su valor cambia cuando pasa el tiempo según el reloj interno de Windows. Po-
demos obtener la hora actual con la combinación CONTROL+: (los dos puntos). Pero este valor
queda como dato fijo y no cambia con el tiempo.
LA HORA ACTUAL
06_Excel revelado.qxp 12/29/09 4:24 PM Page 196
En este cuadro, localice y seleccione Microsoft MonthView Control.
Haga un clic en Aceptar.
Ya podemos insertar el calendario, seleccionándolo del Cuadro de herramientas.
Agregamos también un cuadro de texto y un botón de comando. Si hacemos do-
ble clic en cualquier fecha, se abrirá la ventana de código asociada al calendario.
El código debe tener esta forma:
Private Sub Calendario_DateClick(ByVal DateClicked As Date)
Fecha.Value = Calendario.Value
End Sub
Nótese que en este código, Calendario es el nombre del control MonthView y Fecha,
el del cuadro de texto.
Ahora hacemos doble clic en el botón de comando y completamos su código:
Private Sub Cargar_Click()
Range(“A1”) = Fecha.Text
End Sub
Donde Cargar es el nombre elegido para el botón. Ahora solamente resta escribir
una macro que invoque el formulario, que debería ser más o menos así:
Formulario con calendario
197www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 197
Sub Calendario()
UserForm1.Show
End Sub
Esta macro abre el formulario. Cuando hacemos un clic en una fecha determi-
nada, ésta se guarda en el cuadro de texto. Y cuando hacemos un clic en el bo-
tón, la fecha se guarda en la celda A1.
Y aquí llegamos al problema de Raúl: si seleccionamos el 10 de mayo, la fecha que
obtenemos en A1 es 5 de octubre. Este problema se debe a que el cuadro de texto
guarda la fecha como un texto y la interpreta en formato mes-día. Lo que tenemos
que hacer es reconvertir ese texto a fecha antes de guardarla en la hoja. Simple-
mente se modifica el código del botón:
Private Sub Cargar_Click()
Range(“A1”) = CDate(Fecha.Text)
End Sub
La función CDate (carácter a fecha) lee el texto y lo convierte en fecha. Esa fecha,
correctamente interpretada, es la que se guarda en A1.
Como puede verse, la respuesta a la consulta es muy simple. Pero la descripción del
formulario era lo más interesante.
Un problema con el idioma
Uso la función TEXTO para concatenar una fecha con un mensaje. En la fun-
ción indico el argumento YYYY para que aparezca el año con sus cuatro cifras. Pero
parece que, por la configuración del idioma, en algunas máquinas el argumento para
el año debe ser AAAA. ¿Cómo puedo independizar la fórmula del idioma requerido en
el argumento?. Gracias por tu respuesta.
Robert Blanco (Asunción del Paraguay)
La expresión que usa Robert es =“Vencimiento el:”&TEXTO(A1; “dd/mm/yyyy”) don-
de A1 es una celda que contiene un dato tipo fecha. La función TEXTO lleva dos ar-
gumentos entre los paréntesis:
• El primero es un valor numérico. En este caso, una fecha.
• El segundo es el formato en el que queremos ver el número.
6. CÁLCULOS CON FECHAS Y HORAS
198 www.redusers.com
06_Excel revelado.qxp 12/29/09 4:24 PM Page 198
Figura 27. La fórmula de la celda A3 concatena la fecha de A1 con un texto.
Usamos la función TEXTO para que la fecha se muestre en el formato adecuado.
Esta función se utiliza cuando queremos concatenar un texto con un valor numéri-
co y que éste tenga un determinado formato.
La función TEXTO no se usa solamente con datos tipo fecha. Por ejemplo, suponga-
mos que tenemos un porcentaje en B5 y queremos que en otra celda aparezca un
mensaje que diga Rendimiento promedio: 77,12% donde 77,12% es el valor de
B5. Podemos usar la expresión =“Rendimiento promedio: ”&TEXTO(B5;“0,00%”).
Figura 28. La fórmula de la celda A7 concatena el valor de B5 con un texto.
Usamos la función TEXTO para que el valor de B5 se muestre como porcentaje.
Si concatenamos simplemente el texto con la celda, el valor perderá su formato.
En el caso de la pregunta de Robert, la forma de indicar el formato día-mes-año de-
pende de la configuración regional del equipo: en configuraciones en inglés, el año se
Un problema con el idioma
199www.redusers.com
❘❘❘
Por defecto, cuando hacemos doble clic en una celda, se habilita la posibilidad de modificar su
contenido. Para evitar este comportamiento, debemos ir al Botón de Office y presionar Opciones
de Excel. En Avanzadas debemos quitar la marca en la casilla Permitir editar directamente en
las celdas. Podremos ingresar a modificar las celdas, si presionamos la tecla F2.
EVITAR EL DOBLE CLIC
06_Excel revelado.qxp 12/29/09 4:24 PM Page 199
indica con YYYY y, en castellano, con AAAA. Si queremos independizarnos de la con-
figuración que tengamos establecida en nuestro equipo podemos armar el texto “ar-
tesanalmente”, concatenando día, mes y año. Para eso, debemos escribir la fórmula:
=“Vencimiento al:”&DIA(A1)&”/”&MES(A1)&”/”&AÑO(A1).
Figura 29. La fórmula de la celda A3 arma la fecha
de A1 con el formato adecuado, concatenando día, mes y año.
En esta expresión obtenemos día, mes y año con las funciones DIA, MES y AÑO res-
pectivamente. Luego concatenamos estos valores con el texto del mensaje, inser-
tando convenientemente las barras de separación.
¿Cuál es tu signo?
Armé una planilla de tres columnas. En la primera tengo apellido y nombre de
una serie de personas. En la segunda, su fecha de nacimiento. En la tercera quiero
que salga automáticamente el signo del zodiaco al que pertenece cada persona, de
acuerdo con la fecha de nacimiento. Sus revistas me solucionaron un montón de pro-
blemas, pero éste no lo encuentro en ninguna parte.
Ariel Altamirano
Para resolver este problema necesitamos una tabla con las fechas de inicio de ca-
da signo. Esta tabla debe tener 13 filas, porque Capricornio aparece dos veces: al
comienzo y al final del año. Si suponemos esta tabla en el rango F1:G13, podemos
obtener el signo correspondiente a una fecha escrita en la celda B2 con la función
=BUSCARV(B2;F1:G13;2). El último argumento de la función indica que el signo
6. CÁLCULOS CON FECHAS Y HORAS
200 www.redusers.com
❴❵
Al trabajar con fórmulas, una buena idea es incluir controles cruzados. Lo importante es que nos
den una señal cuando la planilla no está funcionando como deseamos, para generar una protección
frente a errores. Por ejemplo, si una celda debe ser llenada obligatoriamente, podemos incluir una
fórmula SI en una celda contigua que nos indique cuando ésta se haya completado correctamente.
LA IMPORTANCIA DE LOS CONTROLES
06_Excel revelado.qxp 12/29/09 4:24 PM Page 200
está en la segunda columna de la tabla. Si la fecha B2 cae entre dos fechas de la ta-
bla, la función devolverá el signo correspondiente a la menor de ellas, como debe
ser. Pero desafortunadamente hay un problema con los años: el año de la fecha de
nacimiento tiene que ser el mismo que el usado para las fechas de la tabla, de lo con-
trario la función de búsqueda arroja un error.
Figura 30. Las funciones de la columna C encuentran el signo
zodiacal de cada persona de la lista, en función de la tabla de la derecha.
Para evitar esto, primero convertimos la fecha que hay que encontrar (la que supu-
simos en B2) para que tome el año de la tabla. Lo podemos hacer con la función FE-
CHA: =FECHA(AÑO(F1);MES(B2);DIA(B2)). Toda esta fórmula debe ir dentro de la
función de búsqueda: =BUSCARV(FECHA(AÑO(F$1);MES(B2);DIA(B2));F$1:G$13;2)
Los signos $ fijan las referencias a la tabla para que se mantengan al extender la fórmula
a toda la lista de fechas. Nunca debemos olvidarnos de estos detalles o nos dará error.
Por último, una buena forma de redondear esta planilla es usar la tipografía Windings,
que incluye los símbolos correspondientes a cada signo. Para eso, podemos escribir
en otra columna el abecedario y aplicarle la fuente Windings. Así sabremos a qué le-
tra corresponde el signo del zodíaco que queremos representar.
¿Cuál es tu signo?
201www.redusers.com
✱
Cuando trabajamos con sumas, promedios o conteos con condiciones, es fundamental fijar par-
te de las referencias, utilizando el carácter $ o presionando la tecla de funciones F4, hasta que
hallemos la opción deseada. De esta forma nos aseguraremos que, al realizar copias de las fór-
mulas introducidas, los cálculos sigan siendo los correctos.
FIJAR LAS CELDAS
06_Excel revelado.qxp 12/29/09 4:24 PM Page 201
Figura 31. Algunas letras minúsculas, aplicándoles
tipografía Windings, muestran los signos del zodiaco.
6. CÁLCULOS CON FECHAS Y HORAS
202 www.redusers.com
… RESUMEN
Estos cálculos cronológicos son un caso particular de las operaciones matemáticas normales
en Excel. La única diferencia es que los datos representan un tiempo. Para entender estos
cálculos solamente hay que tener claro el concepto de “número de serie”. Todo lo demás sale
como consecuencia de esta idea.
06_Excel revelado.qxp 12/29/09 4:24 PM Page 202
Operaciones
con bases
de datos
Eliminar blancos 206
Función BDCONTARA 207
La función TABLA 209
Ordenar por terminación 211
Extraer datos 215
Extraer lista 219
Filtrar varias hojas 223
Datos desde la Web 224
Capítulo 7
Las bases de datos son un tipo especial
de planillas de Excel. Se trata de listas,
con datos en columnas, cada una
con un tipo de dato determinado.
Normalmente, las operaciones sobre este
tipo de planillas consisten en ciertas
manipulaciones de los datos: ordenarlos,
copiarlos a otro lugar, extraer cierta
información. En este capítulo veremos
cómo realizar algunas de ellas.
EXCEL REVELADO
SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 203
Carga rápida
En una columna escribo un código de afiliado. Es un dato alfanúmerico de mu-
chas letras y números y a veces tengo que escribirlo hasta seis o siete veces en la
misma lista. ¿Hay alguna forma de repetir el número sin tipearlo?
Ricardo Martínez (Aguilares, provincia de Tucumán)
Para resolver este problema podemos usar la opción de autocompletar: cuando
agregamos un dato en una columna, podemos desplegar una lista de los valores
anteriores, ordenados alfabéticamente, y hacer un clic (u oprimir ENTER) sobre
el dato que queremos repetir.
Para eso hay varias opciones, pero la más simple es oprimir la combinación ALT+FLE-
CHA ABAJO. Esta combinación de teclas es el atajo correspondiente a la opción Ele-
gir de la lista desplegable, dentro del menú contextual de la celda (el que aparece
cuando hacemos un clic derecho sobre la celda).
Figura 1. Oprimiendo la combinación ALT+FLECHA ABAJO se descuelga una lista de los
valores cargados hasta el momento en la columna, ordenados alfabéticamente.
Es importante la aclaración del lector, en cuanto a que los códigos son alfanuméricos
(combinaciones de letras y números): la lista desplegable no aparece si los datos son nu-
méricos.La siguiente pregunta planeta un problema relacionado con esta opción.
7. OPERACIONES CON BASE DE DATOS
204 www.redusers.com
✱
Cada miembro de una base de datos (un libro en un catálogo, un artículo en una lista de precios,
un trabajador en un listado de personal) ocupa una fila de la hoja. A estas filas se las llama regis-
tros. Una base de datos de Excel tiene una fila por registro más una fila adicional para los títulos.
REGISTROS
07_Excel revelado.qxp 12/29/09 4:25 PM Page 204
Autocompletar
Uso mucho la combinación ALT+FLECHA ABAJO para desplegar una lista de
los valores escritos en una columna. Pero eso solamente funciona en la primera cel-
da libre. ¿Cómo puedo hacer lo mismo si quiero escribir un dato cuando hay celdas
en blanco en medio de la lista?. Te agradezco por la ayuda.
Robert Blanco (Asunción, Paraguay)
Efectivamente, y tal como se explica en la pregunta anterior, si tenemos una columna
con varios datos, la combinación ALT+FLECHA ABAJO despliega una lista con los datos
ya cargados (ver la consulta anterior). Nosotros podemos recorrer esa lista y darle en-
trada a alguno de ellos. Es muy útil si tenemos que escribir el mismo dato varias veces.
El problema, tal como indica Robert, es que la lista no se despliega si tenemos el
cursor más abajo de la primera celda libre de la columna de datos. Por ejemplo, si
tenemos una serie de datos en A1:A10 y oprimimos la combinación ALT+FLECHA
ABAJO con el cursor en A11, se despliega la lista. Pero si el cursor lo tenemos en A12,
o más abajo, la lista no se despliega. El mismo efecto se obtiene haciendo un clic
derecho sobre la celda y tomando la opción Elegir de la lista desplegable.
Figura 2. La opción Elegir de la lista desplegable despliega una lista con los datos
escritos en la columna actual. Es equivalente a la combinación ALT+FLECHA ABAJO.
Una solución consiste en rellenar con un espacio en blanco suficientes celdas de-
bajo de la de datos. Para esto no es necesario escribirlos uno por uno. Podemos
hacerlo seleccionando todas las celdas vacías, escribir el espacio y luego darle en-
trada con la combinación CONTROL+ENTER. Esto ingresa el dato (en este caso, el
espacio) en todas las celdas seleccionadas.
Autocompletar
205www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 205
Ahora, con ALT+FLECHA ABAJO se desplegará la lista de datos anteriores en cualquier
celda por debajo del último dato cargado y hasta la fila 1000.
Eliminar blancos
Tengo una lista de datos en la columna A. Algunas celdas de la lista están en
blanco y quiero obtener una segunda lista con los mismos datos, pero todos conti-
guos, sin celdas vacías en el medio. No sé cómo resolverlo.
Aníbal Kacero (Buenos Aires)
Este problema consiste en seleccionar las celdas no vacías de la lista para copiarlas y
luego pegarlas en otra columna. Ésta es una posible solución (hay otras):
■ Eliminar blancos PASO A PASO
Seleccione la columna de datos. Tenga en cuenta que esta selección incluirá las
celdas ocupadas y las vacías.
Oprima la tecla F5. Aparecerá un cuadro con distintas opciones.
Haga un clic en Especial.... Aparecerá otro cuadro.
Marque la opción Constantes.
Haga un clic en Aceptar.
Figura 3. Con la opción Constantes, dentro de Ir a Especial, quedan
seleccionadas las celdas no vacías del rango seleccionado originalmente.
7. OPERACIONES CON BASE DE DATOS
206 www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 206
Esto deja seleccionadas solamente las celdas ocupadas con datos. Ahora las pode-
mos copiar y pegar en otra columna. Con esto obtenemos una segunda lista con los
mismos datos que la primera, pero sin celdas vacías intermedias.
Función BDCONTARA
Uso la función BDCONTARA para contar datos en una base de datos. ¿Se pue-
den usar rangos múltiples en el rango de criterio? Por ejemplo, quiero contar los regis-
tros correspondientes a una determinada región y que tengan un importe menor a 1000.
Christian Macedo Aliaga (Lima, Perú)
La función BDCONTARA cuenta, dentro de una lista, los registros que cumplan con
cierto criterio. Por ejemplo, sea tener en A1:C13 una lista de tres columnas: Nombre,
Región e Importe, queremos contar los registros para los cuales la región es Sur. Pri-
mero tenemos que preparar un rango auxiliar de dos celdas:
• En E1, el nombre del campo sobre el que se aplica el criterio. En este caso, Región.
• En E2, el valor que debe tener el campo para cumplir el criterio. En este caso, Sur.
Figura 4. La función de la celda E4 cuenta cuántos registros
de la base de la izquierda cumplen con el criterio indicado en el rango
E1:F2. Es decir, región Sur e importe menor que 1000.
Función BDCONTARA
207www.redusers.com
❘❘❘
Cada miembro de una base de datos tiene distintas propiedades. En el caso de un catálogo de li-
bros esas propiedades serían el título del libro, el nombre del autor, la editorial, la cantidad de pá-
ginas, etcétera. A estas propiedades, que ocupan las columnas de la base, se las llama campos.
CAMPOS
07_Excel revelado.qxp 12/29/09 4:25 PM Page 207
Para contar los nombres que, dentro de la base original, cumplen con este criterio es-
cribimos: =BDCONTARA(A1:C13;1;E1:E2). Hay tres argumentos entre los paréntesis:
• El primero es el rango de la base de datos.
• El segundo es el campo cuyos datos se cuenta. Puede ser el nombre del campo,
entre comillas, su celda o, como en este caso, su número de orden.
• El tercero es el rango donde se aplicó el criterio.
El criterio puede ser una relación de mayor o menor. Por ejemplo, para contar los
registros cuyo importe es menor que 1000 el rango de criterios debe ser:
• En E1, el nombre del campo. En este caso, Importe.
• En E2, la condición. En este caso, 1000.
Si, como pide la pregunta, se quiere contar los registros que cumplen dos condi-
ciones, simplemente se escribe el rango de criterios con tantos pares de celdas como
condiciones haya. Para contar los registros de la región Norte con importes meno-
res a 1000 el rango tendrá cuatro celdas:
• En E1, Región.
• En E2, Norte.
• En F1, Importe.
• En F2, 1000.
La función será =BDCONTARA(A1:C13;1;E1:F2). Nótese que este criterio exige que se
cumplan ambas condiciones. Para contar los registros que cumplan una u otra con-
dición, indistintamente, las condiciones deberán estar en filas separadas:
• En E1, Región.
• En E2, Norte.
• En F1, Importe.
• En F3, 1000.
7. OPERACIONES CON BASE DE DATOS
208 www.redusers.com
❘❘❘
Las funciones BD como BDCONTARA realizan distintas operaciones sobre los registros de una
base de datos que cumplen una condición. Todas tienen la misma sintaxis: el primer argumen-
to es el rango de la base; el segundo, la columna sobre la cual se hace la operación; el tercero,
el rango de criterios que determina los registros que intervienen en la operación.
FUNCIONES BD
07_Excel revelado.qxp 12/29/09 4:25 PM Page 208
La celda F2 quedará vacía y la función será =BDCONTARA(A1:C13;1;E1:F3).
Este “conteo condicional” se puede hacer también combinando la función SUMA
con la función SI. Para obtener algunos ejemplos sobre este tipo de fórmulas pode-
mos consultar los capítulos sobre Funciones especiales y Cálculos con fechas y horas.
La función TABLA
He visto planillas con la función TABLA, pero no puedo ejecutarla. Me gusta-
ría saber cómo se usa y para qué sirve.
Ricardo Botero G. (Medellín, Colombia)
En realidad, TABLA no es una función como todas: no la escribimos nosotros,
como ocurre normalmente con todas las funciones de Excel, sino que aparece au-
tomáticamente al usar cierta opción de análisis de datos. Esta opción se activa de
manera diferente en Excel 2007 y en las versiones anteriores.
Por ejemplo, supongamos que estamos fabricando un producto con ciertos insumos
locales y otros importados. Sobre estos últimos se aplica un impuesto especial. El
precio de venta del producto es fijo, determinado por el mercado. Obviamente,
cuanto más alta sea la tasa de impuesto, menor será nuestro margen de ganancia.
Calcular este margen para un determinado valor del impuesto es fácil, pero quere-
mos obtener una tabla que nos dé los valores de la ganancia para distintos valores
de tasa de impuesto, es decir tanto para los insumos locales como los importados.
Y todo debe resolverse en una sola operación.
Figura 5. La fórmula de la celda B9 calcula el margen según la tasa de impuesto
indicada en B5. Excel calculará el margen para cada una de las tasas del rango D2:D10.
En nuestra planilla la tasa de impuesto está en B5. El margen se calcula en B9. Te-
niendo en cuenta esto, buscamos un rango auxiliar y armamos una tabla para ob-
tener la variación buscada. Supongamos que este rango es D1:E10:
La función TABLA
209www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 209
• En D2:D10, primera columna del rango, pero a partir de la segunda fila, escribimos
los valores de la tasa de impuesto. Por ejemplo 9,0%, 9,5%, 10,0%, etcétera.
• En E1, primera celda de la segunda columna, escribimos la fórmula =B9. Es decir,
“invocamos” la celda donde calculamos el margen.
Una vez creada esta tabla, le vamos a pedir a Excel que la complete:
■ Análisis de datos PASO A PASO
Seleccione la tabla auxiliar. Desde la celda en blanco en su esquina superior
izquierda, hacia abajo para todas las tasas y sus dos columnas.
Seleccione la ficha Datos de la cinta de opciones.
Haga un clic en el botón Análisis y si y luego en la opción Tabla de datos.
Aparecerá un cuadro con dos opciones.
Donde dice Celda de entrada columna, indique B5. Los valores de la columna
representan la tasa de impuesto y, en la planilla del ejemplo, esa tasa está en B5.
Haga un clic en Aceptar.
Figura 6. En este cuadro le indicamos a Excel
la información necesaria para completar la tabla del rango D1:E10.
En Excel 2003 y en las versiones anteriores, el cuadro de la Figura 6 aparece con
las opciones Datos/Tabla. Como sea, de esta manera Excel completará la tabla cal-
culando los valores que adoptaría la celda B9 si reemplazáramos la celda B5 con
7. OPERACIONES CON BASE DE DATOS
210 www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 210
cada uno de los valores de la primera columna de la tabla. Si ponemos el cursor
en alguno de los valores obtenidos, la barra de fórmulas mostrará una función
TABLA. Nosotros no escribimos la función ni podemos modificarla. Este coman-
do responde a la pregunta “¿qué pasaría si…?”. En este caso, ¿qué pasaría con el
margen si la tasa de impuesto fuera otra?
Figura 7. La tabla de la derecha da los distintos valores del margen de ganancia,
para distintas tasas de impuesto. Nótese la función {TABLA} en la barra de fórmulas.
Ordenar por terminación
Tengo una lista de personas, con nombre y número de documento. ¿Cómo
puedo ordenarla según el último dígito del documento?
Marcelo Maldonado (provincia de Formosa)
Se puede ordenar una lista por cualquier criterio, siempre que el dato figure en la
lista. En el caso que plantea la consulta, se necesita un rango auxiliar con el último
dígito del documento. Supongamos que la lista tiene dos columnas: Nombre en la
A y Documento en la B, con la primera fila ocupada por los títulos. Entonces, en C2,
a la derecha del primer dato, escribimos =DERECHA(B2;1). Esta fórmula, extendida
a toda la lista, extrae el primer dígito del número de documento, comenzando des-
de la derecha. O, lo que es lo mismo, extrae el último dígito. Una vez obtenido es-
te dígito en la columna C, ordenamos la lista según el contenido de esta columna.
Ordenar por terminación
211www.redusers.com
❘❘❘
Para escribir el código de macros y funciones hay que abrir el editor de Visual Basic. En Excel
2007 lo hacemos con el botón Visual Basic de la ficha Programador de la Cinta de opciones. En
las versiones anteriores, con las opciones Herramientas/Macro/Editor de Visual Basic. Y, en cual-
quier versión, con la combinación ALT+F11.
MACROS Y FUNCIONES
07_Excel revelado.qxp 12/29/09 4:25 PM Page 211
Figura 8. Las fórmulas de la columna C extraen el primer carácter
del dato de la columna B, comenzando desde la derecha. O sea, el último dígito.
Los que prefieran un tratamiento matemático pueden probar otra solución. Consi-
derando que el número de documento es un dato numérico, otra forma de obtener
el último dígito es dividiendo por 10 y quedándonos con el resto. Podemos hacer-
lo con la función =RESIDUO(B2;10). Los dos argumentos de esta función son el di-
videndo y el divisor para los cuales queremos calcular el resto.
Figura 9. Las fórmulas de la columna C calculan el resto
que se obtiene al dividir por 10 el valor de la columna B, comenzando
desde la derecha. Es otra forma de separar el último dígito.
7. OPERACIONES CON BASE DE DATOS
212 www.redusers.com
❘❘❘
Además de la función RESIDUO, otra forma de obtener el resto de la división es con la expresión =A1-
A2*ENTERO(A1/A2), donde A1 es el dividendo y A2 es el divisor. Es la fórmula que había que usar
en los primeros programas de hojas de cálculo, donde solamente había funciones muy básicas.
RESTO DE LA DIVISIÓN
07_Excel revelado.qxp 12/29/09 4:25 PM Page 212
Recuperar hipervínculo
Tengo una planilla con un listado de personas con hipervínculos que contie-
nen sus direcciones de correo electrónico, pero que muestran los nombres de las per-
sonas. ¿Cómo hago para exportar la lista a una base de datos? De todas las formas
que probé obtengo los nombres y no las direcciones, que es lo que me interesa.
Guillermo R. Pujol (Buenos Aires)
La historia de la planilla de Guillermo comienza con una serie de direcciones de
correo electrónico escritas en una columna. Excel reconoce esas direcciones y las
guarda como hipervínculos de modo que, haciendo un clic en esa celda, es decir
en el hipervínculo (Figura 10), automáticamente se abre el programa de correo
electrónico que tengamos configurado en nuestro equipo, con una ventana de
mensaje, listo para ser enviado a esa dirección.
Figura 10. La columna A contiene hipervínculos. Si hacemos un clic
sobre alguna de estas celdas se abrirá el programa de correo electrónico
con una ventana de mensaje dirigida a la dirección del hipervínculo.
Luego, se puede modificar cada hipervínculo para que muestre el nombre de la per-
sona a quien pertenece esa dirección, de la siguiente manera:
■ Modificar hipervínculo PASO A PASO
Seleccione la ficha Insertar de la Cinta de opciones.
Con la celda seleccionada, haga un clic en el botón Hipervínculo.
Donde dice Texto, escriba el nombre correspondiente.
Haga un clic en Aceptar.
Recuperar hipervínculo
213www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 213
Figura 11. En este cuadro indicamos un texto que se verá
en la celda, sin alterar el hipervínculo propiamente dicho.
En Excel 2003 y en las versiones anteriores, el cuadro de la Figura 11 aparece con las
opciones Edición/Modificar hipervínculo.
Luego de estas operaciones, cambia el aspecto de la celda pero su contenido sigue
siendo un hipervínculo: si hacemos clic en ella, se genera el mensaje como antes.
Pero en la celda vemos un nombre, lo que es más elegante.
El problema es que, si exportamos esa celda a un archivo de texto (grabando la ho-
ja como TXT o copiando y pegando los datos), lo que obtenemos es el nombre. Ne-
cesitamos alguna forma de recuperar la dirección encerrada en el hipervínculo.
Aunque no conocemos ninguna función para eso, podemos crearla. En el editor de
VBA copiamos el siguiente código:
Function Correo(x)
Correo = x.Hyperlinks(1).Address
Correo = Mid(correo, 8)
End Function
Esta función extrae de la celda la dirección del hipervínculo con la propiedad
Hyperlinks.Address. Como esta dirección queda precedida por mailto:, aplicamos la
función Mid que separa las letras del hipervínculo, a partir de la octava posición
(mailto: tiene siete caracteres). En principio, la función Mid tiene tres argumentos:
7. OPERACIONES CON BASE DE DATOS
214 www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 214
• El primero es el texto del cual vamos a extraer los caracteres.
• El segundo es la posición a partir de la cual se hace la extracción.
• El tercero es la cantidad de caracteres que se extraen.
Si se omite el último argumento (como en el caso de nuestra macro), la función ex-
trae todos los caracteres hasta el final.
Ahora podemos usar la función en la planilla como cualquier otra función de Excel.
Figura 12. Las fórmulas de la columna B extraen las direcciones de los hipervínculos
de la columna A con una función creada especialmente en el editor de Visual Basic.
Por ejemplo, si los hipervínculos están en el rango A1:A10, en B1 escribimos la fun-
ción =Correo(A1) y la extendemos a toda la lista. Ahora podemos exportar esta co-
lumna auxiliar y recuperar las direcciones.
Extraer datos
Tengo una planilla con la lista de los goleadores del fútbol argentino, desde
1931 hasta hoy. Uso una función BUSCARV para obtener el nombre del goleador para
una temporada dada, pero si en ese año hubo dos o más jugadores que comparten
el título de goleador, la función solamente me trae el primero. ¿Cómo hago para ob-
tenerlos a todos?. Muchas gracias por tu ayuda.
Roberto Padula (Buenos Aires)
No hay (todavía) una función como BUSCARV que traiga todos los datos que con-
cuerden con un determinado criterio de búsqueda. Pero, para estos casos pode-
mos usar un filtro avanzado, como veremos a continuación.
Extraer datos
215www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 215
Por ejemplo, supongamos que la tabla de goleadores (con año, nombre, equipo
y cantidad de goles) ocupa el rango A1:D150, con los títulos en la primera fila.
Necesitamos dos rangos auxiliares:
• En la celda F1 escribimos el nombre del campo que contiene el año.
• En la celda F2 escribimos el año para el cual queremos conocer el goleador (o los
goleadores). Estas dos celdas serán el rango de criterio.
• En el rango F5:H5 escribimos los nombres de los campos que nos interesa traer.
Este será el rango de salida.
Figura 13. A partir del rango F5:H5 queremos obtener
los registros de la tabla de la izquierda que corresponden al criterio
indicado en F1:F2. Es decir, que correspondan al año 1943.
Una vez preparados todos estos rangos, le pedimos a Excel que haga la búsqueda
con un filtro avanzado, siguiendo los pasos que describimos a continuación:
■ Filtro avanzado (1) PASO A PASO
Seleccione la ficha Datos de la Cinta de opciones.
A continuación, con el cursor en cualquier celda de la base de datos, haga un clic
en el botón Avanzadas.
En la casilla que dice Rango de la lista: indique el rango de la base de datos
propiamente dicha.
Donde dice Rango de criterios: indique el rango F1:F2.
Marque la opción Copiar a otro lugar.
7. OPERACIONES CON BASE DE DATOS
216 www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 216
Datos comunes
217www.redusers.com
En el casillero que dice Copiar a: indique el rango F5:H5, donde había escrito los
nombres de los campos.
Haga un clic en Aceptar.
Figura 14. Con estas opciones le pedimos a Excel que busque
nombre, equipo y cantidad de goles para el año indicado en F2.
En Excel 2003 y en las versiones anteriores, el cuadro de la Figura 14 aparece con las
opciones Datos/Filtro/Filtro avanzado.
Si todo sale bien, Excel copiará, a continuación del rango de salida, los registros que
satisfacen el criterio indicado. En este caso, nombre, equipo y cantidad de goles pa-
ra los goleadores del año indicado en la celda F2. Ciertamente, como sucede mu-
chas veces, la solución es más simple que su explicación.
Datos comunes
Si tengo dos listas de datos, ¿cómo hago para obtener una tercera lista con
los datos comunes a ambas?. Gracias por la respuesta.
Eduardo Alfonso Bermúdez Mojica (México)
Este problema se puede resolver con un filtro avanzado. Por ejemplo, suponga-
mos que la primera lista ocupa el rango A1:A10 de nuestra planilla y la segunda,
el rango C1:C10. Para que todo funcione correctamente, es preciso que ambas lis-
tas tengan el mismo título. En una celda auxiliar (por ejemplo, E1) escribimos
ese título. Ahora aplicamos el filtro avanzado.
07_Excel revelado.qxp 12/29/09 4:25 PM Page 217
Figura 15. Queremos obtener, a partir de E1, los datos comunes a estas dos listas.
■ Filtro avanzado (2) PASO A PASO
Seleccione la ficha Datos de la cinta de opciones.
Con el cursor en cualquier celda de la base de datos, haga un clic en el botón
Avanzadas. Aparecerá un cuadro con el rango de la primera lista seleccionado en
la opción Rango de la lista:.
Marque la opción Copiar a otro lugar.
Dentro de Rango de criterios: seleccione la segunda lista.
Donde dice Copiar a: seleccione la celda auxiliar donde había escrito el título.
Haga un clic en Aceptar.
Figura 16. Con estas opciones obtenemos en E1 una
lista con los datos comunes a las dos listas de la izquierda.
7. OPERACIONES CON BASE DE DATOS
218 www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 218
En Excel 2003 y en las versiones anteriores, el cuadro de la Figura 16 aparece con las
opciones Datos/Filtro/Filtro avanzado.
Si todo salió bien, los datos comunes a ambas listas de artículos aparecerán bajo la
celda auxiliar, como se ve en la Figura 17.
Figura 17. Una vez completada la extracción mediante el filtro avanzado,
obtenemos en E1 la lista de datos comunes a las dos listas de la izquierda.
Extraer lista
Uso una planilla Excel para tomar lista en mi curso. En la fila de cada alumno
pongo una P (presente) o una A (ausente) según corresponda. ¿Cómo hago para ob-
tener una lista con los ausentes, para luego imprimirla?
Oscar Osvaldo Guzmán (Pampa del Infierno, provincia del Chaco)
La forma más directa de resolver el problema que plantea Oscar es con un auto-
filtro. Recordemos que los autofiltros se activan poniendo el cursor en cualquier
celda de la lista y luego haciendo un clic en el botón Filtro de la ficha Datos. En
las versiones de Excel anteriores a la 2007 se activan con las opciones Datos/
Filtro/Autofiltro. Luego de estas opciones aparecerá una flechita junto a cada
Extraer lista
219www.redusers.com
❘❘❘
Una base de datos de Excel puede tener tantos registros como filas tiene una planilla (menos
una: hay que contar la fila de títulos). En Excel 2007 eso es más de un millón de registros. En Ex-
cel 2003 y en las versiones anteriores, el límite es 65535. Sin embargo, la cantidad de datos pue-
de estar limitada por la memoria del equipo.
CANTIDAD DE REGISTROS
07_Excel revelado.qxp 12/29/09 4:25 PM Page 219
columna. Esas flechitas son, precisamente, los autofiltros. Si hacemos un clic en
el autofiltro correspondiente a la columna donde están las letras A y P, aparecerá
un cuadro con diversas opciones entre las que se encontrarán los distintos valores
de esta columna. Marcando la opción correspondiente a la A (y desmarcando las
demás), la lista se contraerá mostrando solamente las alumnos que tengan una A
en la columna indicada (Figura 18). Finalmente, podemos imprimir la lista nor-
malmente, como quiere el lector.
Figura 18. Marcando la opción A, y un clic en Aceptar,
la lista mostrará solamente los alumnos ausentes. Luego podemos hacer
clic en la opción Todas para ver nuevamente la lista completa.
En Excel 2003 y en las versiones anteriores, los autofiltros funcionan en forma li-
geramente diferente. Al hacer clic en la flechita, se descuelga una lista con los dis-
tintos valores de la columna. Haciendo un clic en el valor deseado, la lista original
se contraerá mostrando solamente los registros que tienen este valor.
7. OPERACIONES CON BASE DE DATOS
220 www.redusers.com
❴❵
En las primeras versiones de Excel, a los autofiltros se los llamaba filtros automáticos. Las
versiones originales (para DOS) de Lotus 1-2-3, Multiplán y Quattro Pro no tenían una opción
equivalente y solamente admitían el uso de filtros avanzados. Por eso no se acostumbraba ma-
nejar bases de datos con planillas de cálculo.
AUTOFILTROS
07_Excel revelado.qxp 12/29/09 4:25 PM Page 220
Figura 19. Con un clic en la A, la lista mostrará solamente
los alumnos ausentes. Luego podemos hacer clic en la opción Todas para
ver nuevamente la lista completa. Esta imagen corresponde a Excel XP.
Luego de trabajar con la base de datos, si queremos recuperar la lista completa, ha-
cemos un clic en el botón Borrar de la ficha Datos. En Excel 2003 y en las versiones
anteriores, tomamos las opciones Datos/Filtro/Mostrar todo.
Problema con autofiltro
Tengo un problema con los autofiltros: no importa qué criterio aplico, pero siem-
pre me deja afuera al último registro, cumpla o no con el criterio. ¿Podés ayudarme?
Ignacio Zavalía (Azul, provincia de Buenos Aires)
Este tipo de problema puede aparecer cuando se agregan registros luego de activar
un autofiltro: Excel no reconoce los nuevos registros y no los toma en cuenta cuan-
do aplica un criterio de filtrado. Una forma de resolverlo es cancelar los autofiltros
y volverlos a activar. Sin embargo, esto no resolvió el problema de Ignacio.
Figura 20. La función SUBTOTALES calcula el importe total para
los registros visibles tras aplicar un autofiltro. En este caso, los de la región Sur.
Problema con autofiltro
221www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 221
Analizando la planilla encontramos el error: en una de las columnas de la tabla se
usaba la función SUBTOTALES para calcular la suma de los valores de las tres colum-
nas anteriores. Esta función realiza diversas operaciones de sumarización (suma,
cuenta, promedia, etcétera) dentro de bases filtradas. Por alguna razón, la función
SUBTOTALES confunde al autofiltro en la forma que nos cuenta Ignacio.
Cualquiera sea el cálculo que queramos realizar, lo podemos hacer con otra función
menos conflictiva que la que acabamos de utilizar, especialmente a la hora de usar
autofiltros. En el caso de Ignacio, podemos usar la función SUMA.
Filtros múltiples
¿Cómo hago para filtrar varias tablas en forma independiente? Quiero aplicar
un autofiltro en una segunda tabla sin perder el de la anterior. Aclaro por las dudas
que todas las tablas están en una misma hoja.
Ricardo Martínez (provincia de Tucumán)
Lo sentimos pero, hasta donde sabemos (pero no lo sabemos todo) no se pueden
manejar bases de datos independientes en una misma hoja: cuando pretendemos ac-
tivar los autofiltros en una segunda tabla, el resultado es desactivar el de la anterior.
Figura 21. Tenemos autofiltros activados en la tabla de la izquierda. Si pretendemos
activarlos también en una segunda tabla en la misma hoja, se desactivan los de la primera.
Lamentablemente, esta situación se mantiene en Excel 2007, donde los autofiltros
se activan con el botón Filtros (el embudo) dentro de la ficha Datos de la Cinta de
opciones. Esperamos que en la futura versión de Excel aparezca una solución al pro-
blema que plantea Ricardo, y que muchos estamos esperando.
7. OPERACIONES CON BASE DE DATOS
222 www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 222
Filtrar varias hojas
Tengo una planilla con tres hojas. En cada una hay una lista de personas con
distintos datos. Quiero aplicar un filtro de modo de ver los datos de la misma perso-
na en todas las hojas. Por ejemplo, si en la Hoja1 aplico un filtro para ver los datos de
Pérez, quiero que el filtro se aplique en forma automática en las otras dos.
Eduardo Berguño (Buenos Aires)
Podemos hacer esto con una macro. Supongamos que las listas ocupan el rango
A1:C10 en las tres hojas, con los apellidos en la columna A.
Figura 22. En este libro tenemos tres bases de datos en otras
tantas hojas. Queremos establecer un filtro en la primera y que este
criterio se aplique automáticamente a todas las demás.
Activamos los filtros en todas las hojas con el botón Filtro de la ficha Datos de la
cinta de opciones (en Excel 2007) o con las opciones Datos/Filtro/Autofiltro (en
las versiones anteriores). Luego de aplicar un criterio de filtrado en la primera
hoja, ejecutamos la siguiente macro:
Sub Filtros()
criterio = Range(“A1”).End(xlDown).Value
For i = 2 To 3
Sheets(i).Select
Filtrar varias hojas
223www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 223
Selection.AutoFilter Field:=1, Criteria1:= criterio
Next
End Sub
La instrucción Range(“A1”).End(xlDown).Value equivale a comenzar en la celda
A1 y, a partir de ahí, bajar hasta la última celda ocupada en esa columna. Este
valor es el que corresponde al criterio de filtrado. La macro lo guarda en una va-
riable llamada criterio. Luego recorre las demás hojas del libro y aplica el mismo
criterio en la columna respectiva de cada hoja. Para que todo funcione correcta-
mente, la macro debe ejecutarse cada vez que cambiamos el criterio de filtrado.
Sin embargo, no funciona con criterios que no son “de igualdad”. Por ejemplo:
“apellido comienza con C” o “sueldo mayor que 1000”.
Datos desde la Web
Estoy armando una planilla para hacer presupuestos de armado de PC. Co-
mo algunos insumos tienen precios en dólares y otros en pesos, tengo que hacer la
conversión antes de calcular el precio total. ¿Hay alguna forma de tomar la cotización
del dólar en forma automática desde un sitio web sin tener que escribirla cada vez?
Manuel Fernández
Este problema puede resolverse con una consulta web, que son rangos conectados
a una página web y que pueden actualizarse automáticamente.
Figura 23. Los precios en pesos de la columna
C se calculan a partir de los precios en dólares
de la columna B y la cotización de la celda C3.
7. OPERACIONES CON BASE DE DATOS
224 www.redusers.com
07_Excel revelado.qxp 12/29/09 4:25 PM Page 224
■ Consulta web PASO A PASO
Seleccione la ficha Datos de la cinta de opciones.
Haga un clic en el botón Obtener datos externos y luego en Desde web. Aparecerá
un cuadro donde deberá indicar la dirección de la página donde tomará la
cotización. Por ejemplo, www.cotizacion-dolar.com.ar.
Haga un clic en el botón Ir. Aparecerá la página dentro del cuadro (que es como un
pequeño navegador), con sus distintas regiones señaladas con una flecha amarilla.
Seleccione la flecha correspondiente a la región donde está el dato buscado. En
este caso, la cotización.
Haga clic en Importar. Excel preguntará dónde quiere pegar los datos importados.
Indique una celda adecuada y haga un clic en Aceptar.
Figura 24. Este cuadro funciona como un navegador dentro de Excel. Podemos
seleccionar cualquier tabla dentro de la página indicada y pegarla en la planilla.
Datos desde la Web
225www.redusers.com
❘❘❘
Si no sabemos cuántas hojas tiene un libro, lo podemos averiguar fácilmente a través de una
macro con la expresión Sheets.Count. En general, la propiedad Count, aplicada a un conjun-
to, da la cantidad de elementos en ese conjunto. Por ejemplo, Workbooks.Count dice cuántos
libros hay abiertos en este momento.
CANTIDAD DE HOJAS
07_Excel revelado.qxp 12/29/09 4:25 PM Page 225
En Excel 2003 y en las versiones anteriores, el cuadro de la Figura 24 aparece con las
opciones Datos/Obtener datos externos/Nueva consulta web.
La tabla seleccionada en el Paso 4 se pegará en la dirección indicada en el último pa-
so. En nuestro caso, indicamos A1, por lo que la cotización del dólar quedó pegada
en C3. Las fórmulas de la planilla deberán tomar la cotización de esta celda. Por
ejemplo, un precio expresado en dólares en B8 se pasa a pesos con =B8*C3.
La próxima vez que queramos leer la cotización del dólar no necesitamos repetir to-
do el proceso. Simplemente ponemos el cursor en A1 (o la dirección que hayamos
indicado) y hacemos un clic en el botón Actualizar todo de la ficha Datos. En las ver-
siones anteriores de Excel usamos las opciones Datos/Actualizar datos.
Figura 25. Con esta opción actualizamos los datos tomados mediante la consulta
web. Tenemos que estar conectados a Internet para que la actualización sea posible.
7. OPERACIONES CON BASE DE DATOS
226 www.redusers.com
… RESUMEN
En los primeros programas para planillas de cálculo, las opciones para manejo de bases de
datos eran muy básicas y engorrosas de usar. Actualmente, Excel incorpora comandos y
opciones que lo hacen una herramienta muy poderosa para este tipo de operaciones. La
complejidad de los problemas resueltos en este capítulo es una muestra de ello.
07_Excel revelado.qxp 12/29/09 4:25 PM Page 226
Macros
Las macros en Excel 2007 228
Macro a plazo fijo 236
Barra de progreso 245
Validar respuestas 253
Rango variable 261
Generador de exámenes 265
Argumentos opcionales 271
Elegir imágenes 278
Capítulo 8
Muchas veces queremos hacer algo
y no encontramos el comando adecuado,
tal vez sea hora de diseñar nuestros
propios comandos. Estos se llaman
macros y crearlos requiere conocer
muy bien Excel y tener algunas nociones
básicas de programación. Cuanto
más sepamos de ambos temas,
más poderosas, útiles e interesantes
serán las macros que podamos crear.
En este capítulo tenemos de todo: macros
muy simples “que se explican solas”
y macros más complejas y avanzadas.
EXCEL REVELADO
SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 227
LAS MACROS EN EXCEL 2007
Como en otros temas, Excel 2007 introdujo algunas modificaciones en el manejo
de macros. En primer lugar, sus comandos y opciones asociados se encuentran en
la ficha Programador de la Cinta de opciones. Esta ficha no aparece inicialmente en
la instalación estándar de Excel y hay que activarla:
■ Obtener la ficha Programador PASO A PASO
Haga un clic en el Botón de Office y luego en Opciones de Excel.
Sobre el panel de la izquierda, seleccione la categoría Más frecuentes.
Dentro de Opciones principales para trabajar en Excel marque la opción Mostrar
ficha Programador en la cinta de opciones.
Haga un clic en Aceptar.
Figura 1. Con esta opción activamos la ficha Programador,
que contiene los comandos necesarios para trabajar con macros.
8. MACROS
228 www.redusers.com
❘❘❘
Una macro es como un súper comando, una instrucción que realiza, en una única acción, un
conjunto de operaciones que, normalmente, requiere de varios pasos, comandos y opciones de
Excel. De esta manera, en el momento de aplicar la macro, se ejecutarán todas las operacio-
nes asignadas a ella. En este capítulo veremos unos cuantos y variados ejemplos.
MACROS
08_Excel revelado.qxp 12/29/09 4:26 PM Page 228
Luego de completar esta operación aparecerá la ficha Programador en la Cinta de
opciones (Figura 2). La ficha seguirá apareciendo cada vez que iniciemos Excel, no
hay que activarla en cada nueva sesión.
Figura 2. Ésta es la ficha Programador. El primer botón abre
el editor de Visual Basic que es donde se escribe el código de las macros.
Independientemente de la versión de Excel que estemos usando, valen los mismos
atajos de teclado para trabajar con macros:
• Con la combinación ALT+F11 abrimos el editor de Visual Basic.
• Con la combinación ALT+F8 aparece el cuadro con las macros actualmente dispo-
nibles en nuestra planilla. Si no tenemos ninguna éste aparecerá vacío.
Otra diferencia importante que establece Excel 2007 en el tema macros es que, si
no indicamos lo contrario, los libros que contienen macros se guardan con un for-
mato diferente y no son compatibles con las versiones anteriores de Excel.
Ahora sí, pasemos a las preguntas de los lectores.
Botones de macro
Hice un sistemita con varias macros que ejecuto con botones tomados de la
barra de herramientas Formularios. ¿Es posible cambiar el color de esos botones? Pu-
de cambiar el texto, pero no el color.
Miguel Ángel Moreiras (Choele Choel, provincia de Río Negro)
Antes de intentar la respuesta que nos pide Miguel Ángel, es necesario repasar al-
gunos conceptos. Para empezar, hay varias formas de ejecutar una macro:
Botones de macro
229www.redusers.com
❘❘❘
El grabador de macros funciona como un asistente que escribe la macro por nosotros. Podemos
usarlo para averiguar el código correspondiente a una determinada operación y luego depurar
el código obtenido eliminando las instrucciones accesorias que pudieran haber aparecido. Ver la
pregunta Encabezado variable en el Capítulo 2.
EL GRABADOR COMO ASISTENTE
08_Excel revelado.qxp 12/29/09 4:26 PM Page 229
• Con un clic en el botón Macros de la ficha Programador aparece el cuadro con la
lista de macros disponibles. Seleccionamos la macro que queremos ejecutar y lue-
go hacemos un clic en Ejecutar.
• Mediante un atajo asignado por la opción Opciones, dentro del cuadro anterior.
• Con un clic en un botón insertado en la planilla.
Figura 3. Aquí podemos asignarle un atajo
de teclado a una macro para ejecutarla más rápidamente.
En Excel 2003 y en las versiones anteriores, el cuadro con la lista de macros dispo-
nibles aparece con las opciones Herramientas/Macro/Macros.
Por muchas razones, la opción más elegante es usar un botón insertado en la hoja.
Por ejemplo, no necesitamos recordar el nombre de la macro ni el atajo de teclado
que le hayamos asignado. Para insertar el botón y asignarle la macro:
■ Insertar un botón en la hoja PASO A PASO
Dentro de la ficha Programador, realice un clic en Insertar.
Haga luego un clic en Botón. Está en la barra de Controles de formulario. El
puntero se convertirá en una cruz.
Arrastrando el mouse, dibuje el botón en la hoja.
Al soltar el botón, aparecerá el cuadro Asignar macro con la lista de macros
disponibles en nuestra planilla.
8. MACROS
230 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 230
Seleccione la macro para asignar.
Haga un clic en Aceptar.
Figura 4. Con esta opción dibujamos un botón en la hoja.
Al soltar el botón del mouse, un cuadro nos invitará a asignarle una macro.
Para insertar el botón que nos permite ejecutar nuestra macro en Excel 2003 y en
las versiones anteriores, necesitamos activar la barra de herramientas Formularios con
las opciones Ver/Barras de herramientas/Formularios.
Si luego queremos asignar una macro distinta al mismo botón que creamos en el
paso anterior, procedemos de esta manera:
■ Asignar una macro a un botón PASO A PASO
Haga un clic sobre el botón, con el botón derecho del mouse.
Tome la opción Asignar macro.
Seleccione la macro para asignar.
Haga un clic en Aceptar.
Ahora vamos a la pregunta del lector. A estos botones se les puede cambiar el color del
texto, pero no el del fondo. Sin embargo, esto no es necesariamente una limitación ya
que cualquier objeto puede ser usado como botón de macro. Por ejemplo un cuadro
de texto, una Autoforma o una ilustración. Una vez insertado el objeto en la planilla
hacemos un clic derecho sobre él y le asignamos la macro con la opción Asignar macro.
Botones de macro
231www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 231
Figura 5. Con esta opción podemos asignarle una macro
a un dibujo o a otro tipo de objeto para ejecutarla con un clic.
Eliminar macros
Reemplacé las macros de una planilla por funciones más complejas, pero más
rápidas. Ahora quiero eliminar las macros para que no aparezca el mensaje “este libro
tiene macros” cada vez que abro la planilla. Probé con lo obvio (la opción Eliminar
dentro de Herramientas/Macro), pero no pude. ¿Cómo tengo que hacer?
Juan Davico (Buenos Aires)
Efectivamente, cuando estamos abriendo un libro de Excel con macros, puede apa-
recer un cuadro que advierte al lector que estos libros pueden portar virus.
Figura 6. Estamos abriendo una planilla con macros. Excel nos pregunta
si queremos habilitar esas macros, por el riesgo de que porten algún virus.
En principio, el procedimiento para eliminar una macro de una planilla es el que
intentó el lector: seleccionar la macro dentro del cuadro de macros disponibles y
luego hacer un clic en el botón Eliminar.
8. MACROS
232 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 232
Figura 7. Con un clic en el botón Eliminar
eliminamos la macro seleccionada en este cuadro.
En Excel 2007 el cuadro aparece con un clic en el botón Macros de la ficha
Programador. En las versiones anteriores, con las opciones Herramientas/
Macro/Macros. Y en cualquier versión, con la combinación ALT+F8.
Con esto eliminamos la macro seleccionada. Pero, aunque hagamos lo mismo con
todas las macros de la lista, igualmente aparecerá el mensaje “este archivo tiene ma-
cros” al abrir la planilla. Ocurre que las macros estaban contenidas en un módulo.
Tenemos que eliminar ese módulo para no dejar rastros de las macros:
■ Eliminar el módulo y sus macros PASO A PASO
Haga un clic en el botón Visual Basic, dentro de la ficha Programador. Se abrirá
el editor de macros.
Dentro del editor, tome las opciones Ver/Explorador de proyectos. Aparecerá un
esquema similar al del Explorador de Windows.
En este esquema, busque y seleccione Módulo1.
Tome las opciones Archivo/Quitar Módulo1.
Conteste que No quiere exportar el módulo.
Cierre el editor y vuelva a Excel.
Eliminar macros
233www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 233
Figura 8. El código de las macros se escribe
en un módulo. Eliminándolo, quitamos las macros.
Ahora sí, la planilla está libre de macros.
Recordemos que en las versiones anteriores de Excel, el editor de macros se abre
con las opciones Herramientas/Macro/Editor de Visual Basic. Y, en cualquier ver-
sión, con la combinación ALT+F11.
Macros para todos
Tengo un archivo con una macro que me pinta ciertas celdas con un color que
depende de su valor. Yo querría poder ejecutar esa macro sobre otros archivos con
el mismo formato y para el mismo trabajo. O, en general, que una macro esté dispo-
nible para todos mis archivos.
Pedro Serruto (Hipólito Yrigoyen, provincia de Salta)
En principio, se puede ejecutar una macro sobre cualquier archivo, siempre que
esté abierto el libro que la contiene. Uno podría guardar sus macros en un libro
maestro y abrirlo en cada sesión de Excel.
8. MACROS
234 www.redusers.com
❘❘❘
Hay muchas maneras de ejecutar una macro: mediante el menú Macros, asignándole un teclazo
o con un botón insertado en la hoja. La opción más adecuada dependerá de cada caso particu-
lar, aunque la más elegante y comúnmente usada es mediante un botón, tal como se explica en
la consulta Botones de macro, en este mismo capítulo.
EJECUTAR UNA MACRO
08_Excel revelado.qxp 12/29/09 4:26 PM Page 234
Podemos hacer que el libro se abra en forma automática si lo guardamos en una car-
peta exclusiva para él, y luego activamos cierta opción:
■ Apertura automática PASO A PASO
Haga un clic en el Botón de Office y luego en Opciones de Excel.
Seleccione la categoría Avanzadas.
Dentro del grupo Avanzadas, en el cuadro Al inicio, abrir todos los archivos en:
escriba la ruta de la carpeta.
Haga un clic en Aceptar.
Cabe recordar que en las versiones anteriores de Excel la ruta de esa carpeta se es-
cribe en la opción Al inicio, abrir todos los archivos en:, dentro de la ficha General,
correspondiente al menú Herramientas/Opciones.
Figura 9. Cada vez que abramos Excel, se cargarán automáticamente los archivos
presentes en la carpeta indicada en el cuadro Al inicio, abrir todos los archivos en:.
Otra posibilidad es guardar las macros en un libro especial llamado Personal. Este
libro se genera automáticamente al grabar una macro, si lo indicamos conveniente-
mente, esto es, cuando comenzamos la grabación (con un clic en el botón Grabar
macro en Excel 2007 o con las opciones Herramientas/Macro/Grabar nueva macro en
las versiones anteriores) indicamos Libro de macros personal dentro de la casilla
Guardar macro en:. Luego continuamos con el proceso de grabación. Esto genera-
rá el libro Personal.xls que quedará guardado en una carpeta XLStart (o InicioXL,
según la configuración de Excel que tengamos). El libro se abrirá automáticamente
Macros para todos
235www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 235
cada vez que iniciemos Excel y permanecerá oculto. Siempre que grabemos o es-
cribamos una nueva macro, debemos hacerlo en este libro.
Posición en macros
Cuando escribo una macro indico la posición del cursor con instrucciones del
tipo Range(“A1”).Select. ¿Cómo establezco que el cursor se debe mover a la celda
que está debajo de la actual, arriba o a la derecha?
Ricardo Julián Ick (Rosario, provincia de Santa Fe)
La posición actual del cursor se indica con la instrucción ActiveCell. A partir de es-
ta posición es posible mover el cursor con la propiedad Offset. Por ejemplo, para
bajar el cursor dos lugares la instrucción es ActiveCell.Offset(2, 0).Select.
Figura 10. Con la propiedad Offset indicamos la posición de una celda respecto de otra.
La propiedad Offset tiene dos argumentos entre los paréntesis:
• El primero es el movimiento vertical. Positivo hacia abajo y negativo hacia arriba.
• El segundo es el movimiento horizontal, por columnas. En este caso, positivo ha-
cia la derecha y negativo hacia la izquierda.
Macro a plazo fijo
¿Cómo sería una macro que se active en una fecha determinada? Por ejem-
plo, que te salude el día de tu cumpleaños.
Fernando A. Mallea (provincia de San Juan)
En primer lugar, una macro no puede hacer nada mientras no se abra la planilla
que la contenga. Entonces, deberíamos tener un libro que se abra todos los días y
que haga lo que tenga que hacer en la fecha adecuada.
8. MACROS
236 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 236
Figura 11. Este cuadro lo podemos hacer aparecer al ejecutar la instrucción MsgBox.
Por ejemplo, la siguiente macro me saluda el día de mi cumpleaños:
Sub Auto_Open ()
cumple = DateSerial(1958, 12, 27)
If Day(cumple) = Day(Date) Then
If Month(cumple) = Month(Date) Then
MsgBox (“Feliz cumpleaños”)
End If
End If
End Sub
Por tener el nombre especial Auto_open, esta macro se ejecuta automáticamente al
abrir el archivo que la contiene. Lo que hace es comparar el mes y el día de la fecha
de nacimiento, con el mes y el día de hoy (obtenido con la función Date). Si se sa-
tisfacen ambas comparaciones (mismo día y mismo mes) muestra un mensaje de
cumpleaños con la instrucción MsgBox.
Alarmas
Guardo información de una cuenta corriente en una planilla que abro y ac-
tualizo todos los días. Necesito que todos los días, a las doce del mediodía, me avise
si el valor de cierta celda es negativo. Traté de hacerlo con funciones lógicas, pero no
puedo lograr que sea automático. ¿Es posible esto?
Juan Carlos Campoverde Seminario (Santa Cruz, Bolivia)
Una forma de resolver este problema consiste en el uso de tres macros automáticas:
Sub Auto_Open ()
Application.OnTime TimeValue(“12:00”), “Alarma”
Alarmas
237www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 237
End Sub
Sub Alarma()
Workbooks(“CuentaCorriente.xls”).Activate
If [A1]< 0 Then
MsgBox(“El saldo es negativo”)
End If
End Sub
Sub Auto_Close()
Application.OnTime TimeValue(“12:00”), _
“Alarma”, ,False
End Sub
La primera macro se ejecuta automáticamente al abrirse el archivo. Esta macro
“no hace nada”, solamente programa la ejecución de la segunda macro para las
doce del mediodía. Cuando son las doce, entonces, se ejecuta la macro Alarma
que selecciona el archivo de cuentas corrientes (puede ser que, mientras tanto, se
hayan abierto otros archivos y que el de cuentas corrientes no sea el archivo ac-
tual). Una vez seleccionado el archivo, controla el valor de la celda A1. Si es me-
nor que 0, muestra el mensaje de alarma.
Figura 12. La instrucción OnTime establece la hora a la que se ejecutará otra macro.
La programación de la alarma debe cancelarse si el archivo de cuentas corrientes no
está abierto. Por eso la tercera macro, se ejecuta automáticamente al cerrar el archi-
vo y cancela la programación de la alarma para las doce del mediodía.
En este sistema usamos tres tipos de macros automáticas:
8. MACROS
238 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 238
• En primer lugar, la macro llamada Auto_Open, que se ejecuta automáticamen-
te al abrirse el archivo que la contiene.
• La macro llamada Auto_Close, que se ejecuta automáticamente al cerrar el archivo.
• Una macro “a plazo fijo” que se ejecuta al cumplirse el tiempo programado por
otra macro con una instrucción OnTime.
La instrucción OnTime tiene de dos a cuatro argumentos:
• El primero es la hora a la que se ejecutará la otra macro.
• El segundo es el nombre de esa otra macro.
• El tercero es la hora límite hasta la que rige la programación. Si se omite, se su-
pone que la programación es permanente.
• El cuarto es un valor lógico que vale True (verdadero) si se está programando una
nueva macro y False (falso) si se está cancelando una programación anterior.
Si omitimos el cuarto argumento se supone que vale True. En nuestra macro Auto_
Close se omite el tercer argumento (no hay hora límite), pero se mantiene su lugar (con
un espacio entre comas) para que se entienda la existencia del cuarto argumento.
Señalar fila y columna
¿Hay alguna forma de señalar con un color la fila y la columna correspon-
dientes a la celda actual? Es muy útil para saber bien dónde estoy parado cuando me
muevo por una planilla muy grande.
Eduardo D. Rodríguez
Este problema se puede resolver con una macro automática especial:
Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = 0
ActiveCell.EntireRow.Interior.ColorIndex = 15
Señalar fila y columna
239www.redusers.com
❘❘❘
Además de los niveles de protección que ofrece Excel (proteger un rango, una hoja o un libro)
existe la posibilidad de proteger el código de la macro para que no pueda verse ni modificarse.
Esta protección se aplica desde el editor de Visual Basic (dentro de la ficha Programador, botón
Visual Basic) con las opciones Herramientas/Propiedades de VBA Project.
PROTEGER MACROS
08_Excel revelado.qxp 12/29/09 4:26 PM Page 239
8. MACROS
240 www.redusers.com
ActiveCell.EntireColumn.Interior.ColorIndex = 15
End Sub
Por su nombre especial, esta macro se ejecuta (y reejecuta) cada vez que cambia la
posición del cursor. En cada ejecución pinta de gris la fila y la columna correspon-
dientes a la celda actualmente seleccionada.
El código se escribe en una ventana especial:
■ Macro automática PASO A PASO
Haga un clic en el botón Visual Basic, dentro de la ficha Programador.
Una vez dentro del editor, tome las opciones Ver/Explorador de proyectos. Debe
aparecer una estructura similar a la del Explorador de archivos.
En esta estructura haga un doble clic sobre la hoja donde desea señalar fila y
columna. Se abrirá una ventana de texto con dos listas desplegables.
En la lista de la izquierda, seleccione Worksheet.
En la de la derecha, seleccione SelectionChange.
Complete el código de la macro.
Cierre el editor y vuelva a Excel.
Figura 13. En esta lista desplegable indicamos
el evento que disparará la ejecución de la macro.
08_Excel revelado.qxp 12/29/09 4:26 PM Page 240
No nos olvidemos que en Excel 2003 y en versiones anteriores, abrimos el editor
con las opciones Herramientas/Macro/Editor de Visual Basic.
Por tener el nombre especial Worksheet_SelectionChange, esta macro se ejecuta ca-
da vez que se mueve el cursor. Lo que hace es eliminar cualquier color que pudiera
haber en todas las celdas de la hoja y, a continuación, pintar de gris la columna y la
fila correspondientes a la posición actual. Un problema con esta macro es que no
podemos aplicar colores sobre la hoja: la macro los va a quitar cada vez que mova-
mos el cursor. Y, en el caso de planillas grandes, el aplicar y eliminar colores conti-
nuamente puede hacer que la navegación se vuelva muy lenta.
Hora de actualización
Tengo una hoja de Excel vinculada a una base de datos de Access. La base
es actualizada cada 10 ó 20 minutos por otro usuario. Necesitaría que la hoja de Ex-
cel me indicara cuándo fue la última actualización que se realizó.
Luis González (Cipoletti, provincia de Río Negro)
La forma de resolver esto parecería ser una macro automática que se ejecute cada
vez que se modifica la hoja. La macro es así:
Private Sub Worksheet_Change(ByVal Target As Range)
[A1] = Now
End Sub
Para crear esta macro hay que dar algunas vueltas:
■ Macro automática PASO A PASO
Haga un clic en el botón Visual Basic, dentro de la ficha Programador.
Una vez dentro del editor, tome las opciones Ver/Explorador de proyectos. Debe
aparecer una estructura similar a la del Explorador de archivos.
Seleccione la rama correspondiente a la hoja que se actualiza.
Tome las opciones Ver código. Esto abre una ventana de texto donde debe
escribir el código de la macro.
Cierre el editor y vuelva a Excel.
Hora de actualización
241www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 241
Por su nombre especial, esta macro se ejecutará automáticamente cada vez que cambia
algún dato en la hoja. Al ejecutarse, se escribe la fecha y hora actuales en la celda A1.
La apertura y cierre de la macro (Sub… End Sub) pueden obtenerse automáticamente
actuando desde dos listas desplegables que se encuentran en la parte superior de la ven-
tana de código. Seleccionando la opción Worksheet en la lista de la izquierda, la de la
derecha ofrece los distintos eventos que dispararán la ejecución de una macro.
Figura 14. En la ventana de código aparece una lista
de eventos que dispararán la ejecución de una macro automática.
De la lista de eventos debe seleccionar Worksheet_Change para obtener el comienzo
(Sub) y fin (End Sub) del código de la macro. El resto lo completamos a mano.
Macros sí o sí
Hice una planilla que tiene macros. Cuando el usuario la abre, puede elegir no
habilitarlas y hacer cambios en la planilla, que no quiero que haga. Yo quiero que, si
elige no habilitar las macros, directamente no pueda usar la planilla.
Gabriel Goldstein (Buenos Aires)
Una forma de resolver este problema es establecer algún tipo de protección que sea
removida automáticamente por una macro: si el usuario no habilita las macros, el
archivo permanecerá protegido e inutilizable. Por ejemplo:
Sub Auto_Open()
ActiveWorkbook.Unprotect “clave”
Sheets(1).Visible = True
End Sub
8. MACROS
242 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 242
Por tener el nombre especial Auto_Open, esta macro se ejecutará automáticamente al
abrir el archivo. Entonces, desprotegerá el libro y hará visible la primera hoja. Si el
usuario no habilita las macros, el libro permanecerá protegido y no podrá hacer vi-
sible la primera hoja (que suponemos que es la hoja principal). Tampoco podrá des-
proteger el libro a mano si desconoce la contraseña, que en este ejemplo es clave.
Figura 15. Pretendemos escribir datos en una hoja protegida: Excel no lo permite.
Para que este método funcione, el usuario debe encontrar el archivo protegido con
la primera hoja oculta. Si la macro Auto_Open desprotege el libro y hace visible la
hoja, otra macro deberá volver las cosas a su estado inicial cuando se cierra el libro.
Esta macro sería como la que escribimos a continuación:
Sub Auto_Close ()
Sheets(1).Visible = False
ActiveWorkbook.Protect “clave”
ActiveWorkbook.Save
End Sub
Esta macro se ejecuta automáticamente al cerrar el libro y hace tres cosas:
• Oculta la hoja de trabajo.
• Protege el libro con una contraseña.
• Graba el archivo.
Macros sí o sí
243www.redusers.com
❴❵
En las primeras hojas de cálculo, el código de las macros consistía en la secuencia de atajos de
teclado que realizaba determinada operación. Por ejemplo, la macro /HCF20~ le daba un ancho
de veinte espacios a la columna actual: la barra llamaba al menú, la H tomaba la opción Hoja y
así sucesivamente. El signo ~ representaba la tecla ENTER.
ANTIGUAS MACROS
08_Excel revelado.qxp 12/29/09 4:26 PM Page 243
Se puede perfeccionar el sistema dejando a la vista en el libro una hoja que indique
que deben habilitarse las macros si no se lo ha hecho.
Contador de aperturas
Quiero saber si se puede poner un contador en una hoja de cálculo para sa-
ber cuántas veces se usó el archivo. Es decir, que se incremente el contador cada vez
que abro el archivo .XLS. Espero que me puedas ayudar.
Gustavo Sasso
Este problema puede resolverse con una celda auxiliar (el contador) y una macro
que se ejecute automáticamente al abrir el archivo e incremente el contador:
Sub Auto_Close ()
[A1] = [A1] + 1
ActiveWorkbook.Save
End Sub
Aquí estamos suponiendo que el contador es la celda A1. Cada vez que se abre el li-
bro, la macro le suma una unidad a esta celda y graba inmediatamente el archivo pa-
ra preservar el nuevo estado del contador. Para mayor seguridad, el contador puede
estar en una celda lejos de la zona de trabajo o, mejor aún, en una hoja oculta. No
hay problema en modificar una celda en una hoja oculta desde una macro.
Figura 16. Con esta opción ocultamos la hoja actual. Si no la hacemos visible
no podremos trabajar con ella. Pero una macro sí podrá modificar el contenido de sus celdas.
8. MACROS
244 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 244
Barra de progreso
Quiero saber cómo se hace para que una macro muestre una barra de pro-
greso y así saber cuánto falta para terminar su trabajo. Traté de hacerlo con un for-
mulario, pero no logré que funcionara.
Miguel Ángel Moreiras (Choele Choel, provincia de Río Negro)
La barra de progreso es esa serie de cuadraditos azules que aparecen al pie de Excel
(y de otros programas) mientras se está llevando a cabo una tarea prolongada. Por
ejemplo, mientras se graba en un disquete una planilla relativamente pesada.
Figura 17. Estos cuadraditos señalan el avance
de una tarea dentro de Excel. En este caso, el guardado de un archivo.
La forma estándar de simular esta barra en una macro consiste, básicamente, en di-
bujar un rectángulo alargado que va creciendo con cada paso de la macro. También
hay una opción a través del uso de formularios, pero todo esto es muy poco reco-
mendable. Cualquier macro cuya ejecución sea suficientemente prolongada como pa-
ra merecer una barra de progreso no debe retardarse con instrucciones adicionales.
Sugerimos, en cambio, aprovechar la barra de estado de Excel para mostrar el avan-
ce de la macro mediante un porcentaje. Por ejemplo, pruébese la siguiente macro:
Sub progreso()
For i = 1 To 500
Cells(i, 1) = i
Cells(i, 2) = i * i
Cells(i, 3) = Sqr(i)
Application.StatusBar = “Progreso: “ + _
Barra de progreso
245www.redusers.com
❘❘❘
El código de una macro se escribe en el editor de Visual Basic como cuando se trabaja en un
procesador de textos. Podemos usar las combinaciones CONTROL+X (Cortar), CONTROL+C
(Copiar) y CONTROL+V (Pegar) para mover o copiar texto de un punto a otro; y borrar con las
teclas RETROCESO y SUPRIMIR.
MODIFICAR EL CÓDIGO
08_Excel revelado.qxp 12/29/09 4:26 PM Page 245
Format(i / 500, “0.00%”)
Next
Application.StatusBar = False
End Sub
Esta macro arma una tabla de cuadrados y raíces. No importa tanto lo que la ma-
cro hace, sino que su ejecución lleva quinientos pasos: las quinientas vueltas del
ciclo For... Next. En cada vuelta, en la barra de estado aparece un mensaje con la
palabra Progreso acompañado del porcentaje de avance, calculado como la can-
tidad de vueltas respecto del total.
Figura 18. La barra de estado de Excel muestra el grado
de avance de una macro. Cumple la misma función que una barra de progreso,
sin retardar significativamente la ejecución de la macro.
La instrucción Application.StatusBar = False, al final del ciclo, sirve para restablecer
la barra estándar al terminar la macro.
De Visual Basic a Excel
Tengo una aplicación desarrollada en Visual Basic donde cargo datos en un
formulario y luego debo pasarlos a una hoja en Excel. ¿Cómo hago la transferencia
desde el formulario a Excel?. Gracias por la respuesta.
Luis Dacosta
Este problema tiene su complejidad. Vamos a resolverlo a partir de un ejemplo
elemental. La cuestión central es cómo escribir en una celda de Excel un dato
guardado en la variable de un formulario en Visual Basic. Supongamos un for-
mulario sencillo con una caja de texto (llamada Text1) y un botón de comando
(llamado Command1). La idea es que el dato que escribamos en la caja de texto
pase a una celda de Excel al hacer clic en el botón.
Una vez creado el formulario (recordemos que estamos hablando de un programa
de Visual Basic y no de una macro de Excel) hacemos doble clic en el botón para
abrir la ventana de código asociada a él. Entonces escribimos.
8. MACROS
246 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 246
Private Sub Command1_Click()
Dim libro As workbook
Set libro = GetObject(“C:PruebaVB.xls”)
x = Text1.Text
libro.Sheets(1).Cells(1, 1) = x
End Sub
Figura 19. Éste es un formulario de Visual Basic. Al hacer
clic en el botón, se ejecuta el código que toma el valor de la caja
de texto y lo pasa a la celda A1 de una planilla Excel.
Para que esto funcione, debe existir un archivo de Excel en el directorio raíz del dis-
co C:, llamado PruebaVB.xls y que esté abierto al ejecutar el formulario.
Con la instrucción x = Text1.Text guardamos en la variable x el contenido de la ca-
ja de texto. Con la instrucción libro.Sheets(1).Cells(1, 1) = x guardamos el valor de
x en la celda A1 del libro PruebaVB.
De Visual Basic a Excel
247www.redusers.com
❘❘❘
Los programas de Visual Basic están organizados alrededor de formularios, similares a los de
Excel. Cada formulario contiene diversos objetos (botones, cuadros de texto, etiquetas, etcéte-
ra), que a su vez tienen asociadas distintas propiedades que cambian según la acción que reali-
ce el usuario u otros formularios. En esta consulta vemos un ejemplo.
LOS FORMULARIOS
08_Excel revelado.qxp 12/29/09 4:26 PM Page 247
Si Luis es programador en Visual Basic, como nos comentó, estamos seguros de que
podrá usar este ejemplo como guía para resolver el problema general. De cualquier
manera, cualquier otro lector entrenado en macros podrá resolverlo sin problemas.
El comando DIR
Necesito saber si existe alguna función o una macro en Excel que lea el nom-
bre de todos los archivos de una carpeta y los liste en una planilla.
Walter Diana (Buenos Aires)
Lo que pide Walter es algo equivalente en Excel al viejo y conocido comando
DIR del no menos viejo y ya no tan conocido DOS. No existe algo así en Excel,
pero sí en VBA, el lenguaje de las macros. Se trata de una instrucción llamada
Dir. Esta instrucción admite dos formas:
• Si se indica una carpeta como argumento, devuelve el nombre del primer ar-
chivo que contenga esa carpeta.
• Si se ejecuta por segunda vez, sin indicar argumento, devuelve el siguiente archi-
vo de la última carpeta consultada.
Estas dos formas se combinan en la siguiente macro:
Sub directorio()
i = 1
nombre = Dir(“C:Mis documentos”)
Do While nombre “”
Cells(i, “A”) = nombre
nombre = Dir()
i = i + 1
Loop
End Sub
8. MACROS
248 www.redusers.com
❴❵
Según la Ayuda de Excel, el argumento de la función CELDA para obtener el nombre del archivo es
archivo. Pero está mal, el argumento correcto es nombrearchivo, como se explica en el próximo
ejemplo. Los argumentos de CELDA se pueden escribir también en inglés. En este caso, filename.
FUNCIÓN CELDA
08_Excel revelado.qxp 12/29/09 4:26 PM Page 248
Figura 20. Ésta es la Ayuda de Excel, con la explicación sobre
la función Dir. Es más o menos equivalente al comando DIR de DOS,
suponiendo que aún quede gente que recuerde qué era eso.
En esta macro se supone que la carpeta que se va a consultar es Mis documentos. La ma-
cro lee el primer nombre de archivo y lo guarda en la variable nombre. Luego comien-
za un ciclo que guarda el nombre leído en la columna A y continúa leyendo nombres
y guardándolos en esa columna. Cuando ya no hay más archivos en la carpeta, la ins-
trucción Dir devuelve una cadena vacía y termina el ciclo. Si se quiere leer los archivos
en la carpeta actual se debe indicar CurDir (current directory) como argumento de Dir.
Nombre del archivo
¿Una macro puede obtener el nombre del archivo actualmente en uso? Estoy
automatizando una de mis planillas y solamente necesito esta información para que el
sistema funcione a la perfección.
Miguel Ángel Herrera R. (México)
Esta pregunta tiene una respuesta muy simple. Dentro de una macro el archivo actual
se identifica con la instrucción ActiveWorkbook. Para obtener el nombre de ese archi-
vo hay que aplicarle la propiedad Name. Por ejemplo, la siguiente macro protege la
primera hoja del libro actual si el nombre del archivo comienza con la palabra Mayo:
Nombre del archivo
249www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 249
Sub Protege()
nombre = ActiveWorkbook.Name
If Left(nombre, 4) = “Mayo” Then
Sheets(1).Protect
End If
End Sub
También existe la función CELDA, que entrega diversa información acerca de la pla-
nilla actual. Por ejemplo, =CELDA(“nombrearchivo”;“A1”) devuelve el nombre del ar-
chivo actual. Pero el nombre aparece precedido por la ruta y seguido del de la hoja.
Figura 21. La función CELDA, con su primer argumento igual a nombrearchivo,
devuelve el nombre del archivo actual, incluyendo la ruta y el nombre de la hoja.
La ruta del archivo
Necesito que una macro lea la ruta (disco y carpeta) donde está guardado el
libro actual. Ocurre que el archivo no siempre se abre desde la misma ubicación y
quiero abrir otro que está en la misma carpeta.
Carlos David Vena (Morteros, provincia de Córdoba)
La ruta correspondiente al libro actual se obtiene con la instrucción ActiveWorkbook.
Path. El valor así obtenido se puede concatenar con el nombre del archivo que se
quiere abrir, separándolo con una barra invertida. Por ejemplo:
nombre = “Planillas enviadas.xls”
ruta = ActiveWorkbook.Path
Workbooks.Open (ruta + “” + nombre)
Esto no es una macro sino parte del código de una macro mayor. Luego de estas
instrucciones, el nuevo archivo pasa a ser el libro actual.
8. MACROS
250 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 250
Correo por macro
Quiero hacer una macro que tome una planilla grabada y la envíe como ad-
junto a los destinatarios de una lista. Pero no tengo idea de cómo se hace. Desde ya
muchas gracias por la ayuda que me puedas brindar.
Fabián González R. (Chile)
La macro que pide Fabián debería hacer todas estas tareas:
11.. Abrir la planilla que se quiere enviar.
22.. Leer el primer destinatario de la lista.
33.. Enviar la planilla a ese destinatario.
44.. Leer el siguiente destinatario.
55.. Enviar la planilla.
Y así sucesivamente con todos los destinatarios. La instrucción de macro corres-
pondiente a la operación “enviar la planilla actual como archivo adjunto” es:
ActiveWorkbook.SendMail _
Recipients:=”fabian.gonzalez@telesk.cl”, _
Subject:=”Lista de precios”
La instrucción SendMail lleva como argumentos la dirección del destinatario y el te-
ma (Subject). Estos pueden ser variables o direcciones de celdas. Eso no es problema.
Lo que sí representa una dificultad es que la instrucción anterior envía la planilla
activa, pero la lista de destinatarios está en otra planilla, que contiene la macro. Eso
quiere decir que para leer la dirección del destinatario hay que activar una planilla
y para proceder al envío hay que activar otra. La macro quedaría más o menos así:
Sub Correo()
Workbooks.Open (“C:Mis documentosPrecios.xls”)
For i = 1 To 10
Workbooks(“Correo.xls”).Activate
nombre = Cells(i, “A”)
Workbooks(“Precios.xls”).Activate
ActiveWorkbook.SendMail _
Recipients:= nombre, _
Subject:= “Lista de precios”
Next
Workbooks(“Precios.xls”).Close
Correo por macro
251www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 251
End Sub
En esta macro estamos suponiendo que el archivo para enviar se llama Precios y se
encuentra en la carpeta Mis documentos, que la planilla que contiene la macro se lla-
ma Correo y que la lista de destinatarios está en el rango A1:A10. El ciclo For... Next
recorre este rango guardando la dirección del destinatario en la variable nombre.
Figura 22. En este problema hay dos libros en juego: Correo
contiene la lista de destinatarios a los que se les enviará el libro Precios.
Nótese que antes de leer la dirección del destinatario, la macro activa la planilla
Correo y antes de proceder al envío, activa la planilla Precios. Al terminar todos
los envíos, la macro cierra la planilla Precios. Ya no la necesitamos.
8. MACROS
252 www.redusers.com
❘❘❘
Podemos proteger el código de una macro con una contraseña para que nadie pueda verlo ni
modificarlo. La protección la aplicamos dentro del editor de Visual Basic, con las opciones
Herramientas/Propiedades de VBAProject/Protección. Tenemos que cerrar y volver a abrir el
libro para ver la protección en acción.
PROTEGER UNA MACRO
08_Excel revelado.qxp 12/29/09 4:26 PM Page 252
Validar respuestas
Tengo una macro que me pregunta ciertos datos a través de una instrucción
InputBox. Si en ese momento ingreso un texto cuando debería ingresar un número, se
produce un error. Lo que quiero es que la macro rechace la entrada cuando no sea
del tipo correcto y vuelva a preguntar.
Diego Enríquez (Banfield, provincia de Buenos Aires)
La instrucción InputBox sirve para que una macro pida un dato y lo guarde en una
variable o una celda. Por ejemplo:
Sub Pregunta()
[A1] = InputBox(“Ingrese la cantidad pedida”)
End Sub
Figura 23. La instrucción InputBox muestra un mensaje
en la pantalla con una caja para escribir una respuesta.
Esta macro le pregunta al operador una cantidad y guarda la respuesta en la celda
A1. Lo que pide Diego es que la macro repita la pregunta hasta que el operador in-
grese un dato numérico. Eso se puede hacer si ponemos la pregunta en un ciclo que
no termina hasta que la respuesta sea un número:
Sub PreguntaNumero()
Do
x = InputBox(“Ingrese la cantidad pedida”)
Loop Until IsNumeric(x)
[A1] = x
End Sub
El ciclo del que hablamos es el que empieza con el Do y termina con el Loop. La
condición del fin del ciclo es Until (en español, hasta) y en este caso significa que
se ejecutará hasta que el valor de x sea un número. Una vez fuera del ciclo, la ma-
cro guarda la respuesta en la celda A1.
Validar respuestas
253www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 253
Figura 24. La función IsNumeric controla si el valor de la variable
indicada es o no numérica. Equivale a la función ESNUMERO de Excel.
En el ejemplo que acabamos de desarrollar usamos la función IsNumeric para pre-
guntar si la respuesta fue numérica. En otros casos puede usarse la función IsDate
para preguntar si fue una fecha válida.
Menú para macros
Tengo unas 40 macros en una planilla bastante pesada. ¿Es posible disponer
de una manera práctica para ejecutar cualquiera de ellas? Por ejemplo, me gustaría
seleccionar el nombre de la macro de una lista desplegable o abrir un cuadro con la
lista de macros y luego seleccionar la que quiero ejecutar.
Christian Lukasch
Hay varias soluciones posibles para este problema. Una podría ser así: en un ran-
go auxiliar, escribimos la lista de macros. En otra celda, por ejemplo B1, aplica-
mos un criterio de validación que permita elegir alguna de las macros de la lista
anterior. Luego escribimos esta otra macro:
8. MACROS
254 www.redusers.com
❴❵
Las macros del antiguo Lotus 1-2-3 se escribían en la misma hoja, se le asignaba un nombre
especial a la primera celda de la macro y se ejecutaban con una combinación de teclas rela-
cionada con el nombre asignado. Pero existía un truco que hacía aparecer en pantalla todos los
nombres de rango para seleccionar el de la macro que se quería ejecutar.
MACROS EN LOTUS 1-2-3
08_Excel revelado.qxp 12/29/09 4:26 PM Page 254
Sub Principal()
nombre = [B1]
Run nombre
End Sub
Figura 25. Al hacer un clic en el botón Ejecutar, se ejecutará la macro
cuyo nombre se haya seleccionado en la lista desplegable de la celda B1.
Esta macro la podemos asignar a un botón o a un atajo de teclado. Al ejecutarla, la
macro llamará, a su vez, a la macro cuyo nombre hayamos seleccionado en B1. Una
variante más elegante sería la siguiente:
Sub Principal()
nombre = [B1]
confirma = MsgBox(“Desea ejecutar la macro “ & _
nombre, vbYesNo)
If confirma = vbYes Then Run nombre
End Sub
En esta versión, la macro Principal pregunta si queremos ejecutar la macro selec-
cionada y tenemos la oportunidad de decir que no.
Menú para macros
255www.redusers.com
❴❵
El lenguaje de las macros es una versión avanzada del lenguaje BASIC creado en los años sesenta
para enseñar programación. BASIC es el acrónimo en inglés de Código simbólico multipropósito
de instrucciones para principiantes. Se dice que fue con una versión de este lenguaje que Bill
Gates obtuvo su primer millón de dólares.
EL LENGUAJE VISUAL BASIC
08_Excel revelado.qxp 12/29/09 4:26 PM Page 255
Figura 26. Al hacer un clic en el botón Ejecutar, este cuadro pregunta si queremos
ejecutar la macro cuyo nombre se haya seleccionado en la lista desplegable de la celda B1.
Macro suicida
Tengo una planilla donde guardo datos de un pedido. La planilla tiene una ma-
cro que extrae ciertos datos y luego guarda el pedido en una planilla con otro nombre.
Mi problema consiste en que este segundo archivo contiene también la macro y no
quiero que sea así. ¿Cómo hago para que esta macro se borre a sí misma del archivo?
Marcelo Jung (Boulogne, provincia de Buenos Aires)
En principio, no se puede hacer que una macro se borre a sí misma. Pero sí se puede
copiar la hoja con el pedido a un nuevo libro y luego grabar ese nuevo libro. La hoja
no “arrastra” la macro consigo, por lo que el segundo libro quedará libre de macros.
Figura 27. Cuando copiamos la hoja actual a un nuevo libro, este segundo
libro no recibirá las macros que pudiera haber en el primero.
La instrucción de macros correspondiente a este comando es Sheets.Copy.
8. MACROS
256 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 256
Si suponemos que los datos que se van a guardar están en la primera hoja del ar-
chivo original y que el nuevo archivo se debe guardar con el nombre existente en la
celda A1, el proceso se realiza con el siguiente código:
Sub GrabaPedido()
Sheets(1).Copy
nombre = [A1]
ActiveWorkbook.SaveAs (nombre)
ActiveWorkbook.Close
End Sub
Esta macro copia la primera hoja del libro actual en un nuevo libro, que luego guar-
da con el nombre escrito en la celda A1. Como se ha dicho, este nuevo libro no con-
tiene las macros asociadas al primero. Finalmente, cierra el nuevo libro.
Identificar formato
Mi problema es simple, pero no sé cómo resolverlo: tengo una lista de datos
en una columna, algunos de esos datos están en Negrita. Quiero copiar en otra co-
lumna esos datos que están en Negrita, pero no sé cómo indicar esta condición en
una fórmula o un filtro. ¿Hay alguna solución?
Lucas Meichtry (Córdoba)
Efectivamente, no se puede (al menos, por ahora) aplicar la condición “está en ne-
grita” en una condicional SI. Pero sí se puede hacer con una macro.
Figura 28. Con una macro pudimos copiar
en la columna C los datos de la columna A que están en Negrita.
Identificar formato
257www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 257
Supongamos que los datos originales están en A1:A100 y que queremos copiar los
datos en Negrita en la columna C. La macro podría ser así:
Sub Negrita()
For i = 1 To 100
If Cells(i, “A”).Font.Bold Then
fila = fila + 1
Cells(fila, “C”) = Cells(i, “A”)
End If
Next
End Sub
Esta macro recorre los cien valores de la columna A y pregunta, uno por uno, si es-
tá en Negrita. Si es así, copia el valor en la columna C.
Existen otras soluciones, pero ésta parece ser bastante simple. Además, se puede adap-
tar fácilmente para otros formatos (relleno de color, itálica, celda con borde, etcétera).
Mostrar diálogo
Armé una planilla para que mis clientes completen pedidos. Mi problema es
hacer que ellos puedan encontrar rápidamente un determinado artículo. ¿Cómo hago
para que, desde una macro, aparezca el cuadro correspondiente a la opción Buscar?
Fabián Ravelli (Provincia de Santa Fe)
En principio, desde una macro se puede mostrar cualquiera de los cuadros de diá-
logo estándares de Excel. La instrucción es:
Application.Dialogs(ventana).Show
Donde ventana es un número o una palabra clave que identifica al cuadro de diá-
logo que queremos abrir. Concretamente, para mostrar el cuadro que corresponde
8. MACROS
258 www.redusers.com
❴❵
Otra forma de encontrar el número o nombre asociado a una determinada ventana de diálogo
consiste en usar el grabador de macros. Para eso debemos encender el grabador y, a continua-
ción, ejecutar la opción que hace aparecer la ventana deseada. El código de la macro así obte-
nida incluirá el nombre necesario para la ventana.
NOMBRES DE VENTANA
08_Excel revelado.qxp 12/29/09 4:26 PM Page 258
Mostrar diálogo
259www.redusers.com
❴❵
Aunque Excel 2007 presenta importantes cambios respecto de las versiones anteriores (tanto en
las opciones generales, en la ubicación de los comandos, como en el tema de macros), el editor
de Visual Basic es exactamente el mismo desde la versión XP. Conserva los comandos y opcio-
nes y se maneja de igual forma en todas las versiones.
MACROS EN EXCEL 2007
a la opción Buscar debemos indicar el número 64 o la palabra clave xlDialogSearch.
La palabra clave asociada a cada comando de Excel la podemos elegir de una lista
desplegable que aparece cuando escribimos la instrucción Application.Dialogs. Sólo
debemos conocer el nombre que recibe el comando en inglés.
Figura 29. Cuando escribimos la instrucción Application.Dialogs,
aparece una lista de las palabras clave asociadas a cada comando de Excel.
Puede ser que, cuando escribimos la macro, no aparezca esta lista de palabras. En-
tonces tenemos que activar la opción Lista de miembros automática en el editor de
Visual Basic. Para eso debemos ejecutar los siguientes pasos:
■ Lista de argumentos en VBA PASO A PASO
Dentro del editor de Visual Basic tome las opciones Herramientas/Opciones.
Seleccione la pestaña Editor.
Marque la opción Lista de miembros automática.
Haga un clic en Aceptar.
08_Excel revelado.qxp 12/29/09 4:26 PM Page 259
Figura 30. Seleccionando esta opción logramos que aparezca
una lista de argumentos mientras escribimos una instrucción de macro.
Cerrar casi todos
Si tengo varios libros abiertos, ¿hay alguna forma de cerrarlos todos, menos
el activo? Sé que es una pregunta sencilla, pero no doy con la solución.
José Mansilla
Excel tiene dos opciones para cerrar libros:
• Con las opciones Archivo/Cerrar, se cierra el libro activo.
• Con las opciones Archivo/Cerrar todo, se cierran todos los libros abiertos.
Figura 31. La opción Archivo/Cerrar todo cierra todos los libros abiertos. Para que aparezca
esta opción hay que mantener apretada la tecla SHIFT mientras hacemos clic en Archivo.
En realidad, estas opciones corresponden a Excel 2003 y a las versiones anteriores.
En Excel 2007, el Botón de Office incluye la opción para cerrar el libro actual, pero
8. MACROS
260 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 260
la opción para cerrar todos los archivos está un poco escondida. Para saber cómo
encontrarla podemos ver la pregunta Cerrar todas las planillas, en el Capítulo 9.
En cualquier caso, ninguna de estas opciones responde a la pregunta del lector. Pa-
ra cerrar todos los libros, menos el activo, podemos usar la siguiente macro:
Sub Cerrar()
Do While Workbooks.Count 1
Workbooks(2).Close
Loop
End Sub
La instrucción Workbooks(2).Close cierra el libro siguiente al activo. La operación
continúa (en inglés, While) mientras haya más de un libro abierto hasta que que-
da un único libro abierto. La cantidad de libros abiertos se obtiene con la pro-
piedad Workbooks.Count (contar libros).
Por supuesto, debemos tener en cuenta que esta macro servirá solamente para un
determinado archivo. No sirve como comando general.
Rango variable
Tengo una macro que copia una tabla dinámica y le hace ciertos cambios en
su formato. Mi problema es que, cuando se actualiza la tabla, puede cambiar el ran-
go, ocupando más o menos filas, más o menos columnas. ¿Cómo puedo hacer para
que la macro seleccione siembre el rango correcto?
Ángel Guerrero (México)
Lo que se necesita aquí es un juego de instrucciones que detecten el rango (varia-
ble) ocupado por la tabla en cada caso.
Podemos suponer que la tabla comienza siempre en la misma celda. Digamos que en
A1. A partir de esa celda, podemos localizar los extremos de la tabla. Por ejemplo, pa-
ra identificar la última fila usamos la instrucción uf = Range(“A1”).End(xlDown).Row.
Rango variable
261www.redusers.com
❘❘❘
Hay distintas maneras de indicar una celda en el código de la macro. La más simple es escribir di-
rectamente sus coordenadas entre corchetes. Por ejemplo, [C8]. También se puede hacer con la
instrucción Cells: Cells(8, “C”), que representa a la celda C8. Finalmente, podemos usar la instruc-
ción Range: Range(“C8”). Con cualquiera de estas opciones estamos referenciando a una celda.
REFERENCIAS A CELDAS
08_Excel revelado.qxp 12/29/09 4:26 PM Page 261
Figura 32. Con el cursor en A1 la combinación CONTROL+FLECHA ABAJO
lleva el cursor a la última celda de la lista. Dentro de una
macro, esto se representa con la instrucción Range(“A1”).End(xlDown).
Esta instrucción equivale a oprimir la combinación CONTROL+FLECHA ABAJO, des-
de la celda A1 para llegar hasta la última fila ocupada. De esa posición tomamos
el número de fila (en inglés, Row).
De la misma forma, localizamos la última columna de la derecha con: uc = Range
(“A1”).End(xlDown).End(xlToRight).Column.
Conociendo fila y columna, el rango de la tabla se identifica con la instrucción Range
(Cells(1, “A”), Cells(uf, uc)), donde los dos argumentos de Range son las celdas que
ocupan los vértices del rango. Estas celdas, a su vez, se identifican con Cells, cuyo
primer argumento es el número de fila y el segundo, la columna.
Por favor, espere
Estoy armando un sistema en Excel con una macro muy compleja que copia
datos entre distintas hojas. Para que la macro corra más rápido incluí la instrucción
que congela la pantalla. Pero ahora tengo el problema que quien ve la pantalla con-
gelada puede creer que la macro se colgó. ¿Cómo hago para mostrar un mensaje que
diga “Procesando…” o algo así mientras la macro trabaja?
Martín Hernández Martínez (México)
La instrucción para congelar la pantalla a la que se refiere Martín es Application.
ScreenUpdating = False. Esta instrucción deja fija la imagen en pantalla aunque
“por dentro” el cursor salte de celda en celda y de hoja en hoja.
Lo que pide el lector es que el usuario sepa que el programa no se colgó. Una
manera simple de mostrar un mensaje que indique que hay una macro funcio-
nando (y que efectivamente Excel no se colgó) es preparar una hoja auxiliar con
el mensaje “Procesando... Espere”, o alguno similar, en letra bien grande.
8. MACROS
262 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 262
Figura 33. Con una macro seleccionamos la primera hoja
del libro (que contiene un mensaje que llenará toda la pantalla) y luego
congela la pantalla para que la macro corra más rápido. El mensaje
advierte al usuario que debe tener paciencia mientras se termina el proceso.
La macro debería comenzar más o menos así:
Sub Macro()
Sheets(“ESPERE”).Select
Application.ScreenUpdating = False
...
...
...
End Sub
Como podemos observar en el código, la macro selecciona la hoja con el mensaje
y luego ejecuta la instrucción Application.ScreenUpdating = False. La macro conti-
núa luego con sus instrucciones. Es un poco tosco, pero funciona.
Tablas de multiplicar
Hice una planilla para que mi hija, que está en tercer grado, practique las
tablas de multiplicar. Una macro genera una multiplicación simple, al azar, y pre-
gunta por el resultado. Luego compara la respuesta con el valor correcto y mues-
tra un mensaje adecuado. Lo que querría es ponerle un límite de tiempo: que si mi
hija no contesta en, por ejemplo, diez segundos, muestre la respuesta correcta y
pase a una nueva pregunta.
Diego Enríquez (Banfield, provincia de Buenos Aires)
Tablas de multiplicar
263www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 263
Una posibilidad de resolver el problema que plantea Diego sería usar una hoja
que formule la pregunta, con una celda para escribir el resultado.
Figura 34. Una vez que se hace clic en el botón Test,
aparece esta pregunta y el operador debe escribir la respuesta en D4.
La hoja se comanda con estas dos macros:
Sub Test()
Range(“D4”).Select
Range(“D4”) = “???”
x = Int(Rnd * 9 + 1)
y = Int(Rnd * 9 + 1)
[A4] = x
[C4] = y
[B2] = “¿Cuál es el resultado de esta cuenta?
“Application.OnTime Now + _
TimeValue(“00:00:10”), “Fin”
End Sub
Sub Fin()
If [D4] = [A4] * [C4] Then
MsgBox (“¡Muy bien!”)
Else
MsgBox (“No. Es “ & [A4] * [C4])
End If
[B2] = “”
End Sub
8. MACROS
264 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 264
El operador ejecuta la primera macro (Test) que genera los dos factores al azar y los
escribe en la hoja, junto con el texto de la pregunta. Luego echa a andar un reloj
que, después de diez segundos, dispara la ejecución de la segunda macro llamada
Fin, que evalúa la respuesta y muestra un mensaje adecuado.
Al formular la pregunta en una celda, el operador tiene tiempo de cambiar su res-
puesta hasta que se cumpla el plazo.
La instrucción Application.OnTime tiene dos argumentos: el primero es un tiempo,
en este caso, el instante actual más diez segundos, el segundo es la macro que se eje-
cutará una vez alcanzado ese tiempo.
Generador de exámenes
Soy docente y quiero hacer un “generador de exámenes”: un programa que
elija preguntas de una lista y arme distintas combinaciones al azar. ¿Se podrá ha-
cer con Excel?. Muchas gracias por la respuesta.
Eduardo D. Rodríguez
Hay varias formas de resolver este problema. Supongamos que tenemos la lista de
preguntas en el rango D1:D20. En A1 escribimos la fórmula =D1 que reproduce la
primera pregunta de la lista. Si extendemos esta fórmula hasta la fila 5 obtendría-
mos un primer examen de cinco preguntas.
Figura 35. Cada vez que (des)ordenamos la lista de preguntas de la derecha,
se genera a la izquierda un nuevo examen con las primeras cinco preguntas de la lista.
Ahora necesitamos “barajar” la lista de preguntas para obtener un nuevo conjunto
de cinco. Para eso escribimos la función =ALEATORIO() en C1 (a la izquierda de la
primera pregunta de la lista) y extendemos la fórmula hasta la fila 20. Esta función
devuelve un número al azar que cambia cada vez que se recalcula la planilla (por-
que cambiamos algún dato o porque oprimimos la tecla F9). Para barajar la lista
ponemos el cursor en C1, sobre el primer número aleatorio y luego hacemos un clic
Generador de exámenes
265www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 265
en alguno de los botones Orden ascendente u Orden descendente. Este procedimiento
ordena la lista de preguntas según el contenido de la columna de números aleato-
rios. El resultado es, en realidad, desordenarla. Cada vez que lo hacemos, se genera
en A1:A5 un nuevo conjunto de cinco preguntas.
Se puede automatizar el proceso con la siguiente macro:
Sub Examenes()
ActiveSheet.PageSetup.PrintArea = “A1:A5”
For i = 1 To 10
Range(“C1”).Sort (C1)
ActiveSheet.PrintOut
Next
End Sub
Figura 36. Con una macro se imprimen distintos juegos de preguntas, generados al azar.
En esta macro, cada “vuelta” del ciclo For… Next genera e imprime diez exámenes
distintos. Hay otras soluciones pero ésta es razonablemente efectiva.
8. MACROS
266 www.redusers.com
❘❘❘
Cuando escribimos una macro que imprime planillas conviene reemplazar la instrucción de im-
presión ActiveSheet.PrintOut por ActiveSheet.PrintPreview, que muestra la Vista preliminar. Así
ahorramos papel mientras ponemos a punto la macro. Cuando estamos seguros de su funcio-
namiento, ponemos la instrucción de impresión.
IMPRESIÓN
08_Excel revelado.qxp 12/29/09 4:26 PM Page 266
Conteo por color
Tengo un listado de importes, que pinto de distintos colores según una clave
que sólo yo conozco. ¿Cómo puedo hacer para contar las celdas de un color dado?
Guillermina Demker De Meer (Buenos Aires)
No hay en Excel una función para “leer” el color de una celda, salvo cuando éste
proviene de la aplicación de un formato condicional. Pero, como siempre, podemos
crearla escribiendo el código adecuado en el editor de Visual Basic de Excel:
Function CuentaColor(color, rango)
Application.Volatile
For Each celda In rango
If celda.Interior.ColorIndex = color Then
CuentaColor = CuentaColor + 1
End If
Next
End Function
Lo que hace esta función es contar las celdas que tienen el color dado por el pri-
mer argumento, dentro del rango dado por el segundo. Por ejemplo, la expre-
sión =CuentaColor(5;A1:A10) cuenta cuántas celdas azules hay en el rango A1:A10.
El 5 representa al color azul. La instrucción inicial Application.Volatile hace que
la función recalcule su valor cada vez que se modifica la hoja, como cuando apre-
tamos la tecla F9. Esta función la escribimos en la hoja, respetando su sintaxis,
como cualquier otra función de Excel.
Figura 37. La función CuentaColor se usa en la hoja, respetando
su sintaxis tal como haríamos con cualquier función estándar de Excel.
Conteo por color
267www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 267
El color se indica por un número que es 1 para el negro, 2 para el blanco, 3 para el
rojo, 5 para el azul, 6 para el amarillo, 10 para el verde y –4142 para celdas sin color.
Si queremos conocer el número correspondiente a un color dado podemos usar es-
ta otra función, aunque con la práctica los aprenderemos de memoria:
Function Color(celda)
color = celda.Interior.ColorIndex
End Function
Figura 38. Con esta función sabemos el número índice
que corresponde al color de la celda indicada en el argumento.
Estas funciones se escriben en el editor de Visual Basic, tal como con las macros.
Extraer comentario
Tengo una planilla en la que todas las celdas de una columna tienen comen-
tarios. ¿Cómo puedo hacer para pasar ese comentario a una columna auxiliar?
Guillermina Demker De Meer (Buenos Aires)
8. MACROS
268 www.redusers.com
❘❘❘
Cuando abrimos un libro con macros pueden pasar tres cosas: que Excel abra el archivo con las
macros, que deshabilite las macros o que pregunte qué queremos hacer. Estas distintas alter-
nativas se establecen en las opciones Herramientas/Macro/Seguridad o, en Excel 2007, con el
botón Seguridad de macros, de la ficha Programador.
SEGURIDAD EN MACROS
08_Excel revelado.qxp 12/29/09 4:26 PM Page 268
Los comentarios son textos adicionales que se pueden aplicar en una celda. Estos
textos normalmente permanecen ocultos hasta que seleccionamos la celda que los
contiene. De lo contrario, la hoja presentaría una superposición de textos, lo que
puede resultar confuso y molesto.
Figura 39. Queremos que estos comentarios pasen
a la celda que se encuentra en la siguiente columna de la hoja.
La pregunta que plantea Guillermina pide mostrar en una celda el comentario
insertado en otra. Puede hacerse con la siguiente función:
Function Comentario(x)
Comentario = x.Comment.Text
End Function
Figura 40. Esta función lee el comentario contenido
en cada celda y lo escribe en una celda de la hoja.
Extraer comentario
269www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 269
La función COMENTARIO toma el comentario de la celda pasada como argumento
(indicada aquí con la variable x) con las propiedades Comment.Text y la podemos
usar en la hoja como cualquier otra función de Excel, respetando su sintaxis. Por
ejemplo, para obtener el comentario incluido en la celda A5 escribimos, en una cel-
da auxiliar, la función =COMENTARIO(A5).
El nombre de la hoja
Tengo un libro con varias hojas, una para cada mes ¿Hay alguna función que
devuelva el nombre de la hoja que corresponde a una determinada celda?
Diego Urbina (Lomas de Zamora, provincia de Buenos Aires)
La forma más simple de resolver este problema es mediante una función creada en
el editor de macros, como la que se muestra a continuación:
Function nombrehoja()
nombrehoja = ActiveSheet.Name
End Function
Figura 41. En la celda A1 obtenemos el nombre de la hoja
con la función nombrehoja, especialmente creada en el editor de Visual Basic.
8. MACROS
270 www.redusers.com
❘❘❘
En el Capítulo 4 hay otros ejemplos del uso de EXTRAE y de algunas de las más de trescientas
funciones especiales de Excel. Si con eso no alcanza, se puede consultar la Guía de Funciones de
Excel 2007, donde se explican todas las funciones, con distintos ejemplos de aplicación.
LA FUNCIÓN EXTRAE
08_Excel revelado.qxp 12/29/09 4:26 PM Page 270
Ahora, esta función se puede usar en una celda de Excel como cualquier otra fun-
ción. No obstante, es necesario mencionar que existe otra solución, que no necesi-
ta macros ni funciones pero es más compleja. Consiste en esta gigantesca expresión:
=EXTRAE(CELDA(“nombrearchivo”;A1);ENCONTRAR(“]”;CELDA(“nombrearchivo”;
A1))+1;100), pero estamos seguros de que el lector preferirá la primera opción.
Figura 42. La función CELDA, con el argumento nombrearchivo,
devuelve el nombre completo del archivo actual, con su ruta y el nombre
de la hoja. De este resultado podemos separar el nombre de la hoja.
La función CELDA, con su primer argumento igual a nombrearchivo, devuelve el nom-
bre del archivo actual, comenzando con su ruta y terminando con el nombre de la
hoja. Con la función ENCONTRAR localizamos el corchete que precede al nombre y
con la función EXTRAE obtenemos ese nombre.
Argumentos opcionales
Hice una serie de funciones para procesar datos en una planilla algo com-
pleja. ¿Es posible que estas funciones tengan argumentos opcionales, que pueda
indicar o no? Muchas gracias por la solución que me puedan brindar.
Gabriel Goldstein (Buenos Aires)
Efectivamente, Gabriel está en lo cierto. Las funciones que creamos en el editor de
Visual Basic pueden tener argumentos opcionales, pero sólo si los precedemos por
la palabra clave Optional. Por ejemplo, la siguiente función devuelve el nombre del
mes correspondiente a una fecha dada. Al incluir la clave Optional para el argumento
mayus, indicamos que no es necesario que se escriba en mayúsculas:
Function nombremes(fecha, Optional mayus As Boolean)
nombremes = Format(fecha, “mmmm”)
If mayus Then nombremes = UCase(nombremes)
End Function
Argumentos opcionales
271www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 271
Figura 43. La función nombremes devuelve el nombre
del mes para una fecha dada. Si indicamos el valor lógico VERDADERO
como segundo argumento, el nombre aparece en mayúsculas. Si indicamos
el valor FALSO, o si lo omitimos, el nombre aparece en minúsculas.
En esta función, el argumento mayus es opcional e indica si queremos el nombre
en mayúsculas. Si no lo indicamos, la función devolverá el nombre en minúsculas,
tal como si le hubiéramos dado el valor FALSO. En los argumentos lógicos, como es
el caso de mayus, el valor VERDADERO se puede reemplazar por 1 o cualquier número
positivo; el valor FALSO se puede reemplazar por 0.
Pintar mapas
Tengo una serie de mapas insertados en mi hoja. En una tabla tengo valores
asociados a cada mapa. ¿Cómo hago para colorear cada mapa en función de los va-
lores de la tabla? Por ejemplo, si el valor supera las 500 unidades, que se pinte de
verde, si no lo supera, que se pinte de rojo.
Martín Canosa
Vamos a suponer que tenemos un conjunto de mapas, con las distintas regiones de
España. Cada región es un objeto separado. Por otra parte, tenemos una tabla con
los nombres de cada región y valores de ventas para cada una.
8. MACROS
272 www.redusers.com
❴❵
En Excel 5, que data de 1992, el código de las macros se escribía en una hoja especial lla-
mada Macro, junto a las demás hojas del libro. No había que abrir el editor de Visual Basic.
Además, el lenguaje de macros coincidía con el idioma de instalación de Excel. Por ejemplo,
la instrucción MsgBox era CuadroMsj, en la versión en español.
MACROS EN EXCEL 5
08_Excel revelado.qxp 12/29/09 4:26 PM Page 272
Figura 44. Queremos colorear cada una de las regiones
del mapa, según el valor indicado en la tabla de la izquierda.
En primer lugar vamos a incluir una columna en la tabla, con un número de or-
den. Ahora tenemos que darle un nombre a cada mapa. Este nombre será la pa-
labra MAPA, seguida de su número de orden en la tabla. Estos nombres los vamos
a asignar manualmente, uno por uno:
■ Asignar nombres PASO A PASO
Seleccione el primer mapa.
Haga un clic en el Cuadro de nombres, arriba y a la izquierda de la hoja, ahí donde
aparecen las coordenadas de la celda actual.
Escriba el nombre del mapa seleccionado. En este caso, MAPA1.
Oprima la tecla Enter.
Pintar mapas
273www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 273
A continuación, debemos repetir este procedimiento con cada una de las regio-
nes del mapa. Es algo tedioso pero ya casi terminamos. Luego sí, para concluir
con este ejemplo, creamos la siguiente macro:
Sub Colores()
For i = 2 To 16
mapa = “MAPA “ & Cells(i, “A”)
pinto = 10
If Cells(i, “C”) > 500 Then pinto = 11
ActiveSheet.Shapes(mapa). _
Fill.ForeColor.SchemeColor = pinto
ActiveSheet.Shapes(mapa).Fill.Solid
Next
End Sub
Esta macro recorre la tabla a partir de la segunda fila (en la primera están los títulos).
Para cada fila toma nota del número de orden de la región (presente en la columna
A) y arma el nombre de su mapa concatenando el número a la palabra MAPA. Luego
asigna el valor 10 a la variable pinto, que guarda el color que se va a usar. En este ca-
so, el valor 10 corresponde al color rojo. La siguiente instrucción es una condicional
que le da a la variable pinto el valor 11 (correspondiente al verde) si el valor de las
ventas (indicado en la columna C) es mayor a 500. Finalmente, asigna al mapa el co-
lor correspondiente al valor de la variable pinto.
Menú para hojas
Armé un libro de Excel para cotizar cursos. El libro tiene una hoja para cada
curso y, en la hoja inicial, hay una lista desplegable para seleccionar el curso. Quiero
que, una vez elegido el curso, se seleccione automáticamente la hoja correspondiente.
Alejandro Wikarczuk (Avellaneda, provincia de Buenos Aires)
Una opción es usar una macro que “lea” el nombre de la hoja seleccionada en la lis-
ta desplegable y luego seleccione esa hoja. Si suponemos que la lista está en la cel-
da B2 la macro sería como la que escribimos a continuación:
Sub ir()
hoja = [B2]
Sheets(hoja).Select
End Sub
8. MACROS
274 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 274
Menú para hojas
275www.redusers.com
❘❘❘
En Excel 2007 los libros con macros pertenecen a una categoría especial. Deben ser graba-
dos con la opción Libro de Excel habilitado para macros y reciben la extensión XLSM. Si se
guarda en Excel 2007 un libro en modo compatible con Excel 97-2003, recibirá la extensión
XLS tenga o no tenga macros.
LIBROS CON MACROS EN EXCEL 2007
Figura 45. La macro de la derecha selecciona la hoja cuyo nombre fue elegido
en la lista desplegable de la celda B2. La lista se obtiene con la opción de Validación.
La lista desplegable se obtiene con la opción de Validación. Primero se debe escribir
la lista de cursos (u hojas) en un rango auxiliar. Luego se invoca el comando:
■ Generar una validación PASO A PASO
Seleccione la celda donde quiere obtener la lista. En este caso, B2.
Seleccione la ficha Datos de la Cinta de opciones.
Haga un clic en el botón Validación de datos y luego en la opción Validación de
datos. Aparecerá un cuadro donde debe indicar el criterio de validación.
Dentro de Permitir, indique Lista.
Dentro de Origen, seleccione el rango de datos válidos. En este caso, donde ha
escrito la lista de cursos.
Haga un clic en Aceptar
08_Excel revelado.qxp 12/29/09 4:26 PM Page 275
En Excel 2003 y en las versiones anteriores, el cuadro para configurar la lista des-
plegable se obtiene con las opciones Datos/Validación.
Figura 46. Con estas opciones creamos una lista desplegable en la celda actual.
Los valores que aparecerán en la lista son los del rango indicado en la opción Origen.
Cuando el cursor esté en la celda B2 aparecerá una flechita que revela la presen-
cia de la lista desplegable. Con un clic en esa flechita se descuelga la lista de cur-
sos. Una vez elegido el curso se ejecuta la macro (puede ser con un botón) que
selecciona la hoja correspondiente.
Archivos de texto
En mi trabajo tenemos archivos de texto que deben volcarse a una hoja Ex-
cel para hacer diversos procesos. La hoja tiene tres filas de encabezamiento: Nom-
bre del campo, Inicio y Fin. Estos dos últimos valores indican de dónde a dónde va
cada campo dentro del archivo de texto. Actualmente copio y pego individualmen-
te cada campo desde el archivo de texto a la planilla. ¿Hay alguna forma de ha-
cerlo automáticamente?. Espero que me puedas ayudar.
Adrián Deyme (Buenos Aires)
La solución a este problema tiene dos partes: leer el archivo de texto en Excel y lue-
go separar cada línea en los distintos campos.
Cuando abrimos un archivo de texto en Excel aparece el Asistente para importar
texto que, en principio, copiará cada renglón de texto en una celda, dentro de la
columna A. Nosotros podemos separar este renglón en campos según dos criterios:
indicando un separador o los límites de cada campo.
8. MACROS
276 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 276
Figura 47. Este es el Asistente para importar texto que aparece al abrir
en Excel un archivo de texto y separa cada línea del archivo en campos, uno por celda.
La pregunta del lector corresponde a este último caso. El problema es que los lí-
mites hay que indicarlos uno por uno y Adrián pide algo más automático. Una
solución, aunque no es la más conveniente pero sí la mejor que pudimos encon-
trar, podría ser ejecutar la siguiente macro:
Sub texto ()
Open “Archivo.txt” For Input As #1
fila = 4
Do
Line Input #1, linea
For j = 1 To 20
comienzo = Cells(2, j)
largo = Cells(3, j) - comienzo + 1
Cells(fila, j) = Mid(linea, comienzo, largo)
Next
fila = fila + 1
Loop Until linea = “”
Close #1
End Sub
Esta macro abre el archivo de texto indicado en la instrucción Open y le asigna
un número (el número 1, en este caso) para referirse a él en el futuro. En gene-
ral, el nombre del archivo debe incluir la ruta completa. Luego usa la instruc-
ción Line Input para leer el archivo renglón por renglón.
Archivos de texto
277www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 277
Figura 48. Esta planilla indica cómo se separa una línea de texto en siete campos.
Los valores de la segunda y la tercera fila dan las posiciones de inicio y fin de cada campo.
Para cada renglón leído, lo separa en campos cuyos límites se indican en las filas 2 y 3
de la planilla actual. Para separar la línea usa la función Mid que lleva tres argumentos:
• El primero es el texto que se quiere cortar en campos. En este caso, la línea leída.
• El segundo es la posición a partir de la cual separar el campo. Esta posición (asig-
nada a la variable comienzo) la lee de la segunda fila de la hoja.
• El tercero es la cantidad de caracteres para cortar.
Esta longitud la calcula restando la posición final menos la posición inicial, más una
unidad. Por ejemplo, si un campo abarca de las posiciones 44 a 48, tendrá cinco ca-
racteres de longitud (44, 45, 46, 47 y 48) calculados como 48-44+1.
La macro tiene dos ciclos. El primero lee línea tras línea hasta la línea vacía que mar-
ca el final del archivo. El segundo separa la línea en siete campos.
Elegir imágenes
Quería saber cómo obtener una imagen elegida desde una lista desplegable
o cuadro combinado. Por ejemplo, si tengo una lista de países, quiero elegir uno de
ellos y que la planilla muestre la bandera del país elegido.
Jorge García Herrera (México)
8. MACROS
278 www.redusers.com
❘❘❘
Es importante recordar que una macro se puede ejecutar sobre cualquier libro abierto. Las
macros de uso general conviene escribirlas en un libro maestro que se deja abierto en toda
la sesión de Excel. En cambio, las funciones creadas en el editor de Visual Basic sólo pueden
usarse en el libro donde se escribió su código.
ALCANCE DE MACROS Y FUNCIONES
08_Excel revelado.qxp 12/29/09 4:26 PM Page 278
Elegir imágenes
279www.redusers.com
Este problema nació de un mensaje dejado en el foro de Excel de RedUSERS (www.
redusers.com/foros/excel) por el usuario ferska y se puede resolver con una macro.
Figura 49. Queremos elegir el nombre de un país en la celda
A1 y que, automáticamente, aparezca la bandera de ese país.
En primer lugar, debemos insertar en una hoja las banderas de los países que apa-
recerán en la lista. Podemos recurrir al conocido buscador Google y utilizar la op-
ción Imágenes para hallar rápidamente las banderas que necesitemos. Además,
conviene que todas tengan el mismo tamaño y que estén en el mismo lugar de la
hoja, una encima de la otra. La macro las reconocerá con la instrucción Active
Sheet.Shapes(i), donde la variable i es el subíndice que corresponde al orden en
que hayamos insertado las banderas. En un rango auxiliar, por ejemplo D1:D5, es-
cribimos los nombres de los países. Supongamos que la lista debe aparecer en la
celda A1. Entonces aplicamos el criterio de validación:
■ Configurar la validación PASO A PASO
Coloque el cursor en A1, la celda donde quiere obtener la lista desplegable.
Seleccione la ficha Datos de la Cinta de opciones.
Haga un clic en el botón Validación de datos, dentro de él aparecerá una lista con
las opciones de validación. Haga clic en Validación de datos....
Seleccione la ficha Configuración.
Dentro de Permitir elija la opción Lista.
Dentro de Origen seleccione el rango donde tiene escrita la lista de países.
08_Excel revelado.qxp 12/29/09 4:26 PM Page 279
Haga un clic en Aceptar.
En Excel 2003 y en las versiones anteriores, las opciones de validación se obtienen
con Datos/Validación. El resto de la operación es igual.
En otra celda, por ejemplo A4, escribimos la función =COINCIDIR(A1;D1:D5;0),
donde el primer argumento es la celda donde aplicamos el criterio de validación
y el segundo es el rango donde tenemos la lista de países. Esta función devuelve
el número de orden del país dentro de la lista.
Figura 50. La función de la celda A4 muestra el número de orden
del país seleccionado en la celda A1, dentro de la lista del rango D1:D5.
8. MACROS
280 www.redusers.com
08_Excel revelado.qxp 12/29/09 4:26 PM Page 280
Veamos si esto funciona. Con el cursor en A1 debe aparecer una flechita. Si hace-
mos clic en ella, se descolgará la lista de países. Al elegir uno de ellos aparecerá en
A4 su respectivo número de orden. Ahora escribimos la siguiente macro:
Sub Banderas ()
For i = 1 To 5
If i = [A4] Then
ActiveSheet.Shapes(i).Visible = True
Else
ActiveSheet.Shapes(i).Visible = False
End If
Next
End Sub
Esta macro recorre la lista de banderas. Si su número de orden coincide con el ob-
tenido en A4, lo hace visible. Si no, lo oculta. El resultado será mostrar la bandera
del país elegido en la lista. Para que esto funcione hay que ejecutar la macro cada
vez que elegimos un país. Podemos hacerlo automáticamente:
■ Macro automática PASO A PASO
Dentro del editor de Visual Basic, tome las opciones Ver/Explorador de
proyectos. Aparecerá una estructura similar a la del Explorador de archivos.
En esta estructura haga un doble clic en la entrada correspondiente a la hoja
donde está la lista de países. Se abrirá una ventana de texto con dos listas
desplegables.
En la lista de la izquierda, seleccione Worksheet. En la de la derecha, seleccione
Change. Aparecerá el comienzo y el fin de una macro.
Elegir imágenes
281www.redusers.com
❘❘❘
Si vamos a ejecutar una macro asignándole una combinación de teclas, conviene elegir com-
binaciones de la forma CONTROL+SHIFT+letra. Las combinaciones CONTROL+letra parecen más
cómodas, pero suelen tener otras funciones ya asignadas por Excel. Usarlas para otra cosa
termina causando confusiones.
ATAJOS DE TECLADO
08_Excel revelado.qxp 12/29/09 4:26 PM Page 281
Figura 51. Al elegir Change aparecerá el comienzo y fin de una macro automática.
Las líneas que aparecen en el editor corresponden a una macro que se ejecutará au-
tomáticamente al modificar cualquier valor de la hoja. Entre estas dos líneas copiamos
el código de la macro anterior. Debe quedar así:
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To 5
If i = [A4] Then
ActiveSheet.Shapes(i).Visible = True
Else
ActiveSheet.Shapes(i).Visible = False
End If
Next
End Sub
Esta macro se ejecutará automáticamente cada vez que cambia algún valor de la hoja y
oculta todas las imágenes de la hoja, excepto la que corresponde a la indicada en la cel-
da A4. Ahora, cada vez que seleccionemos un país se disparará la macro automática que
ocultará todas las banderas, excepto la correspondiente al país seleccionado.
8. MACROS
282 www.redusers.com
… RESUMEN
La respuesta a la pregunta que cierra este capítulo constituye el desarrollo de un sistema de
cierta complejidad. Ocurre que las macros permiten desarrollar verdaderos programas para
solucionar problemas muy complejos. Para profundizar en el tema, recomendamos el libro
Proyectos con macros en Excel, de la colección USERS Express.
08_Excel revelado.qxp 12/29/09 4:26 PM Page 282
Miscelánea
Guardado automático 287
Actualizar vínculos 291
Hipervínculos 293
Hipervínculo móvil 295
Copiar subtotales 307
Proteger archivo 312
Validación tolerante 319
Combinar datos 324
Capítulo 9
La cantidad y variedad de problemas
que se pueden resolver con Excel
es tal que se hace muy difícil de clasificar.
Un mismo problema puede involucrar
distintos tipos de recursos: funciones,
comandos, macros. En este capítulo
agrupamos todo lo inclasificable,
lo que no nos fue posible encuadrar
en ninguno de los demás capítulos.
EXCEL REVELADO
SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 283
Seleccionar hojas
¿Cómo se hace para seleccionar muchas hojas de un libro Excel sin tener que
apretar la tecla CONTROL y hacer clic en cada una? Resulta que hago cambios fre-
cuentes en las hojas y me complica tener que seleccionarlas una por una.
Viviana Lucía Aranda (Ranelagh, provincia de Buenos Aires)
La respuesta a esta pregunta depende de cuáles sean las hojas que se quiera seleccionar:
• Para seleccionar ciertas hojas del libro, no contiguas, no hay otra forma que la que
dice Viviana: mantener apretada la tecla CONTROL y hacer clic en la solapa de ca-
da hoja que se quiere seleccionar. Apretar sostenidamente la tecla CONTROL hace
que cada hoja seleccionada no deseleccione las anteriores.
• Para seleccionar hojas contiguas, se puede seleccionar la primera hoja del gru-
po y luego, manteniendo apretada la tecla SHIFT, seleccionar la última.
También se puede seleccionar la primera hoja del grupo y luego, manteniendo
apretadas las teclas CONTROL y SHIFT, apretar la tecla Av. Página hasta recorrer
(y seleccionar) todo el grupo.
• Para seleccionar todas las hojas del libro, lo más simple es hacer un clic derecho en la
solapa de cualquier hoja y luego tomar la opción Seleccionar todas las hojas.
Cualquiera de estas tres opciones funciona en todas las versiones de Excel.
Figura 1. Con la opción Seleccionar todas las hojas
se seleccionan inmediatamente todas las hojas del libro.
9. MISCELÁNEA
284 www.redusers.com
❘❘❘
En libros de muchas hojas podemos saltar de hoja en hoja a través de las solapas al pie del libro
o con el teclado: la combinación CONTROL+AVPÁG pasa a la hoja siguiente; la combinación
CONTROL+REPÁG pasa a la hoja anterior. De cualquier manera obtendremos el mismo resultado.
NAVEGAR LIBROS DE MUCHAS HOJAS
09_Excel revelado.qxp 12/29/09 4:27 PM Page 284
Cerrar todas las planillas
Luego de trabajar con varias planillas, quiero cerrarlas a todas, pero sin salir
de Excel. Lo hago con un clic en el botón Cerrar tantas veces como planillas tengo
abiertas, pero recuerdo que Quattro Pro tenía una opción para cerrar todos los archi-
vos en un único paso. ¿Hay algo parecido en Excel?
Alberto Constanzo (Tigre, provincia de Buenos Aires)
La respuesta a esta pregunta depende de la versión de Excel que se esté usando. En
Excel 2003 y en las versiones anteriores, existe una opción para cerrar todas las plani-
llas abiertas, pero está un poco escondida. Para verla tenemos que mantener apretada
la tecla SHIFT mientras abrimos el menú Archivo y hacer clic en la opción Cerrar todo.
Figura 2. Si hacemos un clic en Archivo mientras mantenemos
apretada la tecla SHIFT, el menú que se descuelga muestra la opción
Cerrar todo para cerrar todas las planillas abiertas.
Como su nombre lo indica, esta opción cierra todos los libros abiertos. Por su-
puesto, avisa cada vez que se dispone a cerrar un archivo aún no grabado, para
permitirnos salvar nuestro trabajo antes de dar por terminada la sesión. Sin em-
bargo, esto no funciona en Excel 2007, donde no existe el menú Archivo. En
Cerrar todas las planillas
285www.redusers.com
❘❘❘
En 1978, un estudiante de Harvard imaginó una calculadora cuyo visor pudiera guiarse a lo
largo y a lo ancho de una planilla virtual, como si fuera la mira de un avión caza, escribiendo
y calculando números. Ésa fue la idea inicial que inspiró el VisiCalc, la primera planilla elec-
trónica de cálculo, aparecida en 1979.
EL ORIGEN DE LAS PLANILLAS DE CÁLCULO
09_Excel revelado.qxp 12/29/09 4:27 PM Page 285
principio, este menú ha sido reemplazado por el Botón de Office que contiene las
opciones habituales tales como Abrir, Guardar, Cerrar o Imprimir. Pero no hay
una opción para cerrar todos los libros abiertos.
Figura 3. En Excel 2007, las opciones habituales del menú Archivo aparecen
en el Botón de Office. Pero no hay una opción para cerrar todos los archivos abiertos.
Podemos, sin embargo, obtener una opción para cerrar todos los libros abiertos en
Excel 2007 personalizando la barra de herramientas de acceso rápido, esa que apa-
rece arriba de la cinta de opciones, junto al Botón de Office.
■ Personalizar el acceso rápido PASO A PASO
Haga un clic derecho sobre la barra de herramientas de acceso rápido.
Tome la opción Personalizar barra de herramientas de acceso rápido. Aparecerá
el cuadro de Opciones de Excel, correspondiente a la categoría Personalizar.
Dentro de la casilla denominada Comandos disponibles en: haga un clic en la
flechita de la derecha y de las opciones que se despliegan seleccione
Comandos que no están en la cinta de opciones.
En la lista de la izquierda, busque y seleccione el comando Cerrar todo (los
comandos están en orden alfabético).
9. MISCELÁNEA
286 www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 286
Haga un clic en Agregar. El comando se agregará a la lista de la derecha.
Haga un clic en Aceptar.
Ahora este botón aparecerá en la barra de herramientas de acceso rápido. Si nos arre-
pentimos y queremos eliminarlo, hacemos un clic derecho sobre el botón y luego
tomamos la opción Eliminar de la barra de herramientas de acceso rápido.
Guardado automático
En Excel 97 tenía una opción para guardar automáticamente el libro actual a
intervalos regulares. Ahora me pasé a Excel XP y no encuentro esa opción. ¿No exis-
te o está escondida en alguna parte?
Néstor Robles Rivera (Chihuahua, México)
Es importante aclarar que a partir de Excel XP la opción de guardado automático
se llama Autorrecuperación. Para activarla debemos seguir los siguientes pasos:
Guardado automático
287www.redusers.com
❘❘❘
Una forma simple de ir guardando el archivo a medida que trabajamos con él es oprimir la com-
binación CONTROL+G. Si hacemos esto cada, por ejemplo, cinco minutos, ante una catástrofe en
el peor de los casos perderemos lo que hicimos en los últimos cinco minutos.
GUARDADO RÁPIDO
09_Excel revelado.qxp 12/29/09 4:27 PM Page 287
■ Guardado automático (Excel XP) PASO A PASO
Vaya al menú Herramientas/Opciones y seleccione la ficha Guardar.
Dentro de Guardar información de Autorrecuperación cada: indique el intervalo
deseado. De 10 a 15 minutos es un valor razonable.
Dentro de Ubicación de guardado con autorrecuperación: puede indicar la carpeta
donde se guardará el archivo.
No marque la opción Deshabilitar Autorrecuperación.
Haga un clic en Aceptar.
Si indicamos un intervalo de 10 minutos, y ocurre alguna catástrofe mientras estamos
trabajando con Excel (por ejemplo, se corta la luz), en el peor de los casos perderemos
lo hecho en los últimos diez minutos. Cuando volvemos a entrar a Excel, el Panel de
tareas mostrará los archivos que no llegamos a grabar, pero que se conservaron gra-
cias a la opción de Autorrecuperación. Haciendo un clic sobre ellos, los abrimos.
Figura 4. Si reabrimos Excel luego de un corte de luz, el Panel de tareas
nos mostrará los archivos que no llegamos a grabar,
pero que se preservaron gracias a la opción de Autorrecuperación.
9. MISCELÁNEA
288 www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 288
En general, el Panel de tareas puede mostrar el mismo archivo más de una vez:
el original, que hayamos grabado nosotros con Archivo/Guardar y el obtenido por
la opción de Autorrecuperación. Comparando la hora de grabación, sabremos cuál
es el que nos interesa recuperar.
La opción de Autorrecuperación funciona igual en Excel 2003, pero cambia en Ex-
cel 2007. Si tenemos esta versión de Excel instalada debemos proceder así:
■ Guardado automático PASO A PASO
Haga un clic en el Botón de Office y luego en Opciones de Excel.
En el panel de la izquierda, seleccione la categoría Guardar.
A continuación, indique el intervalo deseado dentro de Guardar información de
Autorrecuperación cada:.
Dentro de Ubicación de guardado con autorrecuperación: puede indicar la carpeta
donde se guardará el archivo.
Haga un clic en Aceptar.
A excepción de la ubicación de los menús y el nombre de algunas fichas y coman-
dos, que difieren según la versión de Excel que tengamos instalada, por lo demás,
el comportamiento de la opción es la misma en todas las versiones de Excel.
Guardado automático
289www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 289
Saltar de panel en panel
Tengo una hoja de Excel dividida en dos partes con las opciones Ventana/
Dividir. Quisiera saber si existe alguna combinación de teclas que me permita pasar
de una división a otra, en lugar de tener que seleccionar con un clic del mouse cada
parte de la ventana dividida. Gracias por tu ayuda.
Elías Manzur (provincia de San Juan)
Es posible dividir la ventana de Excel en cuatro paneles. En Excel 2007 lo hacemos con
un clic en el botón Nueva ventana, dentro de la ficha Vista de la cinta de opciones.
Figura 5. Podemos dividir la ventana de Excel en cuatro paneles
a partir de la posición del cursor. Equivale a las opciones
Ventana/Dividir de las versiones anteriores de la planilla.
Excel divide la ventana actual como si trazara dos líneas, horizontal y verticalmen-
te, en la posición del cursor. Si el cursor está en la primera o en la última columna
visible, la ventana queda dividida verticalmente en dos. Si está en la primera o en
la última fila, la ventana queda dividida horizontalmente.
En cualquier caso, podemos saltar de región en región con la tecla F6.
Cuando lo consideramos conveniente, podemos eliminar la división haciendo nue-
vamente un clic en el botón Nueva ventana o, en las versiones anteriores de Excel,
mediante las opciones Ventana/Quitar división.
9. MISCELÁNEA
290 www.redusers.com
❘❘❘
El uso de la tecla F6 para saltar de panel en panel se remonta a Lotus 1-2-3, uno de los prime-
ros programas para el manejo de planillas de cálculo. También heredadas de este programa, te-
nemos la tecla F2 para modificar el contenido de una celda y la combinación de las teclas Fin e
Inicio para ir a la esquina inferior derecha de la hoja actual.
TECLAS CON HISTORIA
09_Excel revelado.qxp 12/29/09 4:27 PM Page 290
Actualizar vínculos
Hice una planilla que desarrolla un plan de producción con información to-
mada de otras planillas que los demás usuarios graban en un mismo servidor. Cada
vez que abro la planilla, Excel me pregunta si quiero actualizar los datos vinculados.
Pero a veces quiero hacer la actualización cuando ya la tengo abierta. ¿Tengo que ce-
rrar la planilla y volverla a abrir o hay otra manera?
David L. Brown
No es necesario abrir y cerrar una planilla para que ésta actualice los datos que to-
ma desde otros archivos. Basta hacer un clic en el botón Conexiones, dentro de la
ficha Datos de la Cinta de opciones y luego en la opción Actualizar valores.
Figura 6. Con esta opción actualizamos los datos que provengan de otro libro de Excel.
Es importante recordar que en las versiones anteriores de Excel tenemos que tomar
las opciones Edición/Vínculos y luego hacer un clic en Actualizar valores.
En cualquier caso, Excel buscará las demás planillas vinculadas y transferirá sus
datos hacia la planilla principal, con solo presionar un botón.
Figura 7. En Excel 2003 y en las versiones anteriores accedemos
a las opciones para actualizar vínculos desde el menú Edición/Vínculos.
Actualizar vínculos
291www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 291
Sin actualización automática
Tengo una planilla que toma datos de otros archivos. Cuando la abro, Excel
me invita a actualizar los datos externos. Muchas veces acepto la invitación a actua-
lizar y, si antes modifiqué las planillas vinculadas, obtengo resultados que no corres-
ponden. ¿Es posible programar la planilla para que no actualice ni pregunte y que yo
pueda actualizar los datos cuando quiera?
Carlos Ferreyra (Olivos, provincia de Buenos Aires)
Efectivamente, cuando uno abre un archivo Excel vinculado a otros, es posible que
aparezca una advertencia que anuncia que el libro tiene vínculos a otras fuentes y
que se ha deshabilitado la actualización de esos datos vinculados.
Figura 8. Estamos abriendo un archivo Excel vinculado a otros. Excel pregunta
si queremos actualizar los datos de la planilla actual con los valores de los demás archivos.
En realidad, ésa es solamente una de tres opciones:
• Que avise que se ha deshabilitado la actualización de los datos.
• Que no presente al aviso ni actualice los datos.
• Que actualice sin avisar.
Desde el punto de vista de la seguridad, la opción más adecuada es la primera. La que
desea nuestro lector es la segunda. En cualquier caso, para activar la opción deseada:
9. MISCELÁNEA
292 www.redusers.com
❘❘❘
Muchas veces, al abrir un archivo Excel, aparece un cuadro que informa que el libro tiene víncu-
los con otros archivos, pero que no los encuentra. Si estamos seguros de que esos vínculos ya no
son necesarios, podemos eliminarlos con el botón Romper vínculo, dentro de Editar vínculos.
ROMPER VÍNCULOS
09_Excel revelado.qxp 12/29/09 4:27 PM Page 292
■ Actualización de datos PASO A PASO
Haga un clic en el botón Editar vínculos de la ficha Datos de la Cinta de opciones.
Haga un clic en Pregunta inicial. Aparecerá un cuadro con las tres opciones.
Marque la alternativa deseada.
Haga un clic en Aceptar y luego en Cerrar.
Si marcamos la opción No mostrar la alerta ni actualizar los vínculos automáticos,
Excel no actualizará los datos vinculados, ni avisará de la existencia de estos datos.
Cuando el usuario lo desee, podrá actualizarlos con la opción Actualizar valores, den-
tro de Editar vínculos, tal como se explica en la pregunta anterior.
En las versiones anteriores de Excel, las opciones para la apertura de archivos vin-
culados aparecen dentro del menú Edición/Vínculos.
Es importante recordar que la opción de Actualizar valores apareció en Excel XP,
de modo que no está disponible en Excel 2000 ni en las versiones anteriores.
Hipervínculos
Tengo un libro de Excel con dos hojas. En la Hoja2 hay una base de datos con
nombre, fecha, importe, etcétera. En la Hoja1 tengo una lista con los nombres de la
base anterior. Me gustaría poder hacer clic en un nombre de la Hoja1 y saltar auto-
máticamente a la fila correspondiente de la Hoja2.
Daniel Suasnabar (provincia de Salta)
El problema que plantea Daniel puede resolverse de una manera bastante senci-
lla, utilizando la función HIPERVINCULO, que tiene dos argumentos:
Hipervínculos
293www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 293
• El primero es la dirección. Puede ser una dirección de Internet o la referencia a
una celda de un archivo Excel.
• El segundo es un nombre descriptivo que mostrará la función.
Figura 9. Esta función genera un hipervínculo a la página de foros de la revista USERS.
Por ejemplo:
=HIPERVINCULO(“www.reduser.com/foros”;“Foros USERS”).
En el caso planteado en la pregunta, la dirección debe ser la referencia comple-
ta a la celda a donde queremos saltar. Completa quiere decir que debe incluir el
nombre del archivo, el nombre de la hoja y la dirección de la celda. Por ejem-
plo, si el archivo se llama Base y el registro correspondiente a Juan está en la cel-
da B9 de la Hoja2, la referencia completa será Base.xlsHoja2!B9. Y la función
sería =HIPERVINCULO(“Base.xlsHoja2!B9”; “Juan”)
Figura 10. Las fórmulas de la columna C generan hipervínculos
a las celdas de la Hoja2 donde se encuentra cada dato de la columna A.
9. MISCELÁNEA
294 www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 294
El problema es identificar la celda donde está el registro de Juan. Lo podemos
hacer con la función COINCIDIR. Si los nombres están en la columna A de la Ho-
ja2 hacemos: =COINCIDIR(“Juan”;Hoja2!A:A;0). El último argumento indica que
buscamos una coincidencia exacta. La función devuelve el número de orden de
la posición de Juan en la columna A de la Hoja2. Es decir, el número de fila. Con-
catenando este resultado con la letra A obtenemos las coordenadas de la celda
buscada. En resumen, si suponemos que los nombres están en la columna A, a
partir de la segunda fila, las fórmulas son:
• En B2 escribimos la función =COINCIDIR(A2;Hoja2!A:A;0) para obtener el número
de fila correspondiente al nombre escrito en A2.
• En C2 escribimos la función =HIPERVINCULO(“Base.xlsHoja2!A”&B2;”Ir”). Esta
función genera el hipervínculo a la celda de la columna A de la Hoja2 y la fila ob-
tenida en B2. El hipervínculo muestra el texto Ir.
Hipervínculo móvil
Tengo una planilla con datos distribuidos en distintas zonas. Al principio de la
hoja puse hipervínculos a cada zona para facilitar la navegación. Mi problema es que,
cuando inserto filas para agregar datos, las zonas se mueven y los hipervínculos ya
no apuntan a la dirección correcta. ¿Cómo hago para que los hipervínculos apunten
siempre a la zona correcta, aunque ésta se mueva?
Santiago Esteve (Necochea, provincia de Buenos Aires)
Una solución a la planilla de Santiago podría ser crear, en cada zona, un nom-
bre de rango. Luego, se hacen apuntar los hipervínculos a esos nombres. Por
ejemplo, supongamos el caso que plantea el lector, en el que tenemos en la hoja
una zona con nombres de ciudades, a partir de la celda A10. Vamos a asignarle
el nombre Ciudades a esta celda, de la siguiente manera:
■ Crear un nombre de rango PASO A PASO
Ubique el cursor en A10, la celda a la cual le asignará el nombre.
Haga un clic en el Cuadro de nombres, arriba y a la izquierda de la planilla, donde
aparecen las coordenadas de la celda actual.
Dentro de este cuadro, escriba el nombre elegido. En este caso, Ciudades.
Oprima la tecla ENTER (no olvidar este paso).
Hipervínculo móvil
295www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 295
Figura 11. Al hacer un clic en el Cuadro de nombres, podemos
escribir un nombre para designar al rango actualmente seleccionado.
Ahora, el nombre Ciudades es sinónimo de la celda A10. Entonces, todo lo que te-
nemos que hacer es crear un hipervínculo al nombre:
■ Crear hipervínculo (1) PASO A PASO
Ubique el cursor en el lugar donde desea crear el hipervínculo.
Seleccione la ficha Insertar, dentro de la cinta de opciones.
Haga un clic en el botón Hipervínculo. Aparecerá un cuadro con las opciones
necesarias para definir el hipervínculo.
En el lado izquierdo del cuadro, haga clic en Lugar en este documento. El cuadro
mostrará las distintas hojas del archivo y los nombres definidos.
9. MISCELÁNEA
296 www.redusers.com
❘❘❘
En Calc (el programa de hojas de cálculo de OpenOffice) los hipervínculos a otros archivos de-
ben ir precedidos por el prefijo file:///. Por ejemplo, =HIPERVINCULO(“file:///Sueldos.xls”)
genera un hipervínculo al archivo Sueldos.xls. En Excel, la función genera correctamente el hi-
pervínculo sin este prefijo.
HIPERVÍNCULOS
09_Excel revelado.qxp 12/29/09 4:27 PM Page 296
Haga un clic en el nombre. En este caso, Ciudades.
Dentro de Texto, escriba el texto que aparecerá en el hipervínculo. Excel sugiere
usar el propio nombre asignado al rango.
Haga un clic en Aceptar.
En las versiones de Excel anteriores a 2007, el cuadro para crear el hipervínculo se
obtiene con las opciones Insertar/Hipervínculo.
El hipervínculo aparece en la hoja tal como en las páginas de Internet: en color, su-
brayado y cuando apoyamos el puntero sobre él, éste se convierte en una manito.
Al hacer un clic sobre este hipervínculo, el cursor salta a la celda asociada.
Figura 12. Así se ve el hipervínculo en la hoja. Apunta
a la dirección o al nombre indicado en el momento de crearlo.
Si movemos la lista de ciudades (por ejemplo, porque insertamos filas por encima),
el nombre del rango se moverá con ella, lo que resuelve el problema planteado.
Hipervínculo móvil
297www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 297
9. MISCELÁNEA
298 www.redusers.com
Hipervínculo variable
Quiero poner, en un archivo Excel, un hipervínculo a otro archivo cuyo nombre
y ruta están escritos en celdas de la hoja. Si luego cambio la ruta o el nombre escritos
en esas celdas, quiero que el hipervínculo abra el nuevo archivo. ¿Se puede hacer?
José Domingo Pérez Ramírez (Islas Canarias, España)
El botón Hipervínculo (en la ficha Insertar de la Cinta de opciones) permite in-
sertar un hipervínculo a una celda del archivo, a una celda de otro archivo o a
cualquier otro destino, como un documento de Word o una página web. Pero,
en todos los casos, se debe indicar la dirección de destino, que queda fija en el
hipervínculo. Lo que pide el lector es un hipervínculo que sea variable, como se
modifica el resultado de una fórmula al cambiar los valores de sus datos. Esto
puede hacerse con la función HIPERVINCULO.
Figura 13. La función de la celda A4 crea un hipervínculo
al archivo cuyo nombre está escrito en la celda B1. Si hacemos un clic
en el hipervínculo, Excel abrirá ese archivo. El archivo que se va a abrir
debe estar en la misma carpeta que el archivo actual.
Por ejemplo, supongamos que escribimos el nombre de un archivo en la celda B1.
El hipervínculo que abre ese archivo se obtiene con la función: =HIPERVINCULO
(B1;“Abrir el archivo”). El segundo argumento es opcional y es el texto que mos-
trará el hipervínculo en la hoja. Pero esto funciona si el archivo se encuentra en la
carpeta actual. Si no es así, el primer argumento deberá incluir la ruta al archivo
que, a su vez, puede estar indicada en otra celda.
Figura 14. La función de la celda A4 crea un hipervínculo al archivo cuyo
nombre está escrito en la celda B1 y que está grabado en la carpeta indicada en B2.
En la hoja de cálculo de OpenOffice, el primer argumento debe estar precedido por la
palabra clave file:/// para que la función reconozca el hipervínculo a otro archivo.
09_Excel revelado.qxp 12/29/09 4:27 PM Page 298
Vínculos a fotos
299www.redusers.com
Vínculos a fotos
Tengo un libro de Excel con dos hojas. En la primera hay una lista de películas.
En la segunda, imágenes de las carátulas de los videos. Quiero vincular el título de la pe-
lícula con su respectiva imagen. Traté de ponerle nombre a las imágenes y crear hiper-
vínculos a ellas, pero no pude. Te agradecería que me dijeras cómo puedo realizarlo.
Andrés Mansilla (Lobos, provincia de Buenos Aires)
Una posible solución a este problema podría ser la siguiente. Primero, ajustar los
anchos de columna y altos de fila en la segunda hoja, de modo que cada carátula
encaje exactamente en una celda. Luego, en la lista de películas, convertimos cada
título en un hipervínculo a la celda que contiene la respectiva carátula. Por ejem-
plo, supongamos que tenemos el título de una película en la celda A3 de la Hoja1 y
su carátula en la celda B1 de la Hoja2:
Figura 15. El valor de la celda A3 es un hipervínculo
a la celda B1 de la Hoja2. Se obtiene con el botón Hipervínculo
de la ficha Insertar o con la combinación CONTROL+ALT+K.
■ Crear hipervínculo (2) PASO A PASO
Ubique el cursor en el lugar donde quiere crear el hipervínculo.
Seleccione la ficha Insertar, dentro de la cinta de opciones.
Haga un clic en el botón Hipervínculo. Aparecerá un cuadro con las opciones
necesarias para definir el hipervínculo.
En el lado izquierdo del cuadro, haga clic en Lugar en este documento.
09_Excel revelado.qxp 12/29/09 4:27 PM Page 299
Donde dice Escriba la referencia de celda coloque B1.
Donde dice o seleccione un lugar en este documento, seleccione la Hoja2.
Haga un clic en Aceptar.
Ahora, haciendo un clic en el título escrito en la celda A3 de la Hoja1 saltamos au-
tomáticamente a la celda B1 de la Hoja2, donde está la carátula correspondiente a la
película del título seleccionado.
No debemos olvidarnos que en las versiones anteriores de Excel creamos el hi-
pervínculo con las opciones Insertar/Hipervínculo. Y, en cualquier versión, po-
demos usar la combinación CONTROL+ALT+K.
Menú de navegación
Tengo una planilla separada en doce secciones, una sección por mes. Me
gustaría disponer de alguna forma fácil de dirigirme a cada sección. Por ejemplo, que
hubiera una lista desplegable con los meses y, al seleccionar un mes, que el cursor
saltara automáticamente al mes elegido. Sé que Excel tiene una opción para realizar
esto pero no pude encontrarla.
Christian Macedo Aliaga (Lima, Perú)
Una forma simple de resolver el problema que plantea Christian consiste en el
uso de hipervínculos. Supongamos, por practicidad, una planilla con solamente
cuatro secciones: Enero, a partir de A5; Febrero, a partir de A25; Marzo, a partir de
F5 y Abril, a partir de F30. Preparamos luego un rango auxiliar dentro de la mis-
ma hoja, por ejemplo A1:D1, con los nombres de los cuatro meses.
9. MISCELÁNEA
300 www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 300
Figura 16. Queremos que los nombres de la primera
fila conduzcan a los rangos correspondientes a cada mes.
Ahora creamos los hipervínculos como ya sabemos: seleccionamos la celda con
el primer nombre, luego vamos a la ficha Insertar y hacemos un clic en el botón
Hipervínculo. En el lado izquierdo del cuadro, seleccionamos Lugar en este documento
y donde dice Escriba la referencia de celda colocamos A5, que es la dirección co-
rrespondiente a este hipervínculo. Hacemos un clic en Aceptar.
Figura 17. De esta manera convertimos la celda
seleccionada en un hipervínculo hacia la celda A5.
Menú de navegación
301www.redusers.com
❘❘❘
Es importante tener en cuenta que al abrir un libro de Excel con vínculos hacia otros archivos
Excel puede invitar a actualizarlos, actualizarlos directamente o no actualizarlos por razones de
seguridad. Cualquiera sea la elección que deseemos hacer encontraremos estas opciones den-
tro de Editar vínculos a través del botón Pregunta inicial.
ACTUALIZAR VÍNCULOS
09_Excel revelado.qxp 12/29/09 4:27 PM Page 301
9. MISCELÁNEA
302 www.redusers.com
❘❘❘
Excel incluye un menú de navegación para pasar de hoja en hoja en un libro de muchas hojas:
con un clic derecho sobre los botones de hoja (abajo y a la izquierda del libro) aparece un cua-
dro con la lista de hojas que contiene el libro.
NAVEGACIÓN
Con esto hemos convertido la celda A1 (la del primer nombre) en un hipervín-
culo a la celda A5. Su funcionamiento es muy simple: haciendo un clic en el hi-
pervínculo, el cursor saltará a la sección correspondiente a Enero. Si hacemos lo
mismo con los demás meses dispondremos de un menú para navegar hacia cual-
quiera de las cuatro secciones. Conviene incluir, en cada sección, otro hipervín-
culo para volver al menú de navegación.
En las versiones anteriores de Excel creamos el hipervínculo con las opciones Inser-
tar/Hipervínculo. Y, en cualquier versión, con la combinación CONTROL+ALT+K.
Eliminar objetos
Suelo importar archivos HTML de Internet a Excel, pero obtengo planillas
llenas de objetos pegados que no quiero. Si pido que me lo importe como texto no
respeta la separación de columnas. ¿Cómo puedo eliminar rápida y fácilmente to-
dos esos objetos pegados?
Guillermina Demker de Meer (Buenos Aires)
Para eliminar objetos pegados en una hoja de Excel (o en un documento de Word)
hay que seleccionarlos y luego oprimir la tecla Suprimir. Claro que, si los objetos
son muchos, seleccionarlos uno por uno es fastidioso. Hay una opción para selec-
cionar todos los objetos de una vez:
■ Seleccionar objetos PASO A PASO
Oprima la tecla F5 para que aparezca el cuadro con las opciones del comando Ir....
Haga un clic en Especial....
Marque la opción Objetos.
Haga un clic en Aceptar.
09_Excel revelado.qxp 12/29/09 4:27 PM Page 302
Figura 18. Con la opción Objetos seleccionamos todos los objetos
de esta hoja. Luego podemos eliminarlos con la tecla Suprimir.
Reemplazar caracteres
¿Cómo se hace para reemplazar dos caracteres por otro? Por ejemplo, si tengo
la palabra PALABRA, quiero que las letras A y B se reemplacen por C, quedando PCLCCRC.
Manuel Silva Barbosa (Punta del Este, Uruguay)
Excel tiene dos formas de reemplazar un dato por otro. El primero es la opción
Reemplazar. Para hacer el reemplazo que pide Manuel, hay que usarlo dos veces:
■ Reemplazar PASO A PASO
Seleccione el rango donde están los datos para reemplazar.
Oprima la combinación CONTROL+L. Aparecerá un cuadro con las opciones para
el reemplazo.
Donde dice Buscar: escriba el carácter que quiere reemplazar. En este caso, una A.
Reemplazar caracteres
303www.redusers.com
❘❘❘
No debe confundirse la función SUSTITUIR con la función REEMPLAZAR. La primera sustituye un
carácter o grupo de caracteres por otro, tantas veces como aparezca en el texto inicial. La se-
gunda reemplaza una cantidad dada de caracteres por un texto especificado.
¿SUSTITUIR O REEMPLAZAR?
09_Excel revelado.qxp 12/29/09 4:27 PM Page 303
Donde dice Reemplazar por: escriba el carácter que reemplazará al anterior. En
este caso, una C.
Haga un clic en Reemplazar todos.
Figura 19. Aquí tenemos que especificar el reemplazo:
qué letra, palabra o grupo de palabras sustituiremos
y por qué otra letra (o palabra o grupo de palabras).
Con el procedimiento que acabamos de realizar logramos reemplazar las letras A
por C. Luego, para reemplazar las B, sin salir del cuadro ni deseleccionar el ran-
go, escribimos directamente una B en el cuadro Buscar: y volvemos a hacer clic
en el botón Reemplazar todos. Una vez terminado el reemplazo, hacemos un clic
en Cerrar para volver a nuestra planilla.
La otra forma de resolver el problema consiste en usar la función SUSTITUIR. Si
queremos hacer el reemplazo en la celda A1 escribimos, en otra celda, la expresión:
=SUSTITUIR(SUSTITUIR(A1;”A”;”C”);”B”;”C”).
Figura 20. Con la función SUSTITUIR podemos
reemplazar una letra por otra dentro de un texto.
Veamos cómo trabaja esta función. La función expresada en el primer parénte-
sis reemplaza las A por C. Sobre el resultado de este reemplazo, la función expre-
sada en segundo término reemplaza las B por C. Debemos tener en cuenta que
esta función distingue entre mayúsculas y minúsculas.
9. MISCELÁNEA
304 www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 304
Nombres de rango 3D
Tengo un libro de Excel con 20 hojas y quiero darle nombre al rango A1:C10
de todas las hojas. Probé todas las opciones posibles, busqué en la Ayuda, pero no
encontré la solución. ¿Tenés alguna idea?
Laura Mariani (Buenos Aires)
Esta pregunta tiene dos interpretaciones posibles: si lo que quiere Laura es darle un
nombre al rango A1:C10 de cada una de las hojas (veinte rangos, uno por hoja), en-
tonces hay que usar el botón Asignar nombre a un rango, que encontramos en la fi-
cha Fórmulas de la Cinta de opciones. Este procedimiento lo tendría que repetir
veinte veces, es decir una vez por cada hoja.
Figura 21. Aquí creamos un nombre para un rango, dentro
de una determinada hoja. Este cuadro corresponde a Excel 2007.
En las versiones anteriores de Excel se usan las opciones Insertar/Nombres/Definir.
En este caso hay que usar un nombre distinto en cada rango porque en las viejas
versiones de Excel, cada nombre debe ser único en todo el archivo, no puede haber
dos rangos con el mismo nombre, uno en cada hoja.
Si lo que quiere Laura es darle un nombre al rango 3D formado por las sesenta cel-
das (tres columnas, diez filas y veinte hojas) también usamos el botón anterior:
■ Rangos 3D PASO A PASO
Haga un clic en el botón Asignar nombre a un rango, dentro de la ficha Fórmulas
de la cinta de opciones.
Donde dice Nombre, escriba el nombre elegido para el rango.
En la opción Ámbito, indique Libro.
Nombres de rango 3D
305www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 305
Donde dice Hace referencia a: escriba =Hoja1:Hoja20!$A$1:$C$10. Ésta es la
forma de referirse al rango de tres dimensiones.
Haga un clic en Aceptar.
Figura 22. Así asignamos un nombre a un rango 3D,
que ocupa todas las hojas del libro, de la uno a la veinte. Atención
a los signos $ para fijar las coordenadas de las celdas.
En esta asignación es importante el uso de los signos $ para indicar correctamente
las coordenadas del rango. Para comprobar que el nombre fue correctamente asig-
nado, podemos escribir la función =SUMA(nombre) y comprobar que suma correc-
tamente los valores de las sesenta celdas del rango.
Figura 23. El nombre BLOQUE incluye al rango A1:B2 de las tres hojas de este libro.
La función de la celda C2 suma correctamente los valores de las doce celdas del rango.
9. MISCELÁNEA
306 www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 306
Copiar subtotales
Tengo un libro de Excel con subtotales, y necesito trasladar solamente las fi-
las que tienen los subtotales (sin las otras filas) a otro libro de Excel. Por ahora los co-
pio en un papel y luego los escribo en el otro libro. ¿Hay alguna manera sencilla de
hacerlo sin tener que escribirlos?
Mabel Núñez (Santa Rosa, provincia de La Pampa)
Uno podría preguntar por qué no trasladar los subtotales con la opción de Copiar y
Pegar. Porque habría que copiarlos uno por uno, ya que los subtotales no están en
filas consecutivas, aunque así se vea por haber contraído convenientemente la lista.
Figura 24. Esta lista está contraída de modo de mostrar
solamente los subtotales y el total general. Sin embargo, el rango
seleccionado incluye todas las celdas, visibles y no visibles.
Una solución sería pedirle a Excel que seleccione sólo las celdas visibles:
■ Seleccionar celdas visibles PASO A PASO
Contraiga la lista de modo de mostrar solamente los subtotales. Eso lo puede
hacer con un clic sobre el botón 2 en la barra de control de los subtotales, a la
izquierda de la lista.
Seleccione los subtotales.
Oprima la tecla F5, correspondiente al comando Ir....
Haga un clic en Especial.
Marque la opción Sólo celdas visibles (2).
Haga un clic en Aceptar.
Copiar subtotales
307www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 307
Cuando, al principio de la respuesta, decíamos que podíamos seleccionar las celdas
que contienen los subtotales, hacer un clic en el botón Copiar de la ficha Inicio, lue-
go ubicarnos en la otra planilla y presionar el botón Pegar, para trasladar los subto-
tales, en realidad, lo que estamos seleccionando son todos los valores de la planilla.
En cambio, con la opción Sólo celdas visibles (2) (Figura 25) quedarán seleccionados
solamente los subtotales, que son las celdas visibles en el rango seleccionado origi-
nalmente. Y es justametne lo que pide Mabel.
Figura 25. Con la opción Sólo celdas visibles (2) se seleccionan
las celdas visibles dentro del rango seleccionado originalmente.
Ahora podemos usar las opciones de Copiar y Pegar para llevar los subtotales selec-
cionados a otro rango, dentro del mismo libro o de otro.
Multiplicar
En una columna de Excel tengo una serie de números. Quiero multiplicarlos a
todos por un valor fijo. Lo que hago es crear la fórmula en una columna auxiliar y luego
pegar resultados sobre los datos originales. ¿Hay alguna manera más rápida y fácil?
Vicente García Gil (provincia de Catamarca)
9. MISCELÁNEA
308 www.redusers.com
❘❘❘
Esta técnica con la opción Multiplicar del Pegado especial permite cambiar el signo a un rango
de valores (de positivo a negativo o viceversa). Basta escribir -1 en la celda auxiliar. Al multipli-
car por -1, cambia el signo de todos los valores sobre los cuales pegamos multiplicando.
CAMBIAR SIGNO
09_Excel revelado.qxp 12/29/09 4:27 PM Page 308
Para multiplicar (sumar, restar o dividir) una serie de números por un valor constan-
te se puede usar una de las opciones del Pegado especial, que encontramos al hacer clic
en la flechita del botón Pegar, ubicado en la ficha Inicio. Por ejemplo, supongamos
que los datos originales están en el rango B2:B11 y que se los quiere multiplicar a to-
dos por 2. El procedimiento es el siguiente:
■ Multiplicar PASO A PASO
En una celda auxiliar, por ejemplo D1, escriba el factor constante. En este caso, 2.
Con esa celda seleccionada, haga un clic en el botón Copiar (está en la ficha
Inicio de la cinta de opciones).
Seleccione el rango de los números que quiere multiplicar. En este caso, B2:B11.
Haga un clic en la flechita que se encuentra bajo el botón Pegar y luego en Pegado
especial. Aparecerá un cuadro con las opciones de pegado.
Marque la opción Multiplicar.
Haga un clic en Aceptar.
Por último, borre la celda auxiliar (ya no la necesitará).
Figura 26. En la ventana Pegado especial encontramos
la opción Multiplicar que, justamente, nos permite multiplicar los datos
seleccionados por el valor copiado originalmente en el portapapeles.
Multiplicar
309www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 309
Parámetros por omisión
En todas mis hojas de cálculo establezco márgenes, que son distintos a los
predeterminados por Excel. ¿Cómo hago para que esos márgenes (y otras opcio-
nes en general) queden fijos y aparezcan por omisión en cada nuevo libro de Excel
que creo? Desde ya te agradezco por la respuesta.
Javier Edgardo Mella
Éste es un problema muy común y de difícil solución. Aunque hay una respuesta
estándar, no siempre funciona.Vamos a intentar una solución.
Los parámetros predeterminados de una planilla Excel están en el archivo Libro.xlt.
Es el equivalente a la plantilla Normal.dot de Word. El problema es que, mientras
en todo Word hay un archivo Normal.dot (si lo borramos, Word lo vuelve a crear
automáticamente), en Excel puede no haber un Libro.xlt. Y, si lo queremos crear,
no siempre se sabe dónde debe guardarse. Pero probemos:
■ Crear plantilla PASO A PASO
Abra una nueva planilla en blanco y aplíquele todas las opciones que quiera
predeterminar.
Haga un clic en el Botón de Office y tome las opciones Guardar como/Otros
formatos. Aparecerá el cuadro habitual para guardar un archivo Excel.
Dentro de Tipo, indique la plantilla correspondiente al archivo que está guardando
(plantilla de Excel 2007 con o sin macros o plantilla de Excel 97-2003, si está
usando una versión anterior).
Excel va a sugerir que el archivo se guarde en la carpeta Templates o Plantillas.
Indique, en cambio, la carpeta Archivos de programaMicrosoft OfficeOffice
XLStart o InicioXL (según el idioma de instalación de Office).
9. MISCELÁNEA
310 www.redusers.com
❘❘❘
Al hacer un clic en el botón Administrador de nombres, en la ficha Fórmulas de la Cinta de
opciones, aparece un cuadro que nos permite modificar de una manera muy simple los nom-
bres de rango creados en el libro. Desde esta misma opción también podemos eliminar los
nombres que ya no utilizaremos, de modo de mantener siempre actualizada la planilla.
NOMBRE DE RANGO
09_Excel revelado.qxp 12/29/09 4:27 PM Page 310
Dentro de Nombre de archivo, escriba Libro.
Haga un clic en Guardar.
Figura 27. Las opciones aplicadas en la plantilla Libro20.xlt
serán las predeterminadas en cada nuevo libro que creemos en adelante.
Este procedimiento es el oficialmente correcto. Lo que puede fallar es la carpeta don-
de se guarda la plantilla. Si las cosas salen bien, al crear un nuevo archivo en blanco
con la combinación CONTROL+U, éste tendrá que aparecer con las opciones indicadas
en la plantilla Libro.xlt. Si esto no funciona, lo más simple y que recomendamos ha-
cer es crear un archivo común y corriente y tomarlo como base para los demás. Es
como recrear el concepto de plantilla, pero usando archivos XLS o XLSX.
Repetir datos
Trabajo en un colegio que tiene 450 alumnos y tengo que preparar una plani-
lla por cada alumno, con sus datos. ¿Hay alguna manera de realizar esto en Excel de
una forma que algunos datos (por ejemplo, el nombre del colegio) se escriba una so-
la vez y se replique automáticamente en todas las hojas?
Antonio Salinas
Una forma simple de resolver este problema consiste en armar una planilla modelo con
los datos comunes a todos los alumnos y copiarla tantas veces como alumnos haya. Pe-
ro hay otra forma de escribir los mismos datos en todas las hojas de un libro:
Repetir datos
311www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 311
■ Repetir datos PASO A PASO
Haga un clic derecho sobre la solapa de cualquier hoja del libro y tome la opción
Seleccionar todas las hojas.
Con todas las hojas seleccionadas, escriba el primer dato en la celda
correspondiente.
Dele entrada con la combinación CONTROL+ENTER. De esta manera, el dato
ingresa en la celda de todas las hojas seleccionadas.
Proteger archivo
Querría saber si en Excel 2003 se puede restringir la apertura del archivo con
una contraseña. Ahora uso la opción de Proteger hoja, pero eso no impide abrir el ar-
chivo, solamente impide modificarlo. Eso no me sirve.
Diego Matías Abiuso (Rosario, provincia de Santa Fe)
9. MISCELÁNEA
312 www.redusers.com
❘❘❘
El uso de plantillas puede resultar algo confuso o fastidioso. La mayoría de los usuarios opta por
guardar una copia de sus “libros modelo” y tomarlos como base para crear archivos similares.
Es una forma de recrear el concepto de plantilla en un libro normal de Excel.
PLANTILLAS
09_Excel revelado.qxp 12/29/09 4:27 PM Page 312
Efectivamente, se puede proteger el archivo con una contraseña para impedir que
sea abierto por personas no autorizadas. Esto se hace en el momento de grabarlo:
■ Proteger archivo PASO A PASO
Haga un clic en el Botón de Office.
Tome las opciones Guardar como y luego haga clic en el tipo de archivo deseado.
Aparecerá el cuadro habitual para guardar un archivo Excel.
Haga un clic en el botón Herramientas y luego en Opciones generales. Aparecerá
un cuadro para escribir las contraseñas que protegerán al archivo.
Dentro de la casilla Contraseña de apertura, escriba una contraseña y haga un
clic en Aceptar.
Confirme la contraseña.
Haga un clic en Aceptar y luego en Guardar.
Figura 28. Aquí indicamos una contraseña para impedir que el archivo sea
abierto por personas no autorizadas. Si la contraseña la escribimos en Contraseña
de escritura, los extraños podrán abrir el archivo, pero no grabarlo.
Ahora, cuando volvamos a abrir el archivo, Excel pedirá la contraseña. Si no la es-
cribimos correctamente, el archivo no se abrirá.
En realidad, este procedimiento permite establecer dos niveles de protección:
Proteger archivo
313www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 313
• Si escribimos una contraseña en Contraseña de apertura, quienes la desconozcan
no podrán abrir el archivo.
• Si escribimos una contraseña en Contraseña de escritura, quienes la desconozcan
podrán abrir y modificar el archivo, pero no grabar las modificaciones. Es decir
que se abrirá en la modalidad Sólo lectura.
Esta opción está en todas las versiones de Excel y en los demás programas de Offi-
ce. De modo que podemos usarla para proteger un documento de Word o una pre-
sentación de PowerPoint.
Si, por alguna razón, luego queremos retirar esta protección, repetimos el procedi-
miento y borramos la contraseña aplicada (que estará representada por asteriscos).
Por supuesto, previamente debimos haber tomado nota de ella.
Exportar a Outlook
Querría saber cómo pasar una lista de direcciones de correo electrónico desde
una hoja Excel a la lista de contactos de Outlook. Sin copiarlas una por una, por supuesto.
Nicte Ha Rosas (México)
Outlook reconoce varios formatos para importar listas de contactos. Uno de ellos
es el CSV (valores separados por comas), que también es reconocido por Excel. Lo
primero que debemos hacer es guardar la hoja en este formato:
■ Guardar en formato CSV PASO A PASO
Haga un clic en el Botón de Office.
Tome las opciones Guardar como/Otros formatos. Aparecerá el cuadro habitual
para guardar un archivo Excel.
Dentro de Tipo indique CSV (MS-DOS).
9. MISCELÁNEA
314 www.redusers.com
❘❘❘
Excel ofrece dos niveles de protección de la información. El explicado en esta consulta protege
el archivo como un todo. La opción Bloquear celda, dentro del botón Formato (en el grupo Celdas
de la ficha Inicio), protege ciertas celdas para que su contenido no pueda ser modificado.
PROTECCIÓN
09_Excel revelado.qxp 12/29/09 4:27 PM Page 314
Indique el nombre del archivo y la carpeta de destino (como siempre) y haga un
clic en Guardar.
Una vez obtenido este archivo abrimos Outlook y lo importamos:
■ Importar a Outlook PASO A PASO
Tome las opciones Archivo/Importar y exportar. Con esto abrirá el asistente
para importar datos.
Indique la opción Importar de otro programa o archivo. Haga un clic en Siguiente.
En el segundo paso del Asistente para importar y exportar marque la opción
Valores separados por comas (DOS).
Haga un clic en Siguiente y luego en Examinar.
Localice y seleccione el archivo CSV que generó desde Excel.
Haga un clic en Aceptar y luego en Siguiente.
Indique dónde pondrá los datos importados (seguramente, Contactos). Haga un
clic en Siguiente.
Confirme lo que va a hacer y haga un clic en Finalizar.
Exportar a Outlook
315www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 315
En realidad, en el segundo paso del Asistente para importar y exportar, donde fi-
gura la lista de tipos de archivo para importar, también se encuentra Excel, pero
desafortunadamente no siempre funciona correctamente, por eso es que conviene
elegir la opción Valores separados por comas (DOS). En cualquier caso, el procedi-
miento es guiado por el asistente y se tarda menos en hacerlo que en contarlo.
Validación externa
¿Se pueden validar los datos para ingresar en la Hoja1, según el contenido de
una lista alojada en la Hoja2?. Muchas gracias por tu ayuda.
Mabel Núñez (Santa Rosa, provincia de La Pampa)
Comencemos por el principio. Las opciones de validación permiten restringir los
datos que se pueden ingresar en una celda o rango de celdas. Por ejemplo, supon-
gamos que en la celda B1 solamente podemos escribir números enteros positivos no
mayores que 10, debemos proceder de la siguiente forma:
■ Establecer la validación PASO A PASO
Ubique el cursor en B1, la celda donde va a aplicar el criterio de validación.
Haga un clic en el botón Validación de datos, en la ficha Datos de la cinta de
opciones. Aparecerá un cuadro con las opciones de validación.
Dentro de Permitir, despliegue las opciones y seleccione Número entero.
Dentro de Mínimo, escriba 0.
Dentro de Máximo, escriba 10.
Haga un clic en Aceptar.
9. MISCELÁNEA
316 www.redusers.com
❘❘❘
En Excel 2003 y en las versiones anteriores, los nombres de rango son únicos en todo el libro.
Es decir que no puede haber dos rangos con el mismo nombre en dos hojas del mismo libro. En
Excel 2007 cada hoja puede tener su propia colección de nombres y un nombre se puede repe-
tir entre una hoja y otra, de modo que debemos ser más cuidadosos.
NOMBRES DE RANGO
09_Excel revelado.qxp 12/29/09 4:27 PM Page 316
Figura 29. Aquí establecemos que el valor
de B1 debe ser positivo y menor o igual a 10.
Si ahora pretendemos escribir en esta celda un número “fuera de rango”, Excel no
nos dejará y nos mostrará una ventana de error.
Figura 30. Luego de haber aplicado el criterio de validación,
Excel no nos deja escribir un valor que no cumple con ese criterio.
Recordemos que en las versiones anteriores de Excel, aplicamos un criterio de vali-
dación a través del menú Datos/Validación.
Hay distintos criterios de validación: que el valor ingresado, aplicado a alguna fór-
mula, cumpla cierta condición; que un texto no supere determinada cantidad de ca-
racteres o que pertenezca a una lista preestablecida. Por ejemplo, supongamos que
el valor de B1 debe ser una ciudad perteneciente a la lista escrita en D1:D5:
Validación externa
317www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 317
■ Validación externa PASO A PASO
Coloque el cursor en B1.
Haga un clic en el botón Validación de datos.
Dentro de Permitir, despliegue las opciones y seleccione Lista.
Dentro de Origen, seleccione el rango con la lista de valores válidos.
Haga un clic en Aceptar.
Figura 31. Con estas opciones establecemos que el valor
de B1 debe ser igual a alguna de las ciudades escritas en el rango D1:D5.
Ahora, la celda donde aplicamos este criterio ofrece una lista desplegable con los
nombres de los datos permitidos, con un clic seleccionamos el nombre deseado.
9. MISCELÁNEA
318 www.redusers.com
❘❘❘
El cuadro con las opciones de validación incluye dos fichas adicionales: Mensaje de entrada per-
mite indicar un texto que aparecerá al poner el cursor en la celda donde se aplicó el criterio; y
Mensaje de error permite indicar el tipo de error que aparecerá al escribir un valor que no cum-
ple el criterio. Esto se desarrolla en la siguiente consulta, Validación tolerante.
OPCIONES DE VALIDACIÓN
09_Excel revelado.qxp 12/29/09 4:27 PM Page 318
Figura 32. Luego de haber aplicado el criterio
de validación, la celda B1 ofrece un menú con las ciudades permitidas.
Éste es el tipo de criterio de validación que quiere aplicar nuestra lectora, pero su
lista de valores permitidos está en una hoja distinta de aquella donde se aplica el cri-
terio. Y eso, Excel no deja hacerlo: cuando queremos ir a la otra hoja a seleccionar
la lista, no podemos. Sin embargo, sí podemos hacerlo si, previamente, le asigna-
mos un nombre de rango a la lista: seleccionamos la lista y, dentro del Cuadro de
nombres, escribimos el nombre elegido. Luego oprimimos la tecla ENTER.
Figura 33. Así le asignamos un nombre de rango a la lista
de ciudades permitidas. No olvidar aceptar este nombre con la tecla ENTER.
Una vez asignado el nombre de rango, establecemos el criterio de validación como
antes. Pero, dentro de la opción Origen escribimos =Ciudades. Es decir, el nombre
del rango, precedido por un signo =. En estas condiciones, Excel reconoce la lista
de ciudades escrita en la otra hoja.
La siguiente pregunta plantea otro aspecto de las opciones de Validación.
Validación tolerante
Quiero aplicar un criterio de validación en una celda para que me avise
cuando escribo un valor superior a cierto límite, pero también quiero que me deje
escribir el número. Muchas gracias por brindarme una solución a mi problema.
José Petit
Hay varias formas de resolver este problema. Una posibilidad es escribir una fórmu-
la que muestre un mensaje de advertencia junto al valor “prohibido”. Por ejemplo,
Validación tolerante
319www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 319
9. MISCELÁNEA
320 www.redusers.com
si en B1 se debe escribir un valor menor a 1000, en C1, es decir a su derecha, escri-
bimos la fórmula =SI(B11000; “Demasiado grande”;“OK”).
Figura 34. La fórmula de la celda C1 muestra
un mensaje de advertencia si el valor de B1 es mayor que 1000.
Si queremos usar la opción de Validación, tenemos otra posibilidad:
■ Validación tolerante PASO A PASO
Ubique el cursor en B1.
Haga un clic en el botón Validación de datos (en la ficha Datos, dentro del grupo
Herramientas de datos).
Dentro de Permitir, despliegue las opciones y seleccione Número entero.
Dentro de Datos, seleccione menor que.
Dentro de Máximo, escriba 1000, el valor límite para este ejemplo.
Seleccione la ficha Mensaje de error.
Dentro de Estilo, seleccione Información.
Haga un clic en Aceptar.
❘❘❘
Otra forma de limitar la navegación a un cierto rango consiste en bloquear las celdas de la hoja
(excepto en el rango de navegación) desde Inicio/Celdas/Formato/Bloquear celda; y luego prote-
ger la hoja (Formato/Proteger hoja) desmarcando la opción Seleccionar celdas bloqueadas. En es-
tas condiciones es imposible salir de las celdas desbloqueadas, con el cursor o con el mouse.
LIMITAR NAVEGACIÓN
09_Excel revelado.qxp 12/29/09 4:27 PM Page 320
Ahora sí, si escribimos un valor que supera el límite que indicamos como crite-
rio de validación, Excel mostrará un mensaje de alarma, pero, con un clic en Sí,
podremos dar por bueno el valor y continuar ingresando datos en la planilla.
En la solapa Mensaje de error de la ventana Validación de datos debemos tener en cuen-
ta que cuando establecemos el Estilo del mensaje de error, tenemos tres posibilidades:
• Grave: Excel rechaza el valor ingresado y nos obliga a ingresar otro.
• Advertencia: Excel rechaza el valor ingresado y nos pregunta si queremos aceptar-
lo de todos modos, ingresar otro o cancelar el ingreso.
• Información: Excel rechaza el valor ingresado, pero nos pregunta si queremos acep-
tarlo de todos modos o cancelar el ingreso.
Figura 35. La opción de validación ofrece tres estilos para el mensaje
de error que aparecerá ante un valor que no cumple con el criterio de validación.
Tal como está planteada la pregunta, nos sirven cualquiera de los dos últimos estilos,
ya que nos permiten ingresar de todas formas el valor, aunque no sea el correcto.
Validación tolerante
321www.redusers.com
❘❘❘
En principio, cuando se usa la opción de Validación en la variante Lista, la lista de datos válidos de-
be estar en la misma hoja que la celda donde se aplica el criterio. Pero hay un truco muy simple
para poner la lista en otra hoja. Este tema lo desarrollamos en la consulta Validación externa.
VALIDACIÓN EXTERNA
09_Excel revelado.qxp 12/29/09 4:27 PM Page 321
Pantalla limitada
Necesito establecer límites a mis pantallas dentro de un libro. Esto es, quiero
que los usuarios sólo puedan navegar dentro del rango A1:E20. Ni las teclas de fle-
chas, ni las barras de desplazamiento deberían permitir avanzar fuera de estos lími-
tes. No encuentro una opción adecuada para lograr este efecto.
Carlos Arano (General Rodríguez, provincia de Buenos Aires)
Hay distintas maneras de resolver este problema. Una de las más sencillas es ocul-
tar las filas y columnas que estén más allá del rango limitado. Si queremos limi-
tar la navegación a las primeras veinte filas, seleccionamos desde la fila 21 hasta
el final de la hoja y, dentro de la ficha Inicio de la cinta de opciones, pulsamos en
Formato/Ocultar y mostrar/Ocultar filas. Luego hacemos lo mismo con las colum-
nas más allá de la última permitida.
Figura 36. Con estas opciones ocultamos
las filas correspondientes a las celdas seleccionadas.
9. MISCELÁNEA
322 www.redusers.com
❘❘❘
La condición bin expresada en los Parámetros de Solver obliga a que las celdas variables reci-
ban números binarios. Es decir, solamente ceros o unos. Es una forma cómoda y elegante de pe-
dir la condición =O(celda=0;celda=1), sin tener que indicarla celda por celda.
BINARIOS
09_Excel revelado.qxp 12/29/09 4:27 PM Page 322
En las versiones anteriores de Excel, las opciones para ocultar filas y columnas es-
tán dentro de los menús Formato/Fila/Ocultar y Formato/Columna/Ocultar.
Es importante destacar que con las opciones Ocultar filas y Ocultar columnas, lo que
hacemos es limitar la visualización de la hoja al rango de filas y columnas no ocul-
tas. Pero todavía permite algunos efectos no deseados, o que al menos a nuestro lec-
tor no le interesa que se puedan efectuar. Por ejemplo, que el usuario se vaya de la
pantalla con las barras de desplazamiento o con las teclas AvPág y RePág.
Una solución más compleja, pero más efectiva, fue propuesta por el propio Carlos
luego de un intercambio de mensajes, a través de una propiedad en el Editor de Vi-
sual Basic. De esta manera, las personas que debían trabajar con esa planilla sólo es-
taban limitados a realizar modificaciones dentro de un rango determinado:
■ Pantalla limitada PASO A PASO
Oprima la combinación ALT+F1 para abrir el Editor de Visual Basic.
Una vez dentro del editor, tome las opciones Ver/Explorador de proyectos.
Aparecerá una estructura similar al explorador de archivos de Windows.
Dentro de este explorador, seleccione la rama correspondiente a la hoja donde
quiere limitar la navegación.
Tome las opciones Ver/Ventana propiedades. Aparecerá un cuadro con las
distintas propiedades de la hoja.
Dentro de la propiedad ScrollArea escriba el rango al cual quiere limitar la
navegación. En este caso, $A$1:$E$20.
Oprima ENTER y cierre el editor para volver a Excel.
Pantalla limitada
323www.redusers.com
❴❵
Excel 2007 satisface, después de veinte años, uno de los principales reclamos de los usuarios: su-
pera el límite de 256 columnas por hoja, de la A a la IV. Ahora una hoja de Excel tiene 16384 co-
lumnas, de la A a la XFD. También admite más de un millón de filas y 3267 caracteres por celda.
EL TAMAÑO DE LA HOJA
09_Excel revelado.qxp 12/29/09 4:27 PM Page 323
Figura 37. La propiedad ScrollArea limita la navegación
al rango indicado. Ahora sí la navegación estará limitada
al rango indicado y no habrá forma de salir de él.
Combinar datos
Mi problema es un poco complejo. Le envié diez facturas a un cliente. Él me
envió un cheque por un importe menor al de la suma de las facturas. Por lo tanto, so-
lamente me pagó algunas de las facturas. Quiero saber cuáles son esas facturas. Sé
que son menos de nueve porque la diferencia de importes es mayor a cualquier fac-
tura del grupo, pero no puedo probar una por una. ¿Hay alguna manera de hacerlo
automáticamente?. Muchas gracias por la solución.
Betina Russo (Buenos Aires)
9. MISCELÁNEA
324 www.redusers.com
❘❘❘
En Excel 2003 y en las versiones anteriores, agregamos hojas a un libro con las opciones
Insertar/Hoja de cálculo. En Excel 2007 lo hacemos rápidamente con un clic en la solapa adicio-
nal que aparece al pie del libro, a la derecha de la última hoja.
AGREGAR HOJAS
09_Excel revelado.qxp 12/29/09 4:27 PM Page 324
Una vez contestamos una pregunta parecida: cómo combinar tres valores de un
conjunto dado para que su suma sea igual a un cuarto valor. Esto le servía a quie-
nes quieren usar cheques recibidos para pagarle a un tercero. En aquella oportu-
nidad, lo resolvimos con una macro que probaba todas las combinaciones posi-
bles hasta obtener la que más se aproximaba al valor buscado. La macro puede
consultarse en nuestro manual Excel Avanzado.
Sin embargo, este problema es diferente por dos razones:
• No sabemos cuántos valores hay que combinar.
• Sabemos que el importe que se quiere obtener es exacto, es la suma de todos los
cheques, de modo que no buscamos una aproximación.
En estas condiciones podemos resolver el problema con el comando Solver. Prime-
ro tenemos que preparar la siguiente planilla:
• En el rango A1:A10 escribimos los importes de las diez facturas.
• En la celda C1 escribimos la expresión =A1*B1 (que nos dará 0 porque B1 está va-
cía). Luego, con el puntero de estirar la extendemos hasta C10.
• En C12 sumamos los valores del rango C1:C10.
Figura 38. Le vamos a pedir a Solver que pruebe poniendo
ceros o unos en la columna B hasta que el total de C12 sea igual a 150.
Si escribimos un 1 en algunas celdas del rango B1:B10, el total de C12 representará
el importe combinado de los valores de la columna A donde escribimos esos 1. Se-
rá cuestión de escribir los 1 en las celdas adecuadas hasta obtener el importe busca-
do en C12. Esta parte es la que hacemos con el comando Solver.
Antes de comenzar, en primer lugar tenemos que estar seguros de que disponemos
de este comando en nuestro Excel. Para eso, intentamos alguna de estas opciones:
Combinar datos
325www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 325
• En Excel 2007, la opción Solver se encuentra en la ficha Datos de la Cinta de
opciones (ya veremos cómo activarla en caso de que no la encontremos).
• En las versiones anteriores, se encuentra en el menú Herramientas.
Si no vemos la opción tenemos que instalar el complemento Solver. Los comple-
mentos son como módulos que agregamos a Excel para dotarlo de nuevas opciones.
• En Excel 2007, hacemos un clic en el Botón de Office y luego en Opciones de
Excel/Complementos/ir. Aparecerá un cuadro con la lista de complementos.
Marcamos Solver y luego hacemos un clic en Aceptar.
• En las versiones anteriores, tomamos las opciones Herramientas/Complementos.
Marcamos Solver y luego hacemos un clic en Aceptar.
Figura 39. Aquí instalamos el comando Solver
que aparecerá luego en la ficha Datos de la cinta de opciones o en el menú
Herramientas en las versiones anteriores de Excel.
Una vez instalado el complemento, procedemos:
■ Combinar datos PASO A PASO
Haga un clic en el botón Solver, dentro de la ficha Datos de la cinta de opciones
(o tome las opciones Herramientas/Solver en las versiones anteriores de Excel).
Donde dice Celda objetivo indique C12.
9. MISCELÁNEA
326 www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 326
Marque la opción Valores de y escriba, en el cuadro a su derecha, el importe
buscado. En este caso, 150.
Donde dice Cambiando las celdas seleccione el rango B1:B10 que son las celdas
donde buscará poner los unos que señalen los importes para combinar.
Donde dice Sujetas a las siguientes condiciones haga clic en Agregar. Aparecerá
un cuadro donde describió las condiciones.
Donde dice Referencia de celda seleccione el rango B1:B10.
En la lista de signos, elija bin.
Haga un clic en Aceptar.
Haga un clic en Resolver para que Solver comience a trabajar.
Cuando, en el Paso 7 del procedimiento anterior, imponemos la condición bin al
rango B1:B10 estamos pidiendo que esas celdas tomen solamente los valores 0 ó 1.
Esto último fue una sugerencia del lector Juan Ghio.
Figura 40. Éste es el problema que deberá resolver
el comando Solver. Las restricciones indican que las celdas
del rango B1:B10 sólo pueden tomar los valores 0 ó 1.
Como sabemos que el problema tiene solución, luego de algunos segundos Solver la
encuentra. Con un clic en el botón Aceptar, la solución quedará registrada en la hoja.
Combinar datos
327www.redusers.com
09_Excel revelado.qxp 12/29/09 4:27 PM Page 327
Figura 41. Solver acaba de resolver el problema:
combinando el primero, el quinto, el noveno y el décimo importe
de la columna A alcanzamos el total buscado de 150$.
9. MISCELÁNEA
328 www.redusers.com
… RESUMEN
Los problemas resueltos en este capítulo son los que quedaron afuera de toda clasificación
razonable: no son estrictamente de macros, pero algunos podrían resolverse con ellas; no
están necesariamente asociados a funciones, pero algunos se resuelven apelando a esas
funciones. Y todo así: inclasificable.
09_Excel revelado.qxp 12/29/09 4:27 PM Page 328
Servicios
al lector
índice temático 330
En este apartado incluimos un índice
de las palabras más utilizadas en esta
obra, para hallar rápidamente el tema
que queramos consultar.
EXCEL REVELADO
SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com
10_Excel revelado.qxd 12/29/09 4:28 PM Page 329
SERVICIOS AL LECTOR
330 www.redusers.com
Campos 207
CARACTER 107/126
CDate 198
CELDA 100/101/248
Cerrar todo 285
Circular 77
Código de formato 27
Códigos de barra 33
COINCIDIR 165/280
Color de etiqueta 30
Comandos que no están
en la cinta de opciones 286
COMENTARIO 270
Complementos 106
Comprobación de errores 12
CONCATENAR 102/103/104
CONTAR 103/154/155
CONTAR.SI 117/149/150
CONTAR.SI.CONJUNTO 150
CONTARA 99/100
CONTIENE 127
Contraseña de apertura 313/314
Contraseña de escritura 314
Controles adicionales 196
Controles de formulario 230
Count 225
Cuadro de herramientas 196
CuentaColor 267
D
Dar formato a eje 82/83
Dar formato de la serie de datos 78
Detener grabación 63
DIA.LAB 178/179
DIASEM 180/192
DIR 248/249
DIRECCION 100
Dispersión 72/81
ÍNDICE TEMÁTICO
A
ActiveCell 101/236
ActiveWorkbook 249/250
Actualizar todo 226
Actualizar valores 291
Administrador de nombres 310
AHORA 195/196
Ajustar texto 22/23
ALEATORIO 106/133/265
ALEATORIO.ENTRE 105/106
Análisis y si 210
Application.Dialogs 58/59
Área de impresión 56
Asignar macro 230
Asignar nombre a un rango 305/306
Asistente para importar texto 276/277
Asistente para importar y exportar 315
Asistente para pegar función 163
Autofiltro 219/220
Autoforma 31/32
Autorrecuperación 287/288
Autosuma 94/118/119
B
Barra de fórmulas 23
Barras de datos 85
BDCONTARA 207/208
Biblioteca de funciones 103
Bloquear celda 314
Bloquear proyecto para visualización 21
Bordes 30
Borrar reglas en las celdas seleccionadas 40
Borrar reglas 40
BUSCARV 160/161/162/163
C
Cambiar entre filas y columnas 88
Cambiar tipo de gráfico de series 72
10_Excel revelado.qxd 12/29/09 4:28 PM Page 330
E
Editar vínculos 292/293/301
Editor de caracteres privados 48/49/50
Editor de Visual Basic 234
Elegir de la lista desplegable 204/205
ELEGIR 155
ENTERO 107/109/111
Es mayor que 39
Escala 83
ESERROR 127/128
ESPACIOS 128
Establecer área de impresión 56
Establecer Precisión de pantalla 114
Etiquetas del eje horizontal 86
Explorador de Proyectos 233
Extender formatos de rangos
de datos y fórmulas 132
EXTRAE 101/104/270
F
FECHA 173/189
Filtro avanzado 217/218
Formato condicional 38/39/40/42
Formato de serie de datos 78
Formato personalizado 14/15
Formatos de fecha 175
Formularios 231
Fórmulas matriciales 165
Función condicional 139
Funciones arroba 130
G
Grabar macro 235
Grabar nueva macro 62/235
Gráfico dinámico 71/73
H
HALLAR 127/128
Herramientas de gráficos 73
Herramientas para análisis 106/124
Hipervínculo 213/296/297
HIPERVINCULO 293/294
HOY 181/182/193
HPageBreaks.Count 60
Hyperlinks.Address 214
I
IM.PRODUCT 123/124
IM.SUM 123/124
Imprimir objeto 54
INDICE 161/166
INDIRECTO 100/105
Información sobre herramientas
de funciones 134/151
Informe de tablas y gráficos dinámicos 70
InputBox 253
Insertar función 94/95
Ir a Especial 206/307/308
IsDate 254
IsNumeric 254
IZQUIERDA 104
L
LARGO 101
Libro de macros personal 235
Libro maestro 278
Líneas 72
Lista de miembros automática 59/259
Listas personalizadas 176/177
M
Mapa de caracteres 51
MAX 146
Microsoft Editor de ecuaciones 16
Mid 214
Modificar hipervínculo 214
MonthView 196
Mostrar ficha programador
en la cinta de opciones 58
Mostrar un cero en las celdas
que tienen un valor cero 25
Mover gráfico 78
Índice temático
331www.redusers.com
10_Excel revelado.qxd 12/29/09 4:28 PM Page 331
RESIDUO 171/172/176/212
Romper vínculo 292
Rótulos del eje de categorías 87
S
ScrollArea 323/324
Seguridad de macros 268
Seleccionar todas las hojas 57/284
SendMail 251
SI 138/139/140
SIFECHA 173/174
Solver 120/325/326/327/328
SUBTOTALES 222
SUMAPRODUCTO 112/113
SUMAR.SI 145/148/149
SUMAR.SI.CONJUNTO 146/147/150
SUSTITUIR 304
T
Tabla de datos 210
Tabla dinámica 69
TABLA 209
TEXTO 183/198/199
Tipos personalizados 74/75
TRUNCAR 108
U
Usadas recientemente 104
Usar separadores del sistema 98/99
V
Validación de datos 275/276/279/316/320/321
Valores cero 26
Variar colores entre puntos 81
Ver código 241
Ver fórmulas 26/28/29
VeryHidden 20
W
Windings 21/201
Worksheet 240/242
Multiplicar 36
MULTIPLO.INFERIOR 110
MULTIPLO.SUPERIOR 108/109/110
N
Nueva ventana 290
Número de serie 170
O
Obtener datos externos 225
Ocultar hoja 19
Offset 236
OnTime 239
Opciones de serie 78
Optional 271
P
Panel de filtros 74
Pegado especial 35/36/309
Pegar función 96
Pegar valores 129
Permitir editar directamente en las celdas199
Personalizar encabezado 59
Personalizar pie de página 59
Plantillas de barras subyacentes y
superpuestas 17
POTENCIA 109/116
Precisión de pantalla 114/115
Programador 228/229
PROMEDIO.SI 157
PROMEDIO.SI.CONJUNTO 158
Propiedades de VBAProject 20/21
Proteger hoja 312
R
RAIZ 116
REDONDEAR 107/108/110
Reemplazar todos 304
Reemplazar 303
Registros 204
Resaltar reglas de celdas 39
SERVICIOS AL LECTOR
332 www.redusers.com
10_Excel revelado.qxd 12/29/09 4:28 PM Page 332
>> Vea información más detallada sobre cada libro de este
catálogo.
>> Obtenga un capítulo gratuito para evaluar la posible compra
de un ejemplar.
>> Conozca qué opinaron otros lectores.
>> Compre los libros sin moverse de su casa y con importantes
descuentos.
>> Publique su comentario sobre el libro que leyó.
>> Manténgase informado acerca de las últimas novedades
y los próximos lanzamientos.
REDISEÑO BOMBOS LIBROS - APERTURA CATALOGO - Base Editable - Nov 09.indd 1REDISEÑO BOMBOS LIBROS - APERTURA CATALOGO - Base Editable - Nov 09.indd 1 23/11/2009 12:21:0823/11/2009 12:21:08
usershop.redusers.com
De Windows a Linux Producción y edición de video Webmaster Profesional
Silverlight Flash Extremo Hackers al descubierto
Esta obra nos introduce en el apasio-
nante mundo del software libre a través
de una completa guía de migración, que
partedesdeelsistemaoperativomásco-
nocido: Windows. Aprenderemos cómo
realizar gratuitamente aquellas tareas
queanteshacíamosconsoftwarepago.
Este manual nos introduce en un nuevo
nivel en el desarrollo de aplicaciones
interactivas a través de Silverlight, la op-
ciónmultiplataformadeMicrosoft.Quien
consiga dominarlo creará aplicaciones
visualmente impresionantes, acordes a
lostiemposdelaincipienteWeb3.0.
Un libro ideal para quienes deseen reali-
zarproduccionesaudiovisualesconbajo
presupuesto. Tanto estudiantes como
profesionalesencontraráncómoadquirir
las habilidades necesarias para obtener
una salida laboral con una creciente de-
mandaenelmercado.
Este libro nos permitirá aprender a
fondo Flash CS4 y ActionScript 3.0 para
crear aplicaciones Web y de escri-
torio. Una obra imperdible sobre uno
de los recursos más empleados en la
industria multimedia que nos permitirá
estar a la vanguardia del desarrollo.
Esta obra explica cómo superar los pro-
blemas más frecuentes y complejos que
enfrenta todo administrador de sitios
web. Ideal para quienes necesiten co-
nocer las tendencias actuales y las tec-
nologías en desarrollo que son materia
obligadaparadominarlaWeb2.0.
Esta obra presenta un panorama de
las principales técnicas y herramien-
tas utilizadas por los hackers, y de los
conceptosnecesariosparaentendersu
maneradepensar,prevenirsusataques
y estar preparados ante las amenazas
más frecuentes.
> COLECCIÓN: MANUALES USERS
> 336 páginas / ISBN 978-987-663-013-9
> COLECCIÓN: MANUALES USERS
> 352 páginas / ISBN 978-987-663-010-8
> COLECCIÓN: MANUALES USERS
> 336 páginas / ISBN 978-987-663-012-2
> COLECCIÓN: MANUALES USERS
> 320 páginas / ISBN 978-987-663-009-2
> COLECCIÓN: MANUALES USERS
> 336 páginas / ISBN 978-987-663-011-5
> COLECCIÓN: MANUALES USERS
> 352 páginas / ISBN 978-987-663-008-5
catalogo.indd 2catalogo.indd 2 15/12/2009 12:45:5715/12/2009 12:45:57
¡Léalo antes Gratis!
En nuestro sitio, obtenga GRATIS un capítulo del libro de su elección antes de comprarlo.
usershop@redusers.com
Vista avanzado 101 Secretos de Excel Electrónica&microcontroladoresPIC
Seguridad PC Hardware desde cero 200 Respuestas: Photoshop
Este manual es una pieza imprescindi-
ble para convertirnos en administrado-
res expertos de este popular sistema
operativo. En sus páginas haremos un
recorrido por las herramientas funda-
mentalesparatenermáximocontrolso-
bre todo lo que sucede en nuestra PC.
Este libro contiene un material im-
prescindible para proteger nuestra
información y privacidad. Aprende-
remos cómo reconocer los síntomas
de infección, las medidas de preven-
ción a tomar, y finalmente, la manera
de solucionar los problemas.
Una obra absolutamente increíble, con
los mejores 101 secretos para dominar
el programa más importante de Office.
En sus páginas encontraremos un ma-
terialsindesperdiciosquenospermitirá
realizar las tareas más complejas de
manera sencilla.
Este libro brinda las herramientas nece-
sarias para entender de manera amena,
simple y ordenada cómo funcionan el
hardware y el software de la PC. Está
destinado a usuarios que quieran inde-
pendizarse de los especialistas necesa-
riosparaarmaryactualizarunequipo.
Una obra ideal para quienes desean
aprovechar al máximo las aplicaciones
prácticas de los microcontroladores
PIC y entender su funcionamiento. Un
material con procedimientos paso a
paso y guías visuales, para crear pro-
yectos sin límites.
Esta obra es una guía que responde,
en forma visual y práctica, a todas las
preguntas que necesitamos contestar
para conocer y dominar Photoshop
CS3. Definiciones, consejos, claves y
secretos, explicados de manera clara,
sencilla y didáctica.
> COLECCIÓN: MANUALES USERS
> 352 páginas / ISBN 978-987-663-007-8
> COLECCIÓN: MANUALES USERS
> 336 páginas / ISBN 978-987-663-004-7
> COLECCIÓN: MANUALES USERS
> 336 páginas / ISBN 978-987-663-005-4
> COLECCIÓN: MANUALES USERS
> 320 páginas / ISBN 978-987-663-001-6
> COLECCIÓN: MANUALES USERS
> 368 páginas / ISBN 978-987-663-002-3
> COLECCIÓN: 200 RESPUESTAS
> 320 páginas / ISBN 978-987-1347-98-8
catalogo.indd 3catalogo.indd 3 15/12/2009 12:46:3015/12/2009 12:46:30
usershop.redusers.com
Creación de distribuciones Linux Métodos ágiles SuperBlogger
UML Ethical Hacking Unix
En este libro recorreremos todas las
alternativas para crear distribucio-
nes personalizadas: desde las más
sencillas y menos customizables,
hasta las más avanzadas, que nos
permitirán modificar el corazón mis-
mo del sistema, el kernel.
Este libro es la guía adecuada para
iniciarse en el mundo del modelado.
Conoceremos todos los constructores
y elementos necesarios para com-
prender la construcción de modelos y
razonarlos de manera que reflejen los
comportamientos de los sistemas.
Estelibropresentaunaalternativacom-
petitivaalasformastradicionalesdede-
sarrolloylosúltimosavancesencuanto
a la producción de software. Ideal para
quienes sientan que las técnicas ac-
tuales les resultan insuficientes para
alcanzar metas de tiempo y calidad.
Esta obra expone una visión global
de las técnicas que los hackers ma-
liciosos utilizan en la actualidad para
conseguir sus objetivos. Es una guía
fundamental para obtener sistemas
seguros y dominar las herramientas
que permiten lograrlo.
Esta obra es una guía para sumarse a
la revolución de los contenidos digi-
tales. En sus páginas, aprenderemos
a crear un blog, y profundizaremos
en su diseño, administración, pro-
moción y en las diversas maneras de
obtener dinero gracias a Internet.
Esta obra contiene un material imper-
dible, que nos permitirá dominar el
sistema operativo más sólido, estable,
confiable y seguro de la actualidad.
En sus páginas encontraremos las
claves para convertirnos en expertos
administradores de FreeBSD.
> COLECCIÓN: MANUALES USERS
> 336 páginas / ISBN 978-987-1347-99-5
> COLECCIÓN: DESARROLLADORES
> 320 páginas / ISBN 978-987-1347-95-7
> COLECCIÓN: DESARROLLADORES
> 336 páginas / ISBN 978-987-1347-97-1
> COLECCIÓN: MANUALES USERS
> 320 páginas / ISBN 978-987-1347-93-3
> COLECCIÓN: MANUALES USERS
> 352 páginas / ISBN 978-987-1347-96-4
> COLECCIÓN: MANUALES USERS
> 320 páginas / ISBN 978-987-1347-94-0
catalogo.indd 4catalogo.indd 4 15/12/2009 12:46:5015/12/2009 12:46:50
Unaobraabsolutamenteincreíble,
conlosmejores101secretospara
dominarelprogramamásimpor-
tantedeOffice.Ensuspáginas
encontraremosunmaterialsin
desperdiciosquenospermitirá
realizarlastareasmáscomplejas
demanerasencilla.
>> HOME / MICROSOFT
>> 336 PÁGINAS
>> ISBN 978-987-663-005-4
Bombo - RCT - LIBRO Excel Revelado - Ene 10 - EDITABLE.indd 1Bombo - RCT - LIBRO Excel Revelado - Ene 10 - EDITABLE.indd 1 13/01/2010 17:28:4113/01/2010 17:28:41
En este sitio encontrará una gran variedad de recursos y software relacionado, que
le servirán como complemento al contenido del libro. Además, tendrá la posibili-
dad de estar en contacto con los editores, y de participar del foro de lectores, en
donde podrá intercambiar opiniones y experiencias.
Si desea más información sobre el libro puede comunicarse con
nuestro Servicio de Atención al Lector: usershop@redusers.com
This book contains more than 150 tips and tricks
that were selected from the questions sent to
Users magazine by its readers from all over the
world. This is an exceptional book with plain
language and concrete solutions, that every Excel
fan or heavy user should have.
EXCEL HACKS
Claudio Sánchez es un reconocido experto en Excel que recibe diariamente,
desde hace más de diez años, las más frecuentes, insólitas, imposibles e
inverosímiles consultas y problemas desde distintas partes de Latinoamérica.
Todas tienen un lugar en el interminable arcón de soluciones, consejos y
trucos de este verdadero genio, un referente con confirmada trayectoria en
la planilla de cálculos más usada del mundo.
Este libro presenta la segunda selección de las mejores preguntas basadas
en la experiencia de miles de usuarios y las respuestas a cada uno de
estos interrogantes. Un compendio imperdible e infaltable, con más de 150
soluciones a temas tan variados como gráficos, formatos, fórmulas, cálcu-
los, funciones, impresión, bases de datos, macros, y mucho más.
Definitivamente, una obra imprescindible para quienes utilizan con regu-
laridad este programa y desean conocer hasta sus rincones más oscuros.
por Claudio Sánchez
CONTENIDO
N I V E L D E U S U A R I O
PRINCIPIANTE INTERMEDIO AVANZADO EXPERTO
1 | FORMATOS
Formato para tres cifras / Caracteres matemáticos / Anchos
en centímetros / Hoja oculta / Ocultar ceros / Formato rebelde /
Bordes redondeados / Código de barras / Números en modo
texto / El color según el valor / Resaltar series de datos /
Ocultar resultados
2 | IMPRESIÓN
Imprimir imágenes / Imprimir factura / Configurar páginas /
Elegir impresora / Contar páginas / Original, duplicado
y triplicado / Encabezado variable / Combinar correspondencia
3 | GRÁFICOS
Histograma / Señalar promedio / Gráfico dinámico / Gráfico
y subgráfico / Barras de colores / Gráficos en cuatro
cuadrantes / Área bajo una curva / Escala de gráficos /
Gráfico para balance
4 | LAS FUNCIONES ESPECIALES
Estilos de puntuación / Dato móvil / Series de hojas /
Letras aleatorias / Redondeo truncado / El cambio exacto /
El botón Autosuma / Resolver ecuaciones / Cálculos con
matrices complejas / Detectar celda marcada / Eliminar
blancos / Sumar datos como texto / Fórmulas automáticas /
Criptofrases
5 | CÁLCULOS CONDICIONALES
Negativos y ceros / Funciones dentro de funciones /
Multicondicional / Demasiadas condiciones / Cobradas,
pendientes y anuladas / Contar celdas / Condición de entero /
Deuda impaga y vencida / Problema con repetidos /
Condiciones aproximadas
6 | CÁLCULOS CON FECHAS Y HORAS
Reconstruir fecha / Cierres de ejercicio / Series de meses
y de días hábiles / Señalar fines de semana / Anunciar
vencimiento / Contar por semestre / Última fecha / Contar
por hora / Horas y porcentajes / Reloj fichador / Formulario
con calendario / Un problema con el idioma
7 | OPERACIONES CON BASES DE DATOS
Carga rápida / Autocompletar / Eliminar blancos / Ordenar
por terminación / Recuperar hipervínculo / Extraer datos /
Datos comunes / Extraer lista / Problema con autofiltro /
Filtros múltiples / Filtrar varias hojas / Datos desde la Web
8 | MACROS
Botones de macro / Alarmas / Señalar fila y columna /
Barra de progreso / De Visual Basic a Excel / Validar
respuestas / Macro suicida / Identificar formato /
Rango variable / Generador de exámenes /Conteo por color /
Extraer comentario / Elegir imágenes
redusers.com
EXCEL REVELADO
Tapa excel revelado.qxp 13/01/2010 21:20 PÆgina 1

Más contenido relacionado

PDF
Excel revelado
PDF
Excel desde cero
DOCX
Excel 2013 vs 2016
DOC
PDF
Manual Excel 2013
DOCX
PDF
MANUAL PRACTICO DE EXCEL
PPT
Introducción a las Hojas Electrónicas
Excel revelado
Excel desde cero
Excel 2013 vs 2016
Manual Excel 2013
MANUAL PRACTICO DE EXCEL
Introducción a las Hojas Electrónicas

La actualidad más candente (18)

PDF
Excel basico esteban ochoa mena
PPTX
excel 2010
PDF
Excel 2016 win quick start guide
PDF
Área de trabajo excel
PPTX
Novedades en excel 2013
PPTX
Trabajo final tercer cuatrimestre
DOCX
Trabajo de word ya hecho todo
PPTX
word 2010
PDF
microsoft office excel
PDF
Entorno de Ms Word 2010
PDF
Introducción y reconocimiento del area de trabajo de microsoft excel 2010
PDF
Manual básico de Excel para principiantes - pdf.
PDF
Excel Básico 2016
PDF
Tutorial
PDF
Diana1
PPTX
Conociendo Power Point bautista y de la cruz
PDF
Materia excel
PDF
Excel2003 modulo3 version_imprimible
Excel basico esteban ochoa mena
excel 2010
Excel 2016 win quick start guide
Área de trabajo excel
Novedades en excel 2013
Trabajo final tercer cuatrimestre
Trabajo de word ya hecho todo
word 2010
microsoft office excel
Entorno de Ms Word 2010
Introducción y reconocimiento del area de trabajo de microsoft excel 2010
Manual básico de Excel para principiantes - pdf.
Excel Básico 2016
Tutorial
Diana1
Conociendo Power Point bautista y de la cruz
Materia excel
Excel2003 modulo3 version_imprimible
Publicidad

Similar a Manual excel revelado 2013 (20)

PDF
Excel Basico Intermedio Avanzado de Excel.pdf
PDF
Excel desde cero
PDF
Secretos Excel desde Cero.pdf
PDF
Secretos de excel desde cero para ser utilizado
PDF
Excel 2013
PDF
Excel2013
PDF
Excel 2013
PDF
Users excel 2013 - guia practica para el usuario
PDF
Introduccinamicrosoftexcel 131231151323-phpapp02
PDF
Excel 2013 freelibros.org
PDF
Excel 2013 freelibros.org
PDF
Introduccion a excel.
PDF
Introducción a microsoft excel
PPTX
Ntics excel
PPTX
Manual de excel
PPTX
Ntics excel
PDF
Microsoft excel introduccion
PPTX
Ntics excel
PDF
Introducción a ms excel 2010
Excel Basico Intermedio Avanzado de Excel.pdf
Excel desde cero
Secretos Excel desde Cero.pdf
Secretos de excel desde cero para ser utilizado
Excel 2013
Excel2013
Excel 2013
Users excel 2013 - guia practica para el usuario
Introduccinamicrosoftexcel 131231151323-phpapp02
Excel 2013 freelibros.org
Excel 2013 freelibros.org
Introduccion a excel.
Introducción a microsoft excel
Ntics excel
Manual de excel
Ntics excel
Microsoft excel introduccion
Ntics excel
Introducción a ms excel 2010
Publicidad

Último (20)

PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PPTX
caso clínico iam clinica y semiología l3.pptx
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
DOCX
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
PDF
biología es un libro sobre casi todo el tema de biología
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
Escuelas Desarmando una mirada subjetiva a la educación
Punto Critico - Brian Tracy Ccesa007.pdf
2 GRADO UNIDAD 5 - 2025.docx para primaria
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
Fundamentos_Educacion_a_Distancia_ABC.pdf
caso clínico iam clinica y semiología l3.pptx
V UNIDAD - PRIMER GRADO. del mes de agosto
ciencias-1.pdf libro cuarto basico niños
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
biología es un libro sobre casi todo el tema de biología
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...

Manual excel revelado 2013

  • 1. En este sitio encontrará una gran variedad de recursos y software relacionado, que le servirán como complemento al contenido del libro. Además, tendrá la posibili- dad de estar en contacto con los editores, y de participar del foro de lectores, en donde podrá intercambiar opiniones y experiencias. Si desea más información sobre el libro puede comunicarse con nuestro Servicio de Atención al Lector: usershop@redusers.com This book contains more than 150 tips and tricks that were selected from the questions sent to Users magazine by its readers from all over the world. This is an exceptional book with plain language and concrete solutions, that every Excel fan or heavy user should have. EXCEL HACKS Claudio Sánchez es un reconocido experto en Excel que recibe diariamente, desde hace más de diez años, las más frecuentes, insólitas, imposibles e inverosímiles consultas y problemas desde distintas partes de Latinoamérica. Todas tienen un lugar en el interminable arcón de soluciones, consejos y trucos de este verdadero genio, un referente con confirmada trayectoria en la planilla de cálculos más usada del mundo. Este libro presenta la segunda selección de las mejores preguntas basadas en la experiencia de miles de usuarios y las respuestas a cada uno de estos interrogantes. Un compendio imperdible e infaltable, con más de 150 soluciones a temas tan variados como gráficos, formatos, fórmulas, cálcu- los, funciones, impresión, bases de datos, macros, y mucho más. Definitivamente, una obra imprescindible para quienes utilizan con regu- laridad este programa y desean conocer hasta sus rincones más oscuros. por Claudio Sánchez CONTENIDO N I V E L D E U S U A R I O PRINCIPIANTE INTERMEDIO AVANZADO EXPERTO 1 | FORMATOS Formato para tres cifras / Caracteres matemáticos / Anchos en centímetros / Hoja oculta / Ocultar ceros / Formato rebelde / Bordes redondeados / Código de barras / Números en modo texto / El color según el valor / Resaltar series de datos / Ocultar resultados 2 | IMPRESIÓN Imprimir imágenes / Imprimir factura / Configurar páginas / Elegir impresora / Contar páginas / Original, duplicado y triplicado / Encabezado variable / Combinar correspondencia 3 | GRÁFICOS Histograma / Señalar promedio / Gráfico dinámico / Gráfico y subgráfico / Barras de colores / Gráficos en cuatro cuadrantes / Área bajo una curva / Escala de gráficos / Gráfico para balance 4 | LAS FUNCIONES ESPECIALES Estilos de puntuación / Dato móvil / Series de hojas / Letras aleatorias / Redondeo truncado / El cambio exacto / El botón Autosuma / Resolver ecuaciones / Cálculos con matrices complejas / Detectar celda marcada / Eliminar blancos / Sumar datos como texto / Fórmulas automáticas / Criptofrases 5 | CÁLCULOS CONDICIONALES Negativos y ceros / Funciones dentro de funciones / Multicondicional / Demasiadas condiciones / Cobradas, pendientes y anuladas / Contar celdas / Condición de entero / Deuda impaga y vencida / Problema con repetidos / Condiciones aproximadas 6 | CÁLCULOS CON FECHAS Y HORAS Reconstruir fecha / Cierres de ejercicio / Series de meses y de días hábiles / Señalar fines de semana / Anunciar vencimiento / Contar por semestre / Última fecha / Contar por hora / Horas y porcentajes / Reloj fichador / Formulario con calendario / Un problema con el idioma 7 | OPERACIONES CON BASES DE DATOS Carga rápida / Autocompletar / Eliminar blancos / Ordenar por terminación / Recuperar hipervínculo / Extraer datos / Datos comunes / Extraer lista / Problema con autofiltro / Filtros múltiples / Filtrar varias hojas / Datos desde la Web 8 | MACROS Botones de macro / Alarmas / Señalar fila y columna / Barra de progreso / De Visual Basic a Excel / Validar respuestas / Macro suicida / Identificar formato / Rango variable / Generador de exámenes /Conteo por color / Extraer comentario / Elegir imágenes redusers.com EXCEL REVELADO Tapa excel revelado.qxp 13/01/2010 21:20 PÆgina 1
  • 2. >> MICROSOFT >> 320 PÁGINAS >> ISBN 978-987-1347-91-9 >> MICROSOFT >> 320 PÁGINA >> ISBN 978-98 >> MICROSOFT / EMPRESAS >> 256 PÁGINAS >> ISBN 978-987-1347-84-1 >> MICROSOFT >> 256 PÁGINA >> ISBN 978-98 >> MICROSOFT >> 400 PÁGINAS >> ISBN 978-987-1347-68-1 >> MICROSOFT >> 400 PÁGINA >> ISBN 978-98 >> MICROSOFT / HOME >> 352 PÁGINAS >> ISBN 978-987-663-007-8 >> MICROSOFT >> 352 PÁGINA >> ISBN 978-98 Bombo - RT - LIBRO Excel Revelado - Ene 10 - EDITABLE.indd 1Bombo - RT - LIBRO Excel Revelado - Ene 10 - EDITABLE.indd 1 13/01/2010 17:18:2713/01/2010 17:18:27
  • 3. Untitled-1 1Untitled-1 1 14/01/2010 15:10:1014/01/2010 15:10:10
  • 4. www.redusers.com TÍTULO: EXCEL REVELADO AUTOR: Claudio Sánchez COLECCIÓN: Manuales USERS FORMATO: 17 x 24 cm PÁGINAS: 336 Copyright © MMX. Es una publicación de Gradi S.A. Hecho el depósito que marca la ley 11723. Todos los derechos reservados. No se permite la reproducción parcial o to- tal, el almacenamiento, el alquiler, la transmisión o la transformación de este libro, en cualquier forma o por cualquier medio, sea electrónico o mecánico, mediante foto- copias, digitalización u otros métodos, sin el permiso previo y escrito del editor. Su infracción está penada por las leyes 11723 y 25446. La editorial no asume responsa- bilidad alguna por cualquier consecuencia derivada de la fabricación, funcionamien- to y/o utilización de los servicios y productos que se describen y/o analizan. Todas las marcas mencionadas en este libro son propiedad exclusiva de sus respectivos due- ños. Impreso en Argentina. Libro de edición argentina. Primera impresión realizada en Sevagraf, Costa Rica 5226, Grand Bourg, Malvinas Argentinas, Pcia. de Buenos Aires en enero de MMX. ISBN 978-987-663-021-4 Sánchez, Claudio Excel revelado. - 1a ed. - Banfield - Lomas de Zamora : Gradi, 2010. v. 180, 336 p. ; 24x17 cm. - (Manual users) ISBN 978-987-663-021-4 1. Informática. I. Título CDD 005.3 00_Excel revelado.qxp 14/01/2010 15:25 PÆgina 2
  • 5. REDISEÑO BOMBOS LIBROS - PAG 01 - Base Editable - Nov 09.indd 1REDISEÑO BOMBOS LIBROS - PAG 01 - Base Editable - Nov 09.indd 1 15/12/2009 11:57:4915/12/2009 11:57:49
  • 6. 4 PRELIMINARES www.redusers.com Claudio Sánchez Es ingeniero industrial y lleva más de quince años dedicados a la computación y a su enseñanza. Ha publicado más de cien artícu- los en revistas especializadas de la Argentina, España, Estados Uni- dos y Chile. Actualmente escribe columnas sobre Excel en la revis- ta argentina USERS y en la española Personal Computer & Internet y artículos de divulgación en diversos medios de la Argentina. Lleva publicados más de cuarenta libros, la mayoría sobre Excel, que son éxitos de venta en toda Hispanoamérica. Claudio también es profesor de física y divulgador científico, y recorre el país con sus conferencias sobre ciencia. 00_superplanillas2.qxp 12/29/09 4:04 PM Page 4
  • 7. 5 PRÓLOGO Corría el año 1994 y PC Users ya se había convertido en la revista líder de compu- tación, caracterizada por una activa participación de los lectores, que inundaban nuestro buzón (eran los años anteriores al correo electrónico) con propuestas, tru- cos, consultas y pedidos. Así es que se nos ocurrió hacer “El Lector Ataca”, una edi- ción especial escrita totalmente por los lectores. Entre las notas que seleccionamos para ser publicadas estaba una de Claudio Sán- chez, sobre las máquinas de Turing. Al año siguiente, Claudio preparó otra sobre el biorritmo y, a partir de ese momento, se convirtió en SuperPlanilla, nuestro exper- to en planillas de cálculo. Actualmente, ya lleva escritas más de doscientas notas y contestadas unas seiscientas consultas. Cada pregunta que un lector le hace a Claudio sobre una planilla es contestada con al menos una solución creativa y eficiente. Así es como se formó a su alrededor una fiel comunidad de seguidores de su sección, al punto que se casó con una de sus lectoras. Este libro es una muestra tangible de la cantidad y variedad de consultas que re- cibe Claudio a diario. En él conviven tanto las dudas comunes y recurrentes, co- mo aquellos planteos que a simple vista parecen imposibles de solucionar. Para todo hay una respuesta, y en muchos casos se ofrece más de una solución para que el lector decida qué camino elegir. Todas las preguntas que reunimos aquí surgen a partir de planteos e inquietudes que se presentan con el uso cotidiano de la planilla de cálculo. Es por eso que estamos seguros de que en esta obra encontrarán la respuesta que estaban buscando. Miguel Lederkremer Director Editorial Prólogo www.redusers.com 00_superplanillas2.qxp 12/29/09 4:04 PM Page 5
  • 8. PRELIMINARES 6 www.redusers.com6 EL LIBRO DE UN VISTAZO Excel nos permite resolver una gran cantidad de problemas y tareas tanto en la oficina como en el hogar. Pero no siempre las opciones y comandos del programa resultan tan sencillos e intuitivos como parecen. En este libro un experto nos brinda respuesta a un sinnúmero de consultas de las más variadas, que nos mostrarán el potencial de la herramienta en todo su esplendor. Capítulo 1 FORMATOS Las preguntas respondidas en este capítulo presentan diversas opciones, recursos y trucos para controlar el aspecto que muestran los datos de una hoja de Excel. Aunque los comandos básicos son bastante fáciles de usar, muchas veces nos encontramos con casos especiales que parecen escapar a todo formato convencional. Capítulo 2 IMPRESIÓN Todos los usuarios de Excel sabemos imprimir las planillas. Conocemos cómo configurar el tamaño de la hoja, los márgenes y los encabezados. Pero las dificultades que aparecen a la hora de imprimir un archivo de Excel suelen ir más allá de las opciones de impresión propiamente dichas. En este capítulo resolveremos algunos problemas relacionados con la impresión de planillas, que no siempre tienen solución a través de las opciones convencionales. Capítulo 3 GRÁFICOS Los gráficos son una opción atractiva de los programas de planilla de cálculo. Son fáciles de hacer y lindos de ver. Sin embargo, como todo en Excel, tienen sus secretos. A veces vemos gráficos muy interesantes, pero cuando tratamos de reproducirlos, no encontramos las opciones necesarias. Hay ciertos trucos y técnicas “secretas” que sirven para lograr efectos que no aparecen en los comandos y opciones estándares. Con esos trucos y técnicas daremos respuesta a los problemas planteados en las consultas de este capítulo. Capítulo 4 LAS FUNCIONES ESPECIALES Excel cuenta con un arsenal de más de trescientas funciones para cálculos especiales. La más conocida es la función SUMA, pero hay muchas más, para todo tipo de operaciones matemáticas y financieras, para manejar textos, etcétera. Curiosamente, muchas de estas funciones se pueden usar para resolver problemas que, en principio, no parecen estar vinculadas con el objetivo natural de la función. En este capítulo explicaremos diversas aplicaciones de estas funciones. Capítulo 5 CÁLCULOS CONDICIONALES Los cálculos condicionales son operaciones cuyo resultado depende de una condición. En general, estos cálculos se realizan con la función SI. Pero también hay otros casos en que esta función se usa junto con otras, en combinaciones no siempre obvias. En este capítulo plantearemos una gran variedad de problemas que se resuelven con este tipo de expresiones. Algunos muy simples y otros más complejos. 00_superplanillas2.qxp 12/29/09 4:04 PM Page 6
  • 9. www.redusers.com El libro de un vistazo 7 ! A lo largo de este manual encontrará una serie de recuadros que le brindarán información complementaria: curiosidades, trucos, ideas y consejos sobre los temas tratados. Cada recuadro está identificado con uno de los siguientes iconos: INFORMACIÓN COMPLEMENTARIA CURIOSIDADES E IDEAS DATOS ÚTILES Y NOVEDADES ATENCIÓN SITIOS WEB Capítulo 6 CÁLCULOS CON FECHAS Y HORAS Los datos que representan fechas u horas tienen un tratamiento especial dentro de las hojas de Excel. Con ellos podemos calcular vencimientos, horas trabajadas, tiempos de carrera, etcétera. Excel dispone de opciones y recursos específicos para este tipo de datos. Las preguntas respondidas en este capítulo presentan ejemplos de uso de estas opciones y recursos. Capítulo 7 OPERACIONES CON BASES DE DATOS Las bases de datos son un tipo especial de planillas de Excel. Se trata de listas formadas por columnas que contienen un tipo de dato determinado. Por lo general, en ellas no hay fórmulas, las operaciones sobre este tipo de planillas consisten en ciertas manipulaciones de los datos: ordenarlos, copiarlos a otro lugar, extraer cierta información. En este capítulo planteamos problemas y soluciones asociados a este tipo de hojas y algunos otros que, aunque no son exactamente sobre bases de datos, están emparentados con ellas. Capítulo 8 MACROS Las macros de Excel permiten resolver en un solo paso problemas que, en principio, requerirían de un conjunto de operaciones convencionales. Aunque los problemas resueltos con macros suelen ser los más complejos, en este capítulo contestamos preguntas de todo tipo: algunas que requieren macros muy simples, “que se explican solas” y otras que constituyen verdaderos sistemas. Capítulo 9 MISCELÁNEA La cantidad y variedad de problemas que se pueden resolver con Excel es tal que se hace muy difícil clasificarlos. Una misma dificultad puede involucrar distintos tipos de recursos: funciones, comandos, macros. En este capítulo agrupamos todo lo inclasificable, lo que no nos fue posible encuadrar en ninguno de los demás capítulos. Servicios al lector En este apartado brindamos un índice que nos ayudará a encontrar los términos más importantes de esta obra. 00_superplanillas2.qxp 12/29/09 4:04 PM Page 7
  • 10. PRELIMINARES 8 www.redusers.com Sobre el autor 4 Prólogo 5 El libro de un vistazo 6 Información complementaria 7 Introducción 12 Capítulo 1 FORMATOS Formato para tres cifras 14 Caracteres matemáticos 16 Anchos en centímetros 17 Hoja (muy) oculta 18 Punto y aparte 22 Ocultar ceros 24 Formato rebelde 28 El color de la solapa 30 Bordes redondeados 30 Código de barras 33 Formato de combinación 34 Convertir a número 35 Números en modo texto 37 El color según el valor 38 Destacar los no enteros 41 Resaltar series de datos 43 Ocultar resultados 46 Formato para guaraníes 48 Resumen 52 Capítulo 2 IMPRESIÓN Imprimir imágenes 54 Imprimir factura 55 Configurar páginas 56 Elegir impresora 57 Contar páginas 59 Original, duplicado y triplicado 60 Encabezado variable 61 Combinar correspondencia 64 Resumen 66 Capítulo 3 GRÁFICOS Histograma 68 Señalar promedio 71 Gráfico dinámico 73 Gráfico y subgráfico 76 Barras de colores 79 Gráficos en cuatro cuadrantes 81 Área bajo una curva 83 Escala de gráficos 85 Gráfico para balance 88 Resumen 92 CONTENIDO 00_superplanillas2.qxp 12/29/09 4:04 PM Page 8
  • 11. Contenido 9www.redusers.com Capítulo 4 LAS FUNCIONES ESPECIALES Botón Pegar función 94 Estilos de puntuación 97 Dato móvil 99 ¿Dónde estoy? 100 La función EXTRAE 101 La función & 102 APELLIDO, Nombre 103 Series de hojas 104 Letras aleatorias 105 La función REDONDEAR 107 Redondear a cinco centavos 108 Redondeo truncado 110 El cambio exacto 111 Un problema de redondeo 113 Reparto de diarios 116 El botón Autosuma 118 Resolver ecuaciones 120 Ángulos decimales 121 Cálculos con matrices complejas 123 Detectar celda marcada 124 Archivos de texto 126 Función CONTIENE 127 Eliminar blancos 128 Sumar datos como texto 130 Fórmulas automáticas 131 Criptofrases 133 Resumen 136 Capítulo 5 CÁLCULOS CONDICIONALES Negativos y ceros 138 Funciones dentro de funciones 139 Multicondicional 141 Demasiadas condiciones 143 Cobradas, pendientes y anuladas 145 SUMAR.SI.SI 146 SUMAR.SI en varias hojas 148 Contar celdas 149 CONTAR.SI.SI 150 Condición de entero 151 Deuda impaga y vencida 152 Problema con repetidos 153 Esta fórmula o la otra (o la de más allá) 154 Condiciones aproximadas 156 Promedio condicional 157 Mínimo condicional 159 Buscar el mayor 160 La función BUSCARV 162 Imágenes condicionales 163 Identificar el máximo 165 Contar distintos 167 Resumen 168 Capítulo 6 CÁLCULOS CON FECHAS Y HORAS Fecha y hora 170 Reconstruir fecha 171 00_superplanillas2.qxp 12/29/09 4:04 PM Page 9
  • 12. PRELIMINARES 10 www.redusers.com Reconstruir fecha (II) 172 Cierres de ejercicio 173 Último sábado 174 Series de meses 176 Series de días hábiles 177 Señalar fines de semana 179 Anunciar vencimiento 181 Ordenar cumpleaños 183 Sumas entre fechas 184 Contar por semestre 185 Un problema con fechas 186 Última fecha 188 Contar por hora 189 Horas extras 190 Horas y porcentajes 192 Un problema de minutos 193 Reloj fichador 194 Formulario con calendario 195 Un problema con el idioma 198 ¿Cuál es tu signo? 200 Resumen 202 Capítulo 7 OPERACIONES CON BASES DE DATOS Carga rápida 204 Autocompletar 205 Eliminar blancos 206 Función BDCONTARA 207 La función TABLA 209 Ordenar por terminación 211 Recuperar hipervínculo 213 Extraer datos 215 Datos comunes 217 Extraer lista 219 Problema con autofiltro 221 Filtros múltiples 222 Filtrar varias hojas 223 Datos desde la Web 224 Resumen 226 Capítulo 8 MACROS Las macros en Excel 2007 228 Botones de macro 229 Eliminar macros 232 Macros para todos 234 Posición en macros 236 Macro a plazo fijo 236 Alarmas 237 Señalar fila y columna 239 Hora de actualización 241 Macros sí o sí 242 Contador de aperturas 244 Barra de progreso 245 De Visual Basic a Excel 246 El comando DIR 248 Nombre del archivo 249 00_superplanillas2.qxp 12/29/09 4:04 PM Page 10
  • 13. Contenido 11www.redusers.com La ruta del archivo 250 Correo por macro 251 Validar respuestas 253 Menú para macros 254 Macro suicida 256 Identificar formato 257 Mostrar diálogo 258 Cerrar casi todos 260 Rango variable 261 Por favor, espere 262 Tablas de multiplicar 263 Generador de exámenes 265 Conteo por color 267 Extraer comentario 268 El nombre de la hoja 270 Argumentos opcionales 271 Pintar mapas 272 Menú para hojas 274 Archivos de texto 276 Elegir imágenes 278 Resumen 282 Capítulo 9 MISCELÁNEA Seleccionar hojas 284 Cerrar todas las planillas 285 Guardado automático 287 Saltar de panel en panel 290 Actualizar vínculos 291 Sin actualización automática 292 Hipervínculos 293 Hipervínculo móvil 295 Hipervínculo variable 298 Vínculos a fotos 299 Menú de navegación 300 Eliminar objetos 302 Reemplazar caracteres 303 Nombres de rango 3D 305 Copiar subtotales 307 Multiplicar 308 Parámetros por omisión 310 Repetir datos 311 Proteger archivo 312 Exportar a Outlook 314 Validación externa 316 Validación tolerante 319 Pantalla limitada 322 Combinar datos 324 Resumen 328 Servicios al lector Índice temático 329 00_superplanillas2.qxp 12/29/09 4:04 PM Page 11
  • 14. INTRODUCCIÓN Ésta es la tercera recopilación de los artículos publicados desde 1998 en la sección Consejos de Superplanilla, donde los lectores buscan respuesta a los problemas con que se encuentran al usar la planilla de cálculo Excel. La primera recopilación, con el título 100 respuestas avanzadas, apareció en 2002. La segunda (Consejos de Superplanilla) se publicó tres años después. Ahora es el mo- mento de una nueva recopilación. La aparición de Excel 2007 hizo que muchas consultas realizadas en las dos edicio- nes anteriores admitan nuevas respuestas. Sin embargo, todas las preguntas publi- cadas son inéditas y ofrecen una solución actualizada al problema planteado. Como en la edición de 2005, hemos incluido en el libro el nombre y la proceden- cia de cada uno de los autores de las consultas respondidas. Esto es tanto para ho- menajear la fidelidad de los lectores como para mostrar el alcance territorial de los libros y de la revista USERS. Hay preguntas de la ciudad de Buenos Aires, de die- ciséis provincias argentinas (Buenos Aires, Catamarca, Chaco, Córdoba, Entre Rí- os, Formosa, La Pampa, Mendoza, Neuquén, Río Negro, Salta, San Juan, Santa Fe, Santiago del Estero, Tierra del Fuego y Tucumán) y de Bolivia, Colombia, Chile, España, Estados Unidos, México, Panamá, Paraguay, Perú y Uruguay. Terminamos esta introducción como lo hicimos en la edición anterior: si no en- cuentra en este libro la respuesta a su problema, escríbanos. Si la consulta es intere- sante, y sabemos cómo responderla, tal vez la incluyamos en la próxima edición. Claudio H. Sánchez (a) Superplanilla clasanchez@redusers.com PRELIMINARES 12 www.redusers.com 00_superplanillas2.qxp 12/29/09 4:04 PM Page 12
  • 15. Formatos Formato para tres cifras 14 Caracteres matemáticos 16 Hoja (muy) oculta 18 Ocultar ceros 24 Formato rebelde 28 Código de barras 33 Convertir a número 35 Formato para guaraníes 48 Capítulo 1 Los formatos de Excel (los que controlan cómo aparece cada dato en la hoja) son bastante fáciles de usar, pero muchas veces nos encontramos con casos especiales que parecen escapar a todo formato convencional. En este capítulo describiremos algunos problemas que podemos resolver con las distintas opciones de formato. EXCEL REVELADO SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 13
  • 16. Formato para tres cifras Tengo el siguiente problema: en una planilla debo escribir un código de mo- neda que siempre tiene tres dígitos. Por ejemplo: 060, 002, etcétera. ¿Existe alguna forma de ingresar solamente 60 ó 2 y que Excel complete automáticamente los ceros iniciales? Muchas gracias por tu ayuda. Juan Pablo Rossi (Buenos Aires) Este problema puede resolverse creando un formato personalizado: ■ Crear un formato personalizado PASO A PASO Seleccione el rango donde tiene los códigos. En la pestaña Inicio, haga un clic en el botón de acceso al grupo Número. Aparecerá el cuadro con los distintos formatos numéricos. Dentro de Categoría, seleccione Personalizada. Dentro de Tipo, escriba 000 (tres ceros). Haga un clic en Aceptar. Figura 1. Así creamos un formato personalizado para que Excel complete con ceros a la izquierda los números de menos de tres cifras. 1. FORMATOS 14 www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 14
  • 17. Si estamos usando Excel 2003 o una versión anterior, obtenemos el cuadro para crear el formato con las opciones Formato/Celdas. Y, en cualquier versión, con la combinación CONTROL+1 (el número 1). El formato que acabamos de crear (y aplicar en el rango seleccionado) completa con ceros a la izquierda cualquier número de menos de tres cifras. Lo que escribimos dentro de Tipo es el “código de formato”. Hay un código para cada presentación que queramos obtener. En Excel 2003 y en las versiones anteriores podemos ave- riguar los códigos asociados a cada valor o tipo de valor en la Ayuda, indicando la clave de búsqueda formatos personalizados. En Excel 2007 los encontramos ingre- sando las palabras clave: códigos de formatos de número. Figura 2. En la ayuda de Excel encontramos los códigos correspondientes a cada formato personalizado. Se lo preguntamos al Ayudante de Office. Los formatos personalizados creados de esta manera pertenecen a la planilla donde fueron creados. Podemos aplicarlos luego a otros rangos, pero no a otras planillas. Formato para tres cifras 15www.redusers.com ❘❘❘ Cada formato personalizado se construye con ciertos códigos (el 0 representa una cifra, la h, un valor hora, etcétera). Para conocer los códigos necesarios para construir los distintos formatos personalizados debemos consultar la Ayuda de Excel. Hay que indicar, en la caja de búsqueda, las palabras clave códigos de formatos de número. FORMATOS PERSONALIZADOS 01_superplanillas2.qxp 12/29/09 4:16 PM Page 15
  • 18. 1. FORMATOS 16 www.redusers.com Caracteres matemáticos Uso Excel para hacer apuntes de matemática. Con la tipografía Symbol ob- tengo la mayoría de los signos que necesito, pero no encuentro el que corresponde al valor medio. Es una letra X con una raya encima. ¿Hay alguna tipografía que incluya este signo? Desde ya agradezco por tu respuesta. David Campos Para resolver este tipo de problemas podemos recurrir a algún editor de caracteres y construir el signo deseado píxel a píxel (ver la pregunta destacada, al final de este capítulo). Pero en el caso de caracteres matemáticos, podemos usar el editor de ecua- ciones de Microsoft, al cual es posible entrar desde Excel: ■ Insertar caracteres matemáticos PASO A PASO Seleccione la pestaña Insertar, dentro de la Cinta de opciones. Haga un clic en Objeto. Aparecerá un cuadro con la lista de objetos para insertar. Recorra la lista hasta localizar y seleccionar la opción Microsoft Editor de ecuaciones. Haga un clic en Aceptar. En las versiones anteriores de Excel obtenemos la lista de objetos con Insertar/Objeto. Figura 3. Aquí buscamos el editor de ecuaciones de Microsoft para insertar caracteres o fórmulas matemáticas. 01_superplanillas2.qxp 12/29/09 4:16 PM Page 16
  • 19. En cualquier caso, aparecerán un cuadro de texto (para escribir el carácter o la ecua- ción) y una barra de herramientas con botones mediante los cuales podemos inser- tar los distintos caracteres matemáticos. En particular, el botón Plantillas de barras subyacentes y superpuestas permite insertar una letra cualquiera con una línea en- cima. Justo el que necesitamos para esta pregunta. Figura 4. En la barra de herramientas del editor de ecuaciones tenemos un botón para insertar un carácter cualquiera con una línea encima. Sirve para escribir el símbolo que representa el promedio. Una vez obtenido el carácter, hacemos un clic fuera del objeto para salir del editor y volver a la planilla. Podemos tomar el carácter con el mouse, como cualquier otro objeto, y acomodarlo donde lo necesitemos. Anchos en centímetros ¿Es posible establecer el ancho de columna de una planilla Excel a una me- dida exacta de centímetros? Espero que me puedas ayudar. Lourdes Rodríguez Covarrubias (México) Tradicionalmente, el ancho de las columnas de una planilla de cálculo se medía en caracteres. En la época de las planillas en modo texto, el ancho estándar de una Anchos en centímetros 17www.redusers.com ❘❘❘ El ancho efectivo de una columna, en centímetros, varía con la tipografía empleada, con la impre- sora y hasta con la densidad de impresión utilizada. Encontrar el valor adecuado exige muchos in- tentos. Tener que buscar luego uno nuevo ante la menor modificación puede ser frustrante. ANCHOS EN CENTÍMETROS 01_superplanillas2.qxp 12/29/09 4:16 PM Page 17
  • 20. columna era de nueve caracteres: se podía escribir una palabra de nueve letras (o un número de nueve dígitos). Ésa era la medida predeterminada. Actualmente, el ancho se mide en puntos, lo que representa aproximadamente una letra, pero, como ahora las letras no tienen un ancho fijo, hablar de “palabra de nueve letras” carece de sentido: la palabra MAMÁ ocupa más espacio que la palabra tipito, aunque la segunda tiene más letras. Figura 5. En el viejo VisiCalc, cada celda podía contener una palabra de nueve letras o un número de nueve dígitos. Si queremos fijar el ancho de la columna en una medida determinada, por ejem- plo tres centímetros, tenemos que probar lo siguiente: ajustamos el ancho, im- primimos y medimos el resultado en el papel. Parece tedioso, pero, una vez que encontramos la relación, ésta nos sirve para siempre. Por ejemplo, en nuestra impresora encontramos que dos columnas de 50 puntos cubren el ancho de una hoja carta, 216 mm. Eso representa aproximadamente 2,16 mm por punto o 4,63 puntos por centímetro. Hoja (muy) oculta Tengo un libro y una de sus hojas es un formulario que debe permanecer ocul- to pero se tiene que poder imprimir. No quiero que nadie pueda ver esa hoja. No me sirve la opción de ocultar hoja porque cualquiera que conozca esa opción puede ha- cerla visible. ¿Hay otra posibilidad? Carlos R. Arano (General Rodríguez, provincia de Buenos Aires) La opción para ocultar una hoja a la que se refiere el lector se encuentra en la pestaña Inicio. La secuencia es Formato/Ocultar y mostrar/Ocultar hoja. La hoja luego puede ha- cerse visible nuevamente con las opciones Formato/Ocultar y mostrar/Mostrar hoja. 1. FORMATOS 18 www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 18
  • 21. Figura 6. El libro actual tiene una hoja “muy oculta”. Pero la opción para mostrarla permanece deshabilitada. En Excel 2003 y en las versiones anteriores de la planilla de cálculo, las opciones son Formato/Hoja/Ocultar y Formato/Hoja/Mostrar. Parecería que hay dos “estados de visibilidad” de una hoja: oculta y visible. Pero hay un tercero: muy oculta. Para llevar la hoja a este estado el procedimiento es: ■ Hoja muy oculta PASO A PASO Ubíquese en la hoja y, usando el botón derecho del mouse, haga un clic sobre la solapa de la hoja que desea ocultar. Del menú contextual que aparece, seleccione la opción Ver código. Esto abre el editor de Visual Basic. Dentro del editor, tome las opciones Ver/Ventana propiedades. Se abrirá un panel a la izquierda de la pantalla. Recorra las opciones de la ventana Propiedades hasta localizar la propiedad Visible. Cambie el valor de la propiedad a 2-xlSheetVeryHidden. Cierre el editor y volverá a Excel. Hoja (muy) oculta 19www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 19
  • 22. En el estado que acabamos de configurar, la hoja no se ve, y tampoco puede hacer- se visible con la opción tradicional (desde el menú de Excel) ya que encontraremos desactivada la opción Mostrar, como cuando el libro no tiene hojas ocultas. Y efec- tivamente no las tiene: la hoja está “muy oculta”. Figura 7. En esta lista deplegable indicamos la propiedad VeryHidden (muy oculta) para la hoja seleccionada. Para hacerla visible tenemos que repetir el procedimiento anterior, y en el Paso 5 cambiar la propiedad a 1-xlSheetVisible. Por supuesto, el que conozca este “secreto” podrá hacer lo mismo. Conviene entonces proteger con una contraseña el acceso a las propiedades del archivo, de la siguiente manera: ■ Proteger las propiedades PASO A PASO Oprima la combinación Alt+F11 para abrir el editor de Visual Basic. Dentro del editor, tome las opciones Herramientas/Propiedades de VBAProject. Aparecerá un cuadro con dos fichas. 1. FORMATOS 20 www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 20
  • 23. Seleccione la ficha Protección. Marque la opción Bloquear proyecto para visualización. Escriba y confirme una contraseña. Haga un clic en Aceptar. Cierre el editor para volver a Excel. Para ver esta protección en acción tenemos que grabar el archivo, cerrarlo y volver- lo a abrir. Si entonces queremos entrar a las propiedades del archivo para cambiar el estado de la hoja, Excel nos pedirá la contraseña. Figura 8. Aquí indicamos una contraseña para proteger el código asociado al libro. Tenemos que grabar y cerrar el archivo para que la protección tenga efecto. Hoja (muy) oculta 21www.redusers.com ❘❘❘ Aplicando la tipografía Windings se pueden obtener símbolos especiales para lograr ciertos efectos interesantes tales como indicadores tipo semáforo. En la pregunta destacada del Ca- pítulo 2 explicamos cómo usar esta tipografía para obtener los símbolos del zodiaco. SÍMBOLOS ESPECIALES 01_superplanillas2.qxp 12/29/09 4:16 PM Page 21
  • 24. Punto y aparte ¿Cómo hago para poner un punto y aparte dentro de una celda? Es decir, quiero escribir un dato separado en dos renglones, dentro de la misma celda. Joel Roitvan (Buenos Aires) Lo que pide esta pregunta es abrir una celda en dos o más renglones, como vemos en la Figura 9. Hay por lo menos dos formas de hacerlo. Figura 9. La celda A1 ha sido abierta en dos renglones con la opción de Ajustar texto. Si tenemos un texto muy largo, más que lo que da el ancho de la celda, podemos aplicar cierta opción de formato. Si estamos usando Excel 2007, es muy fácil: sim- plemente seleccionamos las celdas donde queremos aplicar la opción y hacemos un clic en el botón Ajustar texto, dentro de la pestaña Inicio. Figura 10. Con un clic en este botón abrimos la celda seleccionada en tantos renglones como sea necesario para alojar al dato que contiene. 1. FORMATOS 22 www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 22
  • 25. Punto y aparte 23www.redusers.com En las versiones anteriores de Excel, el procedimiento es un poco más largo: ■ Ajustar texto PASO A PASO Seleccione las celdas donde quiere aplicar la opción. Tome las opciones Formato/Celdas. Seleccione la ficha Alineación. Marque la opción Ajustar texto. Haga un clic en Aceptar. Figura 11. Esta es la opción para lograr el efecto de “varios renglones por fila” en las versiones de Excel anteriores a la 2007. La opción AAjjuussttaarr tteexxttoo abre la celda en tantos renglones como sea necesario para alojar al dato que queremos ingresar, sin superar el ancho disponible. ❘❘❘ En Excel 2003 y en las versiones anteriores, la barra de fórmulas se abre automáticamente en tantos renglones como sea necesario según la longitud del valor ingresado. En Excel 2007 po- demos modificar la altura de la barra de fórmulas simplemente con el mouse, de la misma for- ma en que cambiamos el tamaño de cualquier otro objeto. LA BARRA DE FÓRMULAS 01_superplanillas2.qxp 12/29/09 4:16 PM Page 23
  • 26. También podemos lograr este efecto mientras escribimos el dato. Por ejemplo, su- pongamos que necesitamos escribir dos palabras dentro de una celda, en dos renglo- nes separados, dentro de una misma celda. Entonces escribimos la primera palabra y, antes de ingresar la segunda, oprimimos la combinación ALT+ENTER. Continuamos con la segunda palabra y luego oprimimos ENTER. Figura 12. Oprimiendo la combinación ALT+ENTER mientras estamos escribiendo un dato, pasamos a un nuevo renglón, dentro de la misma celda. La combinación ALT+ENTER equivale a generar un “retorno de carro” sin pasar a la celda siguiente. Podemos usarla muchas veces dentro de una misma celda. Cuando tenemos una fila de títulos, y abrimos la celda en varios renglones, conviene aplicar la opción de alineación centrada en horizontal y en vertical. Queda mejor. Ocultar ceros Tengo una lista con fórmulas para calcular ciertos valores en una columna. Por comodidad, tengo la fórmula ya extendida a filas que aún no completé. En esas filas, las fórmulas me dan cero (porque no tengo datos) pero preferiría no ver los re- sultados. ¿Cómo puedo hacer para ocultar esos ceros? José J. Cipollone Para resolver este planteo pongamos un ejemplo simple. Sea el caso de una planilla con cuatro columnas: Nombre, Cantidad, Precio unitario y Precio total. Los tres primeros datos se escriben y el último se calcula multiplicando Cantidad x Precio unitario. Antes de escribir la cantidad y/o el precio unitario, esta fórmula da igual a 0. Los ceros como éste son los que quiere ocultar José. 1. FORMATOS 24 www.redusers.com ❘❘❘ La mayoría de los formatos de tipografía se puede aplicar con el teclado. Por ejemplo, la com- binación CONTROL+N aplica formato de Negrita, la combinación CONTROL+S aplica formato de Subrayado y la combinación CONTROL+K aplica formato de Cursiva. La combinación CONTROL+1 (el número 1) muestra el cuadro con todas las opciones de formato. FORMATOS DE TEXTO 01_superplanillas2.qxp 12/29/09 4:16 PM Page 24
  • 27. Figura 13. Las fórmulas de la columna D, más abajo de la quinta fila, muestran valores iguales a 0 porque no hay datos para calcular en esas filas. Hay dos formas de ocultar los ceros de una planilla. Una sirve para ocultar todos los ceros de la planilla y el procedimiento es el siguiente: ■ Ocultar ceros PASO A PASO Haga un clic en el Botón de Office y luego seleccione Opciones de Excel. Diríjase a la categoría Avanzadas. En el grupo Mostrar opciones para esta hoja, desmarque la opción Mostrar un cero en las celdas que tienen un valor cero. Haga un clic en Aceptar. Figura 14. Si desmarcamos esta opción, las celdas cuyo contenido sea un 0 (una fórmula cuyo resultado sea cero) aparecerán como vacías. Ocultar ceros 25www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 25
  • 28. 1. FORMATOS 26 www.redusers.com Si estamos usando Excel 2003 o una versión anterior: ■ Ocultar ceros (Excel 2003 y anteriores) PASO A PASO Vaya a Herramientas/Opciones. Seleccione la ficha Ver. Desmarque la opción Valores cero. Haga un clic en Aceptar. Este método tiene dos limitaciones. En primer lugar, como ya se dijo, es global: ocul- ta todos los ceros. Es posible que solamente queramos ocultar los ceros en cierto ran- go. Además, no afecta a las celdas donde tengamos aplicado algún formato especial. Justamente, la segunda forma consiste en aplicar un formato personalizado sobre el rango donde se quieran ocultar los ceros. Por ejemplo: ■ Formato para ocultar ceros PASO A PASO Seleccione el rango donde quiere ocultar los ceros. En la pestaña Inicio, haga un clic en el botón de acceso al grupo Número. Aparecerá el cuadro con los distintos formatos numéricos. Dentro de Categoría, seleccione Personalizada. Dentro de Tipo escriba 0,00 $;-0,00 $;. Haga un clic en Aceptar. ❘❘❘ Con la opción de “ver fórmulas” obtenemos algo equivalente a una radiografía de nuestra pla- nilla: vemos su verdadero contenido. Activar esta opción puede servir para imprimir esta ra- diografía y guardarla como documentación de la planilla, como registro de cómo fue construi- da. En este caso conviene imprimir también los encabezados de fila y columna. LA RADIOGRAFÍA DE LA PLANILLA 01_superplanillas2.qxp 12/29/09 4:16 PM Page 26
  • 29. En Excel 2003 y en las versiones anteriores de la planilla de cálculo obtenemos el cuadro para crear el formato con las opciones Formato/Celdas. Y, en cualquier ver- sión, con la combinación CONTROL+1 (el número uno). Figura 15. Así creamos un formato personalizado para valores monetarios que oculta los resultados iguales a cero. Lo que escribimos dentro de Tipo es el código de formato. En realidad, dentro de esta opción podemos ingresar hasta cuatro códigos, separados por punto y coma: • El primero se aplica a los valores positivos. • El segundo, a los valores negativos. • El tercero, a los valores iguales a cero. • El cuarto, a los datos tipo texto. Figura 16. La celda D6 tiene una fórmula cuyo resultado es 0. Pero en la planilla aparece como vacía. Ocultar ceros 27www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 27
  • 30. En el ejemplo, indicamos el código para los valores positivos (parte entera y dos de- cimales, con el signo $), para los negativos (igual al anterior, pero con signo -) y, cuando deberíamos escribir el correspondiente a los valores iguales a cero, no escri- bimos nada. Eso indica que los valores iguales a cero no se verán en la celda. Formato rebelde Tengo una planilla con varios datos que son fechas. No sé qué hice pero las fechas se convirtieron en números. Por ejemplo, donde antes tenía 23-May-2006, aho- ra aparece 38860. Traté de cambiar el formato, pero no dio resultado. Debo tener ac- tivada alguna opción “oculta” pero no sé cuál es el problema. Maximiliano Sandor (Buenos Aires) Éste no es un problema de formato sino de opciones de visualización. La planilla del lector tiene activada la modalidad “ver fórmulas”, que hace que se muestren las fórmulas contenidas en las celdas y no sus resultados. Como efecto secunda- rio, esta acción hace que las celdas con números presenten los datos sin formato, que es el problema planteado por Maximiliano. Figura 17. Esta planilla tiene activada la modalidad “ver fórmulas”. En las celdas aparecen las fórmulas contenidas en ellas y los valores de las constantes, sin formato. El valor de B2 es una fecha. Para volver a la modalidad normal: ■ No mostrar fórmulas PASO A PASO Haga un clic en el Botón de Office y luego en Opciones de Excel. Seleccione la categoría Avanzadas. 1. FORMATOS 28 www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 28
  • 31. En el grupo Mostrar opciones para esta hoja, desmarque la opción Mostrar fórmulas en celdas en lugar de los resultados calculados. Haga un clic en Aceptar. Figura 18. Desmarcando esta opción activamos la visualización normal de datos en la planilla Excel. Si estamos usando Excel 2003 o una versión anterior: ■ No mostrar fórmulas (Excel 2003 y anteriores) PASO A PASO Tome las opciones Herramientas/Opciones. Seleccione la ficha Ver. Desmarque la opción Fórmulas. Haga un clic en Aceptar. Con estas opciones, la planilla volverá a mostrar correctamente sus números y re- sultados. La modalidad de ver fórmulas se activa también mediante la combinación CONTROL+’ (acento grave). Cuando Maximiliano dice: “No sé qué hice”, segura- mente se refiere a que ejecutó el atajo de teclado sin saberlo. Formato rebelde 29www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 29
  • 32. El color de la solapa ¿Cómo se hace para diferenciar las solapas de las hojas de un libro median- te colores? Muchas gracias por tu ayuda. Goyo Vega (provincia de Córdoba) La opción para cambiar el color de las solapas de un libro apareció en Excel XP (y se mantiene en Excel 2003 y 2007). La forma más simple de llegar a ella es hacer un clic derecho en la solapa y tomar la opción Color de etiqueta. Esto abre una pa- leta de colores de donde podemos seleccionar el color deseado. Figura 19. De esta paleta de colores podemos seleccionar el que se aplicará en la solapa de la hoja. Esta opción está disponible en Excel XP y versiones posteriores. La solapa de la hoja actualmente seleccionada permanece blanca, con una línea de color en su borde inferior, al pasar a otra hoja la veremos con el color pleno. Bordes redondeados ¿Es posible ponerle bordes redondeados a una celda o a un rango de celdas? Juan Gabriel Agüero Ávila (Lambaré, Paraguay) Comencemos por el procedimiento para aplicar un borde en una celda o rango: ■ Bordes de celdas PASO A PASO Seleccione el rango donde quiere aplicar el borde. En la pestaña Inicio de la Cinta de opciones, haga un clic en el botón Bordes. Se desplegarán varias opciones. 1. FORMATOS 30 www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 30
  • 33. Haga un clic en Más bordes. En esta ficha deberá indicar el tipo de línea deseada, su color (de la paleta de la derecha) y el lugar donde desea aplicar el borde (con los botones que rodean al cuadro de la izquierda). Cuando haya indicado todo esto, haga un clic en Aceptar. Figura 20. Aquí indicamos el tipo de línea que queremos aplicar sobre el rango seleccionado y el lugar exacto, dentro del rango, donde la queremos aplicar. Debemos tener en cuenta que si estamos usando Excel 2003 o una versión anterior obtenemos el cuadro para crear el formato con las opciones Formato/Celdas. Y, en cualquier versión, con la combinación Control+1 (el número uno). En Excel 2007 tenemos también las opciones Dibujar borde y Dibujar cuadrícula de borde que convierte el puntero en un lápiz para dibujar los bordes a pulso. Pero nin- guna de estas opciones nos da la posibilidad de aplicar un borde redondeado. Lo mejor que se nos ocurre es simular el borde con una Autoforma: Bordes redondeados 31www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 31
  • 34. 1. FORMATOS 32 www.redusers.com ■ Dibujar una autoforma PASO A PASO Dentro de la cinta de opciones, seleccione la pestaña Inicio. Haga un clic en el botón Formas. Se desplegará un menú con varias opciones. Haga un clic en Rectángulo redondeado. El cursor se convertirá en una pequeña cruz. Arrastrando el mouse, dibuje un rectángulo alrededor de la celda o del rango donde desea aplicar el borde. Para que el rectángulo coincida exactamente con los bordes de la celda, dibuje el borde mientras mantiene presionada la tecla Alt. Figura 21. Con esta Autoforma podemos dibujar un borde redondeado alrededor de una celda o un rango de celdas. Cabe recordar que en las versiones anteriores de Excel obtenemos la lista de autofor- mas con las opciones Insertar/Imagen/Autoformas. Figura 22. Así queda el rectángulo redondeado aplicado como borde. 01_superplanillas2.qxp 12/29/09 4:16 PM Page 32
  • 35. Código de barras 33www.redusers.com ❘❘❘ Normalmente, las fuentes para obtener códigos de barras en una planilla Excel (o un documen- to de Word) están registradas, se venden por Internet y hay que pagar por ellas. Pero también hay algunas que son gratuitas. Hay que buscar bien hasta encontrar la opción más conveniente. CÓDIGOS DE BARRAS Seguramente el rectángulo tapará la celda. Para hacerlo transparente hacemos un clic derecho sobre él, seleccionamos Formato de forma y luego marcamos Sin relleno. Código de barras Tengo una lista de artículos con descripción, precio, etcétera. Uno de esos campos corresponde al código de barras. ¿Cómo hago para obtener el código de ba- rras propiamente dicho en la hoja Excel? Carlos M. León (Junín, provincia de Buenos Aires) Para obtener el código de barras asociado a un número dado hay que aplicar una fuente que corresponda a ese código. Estas fuentes se consiguen en Internet (por ejemplo en www.barcodingfonts.com) y luego se instalan en la carpeta Win- dowsFonts. Una vez instaladas aparecerán en el cuadro Fuente y en la ficha Fuente correspondiente a Formato/Celdas. Figura 23. Las celdas de la columna B tienen aplicada una fuente que muestra el código de barras asociado a esos datos. Hay que tener en cuenta que hay varios sistemas de codificación y tenemos que bus- car el que corresponda a nuestras necesidades. 01_superplanillas2.qxp 12/29/09 4:16 PM Page 33
  • 36. Formato de combinación Uso Word con la opción de combinación de correspondencia para imprimir una serie de cartas personalizadas con datos tomados de una planilla Excel. Uno de los datos de la planilla es un importe que, al imprimir las cartas, aparece con muchos decimales, aunque en la planilla se ve bien. ¿Cómo hago para que las cartas se im- priman con el formato aplicado en la planilla? Viviana Lucía Aranda (Ranelagh, provincia de Buenos Aires) Este problema tiene una solución “oficial” que consiste en incluir una instrucción de formato dentro del campo combinado. Sin embargo, no siempre podemos ha- cerla funcionar. A veces da un mensaje de error y otras, simplemente, no responde y mantiene el mismo formato. Figura 24. El valor de la columna B, al combinarlo en el documento de Word, aparece con un formato distinto del aplicado en la planilla Excel. Una forma más segura de resolver el problema es crear, dentro de la planilla Ex- cel, un campo auxiliar con una expresión tipo texto. Por ejemplo, si el sueldo es- tá en la celda B2, se escribe en C2 (o en la fila 2 de la primera columna libre) la fórmula =TEXTO(B2; “0,00 $”). Esta expresión muestra el valor de B2 con forma- to de dos decimales y signo $. Este será el campo para combinar en el documento de Word, en vez del valor original. 1. FORMATOS 34 www.redusers.com ❘❘❘ La combinación CONTROL+T da acceso a la lista desplegable de tamaños de fuente. La combina- ción CONTROL+F da acceso a la lista desplegable de tipos de fuente. En cambio, no hay combina- ciones de teclas que sirvan de atajo a las opciones de alineación (Izquierda, Derecha o Centrado). ATAJOS DE TIPOGRAFÍA 01_superplanillas2.qxp 12/29/09 4:16 PM Page 34
  • 37. Figura 25. Las fórmulas de la columna C arman una expresión tipo texto con formato monetario. Al combinarlo en un documento de Word, este valor aparecerá tal como en la hoja Excel. Como la expresión obtenida por la función es de tipo texto, Word no hace ningún tipo de cambio de formato y lo muestra en el documento tal como lo vemos noso- tros en la planilla Excel. Convertir a número Necesito convertir a número un dato escrito como texto. Sé que hay un pro- cedimiento basado en el comando Pegado especial, pero no conozco los detalles. ¿Podrías explicarlo? Muchas gracias por tu solución. Jorge Couto (Buenos Aires) A veces, los datos numéricos son tomados por Excel como un texto, produciendo errores en las fórmulas que operen con ellos. Eso suele ocurrir cuando los datos pro- vienen de un archivo TXT, obtenido desde otro sistema. Figura 26. Por alguna razón, Excel toma los valores de la columna C como textos. Eso impide que hagamos operaciones matemáticas con ellos, tal como le sucede a Jorge. Y, efectivamente, podemos devolverle su carácter numérico con una opción del Pegado especial, tal como detallamos en el próximo Paso a paso: Convertir a número 35www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 35
  • 38. 1. FORMATOS 36 www.redusers.com ■ Pegado especial PASO A PASO En una celda auxiliar, escriba un 1 (el número uno). Haga un clic en el botón Copiar, dentro de la ficha Inicio de la cinta de opciones. Seleccione el rango de datos que va a convertir. Haga un clic en la flechita que aparece bajo el botón Pegar para descolgar sus opciones. Haga un clic en Pegado especial. Aparecerá un cuadro con las distintas opciones. Marque la opción Multiplicar. Haga un clic en Aceptar. No nos olvidemos que en Excel 2003 y las versiones anteriores, el cuadro Pegado especial se obtiene con las opciones Edición/Pegado especial. Figura 27. Con la opción Multiplicar podemos devolverle el carácter numérico a datos que Excel está tomando como texto. Lo que acabamos de hacer fue multiplicar por 1 los datos que queríamos convertir. Multiplicar por 1 no afecta al valor, pero le devuelve el carácter numérico. La si- guiente pregunta resuelve un problema emparentado con éste. 01_superplanillas2.qxp 12/29/09 4:16 PM Page 36
  • 39. Números en modo texto Tengo una hoja de Excel que me bajan de otro sistema. Por alguna razón, las celdas están en formato de texto y me muestran las fórmulas que contienen y no el resultado. Aunque cambio a formato General, para ver los números tengo que editar cada uno de ellos con la tecla F2 y luego oprimir ENTER. El problema es que son cien- tos de celdas. ¿Hay alguna manera automática? Lucas Silva Éste es un problema bastante común que ha sido resuelto en Excel 2007: cuando se pasa de formato Texto a General, los datos se ajustan automáticamente al nuevo for- mato. Sin embargo, esto no era así en las versiones anteriores y había que reingresar una por una todas las fórmulas, sea como dice el lector o mediante una macro. Figura 28. Las fórmulas de la columna C estaban en formato de Texto y aunque luego lo cambiamos a General, seguimos viendo las fórmulas y no sus resultados. Este problema ocurre en las versiones de Excel anteriores a la 2007. Para este caso, la lectora Gladys Alé nos indicó una solución mucho mejor: ■ Pasar a formato numérico PASO A PASO Seleccione las celdas que tienen el problema. Números en modo texto 37www.redusers.com ❘❘❘ Cuando lo que queremos regresar a modo numérico son números fijos y no fórmulas, otra forma de lograr este efecto es usar una de las opciones del Pegado especial para multiplicar los núme- ros por 1, o para sumarles cero. Ninguna de estas operaciones cambia el valor del número, pero le devuelve su carácter numérico. NÚMEROS COMO TEXTO 01_superplanillas2.qxp 12/29/09 4:16 PM Page 37
  • 40. Tome las opciones Edición/Reemplazar. Aparecerá un cuadro para indicar las opciones del reemplazo. Donde dice Buscar:, escriba el signo =. Donde dice Reemplazar con:, escriba de nuevo el signo =. Haga un clic en Reemplazar todos. Figura 29. Una forma de hacer que Excel asuma el nuevo formato, es modificar las fórmulas reemplazando un signo cualquiera por sí mismo. Las fórmulas no cambiarán pero mostrarán sus resultados como corresponde. Al reemplazar un signo por sí mismo dejamos inalteradas las fórmulas. Pero esto, como efecto secundario, arregla el problema de las fórmulas en modo Texto. Gra- cias Gladys por acercarnos la solución al problema. El color según el valor ¿Existe en Excel alguna función o macro para cambiar el color de una celda según su valor? Quiero, por ejemplo, que si el valor de una celda es mayor que el de otra de referencia, se vea sobre fondo rojo. Mariano Marcone (México D.F.) Para resolver este problema existe una solución estándar: el Formato condicional. Por ejemplo, supongamos que tenemos una serie de valores en el rango B2:B10 y un va- lor límite en la celda D1, tal como se muestra en la Figura 30. 1. FORMATOS 38 www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 38
  • 41. Figura 30. Queremos que los valores de esta lista que sean mayores que D1 aparezcan sobre fondo rojo. Podemos lograrlo aplicando un Formato condicional. Queremos que las celdas de la lista cuyo valor sea mayor al de referencia se vean con fondo rojo. Para eso, aplicamos un Formato condicional de la siguiente forma: ■ Formato condicional PASO A PASO Seleccione la lista de valores. Haga un clic en el botón Formato condicional dentro de la ficha Inicio de la cinta de opciones. Se desplegará un menú con más opciones. Tome las opciones Resaltar reglas de celdas/Es mayor que. Aparecerá un cuadro para indicar el valor límite y el formato que se quiere aplicar. Dentro de la opción de la izquierda, seleccione D1, que es la celda que contiene el valor límite. En la opción de la derecha seleccione el formato que va a aplicar. Por ejemplo, Relleno rojo claro. Haga un clic en Aceptar. El color según el valor 39www.redusers.com ❘❘❘ Las tipografías más empleadas son Arial y Times New Roman. La tipografía Courier reproduce el aspecto de un texto escrito en una antigua máquina de escribir, de ancho uniforme para todas las letras. En general, conviene evitar el uso de tipografías de fantasía que hacen que la planilla se vuelva confusa e incómoda de leer. TIPOGRAFÍAS 01_superplanillas2.qxp 12/29/09 4:16 PM Page 39
  • 42. Ahora las celdas del rango seleccionado que cumplan la condición mayores que el valor de D1 aparecerán con el formato indicado, como vemos en la Figura 31. Figura 31. Este formato condicional muestra sobre un fondo de color los valores del rango seleccionado que sean mayores que el contenido de la celda D1. Este formato es “dinámico”: si cambiamos algún valor del rango, o el de la celda D1, cambiará el color de las celdas que hayan modificado su estado respecto de la condición. Para eliminarlo, volvemos a seleccionar las celdas y tomamos las op- ciones Formato/Condicional/Borrar reglas/Borrar reglas en las celdas seleccionadas. El Formato condicional es diferente en Excel 2003 y en las versiones anteriores: ■ Formato condicional (Excel 2003 y anteriores) PASO A PASO Seleccione la lista de valores. Tome las opciones Formato/Formato condicional. En la primera opción indique valor de la celda. En la segunda opción indique mayor que. En la tercera (y ahora última) opción seleccione la celda D1 (quedará expresada en la forma =$D$1). Haga un clic en el botón Formato.... En la ficha Tramas seleccione el color Rojo. Haga un clic en Aceptar (el formato). Haga un clic en Aceptar (la condición). 1. FORMATOS 40 www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 40
  • 43. Figura 32. Así se indica el Formato condicional en las versiones de Excel anteriores a la 2007. En los primeros cinco pasos indicamos la condición que deben cumplir las celdas para ser destacadas con el nuevo formato. En los siguientes establecemos el forma- to propiamente dicho. Para eliminar un Formato condicional en estas versiones, to- mamos nuevamente las opciones Formato/Formato condicional, hacemos un clic en el botón Eliminar y luego marcamos la condición que queremos borrar. Destacar los no enteros Tengo una lista de números en una columna. Algunos son enteros y otros tie- nen decimales. ¿Hay alguna forma simple, rápida y efectiva de destacar los números que tengan decimales? Te agradezco por tu ayuda. Daniel Alberto Reinoso (provincia de Córdoba) Esto puede resolverse con un Formato condicional. El problema consiste en indicar la condición “no es entero”. Supongamos que los números para analizar ocupan el rango A2:A100 (reservando la primera celda para los títulos). Queremos señalar sobre un fondo de color los números que tengan decimales: ■ Señalar los no enteros PASO A PASO Seleccione la lista de valores. Haga un clic en el botón Formato condicional dentro de la ficha Inicio de la cinta de opciones y luego en Nueva regla. Aparecerá un cuadro para indicar las características de la nueva regla. Donde dice Seleccionar un tipo de regla haga un clic en Aplicar formato únicamente a las celdas que contengan. Esto cambia las opciones que aparecen más abajo. Destacar los no enteros 41www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 41
  • 44. 1. FORMATOS 42 www.redusers.com En la primera opción, deje Valor de la celda. En la segunda, indique no igual a. En la tercera escriba =ENTERO(A2), donde A2 es la primera celda del rango. Haga un clic en el botón Formato.... En la ficha Relleno indique un color de su preferencia. Haga un clic en Aceptar (el formato). Haga un clic en Aceptar (la condición). Figura 33. Con este formato pudimos señalar las celdas cuyo contenido no es igual a su parte entera. Es decir, que corresponde a un número con decimales. Si estamos usando una versión anterior de Excel, luego de seleccionar las celdas vamos a Formato/Formato condicional y aparece el cuadro donde indicamos la misma opción. ❘❘❘ El Formato condicional es una de las opciones que más novedades ofrece en Excel 2007: hay más formatos disponibles, a algunos los podemos aplicar rápidamente desde el menú y es posible establecer un número indefinido de criterios dentro de un mismo rango. En Excel 2003 y en las versiones anteriores, solamente podíamos aplicar tres condiciones. FORMATO CONDICIONAL 2007 01_superplanillas2.qxp 12/29/09 4:16 PM Page 42
  • 45. Figura 34. Así establecemos la condición de “no entero” para un Formato condicional en las versiones de Excel anteriores a la 2007. En cualquier caso, la condición que estamos indicando en el formato es que el valor de la celda sea distinto que su propia parte. O sea, que sea un número con decimales. Resaltar series de datos Tengo una planilla con tres columnas: Fecha, Nombre e Importe. Quiero apli- car colores sobre la lista de modo que cada vez que cambie la fecha, cambie el co- lor, y que cada grupo de datos con la misma fecha tenga el mismo color. ¿Hay algún Formato condicional para lograr este efecto? Elías Manzur (provincia de San Juan) Lo que pide Elías es un efecto de bandas de modo que la lista tenga colores alterna- dos para cada grupo de fechas. Por ejemplo, si hay cinco datos para el 10 de julio, luego tres para el 11 y cuatro para el 12, que las primeras cinco filas tengan un co- lor; las siguientes tres, otro color y las siguientes cuatro, el mismo color inicial. Pue- de hacerse con un Formato condicional, si previamente generamos una serie auxiliar. Por ejemplo, en D2, en la primera fila de datos y en una columna auxiliar a la de- recha, escribimos un 1. Debajo, en la segunda fila, escribimos la fórmula =SI(A3=A2;D2;-D2). Esta fórmula repite el número si coinciden las fechas y le cam- bia el signo si no coinciden. Al extender la fórmula a toda la lista obtenemos “ris- tras” de 1 y -1 en coincidencia con las ristras de fechas. Figura 35. Las fórmulas de la columna D generan “ristras” de unos (positivos o negativos) en coincidencia con las ristras de fechas en la columna A. Resaltar series de datos 43www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 43
  • 46. Ahora aplicamos un Formato condicional asociado al valor de esta fórmula auxiliar: ■ Señalar series de datos PASO A PASO Seleccione toda la lista, desde A2 hacia abajo y hacia la derecha, excluyendo la columna auxiliar. Haga un clic en el botón Formato condicional dentro de la ficha Inicio de la cinta de opciones y luego en Nueva regla. Aparecerá un cuadro para indicar las características de la nueva regla. Donde dice Seleccionar un tipo de regla haga un clic en Utilice una fórmula que determine las celdas para aplicar el formato. Aparecerán nuevas opciones abajo. Donde dice Dar formato a las celdas donde esta fórmula sea verdadera, escriba =$D2=1, donde D2 es la celda donde había escrito un 1. Atención al signo $. Haga un clic en el botón Formato.... En la ficha Relleno indique algún color adecuado. Haga un clic en Aceptar (el formato). Haga un clic en Aceptar (la condición). Figura 36. Esta opción permite aplicar un formato condicional “personalizado”. Es decir, basado en una fórmula o en una condición relativamente compleja. 1. FORMATOS 44 www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 44
  • 47. Al fijar la referencia a la columna D con el signo $ hacemos que la condición se eva- lúe sobre la columna de 1 y -1 para todas las columnas de la lista. Con la opción Utilice una fórmula que determine las celda para aplicar el formato podemos diseñar un formato condicional “personalizado”, de forma más compleja que simplemente mayor que, distinto de, etcétera. El procedimiento es distinto en las versiones anteriores de Excel: ■ Señalar series de datos (Excel 2003 y anteriores) PASO A PASO En la hoja donde aplicará el Formato condicional, seleccione toda la lista, desde A2 hacia abajo y hacia la derecha, excluyendo la columna auxiliar. Tome las opciones Formato/Formato condicional. En la primera opción seleccione Fórmula. En la segunda opción escriba =$D2=1. Haga un clic en el botón Formato.... En la ficha Tramas indique algún color adecuado. Haga un clic en Aceptar (el formato). Haga un clic en Aceptar (la condición). Figura 37. Este Formato condicional distingue la lista de modo que cada grupo de fechas iguales tiene un mismo color. La opción Fórmula, que indicamos en la Condición 1, es la que permite aplicar for- matos condicionales personalizados en Excel 2003 y en las versiones anteriores. Resaltar series de datos 45www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 45
  • 48. Ocultar resultados Armé una planilla para llevar el registro de los movimientos de una cuenta ban- caria. En la última columna actualizo el saldo operando entre el saldo anterior y el úl- timo movimiento. El problema es que las fórmulas se extienden más allá del último da- to y repite el saldo en toda la columna. ¿Cómo le digo a Excel que solamente debe calcular el saldo cuando hay algún movimiento en la fila? Daniel Alberto Reinoso (provincia de Córdoba) Aclaremos el problema. Tenemos una tabla con cuatro columnas: Fecha, Entrada, Salida y Saldo. Supongamos que el último movimiento está en la séptima fila. En la cuarta columna calculamos el saldo con la fórmula =D6+B7-C7. Es decir, al saldo an- terior le sumamos la entrada y le restamos la salida de la fila actual. Si extendemos la fórmula más allá de la séptima fila, dejándola lista para los próxi- mos movimientos, el último saldo se repetirá a lo largo de toda la columna. Ese es el problema que nuestro lector quiere resolver. Una forma de hacerlo es condicionar el cálculo a que se haya escrito un nuevo mo- vimiento. Por ejemplo =SI(A70;D6+B7-C7;“”). Esta fórmula pregunta si se ha escrito una fecha en la columna A. Si es así, calcula el nuevo saldo, si no, queda en blanco. Figura 38. Las fórmulas de la columna D calculan el saldo solamente hasta la fila del último movimiento. Más abajo, las fórmulas dejan un espacio en blanco. 1. FORMATOS 46 www.redusers.com ❘❘❘ Las combinaciones de teclas para aplicar las opciones de formato funcionan en todas las ver- siones de Excel. Por ejemplo, la combinación Control+$ aplica el formato monetario y la combi- nación Control+% aplica formato de porcentaje. La combinación Control+1 (el número 1) muestra el cuadro con todas las opciones de formato. ATAJOS DE TECLADO 01_superplanillas2.qxp 12/29/09 4:16 PM Page 46
  • 49. Otra forma consiste en aplicar un Formato condicional que ponga los saldos en co- lor blanco (haciéndolos invisibles) hasta que se escriba una nueva fecha. ■ Ocultar valores PASO A PASO Seleccione la lista de saldos, desde D2 hacia abajo. Haga un clic en el botón Formato condicional dentro de la ficha Inicio de la cinta de opciones y luego en Nueva regla. Aparecerá un cuadro para indicar las características de la nueva regla. Donde dice Seleccionar un tipo de regla haga un clic en Utilice una fórmula que determine las celdas para aplicar el formato. Esto cambia las opciones que aparecen más abajo. Donde dice Dar formato a las celdas donde esta fórmula sea verdadera, escriba =$A2=0, donde A2 es la celda donde está la primera fecha. Haga un clic en el botón Formato.... En la ficha Fuentes, dentro de Color, indique color Blanco. Haga un clic en Aceptar (el formato). Haga un clic en Aceptar (la condición). Figura 39. Este Formato condicional oculta el contenido de la columna D si la correspondiente celda de la columna A está vacía. Ocultar resultados 47www.redusers.com 01_superplanillas2.qxp 12/29/09 4:16 PM Page 47
  • 50. Lo que dice este Formato condicional es que, si la fecha de la columna A es nula (es decir, no hay fecha todavía), el contenido del valor correspondiente de la columna D (el saldo) debe tener color blanco. Contenido blanco sobre fondo blanco hace que el saldo no se vea, aunque la fórmula esté ahí calculándolo. Otro formato para ocultar valores es el formato personalizado ;;; (tres veces el pun- to y coma). Este formato hace invisible el contenido de la celda. Si lo indicamos en el Paso 6 (dentro de la categoría Personalizada en la ficha Número) estaremos ocul- tado los saldos más allá de la última fecha. Si estamos usando Excel 2003 o una versión anterior, el Formato condicional se apli- ca con las opciones Formato/Formato condicional y, en la primera opción, se indica Fórmula. Con esto creamos este formato condicional “personalizado”. Formato para guaraníes ¿Es posible agregar en Excel un formato monetario con el símbolo de la mo- neda de mi país, el guaraní? Es una G mayúscula cruzada por una barra oblicua. Juan Gabriel Agüero Avila (Lambaré, Paraguay) Excel incluye, dentro de sus formatos monetarios, uno para guaraníes: muestra el valor de la celda junto con las letras Gs. Pero el lector nos aclara que no es ése el símbolo del guaraní, de modo que tendremos que recurrir a otra opción. En este caso podemos crear el símbolo en un editor de caracteres. Seguramente tenemos ins- talado en nuestro equipo el Editor de caracteres privados de Windows: ■ Abrir el editor de caracteres PASO A PASO Haga un clic en el botón Inicio de Windows. Tome la opción Ejecutar. 1. FORMATOS 48 www.redusers.com ❘❘❘ La combinación Control+0 (el número cero) oculta la columna actual. La combinación Control+9 oculta la fila actual. La combinación Control+) muestra la columna seleccionada y actualmente oculta. La combinación Control+( muestra la fila seleccionada y actualmente oculta. OCULTAR Y MOSTRAR 01_superplanillas2.qxp 12/29/09 4:16 PM Page 48
  • 51. Formato para guaraníes 49www.redusers.com Dentro de Abrir escriba eucedit. Haga un clic en Aceptar. Figura 40. Este es el Editor de caracteres privados de Windows. Aquí podemos crear símbolos no incluidos en las tipografías convencionales. Con esto abrimos el Editor de caracteres privados de Windows que muestra un cuadro con la lista de caracteres ya creados, que seguramente estará vacía. En- tonces generamos nuestro nuevo carácter: ■ Crear un nuevo carácter PASO A PASO Seleccione cualquier carácter no usado. ❘❘❘ El tamaño de la letra se mide en puntos. Hay 72 puntos en una pulgada (2,54 centímetros). Los ta- maños más usados son 10 ó 12 puntos, que es lo que se obtendría en una antigua máquina de es- cribir. En general, no conviene usar muchos tamaños de fuente distintos en una misma planilla. TAMAÑO DE FUENTE 01_superplanillas2.qxp 12/29/09 4:16 PM Page 49
  • 52. 1. FORMATOS 50 www.redusers.com Haga un clic en Aceptar. Aparecerá una cuadrícula en la pantalla donde podrá dibujar el nuevo carácter. En vez de dibujar el símbolo desde el comienzo, tome la G y luego dibuje la línea que la atraviesa. A continuación, tome las opciones Edición/Copiar carácter. Aparecerá la lista de caracteres estándares. Seleccione la G y haga un clic en Aceptar. Con las herramientas de dibujo, trace la línea diagonal. Tome las opciones Edición/Guardar carácter. Cierre el editor. Figura 41. Así queda el símbolo del guaraní en el Editor de caracteres privados. Lo tenemos que guardar para poder usarlo en cualquier otro programa. Ahora disponemos del nuevo carácter que representa al símbolo del guaraní y lo po- demos tomar desde el mapa de caracteres de la siguiente forma: 01_superplanillas2.qxp 12/29/09 4:16 PM Page 50
  • 53. ■ Copiar el nuevo carácter PASO A PASO Abra el mapa de caracteres con Inicio/Programas/Accesorios/Mapa de caracteres (la secuencia exacta puede variar según cómo tenga organizado el menú). Dentro de Fuente seleccione Todas las fuentes (Caracteres privados). Debe aparecer la lista de caracteres creados, con el símbolo que creó recién. Seleccione ese carácter. Haga un clic en Seleccionar y luego otro en Copiar. Figura 42. Este es el Mapa de caracteres. Al indicar la opción Todas las fuentes (Caracteres privados) aparece el símbolo creado antes en el editor. Formato para guaraníes 51www.redusers.com ❘❘❘ Para desplazarnos rápidamente con el teclado, podemos utilizar las teclas AvPag y RePag para movernos páginas hacia abajo y hacia arriba respectivamente. Para movernos en forma hori- zontal, podemos presionar la combinación de teclas ALT+AvPag o ALT+RePag, que nos moverán una pantalla hacia la derecha o hacia la izquierda respectivamente. DESPLAZAMIENTO CON EL TECLADO 01_superplanillas2.qxp 12/29/09 4:16 PM Page 51
  • 54. Con este procedimiento copiamos el carácter en el Portapapeles de Windows y lo podemos pegar en cualquier programa. Por ejemplo, en Excel, dentro de la opción Tipo al crear el formato personalizado. Por supuesto, el procedimiento sir- ve para crear cualquier símbolo que queramos incluir en un formato personalizado. Figura 43. El símbolo creado en el Editor de caracteres privados pudimos pegarlo dentro de un formato personalizado para guaraníes. 1. FORMATOS 52 www.redusers.com … RESUMEN Las opciones de formato son de las más usadas en Excel. Se dice que uno arma su planilla en media hora y luego pasa varios días mejorando su aspecto. Las preguntas respondidas en este capítulo dan una idea de la variedad de problemas interesantes que se pueden resolver aplicando convenientemente estas opciones de formato. 01_superplanillas2.qxp 12/29/09 4:16 PM Page 52
  • 55. Impresión Imprimir imágenes 54 Imprimir factura 55 Configurar páginas 56 Elegir impresora 57 Contar páginas 59 Original, duplicado y triplicado 60 Encabezado variable 61 Combinar correspondencia 64 Capítulo 2 Todos los usuarios de Excel sabemos imprimir las planillas. Conocemos cómo configurar el tamaño de la hoja, los márgenes y los encabezados. Pero las dificultades que aparecen a la hora de imprimir un archivo de Excel suelen ir más allá de las opciones de impresión propiamente dichas. En este capítulo resolveremos problemas relacionados con la impresión de planillas, que no siempre tienen solución a través de las opciones convencionales. EXCEL REVELADO SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com 02_Excel revelado.qxp 12/29/09 4:20 PM Page 53
  • 56. Imprimir imágenes Inserté un logo en una planilla. Queda muy bien, pero, cuando imprimo la ho- ja, el logo no aparece. Es un archivo GIF que no tiene nada de especial. ¿Qué es lo que estoy haciendo mal? No puedo darme cuenta del problema. Elías Manzur (provincia de San Juan) Excel tiene una opción para indicar que una imagen insertada en la hoja se impri- ma. Es posible que el logo de Elías tenga desactivada esa opción. De esta manera, para imprimirlo, hay que activarla de esta forma: ■ Imprimir imágenes PASO A PASO Haga un clic derecho sobre la imagen que quiere imprimir. Haga un clic en la opción Tamaño y propiedades. Seleccione la ficha Propiedades Marque la opción Imprimir objeto. Haga un clic en Aceptar. Debemos tener en cuenta que en las versiones anteriores de Excel la opción para imprimir imágenes se encuentra en la ficha Propiedades, dentro del menú Formato/ Imagen. Si todo sale bien, la imagen aparecerá en la hoja impresa. 2. IMPRESIÓN 54 www.redusers.com 02_Excel revelado.qxp 12/29/09 4:20 PM Page 54
  • 57. Imprimir factura Tengo una factura con una serie de campos: Nombre y al lado el nombre, Fecha y al lado la fecha, etcétera. Esta factura la tengo que imprimir en un formulario que ya tiene preimpresos los títulos. De modo que tengo que imprimir el nombre, pero no el título Nombre; la fecha, pero no el título Fecha. ¿Cómo puedo hacerlo? César Pérez Martínez (México D.F.) Éste es un problema interesante. Una forma fácil de resolverlo es generar una co- pia de la factura en un rango auxiliar e incluir solamente los datos que deseamos imprimir y no los respectivos títulos. Por ejemplo, supongamos que la factura ocupa el rango A1:F10 y generamos el du- plicado en G1:L10, que será el rango que vamos a imprimir. Figura 1. Estas dos facturas son iguales, pero en la segunda no aparecen los títulos que están en un formulario preimpreso. Este duplicado contendrá fórmulas que “traen” los datos para imprimir desde la fac- tura original. Por ejemplo, si en A1 está la palabra Nombre y en B1 el nombre, en H1 escribimos la fórmula =B1; si en A2 está la palabra Fecha y en B2 el nombre, en H2 es- cribimos la fórmula =B2. Así hacemos con todos los valores que deban imprimirse. Ahora establecemos el rango de impresión, tal como explicamos a continuación: Imprimir factura 55www.redusers.com ❘❘❘ A partir de Excel XP tenemos la opción de incluir imágenes en el encabezado o el pie de página. Afortunadamente esta opción se mantiene en Excel 2003 y 2007. Esto permite crear planillas más atractivas ya que podemos insertar un logo que se imprima luego en todas las hojas. IMÁGENES EN ENCABEZADO Y PIE 02_Excel revelado.qxp 12/29/09 4:20 PM Page 55
  • 58. ■ Establecer área de impresión PASO A PASO Seleccione la ficha Diseño de página de la cinta de opciones. Haga un clic en el botón Área de impresión. Haga un clic en Establecer área de impresión. En las versiones anteriores de Excel el rango de impresión se establece con las op- ciones Archivo/Área de impresión/Establecer área de impresión. Luego, el procedi- miento para resolver este problema es el mismo para todas las versiones. Configurar páginas Tengo un archivo Excel con unas veinte hojas y necesito configurar las mis- mas opciones de página en todas las hojas (márgenes, orientación, tamaño de la ho- ja, etcétera). Sé hacerlo una por una, ¿cómo hago para aplicar las opciones en todas las hojas a la vez, en un único paso? Rodrigo Zalazar Romero (San Miguel de Tucumán) Cuando se establecen las opciones de impresión, éstas quedan aplicadas a todas las hojas seleccionadas. En el caso de la consulta, para aplicar las mismas opciones a to- do el libro, basta con seleccionar previamente todas las hojas. Luego sí podemos es- tablecer la configuración deseada, que quedará extendida a todo el libro: 2. IMPRESIÓN 56 www.redusers.com 02_Excel revelado.qxp 12/29/09 4:20 PM Page 56
  • 59. ■ Aplicar opciones a todas las hojas PASO A PASO Haga un clic derecho sobre la solapa de cualquier hoja del libro. Tome la opción Seleccionar todas las hojas. Con las hojas seleccionadas establezca las opciones de impresión que desea, en la ficha Diseño de página de la Cinta de opciones (Márgenes, Orientación, Tamaño, etcétera). Deseleccione las hojas con un clic en cualquier solapa. Figura 2. Una vez que seleccionamos todas las hojas del libro, al establecer las opciones de configuración de página, éstas quedarán aplicadas a todo el libro. Una vez completado este proceso, las opciones establecidas mientras estaban seleccio- nadas las hojas se extenderán a todo el libro. Si queremos aplicar las opciones sólo en algunas hojas, las seleccionamos haciendo un clic en la solapa de cada hoja mientras mantenemos presionado CONTROL. En las versiones anteriores de Excel llegamos a las opciones de impresión desde el menú Archivo/Configurar página. Elegir impresora Hice una macro que arma una hoja copiando datos de otra y luego la impri- me. ¿Es posible que, antes de proceder a la impresión, me dé la oportunidad de se- leccionar la impresora y no use la predeterminada? Gustavo Borchez (Avellaneda, provincia de Buenos Aires) Elegir impresora 57www.redusers.com 02_Excel revelado.qxp 12/29/09 4:20 PM Page 57
  • 60. La respuesta es sí. La instrucción que debe incluir Gustavo en su macro, antes de la impresión, es Application.Dialogs(xlDialogPrinterSetup).Show. En general, Application.Dialogs(<cuadro>).Show muestra cualquiera de los cuadros estándares de Excel, donde <cuadro> es un número que identifica al cuadro que se va a mostrar. En el ejemplo que damos, este número aparece representado por una constante propia de Excel: xlDialogPrinterSetup. Figura 3. Queremos que una macro muestre este cuadro para que el operador seleccione la impresora antes de proceder con la impresión. Cuando estamos escribiendo la macro, en el momento de abrir el paréntesis en Application.Dialogs se descuelga una lista con todas las constantes posibles. Por su nombre, es posible saber cuál corresponde al cuadro deseado. Si la lista no apare- ce, tenemos que activar una opción en el editor de VBA: ■ Lista de argumentos en VBA PASO A PASO Ingrese al editor de Visual Basic con la combinación Alt+F11. Una vez dentro del editor tome las opciones Herramientas/Opciones. Seleccione la pestaña Editor. 2. IMPRESIÓN 58 www.redusers.com ❘❘❘ En Excel 2007, las opciones asociadas a macros (escribir, grabar, ejecutar, etcétera) se encuen- tran en la ficha Programador de la Cinta de opciones. Para disponer de esta ficha tenemos que marcar la opción Mostrar ficha programador en la cinta de opciones, dentro de la categoría Más frecuentes dentro de Botón de Office/Opciones de Excel. LA FICHA PROGRAMADOR 02_Excel revelado.qxp 12/29/09 4:20 PM Page 58
  • 61. Marque la opción Lista de miembros automática. Haga un clic en Aceptar. Figura 4. Al escribir la instrucción Application.Dialogs se descuelga una lista con los posibles valores de la constante que identifica a cada cuadro. Esto ocurre si tenemos activada la opción Lista de miembros automática dentro de Herramientas/Opciones en el Editor de VBA. Esta opción vale para todas las instrucciones que admitan una lista de argumentos y simplifica mucho la escritura del código de las macros. Contar páginas Si voy a imprimir una lista muy larga, con una cantidad variable de filas, ¿có- mo puedo saber cuántas páginas va a ocupar? Las filas pueden tener altura variable, por lo que no puedo dividir la cantidad total de filas por la cantidad de filas por hoja, que es variable. Muchas gracias por tu respuesta. Roberto Rodríguez Este problema puede resolverse con una macro que cuente los cortes de páginas den- tro del área de impresión. El código sería como el que se detalla a continuación: Contar páginas 59www.redusers.com ❘❘❘ Para numerar las páginas al imprimir una planilla tenemos que hacerlo a través del encabezado o del pie de página. En la lista de encabezados o pies estándares hay varias opciones que incluyen el número de página. También podemos diseñar a gusto el encabezado o el pie con los botones Per- sonalizar encabezado y Personalizar pie de página de las opciones de Encabezado y pie de página. NUMERAR PÁGINAS 02_Excel revelado.qxp 12/29/09 4:20 PM Page 59
  • 62. Sub paginas() cortes = ActiveSheet.HPageBreaks.Count MsgBox (“Hay “ & cortes & “ páginas en la hoja”) End Sub La propiedad HPageBreaks.Count calcula la cantidad de cortes de página horizon- tales (por eso la H). En principio, hay un corte de página por cada hoja que se va a imprimir. La macro funciona tanto con los cortes de página automáticos gene- rados por Excel como con los que pudieran haberse insertado manualmente a tra- vés de la opción Insertar/Salto de página. Para que la macro funcione correctamente, es necesario generar antes los cortes de página automáticos. Para eso alcanza con hacer una Vista preliminar. Original, duplicado y triplicado Hice un formulario en una hoja de Excel. Cada vez que lo imprimo hago tres copias. Necesito que en cada una haya una leyenda que indique cuál es el original, cuál el duplicado y cuál el triplicado. ¿Cómo hago para obtener estas leyendas auto- máticamente, sin tener que cambiar el texto en cada copia? Fernando Ananias Ricci Una solución sería hacer la impresión a través de una macro que cambie el encabe- zado (o el pie de página) en cada copia. Sub Impresion() ActiveSheet.PageSetup.CenterHeader = “ORIGINAL” ActiveSheet.PrintOut ActiveSheet.PageSetup.CenterHeader = “DUPLICADO” ActiveSheet.PrintOut ActiveSheet.PageSetup.CenterHeader = “TRIPLICADO” 2. IMPRESIÓN 60 www.redusers.com ❘❘❘ En Excel 2003 y en las versiones anteriores, las opciones asociadas a la impresión se encuentran en los menús Archivo/Vista preliminar, Archivo/Configurar página y Archivo/Imprimir. En Excel 2007 se encuentran mayoritariamente en la ficha Diseño de página de la cinta de opciones. OPCIONES DE IMPRESIÓN 02_Excel revelado.qxp 12/29/09 4:20 PM Page 60
  • 63. ActiveSheet.PrintOut End Sub Lo que hace esta macro es usar la propiedad PageSetup.CenterHeader para cambiar el encabezado de la hoja antes de cada impresión. Si el encabezado y el pie de página estuvieran ocupados con algún otro elemento, el texto se puede ubicar en alguna celda adecuada. La siguiente consulta se refiere a un problema similar y tiene una solución parecida. Encabezado variable Necesito imprimir una planilla que ocupa seis páginas. En las primeras tres tiene que imprimirse un encabezado y en las tres restantes, otro. Sé que se puede ha- cer imprimiendo cada grupo por separado. Pero es un informe que imprimo todos los días. ¿Hay alguna forma de automatizarlo? Juan Gabriel Agüero Ávila (Lambaré, Paraguay) Todo lo que resulta muy tedioso cuando se hace a mano se puede simplificar con una macro. Es una solución similar a la de la consulta anterior. Sub Titulos() ActiveSheet.PageSetup.CenterHeader = “Informe de ventas” ActiveSheet.PrintOut From:=1, To:=3 ActiveSheet.PageSetup.CenterHeader = “Informe de producción” ActiveSheet.PrintOut From:=4, To:=6 End Sub Esta macro establece el primer encabezado y luego imprime las hojas 1 a 3. A con- tinuación, establece el segundo encabezado e imprime las hojas restantes. Uno no siempre recuerda las instrucciones de macro asociadas a cada opción o Encabezado variable 61www.redusers.com ❘❘❘ La forma de abrir el editor de Visual Basic (para escribir o modificar una macro) depende de la versión de Excel que estemos usando: a través del menú o de la ficha Programador de la Cinta de opciones. Pero en todas las versiones podemos hacerlo con la combinación ALT+F11. EDITOR DE VISUAL BASIC 02_Excel revelado.qxp 12/29/09 4:20 PM Page 61
  • 64. comando de Excel. Entonces se lo podemos preguntar al grabador de macros. Es un buen ejemplo del uso del grabador de macros como asistente de programación. ■ El grabador como asistente PASO A PASO Seleccione la ficha Programador dentro de la Cinta de opciones. Haga un clic en el botón Grabar macro. Escriba un nombre adecuado para la macro. Haga un clic en Aceptar. En las versiones anteriores de Excel tomamos las opciones Herramientas/Ma- cro/Grabar nueva macro y luego sí establecemos la configuración deseada. 2. IMPRESIÓN 62 www.redusers.com ❘❘❘ La combinación CONTROL+P muestra el menú de impresión (equivale a la opción Imprimir). No existe en Excel una combinación de teclas para mostrar la Vista preliminar, pero sí la encon- tramos en Word mediante la combinación CONTROL+ALT+I. ATAJOS DE TECLADO 02_Excel revelado.qxp 12/29/09 4:20 PM Page 62
  • 65. En cualquier caso, con estas opciones encendemos el grabador de macros que re- gistrará todo lo que hagamos de ahora en más y escribirá la macro correspon- diente a esas operaciones. En este caso, establecemos un encabezado e imprimi- mos las primeras tres páginas de la planilla. Luego apagamos el grabador y ve- mos la macro que hemos obtenido: ■ Ver el código de la macro PASO A PASO Seleccione la ficha Programador dentro de la Cinta de opciones. Haga un clic en el botón Detener grabación. A continuación, haga un clic en el botón Macros. Aparecerá el cuadro con la lista de macros disponibles. Seleccione la macro que acaba de crear. Haga un clic en Modificar. Con esto se abrirá el editor de Visual Basic con el código de la macro que hace lo mismo que hicimos antes desde el menú. Sub Macro1() ‘ ‘ Macro1 Macro ‘ Macro grabada el 27/10/2009 por Claudio Sánchez ‘ ActiveSheet.PageSetup.PrintArea = “” With ActiveSheet.PageSetup .LeftHeader = “” Encabezado variable 63www.redusers.com ❘❘❘ Para insertar un corte de hoja manual tenemos que poner el cursor en la primera columna de la iz- quierda y en lo que sería la primera fila de la nueva hoja. Entonces tomamos las opciones Insertar/ Salto de página o usamos el botón Saltos de la ficha Diseño de página de la cinta de opciones. CORTES DE HOJA 02_Excel revelado.qxp 12/29/09 4:20 PM Page 63
  • 66. .CenterHeader = “Preuba de encabezado” .RightHeader = “” .LeftFooter = “” .CenterFooter = “” .RightFooter = “” .PrintHeadings = False .PrintGridlines = False .PrintComments = xlPrintNoComments .PrintQuality = 360 .CenterHorizontally = False .CenterVertically = False .Orientation = xlPortrait .Draft = False .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = 100 .PrintErrors = xlPrintErrorsDisplayed End With ActiveWindow.SelectedSheets.PrintOut From:=1, To:=3, Copies:=1, Collate _ :=True End Sub Ahora sí podemos estudiar este código y localizar las instrucciones que correspon- den a las operaciones que nos interesan. En este caso, las asociadas al establecimiento de los encabezados o pies de página, de acuerdo a lo que pide el lector. Combinar correspondencia Tengo una lista de personas con nombre, concepto e importe. Cada persona puede aparecer más de una vez, con distintos conceptos. Quiero imprimir cartas, usan- do la técnica de combinación de correspondencia, pero con todos los conceptos de una persona en una misma carta. En Word solamente puedo imprimir una carta por persona y concepto. ¿Se puede hacer en Excel? Robert Blanco (Asunción del Paraguay) No existe en Excel un comando equivalente a Combinar correspondencia que sí encontramos en Word. Pero, afortunadamente, se puede hacer lo mismo con una 2. IMPRESIÓN 64 www.redusers.com 02_Excel revelado.qxp 12/29/09 4:20 PM Page 64
  • 67. macro. Y cuando se usan macros, es posible realizar todas las mejoras que a uno se le ocurran. O que se le ocurran a nuestro lector Robert. Por ejemplo, supongamos que tenemos la lista de personas (con Nombre, Concepto e Importe) en A1:C13 (reservamos la primera fila para títulos). Primero debemos pre- parar la “carta modelo” que la macro completará con los datos de cada persona. Por ejemplo, en E1 escribimos Sr: (la macro escribirá el nombre en F1). Luego ingresa- mos algún texto introductorio adecuado. En las columnas E y F, a partir de la fila 5, la macro copiará concepto e importe para esta persona. Si queremos, podemos escribir una firma o frase de cierre en la última fila de la carta. Figura 5. Una macro recorre la lista de la izquierda y completa la carta de la derecha. Cuando termina de armar la carta de una persona, la imprime. En estas condiciones, la macro podría ser más o menos como la siguiente: Sub Cartas() ActiveSheet.PageSetup.PrintArea = “E1:H20” fila = 2 Do While Not IsEmpty(Cells(fila, “A”)) Range(“E5:H10”).ClearContents nombre = Cells(fila, “A”) Range(“F1”) = nombre f1 = 5 Do While Cells(fila, “A”) = nombre And Not IsEmpty(Cells(fila, “A”)) Cells(f1, “E”) = Cells(fila, “B”) Cells(f1, “F”) = Cells(fila, “C”) Combinar correspondencia 65www.redusers.com 02_Excel revelado.qxp 12/29/09 4:20 PM Page 65
  • 68. fila = fila + 1 f1 = f1 + 1 Loop ActiveSheet.PrintOut Loop End Sub Lo primero que hace la macro es establecer el rango de impresión de la carta mo- delo. Luego comienza a recorrer la lista de personas desde la segunda fila, mientras encuentre datos en la columna A. Esto lo hacemos con la condición Not IsEmpty (no está vacía). El recorrido del rango empieza borrando los datos de la carta anterior. Luego toma nota del nombre de la persona y lo escribe en G1. Entonces realiza un segundo recorrido para tomar nota de conceptos e importe de esta persona. Dos condiciones controlan este ciclo: que la columna A tenga datos, como antes, y que el nombre de la persona sea el que corresponde a esta carta. Este segundo ciclo se limita a copiar el concepto en la columna F y el importe en la columna G. Cuando el ciclo termina, imprime la carta. La impresión se hace con la instrucción ActiveSheet.PrintOut, pero, mientras hacemos pruebas, conviene cam- biarla por ActiveSheet.PrintPreview, que hace la vista preliminar. 2. IMPRESIÓN 66 www.redusers.com … RESUMEN Cualquiera pensaría que la impresión de una planilla Excel no ofrece demasiados secretos: hacemos un clic en el botón Imprimir y listo. Sin embargo, las distintas consultas respondidas en este capítulo demuestran que hay más en la impresión de una hoja que lo que podríamos pensar. 02_Excel revelado.qxp 12/29/09 4:20 PM Page 66
  • 69. Gráficos Histograma 68 Señalar promedio 71 Gráfico dinámico 73 Gráfico y subgráfico 76 Gráficos en cuatro cuadrantes 81 Área bajo una curva 83 Escala de gráficos 85 Gráfico para balance 88 Capítulo 3 Los gráficos son una opción atractiva de los programas de planilla de cálculo. Son fáciles de hacer y lindos de ver. Sin embargo, como todo en Excel, tienen sus secretos. A veces vemos gráficos muy interesantes, pero cuando tratamos de reproducirlos, no encontramos las opciones necesarias. Hay ciertos trucos y técnicas “secretas” que sirven para lograr efectos que no aparecen en los comandos y opciones estándares. Con esos trucos y técnicas resolveremos los problemas planteados en este capítulo. EXCEL REVELADO SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 67
  • 70. Histograma Me gustaría saber si en Excel se pueden hacer gráficos tipo histograma o po- lígonos de frecuencias. Espero tu respuesta. Betina Russo (Buenos Aires) Un histograma es un gráfico de columnas (barras verticales) donde cada una represen- ta la cantidad de veces que ocurre un determinado hecho. Por ejemplo, supongamos que organizamos un curso al que asisten personas de distintas regiones y queremos ob- tener un gráfico que represente la procedencia de los asistentes: más personas hay de una determinada región, más alta será la columna correspondiente. Figura 1. La altura de cada columna de este gráfico es proporcional a la cantidad de gente que proviene de la respectiva región. Si tenemos una tabla donde se indique la cantidad de gente por región, hacer el grá- fico es muy fácil: seleccionamos la tabla, hacemos un clic en el botón Columna de la ficha Insertar y seguimos las instrucciones. En las versiones de Excel anteriores a la 2007, luego de seleccionar la tabla tomamos las opciones Insertar/Gráfico. En realidad, el problema no es el gráfico sino el cuadro: tal vez no tengamos un cua- dro elegante de dos columnas donde cada fila sea una provincia y donde se indique la cantidad de asistentes de esa procedencia. Es más probable que tengamos una lista de 3. GRÁFICOS 68 www.redusers.com ❴❵ Si seleccionamos una tabla de datos y oprimimos la tecla F11 Excel crea automáticamente un gráfico de Columnas y lo inserta en una nueva hoja de gráficos. Esta tecla rápida es más un fas- tidio que una herramienta porque crea un gráfico muy simple que luego tenemos que ajustar. GRÁFICO INSTANTÁNEO 03_Excel revelado.qxp 12/29/09 4:21 PM Page 68
  • 71. personas (cada fila una persona), donde figura la procedencia de cada una. A partir de esta lista tenemos que obtener el cuadro y, entonces sí, pasar al gráfico. Figura 2. Para crear el histograma, necesitamos obtener una tabla que diga cuántas personas hay en cada región. Hay varias formas de obtener el cuadro de valores a partir de la lista. Una de las más directas es mediante tablas dinámicas. Veamos cómo crearlas: ■ Crear una tabla dinámica PASO A PASO Seleccione la lista original. Dentro de la ficha Insertar, haga un clic en el botón Tabla dinámica y, del menú que se descuelga, en la opción Tabla dinámica. Aparecerá un cuadro con las opciones iniciales de la tabla. Indique dónde quiere poner la tabla. Por ejemplo, marque la opción Hoja de cálculo existente y, dentro de Ubicación, haga un clic en una celda libre. Haga un clic en Aceptar. Aparecerá en el panel derecho de la pantalla una serie de opciones para darle forma a la tabla. Tome el campo Provincia (o como se llame el campo que contenga la procedencia) y arrástrelo hasta el cuadro Rótulos de fila. Tome nuevamente el campo Provincia y arrástrelo hasta el cuadro Valores. Con esto aparecerá la tabla con dos columnas: las provincias y la cantidad de personas en cada provincia. Cierre el panel derecho. Histograma 69www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 69
  • 72. Esto arma la tabla dinámica con los totales por provincia. Figura 3. Así queda la tabla dinámica creada por Excel a partir de la lista de la izquierda. En Excel 2003 y en las versiones anteriores, el procedimiento es un poco distinto. ■ Tabla dinámica (Excel 2003 y anteriores) PASO A PASO Seleccione la lista original. Vaya a las opciones Datos/Informe de tablas y gráficos dinámicos. Se abrirá el asistente para tablas dinámicas. En el primer paso indique Lista o base de datos de Microsoft Excel, porque ése es el origen de los datos. Haga un clic en Siguiente. En el segundo paso el cuadro debe indicar correctamente el origen de datos, tal como lo seleccionó al principio. De modo que aquí no deberá hacer nada, sólo siga adelante con un clic en Siguiente. En el último paso indique la ubicación para la tabla de valores que va a obtener. Por ejemplo, Hoja de cálculo existente y una celda libre en la hoja actual. Por último, haga un clic en Finalizar. Aparecerá el “esqueleto” de la tabla y un cuadro con la lista de campos. 3. GRÁFICOS 70 www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 70
  • 73. Tome con el mouse el campo Provincia y llévelo desde el cuadro Lista de campos de tabla hasta donde dice Coloque campos de fila aquí. Repita la maniobra anterior, pero esta vez lleve el campo a donde dice Coloque datos aquí. Esta tabla dinámica obtenida tampoco es el cuadro que se graficará para obtener el histograma. Ocurre que, en principio, cuando creamos un gráfico a partir de una tabla dinámica, se obtiene un gráfico dinámico. Si queremos un gráfico común, tenemos que copiar la tabla a otro rango y graficar ese segundo rango. Señalar promedio Tengo un gráfico de columnas, con los valores mensuales de ventas, don- de cada columna representa un mes. Me gustaría señalar el promedio de ventas en el gráfico para saber de un vistazo cuándo las ventas están por encima del pro- medio y cuándo están por debajo. Damián Omar Silva (provincia de Santa Fe) Suponemos que la tabla que queremos graficar tiene dos columnas: Mes y Ventas. Agreguemos una nueva columna, con el título Promedio, y cuyo contenido sea el promedio de ventas. Por ejemplo, si las ventas están en el rango B2:B7, en C2 escri- bimos la función =PROMEDIO(B$2:B$7) y extendemos la fórmula a toda la tabla. Si construimos un gráfico de columnas a partir de esta tabla extendida, obtendremos dos columnas por cada mes. La segunda columna representará el promedio y ten- drá la misma altura en todos los meses. Figura 4. Este gráfico tiene dos series de columnas. La segunda serie, correspondiente al promedio, será cambiada por una línea horizontal. Señalar promedio 71www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 71
  • 74. Ahora todo lo que tenemos que hacer es que la segunda serie de datos, en este caso los promedios de ventas, se represente con una línea horizontal. Para eso, tenemos que cambiar el tipo de gráfico, pero solamente para esta segunda serie. Entonces, para lograrlo, hacemos un clic derecho sobre cualquier columna de la segunda serie y, del menú contextual que se presenta, tomamos la opción Cambiar tipo de gráfico de series. De esta manera aparecerá un cuadro con la lista de tipos de gráficos disponibles. Allí, simplemente debemos seleccionar alguno corres- pondiente al tipo de Líneas. Si utilizamos Excel 2003 o cualquiera de las versiones anteriores, cambiamos el tipo de la segunda serie con las opciones Gráfico/Tipo de gráfico. Figura 5. La línea horizontal señala el valor promedio de ventas. Permite ver rápidamente en qué meses se superó el promedio y en cuáles no ocurrió así. Con esto obtenemos un gráfico de tipo “mixto”: una serie en columnas y la otra en líneas. Todavía podemos cambiar las propiedades de la línea eliminando el marca- dor y poniéndole un color más llamativo. 3. GRÁFICOS 72 www.redusers.com ❘❘❘ Los gráficos de Línea parecen iguales a los de Dispersión, pero son muy distintos. En un gráfico de Línea, los valores de x se ubican equidistantes en el eje horizontal. En los de Dispersión, se ubican en forma proporcional a su valor, es decir que si los valores de x son 10, 40 y 50, el se- gundo número estará más cerca del tercero que del primero. LÍNEAS CONTRA DISPERSIÓN 03_Excel revelado.qxp 12/29/09 4:21 PM Page 72
  • 75. Gráfico dinámico Cada vez que actualizo un gráfico dinámico (porque cambio un dato o porque aplico un filtro) pierdo todas las opciones que apliqué, tales como el color de las ba- rras o el grosor de las líneas. ¿Cómo puedo hacer para conservar estas característi- cas al actualizar el gráfico? Gracias por tu ayuda. Christian Macedo Aliaga (Lima, Perú) Antes de pasar a la resolución de este problema, hablemos un poco de gráficos dinámicos para comprender la diferencia con los gráficos tradicionales. Se trata de una variante de las tablas dinámicas, que aparecieron en Excel 2000. Por ejem- plo, supongamos que tenemos una planilla con una lista de ventas. Cada fila co- rresponde a una venta y se indica el nombre del vendedor, el artículo vendido y el importe de la venta. Cada vendedor aparece más de una vez, porque puede ha- ber hecho más de una venta. Queremos obtener un gráfico de columnas que re- presente el total de ventas por vendedor. ■ Crear un gráfico dinámico PASO A PASO Seleccione la lista original. A continuación, diríjase a la ficha Insertar, haga un clic en el botón Tabla dinámica y luego en la opción Gráfico dinámico. Aparecerá un cuadro con las opciones iniciales del gráfico. Marque la opción Hoja de cálculo existente y, dentro de Ubicación, haga un clic en una celda libre. Haga un clic en Aceptar. Aparecerá en el panel derecho de la pantalla una serie de opciones para darle forma al gráfico y un panel de filtros. Tome el campo Nombre y arrástrelo hasta el cuadro Campos de eje. Gráfico dinámico 73www.redusers.com ❘❘❘ En Excel 2007, cuando seleccionamos un gráfico, aparece el grupo de fichas Herramientas de gráficos en la Cinta de opciones. Estas fichas tienen opciones específicas para trabajar con el gráfico. En Excel 2003 y en las versiones anteriores, cuando seleccionamos un gráfico, la opción Datos del menú principal cambia por Gráfico. MENÚ GRÁFICO 03_Excel revelado.qxp 12/29/09 4:21 PM Page 73
  • 76. Tome el campo Ventas y arrástrelo hasta el cuadro Valores. Con esto aparecerá el gráfico de columnas con las ventas de cada vendedor. Cierre el panel derecho. El gráfico dinámico aparece acompañado de un cuadro llamado Panel de filtros. En este cuadro podemos pedir que el gráfico se limite sólo a algunos vendedores. Si hi- cimos algún ajuste en el gráfico (por ejemplo, modificamos el color de las columnas), Excel conservará el cambio tras la actualización. Eso no ocurre en las versiones an- teriores a Excel 2007: cada vez que actualizamos el gráfico (porque cambiamos un dato o porque aplicamos un filtro), se vuelve a las opciones originales. Una posible solución si trabajamos con Excel 2003, consiste en la creación de un tipo de gráfico personalizado, como se describe a continuación: ■ Gráfico personalizado (Excel 2003 y anteriores) PASO A PASO Aplique sobre el gráfico todos los atributos que desea. Luego tome las opciones Gráfico/Tipo de gráfico. Aparecerá el cuadro con la lista de tipos y subtipos. Seleccione la ficha Tipos personalizados. Dentro de Seleccionar desde, marque la opción Definido por el usuario. 3. GRÁFICOS 74 www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 74
  • 77. Haga un clic en Agregar. En la primera casilla escriba un nombre adecuado para el nuevo tipo que está creando y, si lo desea, una descripción. Haga un clic en Aceptar. Si ahora aplicamos un filtro, volveremos al tipo estándar. Pero podemos recuperar los atributos nuevos, aplicando el tipo que acabamos de crear. ■ Aplicar el gráfico personalizado PASO A PASO Tome las opciones Gráfico/Tipo de gráfico. Seleccione la ficha Tipos personalizados. Marque la opción Definido por el usuario. Seleccione el tipo que acaba de crear. Haga un clic en Aceptar. Gráfico dinámico 75www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 75
  • 78. Con esto recuperamos los atributos que habíamos aplicado al gráfico dinámico. El tipo personalizado queda disponible, además, para aplicar a otros gráficos. Gráfico y subgráfico Tengo una tabla con valores para cuatro rubros. Uno de esos rubros, a su vez, está desagregado en tres subrubros. Quiero hacer un gráfico circular con cuatro sec- tores y que uno de ellos conduzca a otro gráfico con los tres subsectores. Miguel Ybarra (San Miguel, provincia de Buenos Aires) Vamos a ver. Nuestra tabla tiene cuatro rubros: Ventas, Compras, Administración y Producción. Al rubro Ventas le corresponden, a su vez, los subrubros Norte, Centro y Oeste. Primero reacomodamos los datos de modo de tener una única tabla con los rubros Compras, Administración, Producción, Norte, Centro y Oeste. Nótese que falta el rubro Ventas, reemplazado por sus tres subrubros. Figura 6. Este gráfico consta de una “torta principal”, una de cuyas porciones se desglosa en una “subtorta”. Primero creamos un gráfico de torta. ■ Crear un gráfico de torta PASO A PASO Seleccione la tabla, con los rótulos y sus valores. Seleccione la ficha Insertar, dentro de la Cinta de opciones. 3. GRÁFICOS 76 www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 76
  • 79. Descuelgue las opciones del botón Circular. Elija el tercer subtipo, el que tiene una segunda torta, más pequeña. Ajuste las demás opciones, a gusto. Si estamos usando Excel 2003 o una versión anterior: ■ Gráfico de torta (Excel 2003 y anteriores) PASO A PASO Seleccione la tabla, con los rótulos y sus valores. Tome las opciones Insertar/Gráfico. En el primer paso del asistente indique gráfico tipo Circular y el tercer subtipo, el de la segunda torta. Ajuste las demás opciones, a gusto. Haga un clic en Finalizar. Cualquiera sea la versión de Excel que utilicemos, con los procedimientos que aca- bamos de describir logramos crear un gráfico como el que pide el lector, a excepción Gráfico y subgráfico 77www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 77
  • 80. 3. GRÁFICOS 78 www.redusers.com ❘❘❘ Cuando ubicamos el gráfico en la misma hoja que se encuentra la tabla, puede resultar dema- siado chico. Si queremos cambiar la ubicación, tenemos que hacer un clic en el botón Mover gráfico dentro de la ficha Diseño de la cinta de opciones. En las versiones anteriores de Excel, cambiamos la ubicación con las opciones Gráfico/Ubicación. UBICACIÓN DEL GRÁFICO que el subgráfico desagrega dos rubros, cuando deberían ser tres, como pide la consulta. Entonces, para resolver este problema, hacemos un clic derecho sobre la torta (o la subtorta) y, del menú contextual que se presenta, tomamos la op- ción Dar formato de la serie de datos. De esta manera se abrirá una ventana como la de la FFiigguurraa 77. Todo lo que tenemos que hacer es indicar 3 donde dice Segundo trazado contiene últimos, en el sector Opciones de serie. Luego completamos el pro- ceso con un clic en Aceptar. Figura 7. Con esta opción indicamos que la subtorta corresponde a los últimos tres valores de la tabla. En las versiones anteriores de Excel, hacemos el clic derecho sobre la torta y tomamos la opción Formato/Serie de datos seleccionada. Dentro de la ficha Opciones, donde di- ce Segundo trazado contiene últimos, indicamos 3 y hacemos un clic en Aceptar. 03_Excel revelado.qxp 12/29/09 4:21 PM Page 78
  • 81. Figura 8. Así queda el gráfico con el subgráfico que desagrega los valores correspondientes a Ventas. A este gráfico lo podemos ajustar como cualquier otro gráfico de Excel para cam- biar leyendas, rótulos de datos, títulos, etcétera. Barras de colores Tengo un gráfico de columnas que representa la velocidad de transmisión en función de la tecnología del dispositivo. ¿Cómo hago para que cada columna tenga un color diferente? Te agradezco por la ayuda. Miguel Lederkremer (Buenos Aires) Normalmente, en un gráfico de barras, las columnas de una serie son del mismo co- lor. Por ejemplo, si representamos Ventas, Costo y Ganancia para cuatro empresas habrá cuatro columnas para las Ventas, todas del mismo color; otras cuatro para el Barras de colores 79www.redusers.com ❘❘❘ En Excel 2003 y en las versiones anteriores abrimos el asistente para crear gráficos median- te las opciones Insertar/Gráfico. El concepto de asistente apareció hacia 1990 cuando ganó el premio a la mayor innovación, otorgado por la revista PC Magazine. En inglés se lo llama- ba Wizard, que significa mago o hechicero. EL ASISTENTE 03_Excel revelado.qxp 12/29/09 4:21 PM Page 79
  • 82. Costo, todas del mismo color (pero diferente al de las Ventas) y así sucesivamente. Si hay una única serie de datos, como en el caso de Miguel, todas las columnas apa- recerán del mismo color. Figura 9. En un gráfico como éste, todas las columnas de una misma serie tienen el mismo color. Si hay una única serie, podemos hacer que cada columna tenga un color diferente. Sin embargo, en este caso es posible diferenciar las distintas columnas de la misma serie. La forma de realizarlo será como detallamos a continuación: ■ Columnas de colores PASO A PASO Haga un clic derecho sobre cualquier columna. En el menú contextual, vaya a las opciones Dar formato a la serie de datos. 3. GRÁFICOS 80 www.redusers.com ❘❘❘ En Excel 2003 y en las versiones anteriores, cuando seleccionamos un gráfico, la opción Gráfico del menú principal contiene cuatro opciones para cambiar las respuestas que le podamos haber dado al asistente durante la creación del gráfico. Estas cuatro opciones se corresponden con los cuatro pasos del asistente. MENÚ GRÁFICO EN EXCEL 2003 03_Excel revelado.qxp 12/29/09 4:21 PM Page 80
  • 83. Seleccione la categoría Relleno. Marque la opción Variar colores entre puntos. Haga un clic en Cerrar. En Excel 2003 y en las versiones anteriores, esta posibilidad está en el menú Opciones. En realidad, esto ya lo había hecho Miguel, pero sin éxito. Ocurre que él había cam- biado antes el color estándar de las columnas y este color personalizado manda so- bre la otra opción. Lo que tenemos que hacer es reestablecer previamente el color estándar. Para eso, en la ventana del PPaassoo 44, marcamos la opción Automática. En las versiones anteriores de Excel, la opción Automática está en la ficha Tramas. Gráficos en cuatro cuadrantes Cuando hago un gráfico en Excel, los datos me aparecen en el primer cua- drante (valores positivos para X e Y). ¿Hay alguna manera de que aparezcan los cuatro cuadrantes, especialmente, cuando hago gráficos de ecuaciones de primer y segundo grado? Quedo a la espera de tu respuesta. Luis Montoya Sánchez (México) Cuando creamos un gráfico tipo Dispersión, Excel establece los ejes en forma au- tomática: si los datos son todos positivos, el gráfico mostrará solamente el primer cuadrante; si hay datos negativos podrán aparecer los demás cuadrantes. Gráficos en cuatro cuadrantes 81www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 81
  • 84. Figura 10. Este gráfico tiene valores positivos para las dos variables. Excel muestra solamente el primer cuadrante, porque todos los puntos caen dentro de él. Si queremos mostrar los cuatro cuadrantes, independientemente de que Excel los necesite, tenemos que establecer escalas manuales en ambos ejes. Por ejemplo, su- pongamos que tenemos un gráfico donde los valores de X y de Y van de 0 a 2: ■ Cambiar la escala del eje PASO A PASO Haga un clic derecho sobre el eje horizontal. Preferentemente, sobre alguno de los números de la escala. Del menú contextual, elija la opción Dar formato a eje. Seleccione la categoría Opciones del eje. Dentro de Mínima, marque la opción Fija. Indique un valor de –2. 3. GRÁFICOS 82 www.redusers.com ❴❵ Las planillas de cálculo permiten la creación de gráficos, por lo menos, desde el viejo Lotus 1-2-3 de los 80. Curiosamente, éstas opciones funcionaban incluso en computadoras sin moni- tor gráfico. Había que crear el gráfico “a ciegas” y recién cuando lo imprimíamos, sabíamos si había quedado en la forma correcta o, al menos, como habíamos imaginado. LOS GRÁFICOS EN LAS PLANILLAS 03_Excel revelado.qxp 12/29/09 4:21 PM Page 82
  • 85. Haga un clic en Cerrar. En Excel 2003 y en las versiones anteriores, este valor mínimo lo indicamos en la ficha Escala, todo lo demás es igual. Con esto le estamos pidiendo a Excel que dibuje la parte negativa del eje Y (aunque no la necesite). Hacemos luego lo mismo con el otro eje. Si todo sale bien, el grá- fico mostrará los cuatro cuadrantes. Área bajo una curva Hace poco tuve un problema con una “superplanilla” que no pude resolver. Hice unos gráficos del tipo Dispersión y necesitaba calcular el área encerrada bajo la curva graficada. Busqué en la Ayuda pero no encontré nada. ¿Hay alguna fórmula, op- ción o macro para calcular esta superficie? Alejandro Wikarczuk (Avellaneda, provincia de Buenos Aires) Hasta donde sabemos (pero no lo sabemos todo) no hay ninguna opción o fun- ción específica en Excel que nos permita calcular el área bajo una curva. Pero lo que se puede hacer es una aproximación geométrica. Área bajo una curva 83www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 83
  • 86. 3. GRÁFICOS 84 www.redusers.com Figura 11. Queremos calcular la superficie del área sombreada encerrada bajo este gráfico. Puede considerarse como un conjunto de franjas verticales con forma de trapecio. Por ejemplo, supongamos que los datos que vamos a graficar ocupan el rango A2:B12 de nuestra planilla, con la variable x en la primera columna, la y en la se- gunda y los títulos en la primera fila. El gráfico resultante puede considerarse co- mo un conjunto de franjas verticales con forma de trapecio. La superficie de ca- da trapecio es igual a ancho*(lado izquierdo+lado derecho)/2. Tal como está re- presentado en la FFiigguurraa 1111. El primero de estos trapecios tiene un ancho igual a A3-A2. Es decir, igual a la diferencia entre los dos primeros valores de x. El lado izquierdo del trapecio es igual al valor ingresado en B2 (que no es otra cosa que el primer valor de y) y el lado derecho es igual al dato contenido en la celda B3 (segundo valor de y). Re- emplazando estos datos en la fórmula anterior para el área, queda =(A3- A2)*(B2+B3)/2. Extendiendo esta fórmula a toda la tabla, hasta la penúltima fi- la, obtenemos la superficie de todas las franjas. ❘❘❘ Una forma simple y rápida de cambiar alguna característica de un objeto dentro de un gráfico consiste en seleccionar el objeto y oprimir la combinación CONTROL+1 (el número 1). Esto abre un juego de una o más fichas con todas las opciones asociadas al objeto seleccionado. Esto es válido tanto en Excel 2007 como en las versiones anteriores. OBJETOS Y FORMATOS 03_Excel revelado.qxp 12/29/09 4:21 PM Page 84
  • 87. Figura 12. La franja vertical señalada en la figura tiene un ancho igual a A8-A7; la altura de su lado izquierdo es igual a B7 y la de su lado derecho es igual a B8. Las fórmulas de la columna C calculan la superficie de todas las franjas. La suma de todos los valores obtenidos es igual al área bajo la curva que se quería calcular. La fórmula no se extiende a toda la tabla sino hasta la penúltima fila por- que la fórmula calcula la superficie de la franja cuyo lado derecho tiene una altura igual al próximo valor de la tabla. Escala de gráficos Hice un gráfico a partir de una tabla de dos columnas. En la primera tengo los números 0, 1, 2, etcétera, y en la segunda otros datos numéricos. Por alguna razón el gráfico muestra correctamente todas las columnas de datos, pero en el eje x no las numera adecuadamente sino que a la primera, que debería llevar el núme- ro 0, le pone el 1. Cambié todas las opciones que encontré, pero no puedo hacer aparecer los números correspondientes. Fernando Gabriel Rossi Escala de gráficos 85www.redusers.com ❘❘❘ Excel 2007 incluye nuevos formatos de celda que permiten crear un gráfico dentro de un rango. El gráfico se obtiene seleccionando los datos y, en la ficha Inicio de la cinta de opciones, ha- ciendo clic en Formato condicional y luego en Barras de datos. Aparecerá, dentro de cada celda, una barra de color de longitud proporcional a su valor. LOS NUEVOS FORMATOS 03_Excel revelado.qxp 12/29/09 4:21 PM Page 85
  • 88. 3. GRÁFICOS 86 www.redusers.com ❘❘❘ Puede ser que, inexplicablemente, aparezca en un libro de Excel una hoja de gráfico vacía o con un gráfico muy simple. Esto suele deberse a que oprimimos sin darnos cuenta la tecla F11, que crea un gráfico de columnas a partir de la celda seleccionada. Para eliminar esta hoja basta con hacer un clic derecho sobre su solapa y luego seleccionar Eliminar hoja. HOJA DE GRÁFICO Si el gráfico muestra correctamente los valores correspondientes al 0 pero le pone un 1, es porque numera los datos correlativamente y no está tomando la primera columna para poner los rótulos del eje X. Figura 13. Los valores que aparecen en el eje X no son los de la columna A de la tabla de la derecha. Excel simplemente está numerando las columnas correlativamente a partir de 1. Entonces le vamos a pedir que tome los rótulos del rango adecuado. ■ Rótulos del eje PASO A PASO Haga un clic derecho sobre el gráfico. En el menú contextual, presione la opción Seleccionar datos. Dentro de Etiquetas del eje horizontal, haga un clic en Editar. 03_Excel revelado.qxp 12/29/09 4:21 PM Page 86
  • 89. Escala de gráficos 87www.redusers.com Seleccione el rango de los rótulos (donde está la serie numérica que comienza con 0). En este ejemplo sería el rango A2:A7. Haga un clic en Aceptar (el rango). Haga un clic en Aceptar (las opciones). En las versiones anteriores de Excel: ■ Rótulos del eje (Excel 2003 y anteriores) PASO A PASO Seleccione el gráfico. Tome la opción Gráfico/Datos de origen. Seleccione la ficha Serie. Haga un clic dentro de Rótulos del eje de categorías. Seleccione el rango de los rótulos (donde está la serie numérica que comienza con 0). Para el ejemplo es el rango A2:A7. Haga un clic en Aceptar. Cualquiera sea la versión de Excel que estemos usando, luego de estos pasos el grá- fico mostrará los valores del rango seleccionado como rótulos del eje X. 03_Excel revelado.qxp 12/29/09 4:21 PM Page 87
  • 90. Gráfico para balance Como sabrás, en contabilidad se verifica que el activo sea igual al pasivo más el patrimonio neto. Tengo esos datos en una hoja y quiero ponerlos como gráfico, de modo de tener una columna cuya altura sea igual al activo y, al lado, dos columnas, una encima de la otra, que representen el pasivo y el patrimonio neto. ¿Cómo lo hago? Martín Canosa Este problema es muy común: obtener un gráfico donde la suma de dos variables sea iguale a una tercera. Aunque no encontramos ningún gráfico estándar para es- to, hay una solución un tanto compleja. En primer lugar, supondremos que los datos están en el rango A1:B3, con los títulos Activo, Pasivo y Patrimonio neto en la columna A y los importes en la columna B. Figura 14. Estos son los datos que queremos representar en un gráfico que indique Activo = Pasivo + Patrimonio neto. Entonces comenzamos a crear el gráfico: ■ Gráfico para balance (1) PASO A PASO Coloque el cursor en cualquier celda de la tabla. Dentro de la ficha Insertar haga un clic en el botón Columnas y luego en el primer subtipo. Aparecerá el gráfico con tres columnas, una al lado de la otra. Haga un clic en el botón Cambiar entre filas y columnas. Haga un clic en el botón Seleccionar datos. Aparecerá un cuadro con el detalle de las tres series de datos. 3. GRÁFICOS 88 www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 88
  • 91. Haga un clic en el botón Agregar. Dentro de Nombre de la serie, haga un clic en A4, debajo de la última celda de la tabla. Dentro de Valores de la serie, haga un clic en B4. Haga un clic en Aceptar. Lo que acabamos de hacer es agregar una serie “fantasma” (sin datos) en el gráfico. Esta serie es importante para que el gráfico quede simétrico. Ahora vamos a acomodar las barras como corresponde al gráfico que buscamos. ■ Gráfico para balance (2) PASO A PASO Haga un clic derecho sobre la columna del Patrimonio neto. Tome la opción Dar formato de la serie de datos. Dentro de Opciones de serie marque la opción Eje secundario. Haga un clic en Cerrar. Gráfico para balance 89www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 89
  • 92. Sin deseleccionar la columna, haga un clic en Cambiar tipo de gráfico y luego en la opción correspondiente a Columna apilada (es el segundo subtipo desde la izquierda). Haga un clic en Aceptar. Ahora debe seleccionar la columna del Pasivo. Como quedó tapada por la del patrimonio, oprima la tecla FLECHA IZQUIERDA hasta que la vea seleccionada. Apriete la combinación SHIFT+F10 (que simula al botón derecho) para obtener el menú contextual. Tome la opción Dar formato de la serie de datos. Dentro de Opciones de serie marque la opción Eje secundario. Haga un clic en Cerrar. Figura 15. Los puntos de agarre y el borde en A2:B2 indican que tenemos seleccionada la columna del Pasivo, detrás de la del Patrimonio neto. Ahora sí veremos el gráfico que buscábamos. Es decir, la columna de Activo a la izquierda y, a su lado, las columnas de Pasivo y Patrimonio neto, una encima de la otra. En realidad, la columna de Activo se verá más angosta que las otras dos. Eso lo podemos ajustar con otra opción. 3. GRÁFICOS 90 www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 90
  • 93. ■ Gráfico para balance (3) PASO A PASO Haga un clic derecho sobre la columna del activo. Tome la opción Dar formato de la serie de datos. Dentro de Superposición de series lleve el control deslizante hacia la izquierda, hasta el valor de –100%. Haga lo mismo con el control de Ancho del intervalo hasta el valor de 0%. Haga un clic en Cerrar. Figura 16. Estas opciones hacen que la columna del Activo quede (más o menos) con el mismo ancho que las otras dos. Si queremos mejorar aún más el aspecto del gráfico, ajustamos la columna de Pa- trimonio neto (o de Pasivo) para darle un ancho de intervalo que coincida con el an- cho visible de la del Activo. También podemos eliminar el eje secundario e incluir rótulos de datos sobre las columnas. Todo esto, más algunos ajustes estéticos, re- quiere de un trabajo un tanto artesanal, pero el resultado final es el buscado. Gráfico para balance 91www.redusers.com 03_Excel revelado.qxp 12/29/09 4:21 PM Page 91
  • 94. Figura 17. En este gráfico se muestra que Activo = Pasivo + Patrimonio neto. Tenemos que jugar con las opciones de columna para que todas se vean del mismo ancho. Además, agregamos etiquetas de datos para cada columna. En las versiones de Excel anteriores a la 2007 el procedimiento cambia pero, esen- cialmente, se trata de cumplir los siguientes pasos: • Incluir una serie “fantasma”, adicional a las tres de datos. • Asignar las series de Pasivo y Patrimonio neto al eje secundario. • Establecer, para esas mismas dos series, tipo de Columnas apiladas. • Ajustar el ancho y superposición de las columnas. 3. GRÁFICOS 92 www.redusers.com … RESUMEN Éste es uno de los capítulos más cortos del libro. Una razón podría ser que los gráficos de Excel son fáciles de crear y manejar, lo que deja poco lugar a las dudas. Sin embargo, esas opciones son, al mismo tiempo, suficientemente poderosas como para permitir trucos no previstos hasta por los creadores del programa. 03_Excel revelado.qxp 12/29/09 4:21 PM Page 92
  • 95. Las funciones especiales Botón Pegar función 94 La función EXTRAE 101 La función REDONDEAR 107 Redondeo truncado 110 El cambio exacto 111 Reparto de diarios 116 Cálculos con matrices complejas 123 Criptofrases 133 Capítulo 4 Excel cuenta con un arsenal de más de trescientas funciones para cálculos especiales. La más conocida es la función SUMA, pero hay muchas más, para todo tipo de operaciones matemáticas y financieras, para manejar textos, etcétera. Curiosamente, muchas de estas funciones se pueden usar para resolver problemas que, en principio, no parecen estar vinculados con el objetivo natural de la función. EXCEL REVELADO SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 93
  • 96. Botón Pegar función Desde que me pasé a Office XP perdí el botón fx, que me permitía insertar una función. Ahora tengo que descolgar las opciones del botón Autosuma y, de ahí, hacer clic en Más funciones. ¿Puedo crear un botón que llame directamente al asis- tente para insertar funciones, como tenía en Excel 2000? Andrés Mansilla (Lobos, provincia de Buenos Aires) Efectivamente, hasta Excel 2000 la barra de herramientas Estándar tenía un botón para llamar al asistente para insertar una función. A partir de Excel XP, esta opción se incluyó en el botón Autosuma. En Excel 2007, las barras de herramientas fueron reemplazadas por la Cinta de opciones. En la ficha Inicio está el botón Autosuma y, su última opción, corresponde al botón Insertar función. Figura 1. En Excel 2007 (y a partir de Excel XP) el botón Autosuma incluye una opción para llamar al asistente para insertar funciones. Si queremos tener el botón Insertar función más a mano, en Excel 2007 lo pode- mos poner en la barra de herramientas de acceso rápido: ■ Insertar función PASO A PASO Haga un clic en el botón Autosuma. Con el botón derecho del mouse, haga un clic en la opción Más funciones. Haga un clic en Agregar a la barra de herramientas de acceso rápido. 4. LAS FUNCIONES ESPECIALES 94 www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 94
  • 97. Figura 2. Aquí podemos personalizar la barra de herramientas de acceso rápido e incluir el botón para insertar funciones. Ahora la barra de herramientas de acceso rápido, que está a la derecha del Botón de Office, mostrará el botón Insertar función. Figura 3. Así se ve el botón Insertar función, luego de incluirlo en la barra de herramientas de acceso rápido. En las versiones anteriores de Excel podemos incluir el botón Insertar función al personalizar las barras de herramientas: ■ Insertar función (Excel 2003 y anteriores) PASO A PASO Vaya a las opciones Ver/Barras de herramientas/Personalizar. Seleccione la ficha Comandos. Botón Pegar función 95www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 95
  • 98. Dentro de Categorías, haga un clic en Insertar. Dentro de Comandos, busque la opción Pegar función y, tomándola con el mouse, llévela hasta el punto de la barra de herramientas donde desea dejarla. Por ejemplo, junto al botón Autosuma. Haga un clic en Cerrar. El nuevo botón quedará en su sitio, y se mantendrá ahí al reiniciar la próxima se- sión de Excel. De esta manera podemos acceder al asistente con un solo clic. Figura 4. Con las opciones de Personalizar las barras de herramientas podemos agregar o quitar botones. Por ejemplo, el viejo botón fx, para llamar al asistente para Pegar función. Además, cualquiera sea la versión de Excel que estemos usando, podemos llamar al asistente para insertar funciones con la combinación SHIFT+F3. 4. LAS FUNCIONES ESPECIALES 96 www.redusers.com ❘❘❘ Además de los estilos de puntuación, la configuración regional controla los formatos estánda- res de fecha y moneda. Independientemente de estos formatos estándares, siempre podemos aplicar otros según nuestro gusto a través de las opciones habituales de Excel. CONFIGURACIÓN REGIONAL 04_Excel revelado.qxp 12/29/09 4:22 PM Page 96
  • 99. Estilos de puntuación Uso habitualmente algunas funciones y uso el punto y coma para separar los argumentos, como, por ejemplo, en la función SI. Pero resulta que me cambiaron la má- quina y ahora tengo que usar la coma. ¿Cómo hago para volver a la forma anterior? Franco Carini En principio, los signos de puntuación de Excel (separador decimal, separador de mi- les y separador de argumentos) se establecen desde el Panel de control de Windows: ■ Estilo de puntuación PASO A PASO Vaya a las opciones Inicio/Panel de control (la secuencia exacta puede depender de la organización de los menús). Haga clic en Reloj, idioma y región. En la sección Configuración regional y de idioma, haga un clic en Cambiar el idioma para mostrar. En la ventana que se abre, elija Español del menú desplegable y presione el botón Personalizar este formato. Este estilo corresponde a coma para separar decimales, punto para los miles y punto y coma para argumentos de funciones. Haga un clic en Aceptar. Figura 5. Aquí establecemos el estilo de puntuación que se aplicará en las expresiones de Excel, si es que no indicamos lo contrario en la configuración de Excel. Estilos de puntuación 97www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 97
  • 100. También podemos cambiar el estilo de puntuación desde Excel, sin modificar la configuración regional de Windows. El procedimiento varía según la versión de Ex- cel que estemos usando. En Excel 2007: ■ Cambiar puntuación PASO A PASO Haga un clic en el Botón de Office y luego en Opciones de Excel. Seleccione la categoría Avanzadas. A continuación, dentro del grupo Opciones de edición, desmarque la opción Usar separadores del sistema. Indique los separadores deseados. Al indicar coma (,) para los decimales y punto (.) para los miles, automáticamente quedará establecido el punto y coma (;) para los argumentos. Haga un clic en Aceptar. Figura 6. Si desmarcamos la opción Usar separadores del sistema podemos cambiar los signos de puntuación de Excel sin modificar la configuración regional de Windows. ■ Cambiar puntuación (Excel 2003 y anteriores) PASO A PASO Vaya a Herramientas/Opciones. 4. LAS FUNCIONES ESPECIALES 98 www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 98
  • 101. Seleccione la ficha Internacional. Desmarque la opción Usar separadores del sistema. Indique los separadores deseados. Al indicar coma (,) para los decimales y punto (.) para los miles, automáticamente quedará establecido el punto y coma (;) para los argumentos. Haga un clic en Aceptar. Figura 7. Desmarcando la opción Usar separadores del sistema en Excel 2003 podemos cambiar los signos de puntuación sin modificar la configuración regional de Windows. Esta configuración afecta a todo Excel, incluso a las planillas creadas con anteriori- dad al cambio: si las volvemos a abrir veremos los separadores cambiados. Dato móvil Tengo una hoja con una lista de movimientos. En una celda auxiliar necesito obtener el último dato de la lista, que deberá ir cambiando a medida que agrego nue- vos movimientos. ¿Se puede hacer esto con una macro? Daniel Alberto Reinoso (Córdoba) Este problema se puede resolver sin macros, recurriendo a unas cuantas funciones po- co conocidas. Supongamos que la lista de datos está en la columna A. En C1 escribi- mos la función CONTARA(A:A), que nos dice cuántos datos hay en la lista. Si la lista comienza en A1, la cantidad de datos coincide con el número de fila del último dato. Dato móvil 99www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 99
  • 102. En C2 “armamos” la dirección del último dato con la función =DIRECCION(C1;1). Los argumentos de DIRECCION son la fila y la columna de la celda cuya dirección quere- mos obtener. Finalmente, obtenemos el contenido de esta dirección con la función =INDIRECTO(C2). Esta función no nos trae el contenido de la celda C2 sino el conte- nido de la celda cuya dirección está en C2. Por supuesto, podemos combinar todas las funciones en una única fórmula: =INDIRECTO(DIRECCION(CONTARA(A:A);1)). Figura 8. La fórmula de la celda C1 devuelve el último valor de la columna A. Este valor cambiará y se mantendrá actualizado a medida que agreguemos datos a la lista. Si la lista no comienza en A1 a la expresión anterior le tenemos que sumar el nú- mero de fila del primer dato al valor devuelto por la función CONTARA. ¿Dónde estoy? Necesito un procedimiento que detecte automáticamente la celda donde ten- go el cursor y que mande a dos variables la fila y la columna correspondiente. ¿Cuál es la fórmula que tengo que usar? Lucas Paradisi La respuesta a este problema depende de si queremos obtener fila y columna con una fórmula para usar en la planilla o dentro de una macro. En el caso de una fór- mula, podemos usar la función CELDA: • =CELDA(“Fila”) devuelve el número de fila de la celda actual. • =CELDA(“Columna”) devuelve el número de orden de la columna de la celda ac- tual. Uno para la A, dos para la B y así sucesivamente. 4. LAS FUNCIONES ESPECIALES 100 www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 100
  • 103. Figura 9. La función CELDA devuelve distintas propiedades de la celda actual. En este caso, la fila donde se encuentra el cursor. Si movemos el cursor, tenemos que recalcular la planilla para actualizar el valor de la función. Ambas fórmulas actualizan su valor cada vez que se recalcula la planilla (porque se cambia algún valor o porque se oprime la tecla F9). De modo que no obtenemos los valores correctos en forma automática, simplemente moviendo el cursor. Si necesitamos obtener esta información dentro de una macro, podemos usar pro- piedades adecuadas del objeto ActiveCell: • ActiveCell.Row da el número de la fila. • ActiveCell.Column da el número de la columna. Los valores de estas propiedades pueden asignarse a variables adecuadas, según el cálculo que necesitemos hacer con ellos. La función EXTRAE Tengo un número formado por tres campos separados por guiones: un prefi- jo de dos dígitos, un código de longitud variable y un sufijo de un dígito. ¿Cómo ha- go para extraer el código central, del que no sé cuántos caracteres tiene? Gustavo Escudero (provincia de Salta) Para resolver este problema podemos usar la función EXTRAE: su sintaxis es =EXTRAE (texto;comienzo;largo). Por ejemplo, si en la celda A1 tenemos la palabra locomo- tora, la expresión =EXTRAE(A1;5;4) devuelve la palabra moto, es decir cuatro letras comenzando en la quinta. Ahora, supongamos que en A1 tenemos un dato numé- rico, sea el valor 27-16985-8. Sabemos que el campo central comienza en la cuarta posición, después de los dígitos del prefijo y del guión de separación. Aunque desconocemos cuántos caracteres tenemos que extraer, sí sabemos que son cinco dí- gitos menos que la longitud del número, teniendo en cuenta los dos dígitos del prefijo, los dos guiones y el sufijo. La longitud la obtenemos con la función LARGO. En resumen, la expresión final para obtener el campo central en el problema plan- teado es =EXTRAE(A1;4;LARGO(A1)-5). La función EXTRAE 101www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 101
  • 104. Figura 10. Las fórmulas de la columna B extraen el campo central sabiendo que comienza en la cuarta posición y que tiene cinco caracteres menos que el valor total. La función & No encuentro la función &. ¿Podés dar una explicación breve de ella? Graciela C. Meza (Buenos Aires) El símbolo & no es una función sino un operador que une (técnicamente se dice concatena) datos de tipo texto. Por ejemplo, si la palabra Feliz está escrita en A1 y la palabra Navidad, en A2, la expresión =A1&“ ”&A2 es igual a Feliz Navidad. En es- ta expresión concatenamos las dos palabras con un espacio intermedio. Figura 11. La fórmula de la celda A4 usa el operador & para concatenar los datos de A1 y A2 junto con un espacio intermedio. 4. LAS FUNCIONES ESPECIALES 102 www.redusers.com ❘❘❘ Cuando se aplica la función CONCATENAR (o el operador &) a celdas cuyo contenido es numéri- co, estos son tratados por Excel como si fueran textos. Por ejemplo, si la celda A1 tiene el valor 10 y la celda A2 el valor 50, la expresión =CONCATENAR(A1;A2) es igual a 1050. Aunque este re- sultado queda como texto, podemos hacer operaciones matemáticas con él. CONCATENAR 04_Excel revelado.qxp 12/29/09 4:22 PM Page 102
  • 105. Esta operación puede hacerse también con la función CONCATENAR. De esta ma- nera, podemos obtener el resultado del ejemplo anterior mediante la siguiente expresión: =CONCATENAR(A1;“ ”;A2). Entre los paréntesis se indican, separados por puntos y comas, los términos para concatenar. Figura 12. La función CONCATENAR hace el mismo trabajo que el operador &. Junta (concatena) varios datos en uno solo. APELLIDO, Nombre Tengo una lista de datos personales. En la columna A están los nombres y apellidos de las personas en la forma PÉREZ, Juan. Necesito convertir este dato a la forma Juan PÉREZ. ¿Qué fórmula tengo que usar? José Vanini La solución a este problema tiene tres fases: • Localizar la coma que separa apellido y nombre. • Separar el apellido (a la izquierda de la coma) y el nombre (a la derecha). • Reenganchar nombre y apellido en la forma pedida. Supongamos que tenemos un dato en A2: Russo, Laura. En B2 localizamos la coma con =ENCONTRAR(“,”;A2). El primer argumento es el texto para buscar (la coma) y el segundo el texto donde se hace la búsqueda. En este ejemplo, la función devuel- ve un 6, porque la coma es el sexto carácter del dato. APELLIDO, Nombre 103www.redusers.com ❘❘❘ Dentro del grupo Autosuma de la Biblioteca de funciones, encontraremos una función para re- alizar conteos numéricos simples (CONTAR). El resto de las funciones que podemos usar para realizar diferentes tipos de conteos está dentro del grupo destinado a las funciones Estadísticas, a las que accederemos seleccionando esa categoría, luego de presionar Insertar función. FUNCIONES PARA REALIZAR CONTEOS 04_Excel revelado.qxp 12/29/09 4:22 PM Page 103
  • 106. • En C2 extraemos el apellido. Son los cinco caracteres de la izquierda y los obtene- mos con =IZQUIERDA(A2;B2-1). • En D2 extraemos el nombre. Es todo lo que hay a partir de la segunda posición después de la coma (contando el espacio en blanco). Lo obtenemos mediante =EXTRAE(A2;B2+2;50). El último argumento es la cantidad de caracteres para extra- er. Como no sabemos cuántos son, ponemos un número suficientemente grande. Figura 13. Con todas estas fórmulas separamos apellido y nombre de los datos de la columna A y luego lo concatenamos en otro orden. Finalmente, concatenamos ambos datos, con un espacio de separación: =D2&“ ”&C2. Luego podemos copiar esta fórmula y pegar valores sobre los datos originales. Tam- bién podemos usar la función CONCATENAR, como se explica en la pregunta anterior. Series de hojas Tengo un libro de doce hojas. Cada hoja corresponde a un mes y se llama co- mo ese mes. En una décimo tercera hoja quiero obtener una columna con los valores de la celda A1 de cada hoja. ¿Se puede hacer esto escribiendo la fórmula para la pri- mera hoja y luego estirando para todas las demás? Juan Manuel Ojeda (San Rafael, provincia de Mendoza) Lo que pide Juan Manuel es escribir =Enero!A1 y, con el puntero de estirar, obte- ner la serie =Febrero!A1, =Marzo!A1, etcétera. En realidad, si hacemos esto, obtene- mos la serie =Enero!A1, =Enero!A2, =Enero!A3 y así sucesivamente. 4. LAS FUNCIONES ESPECIALES 104 www.redusers.com ❘❘❘ En el grupo Biblioteca de funciones, dentro de la ficha Fórmulas, hay un botón llamado Usadas recientemente. Al hacer clic en él, se desplegará una lista con las diez últimas funciones que he- mos usado recientemente. De esta manera, con muy pocos clics, podemos introducir las fór- mulas que utilizamos a menudo, sin necesidad de buscarlas en otro lugar. FÓRMULAS MÁS USADAS 04_Excel revelado.qxp 12/29/09 4:22 PM Page 104
  • 107. Figura 14. Al estirar la fórmula de A1 obtenemos una serie con el contenido de las celdas A1, A2, A3, etcétera de la hoja Enero de este libro. Para resolver este problema, necesitamos un rango auxiliar con los nombres de las hojas. En A1 escribimos Enero. En B1 escribimos =INDIRECTO(A1&“!A1”). Lo que apa- rece entre los paréntesis es la concatenación del nombre del mes con el texto A1, se- parados por un signo de exclamación. Es decir, Enero!A1. Al aplicar a este resultado la función INDIRECTO, obtenemos el contenido de la celda A1 de la hoja Enero. Figura 15. Al estirar la fórmula de B1 obtenemos una serie con el contenido de la celda A1 de las hojas Enero, Febrero, Marzo, etcétera de este libro. Ahora seleccionamos el rango A1:B1 y lo extendemos hacia abajo con el puntero de estirar. Al extender A1 obtenemos la serie de los meses, que coincide con la serie de los nombres de las hojas. Al extender la función de B1 obtenemos el con- tenido de la celda A1 de cada hoja. Letras aleatorias Encontré una función en Visual Basic que devuelve un número al azar, com- prendido entre dos límites dados. ¿Se puede hacer una función o macro similar para ob- tener letras aleatorias? Por ejemplo, que devuelva una letra cualquiera entre la A y la K. Viviana Díaz (provincia de Santa Fe) En realidad, para obtener números al azar no hace falta ninguna función espe- cial. Se puede lograr lo mismo con la función ALEATORIO.ENTRE. Por ejemplo, Letras aleatorias 105www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 105
  • 108. para obtener un número aleatorio entre 10 y 25 escribimos: =ALEATORIO. ENTRE(10, 25). Los dos argumentos de la función son los límites entre los cuales debe quedar comprendido el número. Esta función no es del todo estándar, porque requiere de la instalación del com- plemento Herramientas para análisis. Si no queremos recurrir a ese complemento, también podemos usar la función ALEATORIO, sin argumentos, que devuelve un nú- mero al azar comprendido entre 0 y 1. Figura 16. La función ALEATORIO devuelve un número entre 0 y 1 que cambia cada vez que se recalcula la hoja. Es fácil armar con esta función una expresión para obtener números comprendidos entre otros dos límites. Por ejemplo: =1+ENTERO(6*ALEATORIO()) devuelve un nú- mero comprendido entre 1 y 6. Puede usarse para simular un dado. Figura 17. La fórmula de la celda A1 usa la función ALEATORIO para generar un número entre 1 y 6 y simular el resultado de arrojar un dado. 4. LAS FUNCIONES ESPECIALES 106 www.redusers.com ❘❘❘ Para instalar el complemento Herramientas para análisis en Excel 2007 tenemos que hacer clic en el Botón de Office, luego en Opciones de Excel y finalmente buscar el complemento en la ca- tegoría Complementos. Tengamos en cuenta que en las versiones anteriores, los complementos se instalan con las opciones Herramientas/Complementos. HERRAMIENTAS PARA ANÁLISIS 04_Excel revelado.qxp 12/29/09 4:22 PM Page 106
  • 109. Al multiplicar la función ALEATORIO por 6, obtenemos un número comprendido entre 0 y 5,99999. El número nunca llega a 16 porque el valor devuelto por ALEA- TORIO nunca llega a 1. Le aplicamos la función ENTERO para eliminar los decimales y le sumamos 1 para que el número final quede comprendido entre 1 y 6. Todo esto sirve para responder a la pregunta de Viviana (no nos habíamos olvida- do). Las letras A a K tienen asociadas los códigos ASCII 65 a 75. Figura 18. La fórmula de la celda A1 devuelve una letra aleatoria entre la A y la K. Resulta de aplicar la función CARACTER a una expresión que genera un número al azar entre 65 y 75. Entonces tenemos que usar la expresión anterior para generar un número aleatorio entre 65 y 75 y aplicarle la función CARACTER, que devuelve el carácter asociado al código ASCII indicado. Por ejemplo, =CARACTER(65) es igual a la A mayúscula. La expresión completa sería =CARACTER(65+ENTERO(11*ALEATORIO())). La función REDONDEAR No entiendo cómo calcula el resultado la función REDONDEAR. Robert Blanco (Asunción del Paraguay) La función REDONDEAR tiene dos argumentos: • El primero es el número para redondear. • El segundo es la cantidad de cifras decimales que quedarán luego del redondeo. Por ejemplo =REDONDEAR(8,72;1) es igual a 8,7. La función redondea el primer ar- gumento dejando un decimal. Además, la función hace redondeo simétrico. Esto quiere decir que, si el primer decimal suprimido es cinco o más, se suma una uni- dad al último decimal. Por ejemplo =REDONDEAR(12,37;1) es igual a 12,4. El segundo argumento puede ser negativo. En este caso, la función redondea del punto decimal hacia la izquierda. Por ejemplo: =REDONDEAR(1337,4;-2) es igual a 1300. La función redondea dejando dos cifras enteras iguales a 0. La función REDONDEAR 107www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 107
  • 110. Figura 19. Las fórmulas de la columna B redondean los valores de la columna A dejando la cifra de las unidades igual a 0. Si esta cifra es menor a cinco, se suprime. Si es mayor o igual a cinco, suma una unidad a las decenas. En particular, uno de los ejemplos que adjunta Robert es =REDONDEAR(4,7;-1). La fun- ción deberá mostrar un número que tenga la última cifra entera igual a 0. El resultado será 0. Si la primera cifra para suprimir (en este caso, la de las unidades) es cinco o más, la función redondeará “hacia arriba”. Entonces =REDONDEAR(7,3;-1) será igual a 10. Si se quiere hacer redondeo truncado, es decir, suprimir las cifras eliminadas sin sumar una unidad a la siguiente, se puede usar la función TRUNCAR. Por ejem- plo =TRUNCAR(12,6;0) es igual a 12. Figura 20. La fórmula de la celda B6 redondea el valor de A6 descartando los decimales independientemente de su valor. Redondear a cinco centavos Tengo una serie de importes que son resultado de fórmulas. ¿Cómo hago pa- ra que Excel me los redondee hacia arriba, en fracciones de cinco centavos? Por ejemplo, si el resultado es 6,67 quiero que me quede 6,70. Si es 6,71 quiero que me quede 6,75 y así sucesivamente. Cristian Sola (San Carlos Centro, provincia de Santa Fe) Existe una función específica para resolver este problema: MULTIPLO.SUPERIOR. Si el valor para redondear está en A1, la fórmula es =MULTIPLO.SUPERIOR(A1;0,05). El segundo argumento es la fracción a la que se redondea. 4. LAS FUNCIONES ESPECIALES 108 www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 108
  • 111. Figura 21. La función MÚLTIPLO.SUPERIOR redondea hacia arriba el primer argumento, en fracciones iguales al segundo argumento. A quien no le guste esta función, se puede armar una expresión equivalente con funciones convencionales: =ENTERO(A1*20+0,9)/20. Al multiplicar por 20 los cin- co centavos se convierten en un peso. Figura 22. Las fórmulas de la columna B usan la función ENTERO para redondear los valores de la columna A en fracciones de cinco centavos. Sumamos 0,9 para el efecto “redondear para arriba”, luego sacamos la parte en- tera y dividimos por 20 para volver a pasar esa parte entera a fracciones de vein- te centavos. Es raro, pero funciona. Redondear a cinco centavos 109www.redusers.com ❘❘❘ El asterisco se usa para multiplicar, la barra oblicua para dividir y el acento circunflejo (^) para la potenciación. Por ejemplo, 12^3 equivale a elevar doce a la tercera potencia o doce al cubo. Esta operación puede hacerse también con la función POTENCIA: =POTENCIA(12;3). SIGNOS MATEMÁTICOS 04_Excel revelado.qxp 12/29/09 4:22 PM Page 109
  • 112. Redondeo truncado Armé una planilla donde calculo comisiones multiplicando un importe por el 2%. Hasta ahí, todo bien. Mi problema es que luego cambio el formato para dejar só- lo dos decimales y no quiero que redondee: 10,287 tiene que quedar 10,28 y me que- da 10,29. ¿Hay alguna forma de eliminar los decimales sin “redondear hacia arriba”? Pedro Diosnel Bordón Efectivamente, cuando se aplica formato con cantidad fija de decimales Excel ha- ce automáticamente un “redondeo simétrico”. Es decir, si el primer decimal eli- minado es 5 o más, suma una unidad al último decimal que queda. En cambio, lo que quiere el lector se llama redondeo truncado, esto es cuando los decima- les se eliminan sin agregar nada al resto del número. Figura 23. Sobre los valores de la columna C se aplicó formato con dos decimales. Si el primer decimal no mostrado es mayor o igual que cinco, el formato agrega una unidad al decimal anterior. Es decir, hace “redondeo simétrico”. Excel tiene una función específica para hacer redondeo truncado. Por ejemplo, si el importe original está en la celda B2, se aplica 2% con el redondeo mediante la fun- ción =REDONDEAR.MENOS(B2*2%;2). El primer argumento es el valor para redonde- ar y el segundo, la cantidad de decimales, tal como se observa en la Figura 24. 4. LAS FUNCIONES ESPECIALES 110 www.redusers.com ❘❘❘ Para resolver diversos problemas de redondeo, Excel incluye las funciones MULTIPLO.SUPE- RIOR, MÚLTIPLO.INFERIOR, REDONDEAR.MAS Y REDONDEAR.MENOS. Sin embargo, podemos resolver la mayoría de las situaciones con las funciones REDONDEAR y ENTERO, sin recurrir a estas funciones especiales. FUNCIONES PARA REDONDEAR 04_Excel revelado.qxp 12/29/09 4:22 PM Page 110
  • 113. Figura 24. Las fórmulas de la columna C hacen redondeo truncado sobre el resultado que se obtiene al calcular el 2% de los valores de la columna B. Esto significa que no “redondea hacia arriba” las fracciones mayores o iguales que cinco. Si esta función resulta demasiado esotérica, se puede obtener el mismo resultado combinando funciones más fáciles de entender. Por ejemplo, mediante la expresión: =ENTERO(B2*2%*100)/100. En esta fórmula, al multiplicar por 100, los centavos se convierten en enteros. Al aplicar la función ENTERO se truncan (la función ENTERO trunca) los decimales que no pasaron a enteros. Al dividir luego por 100, estos en- teros vuelven a convertirse a centavos. El cambio exacto Trabajo en el área de Tesorería de una empresa y cada vez que realizo la liquidación de sueldos me encuentro ante la situación de saber con exactitud, cuánto efectivo (inclu- yendo monedas) necesito para pagar. Es decir quiero que Excel analice cada importe y calcule la cantidad de billetes y monedas necesarias de cada denominación. Actualmen- te lo hago a mano, pero estoy seguro de que se puede hacer automáticamente. Jesús E. Herrera (Las Parejas, provincia de Santa Fe) Este problema se resuelve con unas cuantas fórmulas. Comencemos suponiendo que tenemos los importes para analizar en la primera columna, a partir de la cel- da A2, y las distintas denominaciones de billetes y monedas en la primera fila, a partir de B1. En la celda B2 escribimos la fórmula =ENTERO(A2/B$1) para calcular la cantidad de billetes de la primera denominación necesaria para el primer im- porte. Por ejemplo, si el primer importe es 593,60$ y la primera denominación es 100$, el cociente A2/B1 es igual a 5,936. Al aplicar la función ENTERO obtenemos 5, que es la cantidad de billetes de 100$ necesaria para reunir este importe. Al fi- jar con un signo $ la referencia a la primera fila, podremos extender esta fórmula hacia abajo, para todos los importes. El cambio exacto 111www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 111
  • 114. Figura 25. Las fórmulas de la columna B calculan la cantidad de billetes de la primera denominación para reunir cada uno de los importes de la columna A. En C2 tenemos que dividir lo que falta del primer importe (una vez descontada la primera denominación) y el valor del billete de segunda denominación. Por ejem- plo, para el primer importe de 593,60$ ya sabemos que se necesitan cinco billetes de 100$. Ahora debemos calcular cómo pagamos los 93,60$ restantes. Para trabajar con este importe remanente usamos la función =$A2-SUMAPRODUCTO($B$1:B$1;$B2:B2). La función SUMAPRODUCTO multiplica cada valor del primer argumento por ca- da valor del segundo. En este caso, simplemente multiplica B1 (valor del billete de primera denominación) por B2 (cantidad de estos billetes). La fórmula da el importe remanente para analizar. Lo tenemos que dividir por la denominación de C1 y aplicar la función ENTERO. La fórmula queda, finalmente =ENTERO(($A2- SUMAPRODUCTO($B$1:B$1;$B2:B2))/C$1). Figura 26. Las fórmulas de la columna C calculan la cantidad de billetes de la segunda denominación para reunir cada uno de los importes de la columna A. Esta fórmula se puede extender hacia abajo, para todos los importes y hacia la derecha para todas las denominaciones. Por la forma en que pusimos los signos $, podemos extender esta fórmula hacia aba- jo (para todos los importes) y hacia la derecha (para todas las denominaciones). 4. LAS FUNCIONES ESPECIALES 112 www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 112
  • 115. Además, nótese que los dos argumentos de SUMAPRODUCTO tienen fija la referencia a la columna en el primer argumento, pero no en el segundo. Esto es para que el rango se vaya extendiendo tomando siempre desde la columna B, hasta la corres- pondiente a la denominación de cada columna. Por ejemplo, en la tercera colum- na los argumentos de SUMAPRODUCTO quedan $B$1:C$1 y $B2:C2. Multiplica, en- tonces, la denominación del billete de B1 por la cantidad de billetes de B2 y la de- nominación del billete de C1 por la cantidad de billetes de C2. Luego suma ambos productos. Esta función la podemos extender a todo el resto de la hoja. Sin embar- go, puede haber un error en el último cálculo por el manejo interno de los deci- males que hace Excel. Hacemos entonces una pequeña corrección: =ENTERO(($A2-SUMAPRODUCTO($B$1:K$1;$B2:K2)+0,001)/L$1). Esa milésima que añadimos antes de dividir y hacer parte entera, elimina cualquier error que se podría producir en la última denominación. Un problema de redondeo Tengo una columna de números, que son resultado de cálculos, a los que les aplico formato de dos decimales. Cuando sumo todos los valores, el resultado no es “real”. Por ejemplo, si sumo 10,50 más 3,20 obtengo 13,71. Por alguna razón, no consigo que coincidan los decimales. ¿Hay alguna solución? Rubén Echechurre (provincia de Formosa) Este problema es muy fácil de entender. Donde Rubén ve 10,50, el verdadero valor de la celda es 10,503. Y donde ve 3,20, el verdadero valor es 3,204. Al sumar los dos valo- res, el resultado es 13,707 que, redondeado a dos decimales, queda 13,71. Esos deci- males que se eliminan en los sumandos, se hacen importantes en la suma. Figura 27. Al total obtenido en D5 le sobra un centavo. Debería ser 33,33 y es 33,34. Este centavo adicional resulta de decimales descartados en los valores para sumar, pero que se hacen significativos en el total. Hay dos formas de solucionar esto. La primera consiste en pedirle a Excel que ha- ga la cuenta con los decimales que se ven, tal como se indica a continuación: Un problema de redondeo 113www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 113
  • 116. ■ Decimales exactos PASO A PASO Haga un clic en el Botón de Office y luego en Opciones de Excel. Seleccione el grupo Avanzadas. Dentro de Al calcular este libro, marque la opción Establecer Precisión de pantalla. Aparecerá un cartel que anuncia Los datos perderán precisión permanentemente. Haga clic en Aceptar (el cartel) y nuevamente en Aceptar (la ventana). Figura 28. Al marcar la opción Establecer Precisión de pantalla, Excel hará los cálculos con los decimales efectivamente mostrados y no tendrá en cuenta los decimales que no aparecen por el formato aplicado. El procedimiento cambia en las versiones anteriores de Excel: ■ Decimales exactos (Excel 2003 y anteriores) PASO A PASO Vaya a Herramientas/Opciones de Excel. Seleccione la ficha Calcular. Marque la opción Precisión de pantalla. Haga un clic en Aceptar. Aparecerá un cartel que le advierte Los datos perderán precisión permanentemente. Acéptelo y listo. 4. LAS FUNCIONES ESPECIALES 114 www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 114
  • 117. Figura 29. Así logramos en Excel 2000 que se realicen los cálculos con los decimales efectivamente mostrados. Ahora las cuentas “darán bien” porque no habrá decimales escondidos que afecten las sumas. Eso de “perder precisión permanentemente” se refiere a que los datos fi- jos (los que no son resultados de fórmulas) perderán esos decimales escondidos. Los números que sean resultado de fórmulas conservarán todos los decimales, pero no serán tomados en cuenta por las fórmulas. La otra solución consiste en usar otra expresión para hacer la suma. Por ejemplo, si el rango a totalizar es D2:D4, la expresión es =SUMA(REDONDEAR(D2:D4;2)). A esta fórmula hay que darle entrada con la combinación CONTROL+SHIFT+ENTER. La fór- mula redondea individualmente cada valor, antes de hacer la suma. Figura 30. La fórmula de la celda D5 redondea los valores antes de sumarlos. Eso evita que se tengan en cuenta los decimales descartados por el formato aplicado. Las llaves que encierran a esta expresión en la barra de fórmulas revelan que se trata de una función matricial y que se le dio entrada mediante CONTROL+SHIFT+ENTER, para que Excel entienda que debe calcular el resultado. Un problema de redondeo 115www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 115
  • 118. Reparto de diarios Vendo diarios en un pueblo de la provincia de Entre Ríos. Tengo algunos clien- tes que compran el diario todos los días, otros que solamente llevan el de los domingos o el de los domingos y el de los jueves, etcétera. El precio del diario varía según el día de la semana. ¿Cómo puedo calcular cuánto le tengo que cobrar a cada cliente a fin de mes? Javier Vilaboa (Urdinarrain, provincia de Entre Ríos) Para resolver este problema necesitamos saber tres cosas: • El precio del diario para cada día de la semana. • Qué días lleva el diario cada cliente. • Cuántos domingos, lunes, martes, etcétera tiene cada mes. Vamos a organizar esta información en la siguiente tabla: • En D1:J1 (siete columnas), escribimos los días de la semana. • En D2:J2, el precio del diario para cada día de la semana. • A partir de C3, la lista de clientes. Figura 31. Las fórmulas de la columna B devuelven un número del 1 al 7 que indica el día de la semana correspondiente a cada fecha de la columna A (1 para el domingo, 2 para el lunes y así sucesivamente). 4. LAS FUNCIONES ESPECIALES 116 www.redusers.com ❘❘❘ Para calcular una raíz cuadrada tenemos la función RAIZ. Así, la fórmula =RAIZ(A1) calcula la raíz cuadrada del valor escrito en A1. Para calcular otras raíces, podemos usar la función POTENCIA, indicando, como segundo argumento, la inversa del exponente. Por ejemplo, =POTENCIA(A1;1/3) calcula la raíz cúbica del valor de A1. RAÍCES CUADRADAS 04_Excel revelado.qxp 12/29/09 4:22 PM Page 116
  • 119. Cada celda de esta tabla contendrá un número del 1 al 7, que indica el día que compra el diario cada cliente. Por ejemplo, si el primer cliente compra el diario los domingos y los sábados, habrá un 1 en D3 (en correspondencia con la columna del domingo) y un 7 en J3 (para el sábado). Por otra parte, en A1 escribimos la fecha correspondiente al primer día. En A2 escribimos =A1+1 y extendemos esta fórmula hacia abajo para obtener las fechas para todo el mes. En B1, a la derecha de la primera fecha, escribimos la función =DIASEM(A1). Esta fórmula, extendida a toda la columna, devuelve un número del 1 al 7 que indica el día de la semana de cada fecha. Atención ahora: en K3 (en la fila del primer cliente y en la columna siguiente al sába- do) escribimos la siguiente expresión: =SUMA(CONTAR.SI(B$1:B$31;D3:J3)*D$2:J$2). A esta expresión hay que darle entrada con la combinación CONTROL+SHIFT+ENTER. Figura 32. Las fórmulas de la columna K cuentan cuántos domingos, lunes, etcétera hay en el mes y multiplican esa cantidad por el precio del diario en cada día, solamente para los días que aparecen en la tabla. El total resulta igual al valor de los diarios comprados por cada cliente en todo el mes. ¿Qué hace esta fórmula? Por un lado tiene una función CONTAR.SI cuyo primer ar- gumento es el rango de días de la semana para todo el mes. El segundo argumento es el rango que contiene los números de día en que compra el diario el primer clien- te. De modo que si el primer cliente compra el diario el domingo y el sábado, la función cuenta cuántos domingos y sábados hay en el mes. Pero la función aparece multiplicada por el rango que contiene el precio de los dia- rios para cada día. De modo que la fórmula total multiplica la cantidad de domingos Reparto de diarios 117www.redusers.com ❘❘❘ Dentro del grupo Autosuma, de la Biblioteca de funciones, encontramos algunas funciones muy sencillas, dedicadas a calcular el promedio, a obtener los valores mínimos y máximos de una de- terminada lista de datos y a realizar conteos. Todas ellas admiten un máximo de 255 argumen- tos, es decir que podemos incluir hasta 255 rangos de datos separados por coma. ¿CUÁNTOS ARGUMENTOS? 04_Excel revelado.qxp 12/29/09 4:22 PM Page 117
  • 120. por el precio del diario del domingo, multiplica la cantidad de sábados por el pre- cio del diario del sábado y luego suma ambos productos. Esta suma resulta igual al valor de todos los diarios que el cliente comprará a lo largo del mes. Si extendemos la fórmula hacia abajo, obtendremos el valor correspondiente a cada cliente. Esta planilla sirve para un diario. Deberíamos hacer una tabla similar para cada uno, según el diario que compra cada cliente. El botón Autosuma Tengo una duda muy básica. Uso habitualmente el botón Autosuma para cal- cular el total de una lista. Normalmente funciona todo bien, pero, cuando quiero su- mar dos totales (obtenidos previamente con el botón Autosuma), me aparece un men- saje que dice que no puede sumar los dos resultados. ¿Estoy haciendo algo mal o di- rectamente no se puede hacer? Rodolfo Mackarlen El uso del botón Autosuma es muy simple. Supongamos que queremos sumar los va- lores del rango B2:B10 y que queremos obtener el total en B11: primero seleccionamos el rango B2:B11. Es decir, la lista de valores a sumar y la celda (por ahora, vacía) don- de queremos obtener el total; y por último hacemos un clic en el botón Autosuma. Figura 33. Para obtener rápidamente el total de una lista de datos, los seleccionamos y luego hacemos clic en el botón Autosuma. Conviene incluir en la selección la celda donde queremos poner el total. 4. LAS FUNCIONES ESPECIALES 118 www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 118
  • 121. En realidad, en el primer paso no es necesario extender la selección hasta B11. Excel se da cuenta de que, si los valores para sumar llegan hasta B10, el total debe ir en la celda siguiente. Sin embargo, conviene incluir en la selección la celda donde irá el to- tal para evitar posibles ambigüedades. Por ejemplo, si tenemos varias columnas de datos en A1:C4, y las seleccionamos para calcular totales, Excel no sabe si queremos sumar “por filas” (con los totales en la columna D) o “por columnas” (con los totales en la fila 5). Resolvemos la duda incluyendo en la selección las celdas para los totales. Otro caso es el que plantea Rodolfo. Supongamos que tenemos dos columnas de da- tos y que obtuvimos sus respectivos totales en B11 y en C11. Ahora queremos sumar ambos totales en D11. Si seleccionamos simplemente B11:C11 a Excel lo confunde eso de armar una “suma sobre sumas” y cree que queremos redefinir las sumas de B11 y C11. Resolvemos el problema seleccionando el rango B11:D11 (los dos valores a su- mar y la celda donde queremos obtener la suma). Luego hacemos clic en Autosuma. Figura 34. Si queremos obtener la suma de dos funciones SUMA con el botón Autosuma, Excel cree que queremos redefinir alguna de las dos sumas originales. Conviene seleccionar los valores para sumar, más la celda que debe incluir la suma final. En este caso, B11:D11. Ya que estamos en este tema, el efecto del botón Autosuma lo podemos obtener con la combinación ALT+= (el signo igual), aunque es más sencillo con un clic. El botón Autosuma 119www.redusers.com ❘❘❘ La combinación ALT+= (el signo igual) equivale al botón Autosuma. Si seleccionamos una lista de números encolumnados y oprimimos la combinación ALT+= Excel escribe la función SUMA en la celda siguiente al último valor de la lista. Debemos tener en cuenta que, en la mayoría de los te- clados, para obtener el signo = tenemos que oprimir, al mismo tiempo, la tecla Shift. AUTOSUMA 04_Excel revelado.qxp 12/29/09 4:22 PM Page 119
  • 122. Resolver ecuaciones Manejo cálculos bastante complejos y necesito resolver muchas ecuaciones. ¿Excel tiene opciones para la resolución de sistemas de ecuaciones lineales? Actual- mente lo hago “a mano” y una opción automática me ahorraría mucho tiempo. Francisco Luis Zanuttini Manzano En principio hay dos opciones de Excel para resolver ecuaciones: Buscar Objetivo y Solver. Pero para el caso de sistemas de ecuaciones lineales (aquellos en los que las incógnitas no están elevadas a potencias mayores o iguales que 2) se pueden usar las funciones para el manejo de matrices. Por ejemplo, sea resolver las ecuaciones 3x + y = 6 y 2x + 4y = 14. En primer lugar, preparamos los siguientes rangos: • En A1:C1 escribimos los coeficientes de la primera ecuación: 3, 1 y 6. • En A2:C2 escribimos los coeficientes de la segunda ecuación: 2, 4 y 14. Esto nos define dos matrices: el rango A1:B2 es la matriz que contiene los coefi- cientes de las dos variables, en las dos ecuaciones. El rango C1:C2, que se llama vector de términos independientes, contiene los términos independientes de ambas ecuaciones. Para resolver este sistema tenemos que hacer dos cálculos: ■ Resolver ecuaciones (1) PASO A PASO Seleccione A4:B5, con la misma forma y tamaño que la matriz de coeficientes. Sin deseleccionar el rango, escriba la función =MINVERSA(A1:B2). Dele entrada con la combinación CONTROL+SHIFT+ENTER. Figura 35. Las fórmulas del rango A4:B5 calculan la inversa de la matriz formada por el rango A1:B2. Esta matriz inversa se puede usar para resolver sistemas de ecuaciones lineales. 4. LAS FUNCIONES ESPECIALES 120 www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 120
  • 123. Con esto obtenemos una nueva matriz que es la inversa de la matriz de coeficientes. Ahora viene el segundo cálculo para lo cual debemos seguir este procedimiento: ■ Resolver ecuaciones (2) PASO A PASO Seleccione el rango C4:C5, con la misma forma y tamaño que el vector de términos independientes. Sin deseleccionar el rango, escriba la función =MMULT(A4:B5;C1:C2). Dele entrada con la combinación CONTROL+SHIFT+ENTER. Figura 36. Según el resultado de las fórmulas del rango C4:C5 la solución a este sistema de ecuaciones es x=1 e y=3. Con esta expresión multiplicamos la inversa de la matriz de coeficientes por el vec- tor de términos independientes. Como resultado obtendremos los valores de las va- riables que satisfacen el sistema de ecuaciones: el de x en C4 y el de y en C5. Ángulos decimales ¿Hay alguna función para convertir coordenadas expresadas en grados, mi- nutos y segundos a formato decimal? Yo tengo una función, pero me sirve sólo para convertir grados y minutos. Necesito la precisión de los segundos porque, para los datos que manejo, se producen errores de hasta 1500 metros. Raúl Herrera S. (La Plata, provincia de Buenos Aires) Para hacer la conversión tenemos que recordar que un grado es igual a sesenta mi- nutos y que un minuto es igual a sesenta segundos. La fórmula depende de cómo esté indicado el ángulo en la planilla. Supongamos que tenemos los datos separados en tres celdas: los grados en A1, los minutos en B1 y los segundos en C1. Pasamos Ángulos decimales 121www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 121
  • 124. todo a grados con decimales mediante esta fórmula =A1+B1/60+C1/3600. El factor 3600 se debe a que un grado es igual a tres mil seiscientos segundos. Figura 37. La fórmula de la celda D1 expresa en grados y fracción el ángulo indicado con grados en A1, minutos en B1 y segundos en C1. Otra posibilidad es escribir los ángulos empleando formatos de hora. Efectivamen- te, el valor 27:12:44 tanto puede interpretarse como 27 horas, 12 minutos y 44 se- gundos, como 27 grados, 12 minutos y 44 segundos. Para pasar este valor a grados (u horas) decimales tenemos que hacer dos cosas: • Multiplicar el valor por 24. Esto se debe a que, internamente, el valor está medi- do en “días”. Multiplicándolo por 24 lo pasamos a horas o, lo que es equivalente en nuestro caso, a grados. • Además, tenemos que aplicar en la celda formato General. Figura 38. La fórmula de la celda B1 expresa en grados y fracción el ángulo indicado en A1 en formato de hora. A la celda B1 se le aplicó formato General. Si nos alcanza con precisión de hasta segundos, los dos métodos tienen que dar los mismos resultados. La elección dependerá de cuál nos resulte más sencillo. 4. LAS FUNCIONES ESPECIALES 122 www.redusers.com ❘❘❘ En Excel, los datos que representan tiempo (fechas u horas) se guardan internamente como un número de serie. Este número de serie representa la cantidad de días desde el 1 de enero de 1900. Por ejemplo, el número 40 representa el 9 de febrero de 1900. Si el número de serie tiene decimales, estos representan una fracción de día. DATOS TIPO FECHA U HORA 04_Excel revelado.qxp 12/29/09 4:22 PM Page 122
  • 125. Cálculos con matrices complejas Necesito multiplicar dos matrices, cada uno de cuyos elementos es un número complejo. Excel tiene funciones para operar con matrices y para operar con números com- plejos, pero no encuentro una función para operar con ambos. ¿Es posible hacerlo? Rubén Librandi Ésta es realmente una pregunta “compleja”. Los cálculos con matrices se emplean para resolver diversos problemas de matemática e ingeniería. Por ejemplo, sean dos matrices de dos filas por dos columnas. La primera ocupa el rango A1:B2 y la se- gunda, el rango D1:E2. El producto de ambas matrices es otra matriz de dos filas y dos columnas y se calcula como sigue: ■ Multiplicar matrices PASO A PASO Seleccione un rango de dos filas y dos columnas. Es decir, el rango que ocupará la matriz producto. Sin deseleccionar el rango escriba la fórmula =MMULT(A1:B2;D1:E2). Los argumentos son los rangos de las matrices para multiplicar. Dele entrada con la combinación CONTROL+SHIFT+ENTER. Figura 39. El rango A4:B5 contiene una fórmula matricial que da el producto de las otras dos matrices. El resultado de esta operación será una fórmula matricial (así se dice) que ocupa to- das las celdas del rango seleccionado. Este procedimiento no funciona si el contenido de cada celda (cada elemento de las matrices) es un número complejo. Excel también dispone de la función IM.SUM para sumar números complejos e IM.PRODUCT para multiplicarlos. Pero separadamente, no como elementos de una matriz. Lo que podemos hacer es combinar estas funciones complejas para desarrollar el producto de las matrices elemento por elemento, siguiendo las reglas del álgebra. Es un tema muy técni- co, de modo que damos el resultado. Como antes, suponemos que las matrices que vamos a multiplicar están en A1:B2 y D1:E2: Cálculos con matrices complejas 123www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 123
  • 126. • El elemento de la primera columna, primera fila de la matriz, se obtiene con la función =IM.SUM(IM.PRODUCT(A1;D1);IM.PRODUCT(B1;D2)). Esto es el producto del elemento de primera fila, primera columna de la primera matriz por el ele- mento de primera fila, primera columna de la segunda matriz, más el producto del elemento de primera fila, segunda columna de la primera matriz por el ele- mento de segunda fila, primera columna de la segunda matriz. • El siguiente elemento (primera fila, segunda columna) se obtiene con =IM.SUM (IM.PRODUCT(A1;E1);IM.PRODUCT(B1;E2)). Es el producto del elemento de prime- ra fila, primera columna de la primera matriz por el elemento de primera fila, se- gunda columna de la segunda matriz, más el producto del elemento de primera fila, segunda columna de la primera matriz por el elemento de segunda fila, se- gunda columna de la segunda matriz. Figura 40. En el rango A4:B5 se han escrito fórmulas para el manejo de números complejos que dan el producto de las otras dos matrices. Es complicado, pero los que conozcan el algoritmo para multiplicación de matrices no deberían tener problemas para calcular los demás elementos de la matriz producto. Las funciones para el manejo de números complejos requieren de la instalación del complemento Herramientas para análisis. Detectar celda marcada Tengo dos rangos de tres filas por tres columnas. El primero tiene distintos valores en cada celda y el segundo está en blanco y funciona como un formulario. Yo quiero que, si marco con una X una celda del segundo rango, en otra celda me apa- rezca el valor correspondiente del primer formulario. Alberto M. Bertona (Martínez, provincia de Buenos Aires) Vamos por partes. Supongamos que el primer rango tiene los valores 15, 8 y 7 en la primera fila; 22, 12 y 30 en la segunda y 10, 41 y 20 en la tercera. Lo que pide el lector es que, si marcamos con una X la primera celda de la segunda fila en el formulario, en otra celda aparezca el número 22, que es el que ocupa esa misma posición en el primer formulario. 4. LAS FUNCIONES ESPECIALES 124 www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 124
  • 127. Figura 41. Queremos que en E1 aparezca el valor de la celda A2 que, dentro del rango A1:C3, ocupa la misma posición que la celda marcada en el rango A5:C7. De alguna forma, buscamos que una fórmula reconozca la celda marcada en el primer formulario y tome el valor correspondiente del segundo. Podemos ha- cerlo con una combinación de funciones. Si el primer formulario ocupa el rango A1:C3 y el segundo, el rango A5:C7 usamos la siguiente fórmula =SUMA(SI(A5:C7>0;A1:C3)). A esta fórmula hay que darle en- trada con la combinación CONTROL+SHIFT+ENTER. Figura 42. La fórmula de la celda E1 muestra el valor de la celda que, dentro del rango A1:C3, ocupa la misma posición que la celda marcada en el rango A5:C7. Nótense las llaves que encierran a la fórmula, lo que indica que ha sido ingresada con la combinación CONTROL+SHIFT+ENTER. Detectar celda marcada 125www.redusers.com ❘❘❘ Dentro de las opciones de Excel referidas a Fórmulas incluidas en el Botón de Office, bajo el títu- lo Comprobación de errores, podremos activar o desactivar esas herramientas. Ésta identificará, con una marca en la esquina superior izquierda de la celda, aquellas que sean consideradas con errores o aquellas cuya fórmula difiera de las que están a su alrededor. COMPROBACIÓN DE ERRORES 04_Excel revelado.qxp 12/29/09 4:22 PM Page 125
  • 128. Para comprenderlo mejor, podemos pensar que la fórmula “recorre” el segundo rango buscando las celdas con valor mayor que cero (lo que equivale a celdas no vacías). Cuando encuentra una en estas condiciones, suma el valor de la celda que ocupa la misma posición en el segundo rango. Archivos de texto Tengo una planilla con dos columnas: Nombre e Ingresos. Quiero guardar la planilla como archivo de texto con cada dato entre comillas y separados con punto y coma. Por ejemplo “Juan”;”220”. Probé con todas las opciones de texto que ofrece Excel pero ninguna tiene la estructura que yo quiero. ¿Cómo puedo resolverlo? Raúl Vergara (Ushuaia, Tierra del Fuego) Una forma de resolver esto es creando el registro con la estructura deseada en una columna auxiliar y luego copiar esa columna en el bloc de notas. Por ejemplo, si tenemos el nombre en A1 y el importe en B1, armamos el registro me- diante: =CARACTER(34)&A1&CARACTER(34)&”;”&CARACTER(34)&B1&CARACTER(34). Figura 43. Las fórmulas de la columna D arman un registro donde los datos de las columnas A y B quedan encerrados entre comillas y separados por punto y coma. Esta expresión concatena ambos datos encerrándolos entre comillas (obtenidas con la función =CARACTER(34)) y separándolos con el punto y coma. Luego la extende- 4. LAS FUNCIONES ESPECIALES 126 www.redusers.com ❘❘❘ Para salir de Excel, podremos utilizar la opción incluida dentro del Botón de Office o la combi- nación de teclas ALT+F4, que dará por finalizada la sesión actual del programa. Este atajo de te- clado también se puede utilizar para cerrar otras aplicaciones e incluso para hacer aparecer la ventana de opciones de apagado de Microsoft Windows. SALIR DE EXCEL 04_Excel revelado.qxp 12/29/09 4:22 PM Page 126
  • 129. mos hacia abajo para todas las filas de la planilla y la copiamos en el bloc de notas. El archivo así generado tendrá la estructura deseada. Función CONTIENE Tengo una lista de operaciones comerciales, con descripción e importe. En una tercera columna le tengo que aplicar un porcentaje a las operaciones que inclu- yen la palabra IVA en su descripción. ¿Hay alguna función de Excel que me diga si cierto dato (en este caso, la palabra IVA) está contenido dentro de una celda? Elías Manzur (provincia de San Juan) En principio, no existe en Excel una función CONTIENE. Pero se puede simular su efecto mediante una combinación de las funciones HALLAR, ESERROR y NO. Co- menzamos con la función HALLAR, que busca un texto dentro de otro. Figura 44. La función HALLAR busca un texto dentro de otro. Si lo encuentra, devuelve la posición donde comienza. Si no lo encuentra, devuelve un mensaje de error. Por ejemplo la expresión =HALLAR(“IVA”;“DERIVA”) devuelve el valor 4, porque la secuencia IVA se encuentra a partir de la cuarta letra de DERIVA. Si el texto no se en- cuentra, la función devuelve un mensaje de error. A la expresión anterior le pode- mos aplicar la función ESERROR que devuelve VERDADERO si el argumento es un error. Entonces la expresión =ESERROR(HALLAR(“IVA”; B2)) devuelve el valor VER- DADERO si la palabra IVA no se encuentra en B2 y FALSO si la encuentra. Figura 45. La combinación de funciones de la columna C devuelven el valor lógico VERDADERO si la palabra IVA no está en las celdas de la columna A y FALSO en caso contrario. Función CONTIENE 127www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 127
  • 130. Alguien podría objetar que esta combinación de ESERROR y HALLAR equivale a “no contiene” (devuelve FALSO si el texto está y VERDADERO si no está). Objeción váli- da: entonces aplicamos a todo la función NO: =NO(ESERROR(HALLAR(“IVA”; B2))). La función NO cambia el valor del argumento de VERDADERO a FALSO y viceversa. Eliminar blancos Tengo una lista de nombres y apellidos. Por alguna razón, estos datos tienen espacios de más: al comienzo, en el medio (entre nombre y apellido) y al final. Quiero eliminar esos blancos. Probé con la opción de reemplazar pero me elimina todos los blancos y yo necesito que deje un espacio (sólo uno) entre nombre y apellido. ¿Qué otra opción puedo usar? Muchas gracias por tu ayuda. Betina Russo (Buenos Aires) Una manera simple de resolver este problema es con la función ESPACIOS que hace jus- to lo que Betina necesita: elimina todos los espacios que hay en un dato tipo texto, pe- ro dejando un espacio intermedio entre palabras, si hubiera alguno. La sintaxis es: =ESPACIOS(texto), donde texto es el dato del cual queremos eliminar los espacios. Por supuesto, este argumento puede ser las coordenadas de la celda que contiene el dato. Figura 46. La función ESPACIOS elimina los espacios en exceso dentro de un dato tipo texto. Pero deja un espacio entre palabras, si hubiera alguno. En este caso, deja un espacio entre nombre y apellido. 4. LAS FUNCIONES ESPECIALES 128 www.redusers.com ❘❘❘ Si pegamos datos desde el Portapapeles usando el botón Pegar (o la combinación CONTROL+V) aparece, en el extremo inferior del rango pegado, el botón con las opciones de pegado. Este bo- tón funciona como una lista desplegable que ofrece algunas de las opciones del Pegado especial. OPCIONES DE PEGADO 04_Excel revelado.qxp 12/29/09 4:22 PM Page 128
  • 131. Una vez escrita la función en una columna auxiliar, y extendida a todos los nom- bres de la lista, tenemos que “pegar valores”: ■ Pegar valores PASO A PASO Seleccione el rango donde tiene la función con los textos ya limpiados de espacios. Haga clic en el botón Copiar de la ficha Inicio o use cualquiera de sus atajos. Seleccione la primera celda de la lista de datos originales. Descuelgue las opciones del botón Pegar y haga clic en Pegar valores. Figura 47. Con esta opción pegamos en la dirección actual el resultado de las fórmulas antes copiadas al Portapapeles. Equivale a la opción Valores del Pegado especial. Por último, con la lista ya limpiada de espacios supernumerarios, podemos borrar la columna auxiliar de fórmulas, porque ya no la necesitamos. Eliminar blancos 129www.redusers.com ❴❵ El asistente para insertar función nos guía en el momento de escribir una función ofreciéndo- nos cajas donde escribir cada argumento. Este asistente aparece como última opción del botón Autosuma o con la combinación SHIFT+F3. En Excel 2003 y en las versiones anteriores aparece también con las opciones Insertar/Función. ASISTENTE PARA INSERTAR FUNCIÓN 04_Excel revelado.qxp 12/29/09 4:22 PM Page 129
  • 132. Sumar datos como texto Tengo un archivo con números escritos como texto. Cuando sumo todos esos números, obtengo 0, porque así es como Excel considera los textos. ¿Cómo hago pa- ra calcular el total? No puedo modificar los números ni quiero usar macros. Damián Silva (provincia de Santa Fe) Hay, por lo menos, dos razones por las que un número es considerado como tex- to por Excel. El primer caso es cuando está precedido por un apóstrofo y, el se- gundo, es cuando la celda que lo contiene tiene aplicado el formato Texto. De cualquier forma, se le puede devolver el carácter numérico aplicando la función VALOR. Por ejemplo, sea la expresión: =VALOR(A1). Figura 48. Las cantidades de la columna B están escritas como texto (precedidos por un apóstrofo). Por eso el total de B11 da 0. Si queremos sumar todo un rango de valores de este tipo, no necesitamos conver- tirlos a número uno por uno en un rango auxiliar: podemos hacer la conversión y la suma en la misma fórmula. Por ejemplo, supongamos que los valores están en el rango B2:B10, la fórmula a ingresar sería =SUMA(VALOR(B2:B10)). A esta expre- sión tenemos que darle entrada con la combinación CONTROL+SHIFT+ENTER. Es lo que se llama una fórmula matricial, de la que ya hemos hablado antes. 4. LAS FUNCIONES ESPECIALES 130 www.redusers.com ❴❵ En VisiCALC, el primer programa para manejo de planillas de cálculo, las funciones especiales se escribían precedidas por el símbolo @. Por eso se las llamaba funciones arroba o, en inglés, AT-Functions. Esto se mantuvo en Lotus 1-2-3 y en Quattro pro. En 1987, Excel estableció el sig- no = como prefijo para todos los cálculos y funciones. FUNCIONES “ARROBA” 04_Excel revelado.qxp 12/29/09 4:22 PM Page 130
  • 133. Figura 49. La fórmula de la celda B11 convierte a números las cantidades de B2:B10 y las suma. Es una fórmula matricial que se ingresa con la combinación CONTROL+SHIFT+ENTER. Fórmulas automáticas Tengo un libro de Excel que tiene un comportamiento extraño: cuando agre- go una fila de datos al final de la lista aparecen automáticamente las fórmulas en todas las columnas. Estuve analizando el archivo y no encuentro explicación a es- te comportamiento. Espero que me puedas ofrecer una solución. Hernando Pang (Panamá) El comportamiento que comenta el lector se debe a una opción incorporada a Ex- cel desde hace varias versiones. Lo explicamos: Sea una planilla con tres columnas: Cantidad, Precio unitario e Importe. A partir de la segunda fila, luego de los títulos, escribimos valores en las dos primeras colum- nas. En la celda C2, a la derecha del primer precio, escribimos =A2*B2 para calcular el importe y extendemos esta fórmula a toda la lista. Figura 50. Las dos primeras columnas de esta tabla tienen datos fijos. En la tercera hay una fórmula. Si agregamos una nueva fila a esta tabla, luego de escribir los datos de las columnas A y B, la fórmula de la columna C aparecerá automáticamente. Fórmulas automáticas 131www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 131
  • 134. Si ahora escribimos un nuevo juego de valores en Cantidad y Precio unitario, debemos extender la fórmula a estos nuevos datos. Sin embargo, si la lista es suficientemente larga, Excel extenderá la fórmula automáticamente. El comando que produce este efecto se activa desde las Opciones de Excel: ■ Fórmulas automáticas PASO A PASO Haga un clic en el Botón de Office y luego en Opciones de Excel. Seleccione la categoría Avanzadas. Marque la opción Extender formatos de rangos de datos y fórmulas. Haga un clic en Aceptar. Figura 51. La opción Extender formatos de rangos de datos y fórmulas hace que Excel repita automáticamente las fórmulas de una lista y los formatos de sus celdas si estos están aplicados en las últimas cuatro filas. 4. LAS FUNCIONES ESPECIALES 132 www.redusers.com ❘❘❘ Para escribir una fórmula compleja, con cálculos dentro de cálculos, podemos usar distintos niveles de paréntesis, pero no corchetes ni llaves. La cantidad de niveles de paréntesis y fun- ciones dentro de una misma fórmula varía según la versión de Excel que estamos usando y es mucho mayor en Excel 2007 que en las versiones anteriores. NIVELES DE PARÉNTESIS 04_Excel revelado.qxp 12/29/09 4:22 PM Page 132
  • 135. En las versiones anteriores de Excel tenemos que marcar la opción Extender forma- tos de lista y fórmulas, en la ficha Modificar de Herramientas/Opciones. Una vez activada esta opción, Excel repetirá automáticamente las fórmulas (y el formato) de las celdas precedentes en una lista, siempre que las fórmulas estén presentes en las últimas cuatro filas. Criptofrases Estoy tratando de hacer un programa para generar criptofrases. Se trata de esos juegos donde una frase es encriptada reemplazando cada letra por un número (a igual le- tra, igual número) y que luego hay que descifrar. Quiero darle la frase al programa y que éste la encripte para que otro la pueda descifrar. Supongo que se puede hacer en Excel. Eduardo De la Llama (Santiago del Estero) Este problema es relativamente complejo, por la cantidad de tareas que implica: • Generar una clave, que sea distinta para cada juego. • Separar la frase dada, letra por letra. • Reemplazar cada letra de la frase por el número indicado en la clave. Figura 52. Este juego se llama criptofrase. Hay que descubrir una frase oculta, escribiendo una letra en cada casilla numerada. A igual número, igual letra. La solución, al final del capítulo. Comencemos por el principio. En la columna A, a partir de A2, escribimos el abe- cedario, una letra por celda. En la columna C, a partir de C2, escribimos los núme- ros del 1 al 27. Finalmente, en la columna D, a partir de D2, escribimos la función =ALEATORIO(), extendida a toda la lista. El rango A2:C28 establece una correspondencia entre cada letra y un número: a la A le hace corresponder el 1, a la B el 2 y así sucesivamente. Si ahora ordenamos la co- lumna D (la que contiene la función ALEATORIO) el resultado será desordenar la co- lumna C, por lo que se establecerá una nueva relación entre las letras y los números. Criptofrases 133www.redusers.com 04_Excel revelado.qxp 12/29/09 4:22 PM Page 133
  • 136. Ésa será nuestra clave. Es esencial dejar en blanco la columna B para que la lista de letras quede fija y solamente se desordenen los números. También tenemos que es- cribir un espacio en blanco (sólo uno) en A1 por razones que aclararemos luego. Figura 53. Al ordenar esta lista según los números aleatorios de la columna D, desordenamos los números de la columna C, que indican cómo se codifican las letras de la columna A. Cada ordenamiento genera una codificación diferente. Ahora escribimos la frase para encriptar en F1. A partir de F2, hacia la derecha, es- cribimos los números 1, 2, 3, etcétera. Estos números servirán como índice para se- parar de la frase la primera letra, la segunda, etcétera. En F3 vamos a escribir una fórmula que separe la primera letra de la frase: =EXTRAE($F$1;F2:1). Esta función tiene tres argumentos entre los paréntesis: • El primero es el texto del que vamos a separar la letra. • El segundo es la posición que ocupa la letra que queremos separar. En este caso, será el 1 que hay en F2. • El tercero es la cantidad de letras que queremos extraer. En este caso, una sola letra. 4. LAS FUNCIONES ESPECIALES 134 www.redusers.com ❘❘❘ A partir de su versión XP, Excel incluye una ayuda instantánea para funciones, que facilita nuestra tarea. Cuando llega el momento de escribir los argumentos, aparecen carteles que indican cuáles son. Para activar esta ayuda tenemos que marcar la opción Información sobre herramientas de funciones, dentro de Herramientas/Opciones/General. AYUDA INSTANTÁNEA 04_Excel revelado.qxp 12/29/09 4:22 PM Page 134
  • 137. Figura 54. Las fórmulas de la fila 3 separan la frase de la primera fila en cada una de las letras que la componen. Estas letras luego se codifican según la clave aleatoria de la izquierda. Esta fórmula la podemos extender hacia la derecha para separar la segunda letra, la tercera, etcétera. En resumen, a partir de F3 obtendremos la misma frase que hay en F1, pero una letra por celda. Sólo nos queda reemplazar cada letra de la fila 3, por el número que le corresponde se- gún la clave generada en A2:C28. Para eso, en F6 escribimos =BUSCARV(F3;$A1:$C28;3). Esta fórmula busca la primera letra de la frase en la tabla A1:C28. Cuando la encuen- tra, trae el número que la acompaña en la tercera columna. Nótese que la dirección de la tabla incluye la celda donde escribimos el espacio en blanco. Esto es para tener en cuenta los espacios entre palabras en la frase. La fórmula debe extenderse hacia la de- recha para reemplazar todas las letras de la frase. Figura 55. Las fórmulas de la fila 6 codifican cada una de las letras de la fila 3 según la clave aleatoria de la tabla de la izquierda. Se agregan algunas letras en la fila 5 para ayudar a la resolución del juego. Criptofrases 135www.redusers.com ❘❘❘ Cuando una función muestra el resultado ¿NOMBRE? es porque hemos escrito mal su nombre. Si muestra los resultados ¡VALOR!, N/A o ¡NUM! es porque pretendemos hacer alguna opera- ción inválida. En cualquier caso, hay que revisar la función, ver lo que hemos escrito mal en la función propiamente dicha o en sus datos. MENSAJES DE ERROR 04_Excel revelado.qxp 12/29/09 4:22 PM Page 135
  • 138. Para resolver el juego planteado en esta consulta, simplemente tenemos que copiar la lista de números que obtenemos a partir de la celda F6. De todos modos, esta planilla generadora de criptofrases necesita un poco de cos- mética para que tanto la frase como la tabla de claves quede oculta y para acomo- dar mejor las letras dentro de sus casilleros. La solución a la criptofrase de la Figura 52 es: Nada le saca tanto el gusto a la mantequilla de maní como el amor no correspondido. 4. LAS FUNCIONES ESPECIALES 136 www.redusers.com … RESUMEN La pregunta destacada de este capítulo representa un final adecuado para uno de los temas más interesantes de Excel, aquél que permite hacer los cálculos y operaciones más útiles y poderosas. Pero las funciones especiales no terminan aquí. Quedan todavía dos capítulos relacionados, dedicados a cálculos condicionales y con fechas y horas. 04_Excel revelado.qxp 12/29/09 4:22 PM Page 136
  • 139. Cálculos condicionales Funciones dentro de funciones 139 Multicondicional 141 Cobradas, pendientes y anuladas145 SUMAR.SI en varias hojas 148 Contar celdas 149 Condición de entero 151 Condiciones aproximadas 156 La función BUSCARV 162 Capítulo 5 Dentro de las operaciones que podemos realizar en Excel hay una categoría de cálculos muy especial: los cálculos condicionales, cuyo resultado depende de una condición. En general, estos cálculos se realizan con la función SI. Pero en muchos casos esta función se usa junto con otras, en combinaciones no siempre obvias. En este capítulo plantearemos una gran variedad de problemas que se resuelven con este tipo de expresiones. EXCEL REVELADO SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 137
  • 140. Negativos y ceros ¿Hay alguna función que convierta en cero los números negativos? Es decir, si tengo una lista con los valores 10, 25, -7, 12, -20 y -8 quiero transformarla en 10, 25, 0, 12, 0 y 0. No pude encontrar la solución. Betina Russo (Buenos Aires) La consulta que plantea la lectora puede resolverse (por lo menos) de dos maneras. La lógica sería mediante una función condicional: =SI(B2<0;0;B2). Suponiendo que el número original está en la celda B2, esta función pregunta si el dato es menor que cero (o sea, negativo). Si lo es, nos muestra un cero; si no, muestra el número ori- ginal. Tal como podemos observar en la Figura 1. Figura 1. Las fórmulas de la columna C transforman en cero los valores negativos de la columna B. Pero hay otra expresión más compacta (aunque un poco más difícil de entender): =MAX(B2;0). Esta función devuelve el mayor valor entre los dos que aparecen en- tre paréntesis. Si el dato contenido en la celda B2 es negativo, el mayor de los dos será el cero. Si es positivo, él será el mayor. Para pensarlo. La función MAX se encuentra dentro del grupo Autosuma en la Biblioteca de funciones. Figura 2. Las fórmulas de la columna C usan la función MAX para transformar en cero los valores negativos de la columna B. 5. CÁLCULOS CONDICIONALES 138 www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 138
  • 141. Funciones dentro de funciones Me gustaría alguna explicación, con ejemplos, sobre el uso de funciones ani- dadas: funciones dentro de funciones. Por ejemplo, una condicional SI dentro de otra SI. Rubén Echechurre (provincia de Formosa) La función condicional SI permite asignar uno de dos valores posibles, según una condición. Por ejemplo: un club cobra diez pesos la cuota a los mayores de 12 años y cinco a los menores. Tenemos una lista de sus socios, con sus respectivas edades, y queremos calcular la cuota que le corresponde a cada uno. Este es el tipo de pro- blemas que se resuelve con la función condicional. Tenemos dos valores posibles para la fórmula (la cuota de cinco o la de diez) y una condición que decide cuál es el valor que efectivamente se toma (ser o no mayor de doce años). Estos tres ele- mentos (los dos valores y la condición) aparecerán dentro de la función. Si la edad está en la celda B2 la función es =SI(B2>12;10;5). O sea “si la edad es mayor que do- ce; la cuota vale diez; si no, vale cinco”. La función se llama condicional porque el valor que se obtiene depende de una condición. Figura 3. La función de la columna C asigna un cinco o un diez según el valor de la columna B. Se llama condicional porque el valor que muestra depende de una condición. Ahora supongamos que este club tiene tres valores de cuota: Funciones dentro de funciones 139www.redusers.com ❘❘❘ La función SI se llama condicional porque el resultado que entrega depende de una condición. Resuelve problemas donde hay dos resultados posibles y una condición que decide cuál de es- tos dos resultados tomará la función. Sus argumentos son la condición, el valor que toma la fun- ción cuando la condición se cumple y el valor que toma cuando no se cumple. FUNCIÓN CONDICIONAL 05_Excel revelado.qxp 12/29/09 4:23 PM Page 139
  • 142. • Los niños de hasta 12 años no pagan. • De 13 a 18 años pagan 5$ • Más de 18 años pagan 10$. La función condicional permite resolver problemas en los que hay que elegir entre dos valores posibles. En este caso los valores posibles son tres. Podemos resolver es- to combinando dos funciones condicionales. Es posible pensarlo así: En principio hay dos casos: niños de hasta 12 que no pagan y mayores de 12 que sí pagan. Pero para los mayores de 12 años hay, a su vez, otros dos casos posi- bles: que tengan hasta 18 años (pagan 5$) o más (pagan 10$). Así como con- ceptualmente podemos “abrir” la elección en dos casos de dos valores cada uno, también podemos resolver el problema con dos funciones: una para cada elec- ción. De nuevo, si tenemos los datos correspondientes a la edad en la celda B2, nos queda la siguiente fórmula: =SI(B2<=12;0;SI(B2<=18;5;10)). El segundo va- lor para la primera condicional es otra condicional. El último valor se asigna por descarte, cuando no se cumple ninguna de las condiciones. Nótense los dos pa- réntesis que se cierran al final: uno para cada función. Figura 4. Las fórmulas de la columna C combinan dos funciones condicionales para calcular el valor de la cuota entre tres casos posibles. Si hubiera más de tres casos posibles, podríamos combinar más funciones. Por ejemplo, supongamos que tenemos una lista de alumnos con las notas obtenidas en un examen. Queremos pasar una calificación a palabras según la siguiente ta- bla: 3 o menos, Aplazado; 4, 5 o 6, Aprobado; 7, 8 y 9, Bueno; 10, Sobresaliente. Como hay cuatro casos posibles, lo resolvemos combinando tres funciones. Si su- ponemos que la nota está en la celda B2 la función a ingresar sería así: =SI(B2<4; “Aplazado”;SI(B2<7;“Aprobado”;SI(B2<10;“Bueno”;“Sobresaliente”))). 5. CÁLCULOS CONDICIONALES 140 www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 140
  • 143. Figura 5. Las fórmulas de la columna C combinan tres funciones condicionales para asignar una calificación según cuatro casos posibles. El último caso se resuelve por descarte, cuando no se cumple ninguna de las condiciones. Si leemos esta fórmula desde la mitad, parecería que dijera “menos de siete es apro- bado”. Pero la condición “nota menor a 7” solamente se evalúa si no se cumplió la anterior “nota menor a 4”. Por lo tanto, el aprobado se lo llevan los que sacaron menos de 7, pero más de 3, como debe ser. En la siguiente consulta explicamos otro ejemplo de funciones SI combinadas. Multicondicional Armé una planilla con facturas y sus importes. En una columna tengo que cal- cular el impuesto que, dependiendo del tipo de factura, puede ser 10,5%, 21%, 27% o estar exenta. Sé cómo usar una función SI para aplicar el porcentaje cuando hay dos tipos de factura, pero no sé cómo se combinan las funciones cuando hay más casos. Fermín Cáceres (provincia de Salta) Tal como dice el lector, la función condicional SI permite aplicar uno u otro por- centaje cuando hay dos tipos posibles de factura. Por ejemplo, =SI(A2=“Factura A”;B2*21%;B2*27%). Esta función aplica un 21% sobre el importe de la celda B2 si el tipo de comprobante es Factura A. En cualquier otro caso aplica un 27%. Es Multicondicional 141www.redusers.com ❘❘❘ Se puede combinar la función SI con algunas funciones matemáticas (SUMA, MAX, PROMEDIO, etcétera) para realizar cálculos sobre bases de datos, condicionando los datos al cumplimiento de un criterio. Podemos ver algunos ejemplos de estos cálculos condicionales en el Capítulo 5. CÁLCULOS CONDICIONALES 05_Excel revelado.qxp 12/29/09 4:23 PM Page 141
  • 144. decir, la función SI analiza una condición y, si se cumple, hace una cosa y si no se cumple hace otra: una condición da lugar a dos situaciones según se cumpla o no. Figura 6. Las fórmulas de la columna C aplican un porcentaje de impuesto, según el tipo de comprobante indicado en la columna B. Se analizan tres condiciones para considerar cuatro tipos de comprobante. Cuando hay cuatro casos (como en el planteo del lector) hay que analizar tres con- diciones mediante funciones “anidadas”: =SI(A2=“Factura A”;B2*21%;SI(A2=“Factura A1”;B2*10,5%; SI(A2=“Factura A2”;B2*27%;0))) Esta función dice: • Si el comprobante es Factura A, aplicar 21%. Si no… • Si el comprobante es Factura A1, aplicar 10,5%. Si no… • Si el comprobante es Factura A2, aplicar 27%. Si no… • Considerar impuesto igual a cero. Como puede verse, se analizan tres condiciones. Cada una corresponde a un caso. El cuarto caso sale por descarte. Cuando se anidan estas funciones, cada una se abre antes de cerrar la anterior. Al final, se cierran todas. Por eso los tres paréntesis. 5. CÁLCULOS CONDICIONALES 142 www.redusers.com ❴❵ Una función que le falta a Excel es la que permitiría expresar importes (y cantidades en general) en letras. Inexplicablemente, Excel incluye una función así: TEXTOBATH, pero sólo sirve para el idioma tailandés. Buscando en Internet es posible encontrar funciones adecuadas para nuestro idioma. IMPORTES EN LETRAS 05_Excel revelado.qxp 12/29/09 4:23 PM Page 142
  • 145. Demasiadas condiciones Estoy armando una planilla para cálculos de impuestos. En una celda tengo que analizar una serie de condiciones para decidir el coeficiente que se debe aplicar. En Excel 2007 puedo hacer funcionar la fórmula sin problemas. Pero, en Excel 2003 directamente no me la deja ingresar. ¿Por qué pasa esto y cómo se resuelve? Robert Blanco (Asunción del Paraguay) La fórmula que nos adjunta el lector tiene muchas condiciones: analiza importes, regiones, ciertas condiciones legales, etcétera. Eso obliga a utilizar funciones SI den- tro de otras funciones SI, como en el caso de la consulta anterior. Las versiones de Excel anteriores a la 2007 imponen un límite a la cantidad de funciones condicio- nales que se pueden anidar. Por eso no funciona. Figura 7. La fórmula de la celda D2 tiene muchas funciones SI, una dentro de la otra. Más de las que admite Excel 2003. Este problema no aparece en Excel 2007, que admite muchos más niveles de ani- dación (así se dice) de funciones dentro de funciones. Figura 8. La fórmula de la celda D2 tiene muchas funciones SI, una dentro de la otra, pero esto no es un problema en Excel 2007. Demasiadas condiciones 143www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 143
  • 146. Si armamos la fórmula en Excel 2007, pero luego guardamos el archivo en formato Excel 97-2003, un cuadro como el de la Figura 9 nos avisará que hay una fórmula con más niveles de anidación que los permitidos en ese formato. Figura 9. Armamos en Excel 2007 una fórmula con muchos niveles de funciones SI, una dentro de la otra. No podemos conservar la fórmula si luego guardamos el libro en formato de Excel 97-2003. En realidad, cuando una fórmula debe analizar más de dos o tres condiciones, pue- de ser mejor usar la función BUSCARV, con una tabla que considere cada condición. Pero, si esto no es posible, se puede resolver el problema separando la fórmula en dos. Por ejemplo, si hay diez condiciones, en E2 se analizan las primeras cinco: =SI(condición1;valor1;SI(condición2;valor2; SI(condición3;valor3;SI(condición4;valor4; SI(condición5;valor5;D2))))) Esta fórmula dice que, si no se cumple ninguna de las cinco condiciones, se toma el valor de la celda D2. En D2 se analizan las cinco condiciones restantes: 5. CÁLCULOS CONDICIONALES 144 www.redusers.com ❘❘❘ Normalmente, los argumentos de una función Excel (los datos que se escriben entre los parénte- sis) se separan por puntos y comas. Pero eso depende de la configuración de idioma. Para saber cómo cambiar esta configuración, ver la consulta sobre estilos de puntuación en el Capítulo 4. SEPARADOR DE ARGUMENTOS 05_Excel revelado.qxp 12/29/09 4:23 PM Page 144
  • 147. =SI(condición6;valor6;SI(condición7;valor7; SI(condición8;valor8;SI(condición9;valor9; SI(condición10;valor10;valor11))))) Figura 10. Ahora la fórmula de la celda E2 analiza las primeras cinco condiciones. Si no se cumple ninguna de ellas, remite al valor de D2, donde otra serie de funciones SI analiza las condiciones restantes. La técnica que acabamos de explicar permite, con fórmulas sucesivas, crear un cálculo condicional tan complejo como se quiera. Cobradas, pendientes y anuladas Tengo una tabla de tres columnas: Factura, Importe y Estado. El estado pue- de ser Cobrada, Pendiente o Anulada. Quiero obtener, en tres celdas separadas, el im- porte total de cada uno de ellos. Pablo Valentín Peralta (Lanús, provincia de Buenos Aires) Para resolver este tipo de problemas hay una función específica: SUMAR.SI. Esta fun- ción suma los valores de un rango sujetos a una condición. Por ejemplo, suponga- mos que la tabla ocupa el rango A1:C15, con títulos en la primera fila. Queremos sumar las facturas cobradas. La fórmula es =SUMAR.SI(C2:C15;“Cobrada”;B2:B15). Figura 11. La función de la celda E2 suma los importes de las facturas con la condición Cobrada en la columna B. Cobradas, pendientes y anuladas 145www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 145
  • 148. La función tiene tres argumentos entre los paréntesis: • El primero es el rango donde se evalúa la condición. En este caso, si está Cobrada, Pendiente o Anulada. • El segundo es la condición que decide si el valor se suma o no. En este caso, que el valor del rango anterior sea Cobrada. • El tercero es el rango de los valores que hay que sumar. Aquí, el de los importes. Cambiando la palabra Cobrada por Pendiente y por Anulada, se pueden totalizar los importes para las otras dos condiciones. Estas palabras pueden ser referencias a celdas. SUMAR.SI.SI Tengo una base de datos con varias columnas. Uso la función SUMAR.SI pa- ra obtener totales por nombre, por artículo, por ciudad, etcétera. ¿Cómo hago para totalizar un campo según dos criterios? Por ejemplo, sumar los importes que corres- ponden a Juan y al mes de enero. Eduardo Alfonso Bermúdez Mojica (México) En principio, la función SUMAR.SI permite hacer sumas de los valores dentro de una lista que cumplen una única condición. Para hacer lo mismo, pero con más de una condición, hay dos soluciones posibles. Si usamos Excel 2007 tenemos la función SUMAR.SI.CONJUNTO. Por ejemplo, sea una base con la siguiente estructura: • Nombre en la columna A. • Mes en la columna B. • Importe en la columna C. La base tiene títulos en la fila 1 y los datos ocupan hasta la fila 10. Para sumar los importes correspondientes a Juan y al mes de Enero escribimos la función: =SUMAR.SI.CONJUNTO(C2:C10;A2:A10;“Juan”;B2:B10;“Enero”). 5. CÁLCULOS CONDICIONALES 146 www.redusers.com ❘❘❘ Si tenemos una lista de ventas, con el nombre del artículo vendido y la fecha de las ventas, pode- mos combinar la función MAX con la función SI para saber cuándo fue la última vez que se vendió un determinado artículo: el máximo valor de una fecha corresponde a la operación más reciente. ÚLTIMA FECHA 05_Excel revelado.qxp 12/29/09 4:23 PM Page 146
  • 149. Figura 12. La función de la celda E3 suma todos los importes de la columna C que cumplan las condiciones “columna A igual a Juan” y “columna B igual a Enero”. Esta función es exclusiva de Excel 2007. El primer argumento es el rango que se debe sumar. Luego vienen tantos pares de argumentos como criterios haya. Cada par consiste en un rango y un valor. En este ejemplo, indicamos que en la columna A debe estar el nombre Juan y en la columna B, el mes de Enero. Cuando se cumplen ambas condiciones, la función suma el respectivo valor de la columna C. Si estamos usando Excel 2003 o una versión anterior (donde no existe esta función) podemos obtener el mismo resultado combinando la función SUMA con tantas funcio- nes SI como condiciones haya. En este caso: =SUMA(SI(A2:A10=“Juan”;SI(B2:B10= “Enero”;C2:C10))). A esta función se le debe dar entrada mediante la combinación CONTROL+SHIFT+ENTER para que Excel realice el cálculo. Figura 13. La fórmula de la celda E3 combina la función SUMA con dos funciones SI para sumar todos los importes de la columna C que cumplan las condiciones “columna A igual a Juan” y “columna B igual a Enero”. Esta técnica de combinación de funciones SI con otras funciones de Excel permite hacer muchos cálculos condicionales, incluso aquellos no previstos en Excel. Por ejemplo, un máximo condicional. SUMAR.SI.SI 147www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 147
  • 150. SUMAR.SI en varias hojas Tengo un libro de Excel con treinta hojas, una por día. En cada hoja tengo ta- blas de dos columnas: Artículo y Ventas. Quiero acumular, en una hoja adicional, los subtotales por cada artículo. Pensé en usar la función SUMAR.SI, pero no sé cómo in- dicarle un rango que incluya todas las hojas. Elías Manzur (provincia de San Juan) Supongamos que tenemos una lista sencilla, en una única hoja, con dos colum- nas: Artículo y Ventas, y queremos obtener las ventas totales del artículo Cajas. Po- demos usar la función SUMAR.SI que suma los valores de un rango en función de una condición. Si suponemos que los artículos están en A2:A7 y sus respectivas ventas en B2:B7, la fórmula sería =SUMAR.SI(A2:A7;“Cajas”;B2:B7). La función tie- ne tres argumentos entre los paréntesis: • El primero es el rango donde se evalúa la condición. En este caso el rango donde están los nombres de los artículos. • El segundo es la condición que debe cumplirse en el rango anterior. En este caso, ser el artículo Cajas. • El tercer argumento es el rango donde están los valores que se van a sumar. En es- te caso, las ventas. Figura 14. La fórmula de la celda D2 suma todos los importes de la columna B que corresponden al artículo Cajas. 5. CÁLCULOS CONDICIONALES 148 www.redusers.com ❘❘❘ Excel tiene más de trescientas funciones para todo tipo de cálculo. Si, así y todo, nos encontramos con un cálculo para el cual no existe una función adecuada, podemos crearla nosotros mismos en el editor de Visual Basic, mediante técnicas de programación. Para eso, podemos ver el Capítulo 8. FUNCIONES A MEDIDA 05_Excel revelado.qxp 12/29/09 4:23 PM Page 148
  • 151. En el problema planteado el rango donde se evalúa la condición incluye varias ho- jas, una por día. La forma de indicar este tipo de rangos multihoja es, por ejemplo, Hoja1:Hoja30!A2:A7. Sin embargo, la función SUMAR.SI no admite este tipo de ran- gos como argumento. Una solución sería usar, en la hoja adicional, tantas funciones SUMAR.SI como hojas haya. Luego se suman todos los subtotales obtenidos. Es posi- ble que haya otras soluciones, pero ésta es razonablemente práctica. Y funciona. Figura 15. Las tres primeras fórmulas de la columna A suman los valores de la columna B de cada hoja, correspondientes al artículo Cajas. Contar celdas Creé una planilla para controlar la ocupación en un hotel. En una lista ten- go las distintas habitaciones en la primera columna y los días del mes en la prime- ra fila. En cada celda escribo una O (ocupada) o una L (libre) según corresponda a ese día y a esa habitación. ¿Cómo hago para saber cuántas habitaciones están li- bres en un determinado día?. Espero que me puedas ayudar. Jeremías Fretes Este problema consiste en contar las letras L que hay en el rango correspondiente al día deseado. Por ejemplo, si las habitaciones están en A2:A10 y las fechas en B1:H1 (una semana), contamos las L correspondientes al primer día con la función =CON- TAR.SI(B2:B10;“L”). Esta función tiene dos argumentos entre los paréntesis: • El primero es el rango donde se cuentan los datos. En este caso, las celdas corres- pondientes al primer día de la lista. Contar celdas 149www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 149
  • 152. • El segundo argumento es el dato para contar. En este caso, las letras L que iden- tifican a las habitaciones que no están ocupadas. Figura 16. La función de la celda B12 cuenta cuántas L hay en el rango correspondiente al lunes. Es decir, cuántas habitaciones están libres ese día. La fórmula cuenta cuántas letras L hay en el rango indicado. O sea, cuántas habita- ciones están libres el primer día de la semana. CONTAR.SI.SI Tengo una lista de clientes con distintas columnas de datos (Nombre, Estado, Tipo de revisión, Segmento, etcétera). Mi pregunta es si en la función CONTAR.SI se pueden indicar dos condiciones. Por ejemplo, contar cuántos clientes se encuentran en el estado Activo y que han sido revisados. Fernando Heguy Tal como está formulada la consulta, la respuesta es no. En la función CONTAR.SI no se puede indicar más de una condición. Sin embargo, hay muchos recursos que permiten lograr el mismo efecto. Nuestro favorito consiste en una forma especial de las fórmulas condicionales. 5. CÁLCULOS CONDICIONALES 150 www.redusers.com ❴❵ Excel 2007 incluye la nueva función SUMAR.SI.CONJUNTO para calcular sumas según dos o más condiciones. Es como una extensión de la función SUMAR.SI. Sin embargo, no incluye una fun- ción CONTAR.SI.CONJUNTO para contar datos según dos o más condiciones. Para eso recurrimos al truco de combinar SUMA con SI. CONTAR.SI.CONJUNTO 05_Excel revelado.qxp 12/29/09 4:23 PM Page 150
  • 153. Supongamos que la lista de clientes está en A1:C10, con el nombre en la columna A, el estado en la B y el tipo de revisión en la C, con los datos a partir de la segunda fila. Pa- ra contar los clientes de Estado: Activo y Revisión: Semestral usamos esta expresión: =SUMA(SI(B2:B10= “Activo”;SI(C2:C10= “Semestral”;1;0))). A esta fórmula hay que darle entrada con la combinación CONTROL+SHIFT+ENTER. Figura 17. La fórmula de la celda E2 cuenta cuántas filas de la tabla de la izquierda tienen la palabra Activo en la columna B y la palabra Semestral en la C. Lo que hace esta fórmula es controlar si el valor de la columna B es la palabra Activo y si el de la columna C es Semestral. Por cada fila en la que se cumplan ambas condicio- nes, suma una unidad. El resultado es contar las filas en que se cumplen las condicio- nes, es decir, los clientes que corresponden a Estado: Activo y Revisión: Semestral. Condición de entero Tengo una lista de datos numéricos y quiero indicar, en una celda auxiliar, si esos datos son enteros. Sé que tengo que usar una función condicional, pero no sé cómo expresar la condición de entero. Robert Blanco (Asunción del Paraguay) Un número es entero cuando no tiene parte decimal. Una forma de expresar esta condición es comparar el número con su parte entera: si el número es entero am- bos valores serán iguales. Algo así: =SI(A1=ENTERO(A1); “Es entero”; “No es entero”). Condición de entero 151www.redusers.com ❘❘❘ Si estamos usando Excel XP o una versión posterior, mientras escribimos una función aparecen unos carteles amarillos que nos dicen los argumentos que tenemos que escribir. Si no vemos estos carteles, podemos activar esta ayuda con la opción Información sobre herramientas de funciones, dentro de Herramientas/Opciones/General. INGRESO GUIADO 05_Excel revelado.qxp 12/29/09 4:23 PM Page 151
  • 154. Figura 18. Las fórmulas de la columna C indican si el respectivo valor de la columna B es o no un número entero. Una expresión de este tipo puede utilizarse para indicar la condición de entero en un formato condicional, aunque éste no es el caso del lector. Excel tiene muchas funciones para obtener información acerca de una celda: si es- tá en blanco (ESBLANCO), si es par (ES.PAR), si es un texto (ESTEXTO), etcétera. Pero no hay una función ESENTERO. Deuda impaga y vencida Trabajo en un instituto de enseñanza donde los alumnos pagan una cuota mensual que vence el día cinco de cada mes. En una planilla anoto la palabra Pagó cada vez que un alumno paga su cuota. Para calcular la deuda de cada alumno ten- go que contar las celdas vacías, pero solamente las que corresponden a fechas de cuotas ya vencidas. No sé cómo indicar esta condición. Claudio Pérez Heguy El problema planteado en esta consulta se resuelve con una fórmula condicional compuesta. Hay que indicar dos condiciones: fecha de vencimiento menor a la ac- tual y celda vacía (sin la palabra Pagó). Supongamos la planilla organizada de la siguiente manera: • En B1, la fecha actual. • En B2, el valor de la cuota. • En B4:F4, las fechas de vencimiento (el día cinco de cada mes). • En la columna A, a partir de A5, los nombres de los alumnos. • En las columnas B a F, a partir de la fila 5, la palabra Pagó, en las columnas co- rrespondientes a cada mes. 5. CÁLCULOS CONDICIONALES 152 www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 152
  • 155. En la celda G5 vamos a escribir una fórmula que cuente cuántas celdas vacías hay en el rango B5:F5, siempre que las respectivas fechas del rango B4:F4 sean menores a la actual, que está escrita en la celda B1. La fórmula que debemos escribir es: =CONTAR(SI(B$4:F$4<B$1;SI(B5:F5=0;B5:F5))). Esta fórmula usa la función CONTAR. Su argumento son dos condicionales anidadas: B4:F4<B1 indica fecha de vencimiento menor a la actual; B5:F5 indica celda vacía. Si se cumplen estas dos condiciones, cuenta las celdas correspondientes en B5:F5. A esta fór- mula tan especial hay que darle entrada con la combinación CONTROL+SHIFT+ENTER. Figura 19. La fórmula de la celda G5 cuenta las celdas sujetas a dos condiciones: fecha de su respectiva columna menor a la de B1 y celda vacía. Eso corresponde a cuota vencida e impaga. Si queremos, en la fórmula anterior podemos multiplicar por B2 para obtener la deuda: cantidad de cuotas impagas, vencidas, multiplicada por el valor de la cuota. Problema con repetidos En una lista tengo números de pedido. Los números pueden repetirse pero en esos casos, tengo que señalar los repetidos marcándolos con un subíndice distinto cada vez que esto ocurre. Ahora lo hago a mano, repasando la lista valor por valor. ¿Hay alguna función para hacerlo automáticamente? Osvaldo Montenegro (Malargüe, provincia de Mendoza) Ésta es una variante de lo que hemos bautizado “El problema de los repetidos”: có- mo manejar listas con datos repetidos, señalándolos, eliminándolos, evitándolos, et- cétera. Lo que plantea Osvaldo es nuevo: los datos repetidos deben distinguirse con un subíndice. Por ejemplo, si aparece el número 28 por segunda vez, lo converti- mos en 28-1. Si aparece por tercera vez, lo convertimos en 28-2 y así sucesivamen- te. Podemos hacer esto con dos columnas auxiliares. Supongamos que la lista original está en la columna A, a partir de A1. En B2, a la de- recha del segundo valor de la lista escribimos la función =CONTAR.SI(A$1:A1;A2). Problema con repetidos 153www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 153
  • 156. Esta función, extendida a toda la lista, cuenta cuántas veces lleva aparecido cada va- lor. Por ejemplo, si la extendemos hasta A10 nos queda =CONTAR.SI(A$1:A9;A10), es decir, cuántas veces apareció el décimo número de la lista, entre los nueve anteriores. Figura 20. Las fórmulas de la columna B cuentan cuántas veces aparece cada número de la columna A en la lista formada por todos los anteriores. Las fórmulas de la columna C agregan como subíndice el resultado de ese conteo, para el caso de los números repetidos. Luego, en C2, una columna más a la derecha, escribimos esta otra función =SI(B2=0;A2;A2&“-”&B2). Esta fórmula pregunta si el resultado del conteo anterior fue igual a cero. En ese caso, no hace nada (el número no está repetido). Pero, si fue dis- tinto de cero, concatena ese resultado con el número original, separándolos con un guión. Es decir, el resultado del conteo se añade como subíndice al número original. Esta fórmula o la otra (o la de más allá) Trabajo en un consorcio de riego y armé una planilla que calcula el caudal en ríos, canales y arroyos. El caudal se calcula midiendo la velocidad en distintos pun- tos. La fórmula para el cálculo depende de la cantidad de mediciones que se hacen: si se hace una sola medición, se toma el 90% de esa velocidad medida. Si se hacen dos, se promedian. Si se hacen tres, se promedia la primera con la tercera y el resul- tado se promedia, a su vez con la segunda. ¿Cómo puedo hacer para que Excel apli- que la fórmula correcta en cada caso? María Isabel Sarmiento Lanoza (Joaquín V. González, provincia de Salta) Acá hay dos problemas juntos. Primero, Excel tiene que reconocer cuántas medi- ciones se hicieron. Eso lo podemos hacer con la función CONTAR. Supongamos que 5. CÁLCULOS CONDICIONALES 154 www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 154
  • 157. las mediciones se escriben en las tres primeras columnas de la fila 2. La función =CONTAR(A2:C2) devolverá la cantidad de datos en el rango. Ahora, y según el valor obtenido por CONTAR, hay que hacer uno de tres cálculos: • Si se contó una sola medición, la fórmula a ingresar es =0,9*A2. Es decir, el 90% de esta única medición. • Si se contaron dos mediciones, la fórmula es =(A2+B2)/2. Es decir, el promedio entre las dos mediciones. • Si se contaron tres mediciones, la fórmula es =((A2+C2)/2+B2)/2. Es decir, se promedia la primera medición con la última y el resultado se promedia, a su vez, con la segunda. Figura 21. En la columna D se usó la función CONTAR para obtener la cantidad de datos que hay en las primeras tres columnas de cada fila. Si las fórmulas fueran dos podríamos usar una función SI. Pero como son tres, usamos la función ELEGIR de la siguiente manera: =ELEGIR(CONTAR(A2:C2);0,9*A2;(A2+B2)/2; ((A2+C2)/2+B2)/2). La función ELEGIR tiene un número indefinido de argumentos. • El primer argumento es un número entero (o fórmula que devuelve un número entero), mayor que cero. • El segundo es la fórmula que se aplicará si el primer argumento fue un uno. • El tercero es la fórmula que se aplicará si el primer argumento fue un dos. • El cuarto es la fórmula que se aplicará si el primer argumento fue un tres. Esta fórmula o la otra (o la de más allá) 155www.redusers.com ❘❘❘ Excel tiene distintas funciones para contar datos. En particular, CONTAR y CONTARA. CONTAR cuenta los datos numéricos que hay en el rango indicado como argumento. CONTARA cuenta to- do tipo de datos. Es decir, cuenta las celdas no vacías. Nuestra técnica de contar con la combi- nación de SUMA con SI funciona para todo tipo de datos. CONTAR Y CONTARA 05_Excel revelado.qxp 12/29/09 4:23 PM Page 155
  • 158. Figura 22. La función ELEGIR elige entre tres fórmulas posibles, según la cantidad de datos que haya en las primeras tres columnas de cada fila. Y así sucesivamente. En nuestro caso, el resultado de la función CONTAR indica cuál de las otras tres fórmulas calculará la velocidad. Condiciones aproximadas Tengo una lista de órdenes de trabajo. Copié una fórmula tuya para contar las órdenes cumplidas, que son las que tienen la palabra Cumplido en una columna. El problema es que a veces dice Cumplido, otras Cumplida y otras Cump. Traté de usar comodines, pero no funcionan. ¿Cómo hago para contar las órdenes cumplidas, cual- quiera sea la palabra usada para identificarlas? Edgardo Raúl Arboleya (Ushuaia, Tierra del Fuego) Veamos primero el caso normal. Por ejemplo, queremos contar las palabras Cumplido en el rango C2:C14. Podemos usar la función CONTAR.SI: =CONTAR.SI(C2:C14; “Cumplido”). Figura 23. La fórmula de la celda E2 cuenta las celdas de la columna C que tienen la palabra Cumplido, correctamente escrita. Si no estamos seguros de la forma en que está escrita la palabra Cumplido, podemos usar un comodín: =CONTAR.SI(C2:C14; “Cump*”). La condición Cump* representa a todas las palabras que comienzan con Cump. 5. CÁLCULOS CONDICIONALES 156 www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 156
  • 159. Figura 24. Mediante el uso de un asterisco como comodín, la fórmula de la celda E2 cuenta las celdas de la columna C que tienen la palabra Cumplido, o más o menos. Cuando Edgardo dice que no le funciona la fórmula con comodines, es porque él usa otra forma de fórmula condicional: =SUMA(SI(C2:C14=“Cumplido”;1;0)). Esta fórmula, a la que se le debe dar entrada con la combinación CONTROL+SHIFT+ENTER, suma una unidad por cada celda del rango C2:C14 que satisface la condición. Si que- remos usar este tipo de fórmula todavía tenemos una opción: =SUMA(SI(IZQUIER- DA(C2:C14;4)=“Cump”;1;0)). Aquí estamos pidiendo que las cuatro primeras letras de la columna de estado sean Cump. Este tipo de funciones condicionales tiene la ventaja de admitir más de una condición para el conteo, cosa que no es posible en las versiones de Excel anteriores a la 2007. Promedio condicional Tengo una planilla con tres columnas: Nombre, Sección y Sueldo. ¿Cómo pue- do hacer para calcular el sueldo promedio de cada sección? Mariano D’Amico A partir de Excel 2007 tenemos una función PROMEDIO.SI para calcular el prome- dio de una lista de valores, sujetos a una condición. Por ejemplo, supongamos que la lista ocupa el rango A1:C11, con los títulos en la primera fila. Podemos sumar to- dos los sueldos de la sección Ventas con la función =PROMEDIO.SI(B2:B11;“Ven- tas”;C2:C11). La función tiene tres argumentos entre los paréntesis: • El primer argumento es el rango donde se evalúa la condición. En este caso, donde están las secciones. • El segundo es el valor que debe haber en las celdas del rango anterior para que se- an tomadas en cuenta en la operación. En este caso, Ventas. • El tercero es el rango que ocupan los valores que serán promediados. Promedio condicional 157www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 157
  • 160. Figura 25. La fórmula de la columna E calcula el promedio de sueldos para cada sección. Esta función solamente existe en Excel 2007. Si hubiera más de una condición para evaluar, tenemos la función PROMEDIO.SI.CONJUNTO. Pero ninguna de estas dos funciones existe en las versio- nes de Excel anteriores a 2007. En este caso, podemos calcular el promedio con- dicionado combinando otras dos funciones. Para la tabla anterior sumamos todos los sueldos de la sección Ventas con la función =SUMAR.SI(B2:B11;“Ventas”;C2:C11). El primer argumento es la lista de secciones, el segundo es el valor que debe tener esta columna para que sea tenida en cuenta en la suma y el tercero es el rango que hay que sumar. La función suma todas las celdas del rango C2:C11 para las filas en las que el rango B2:B11 tenga el valor Ventas. Figura 26. La fórmula de la celda E5 calcula el sueldo promedio de la sección Ventas. La función SUMAR.SI suma todos los sueldos de esa sección y CONTAR.SI cuenta cuántos sueldos hay en la sección. La fórmula simula el efecto de la función PROMEDIO.SI de Excel 2007. De la misma forma, la función =CONTAR.SI(B2:B11;“Ventas”) cuenta las filas en las que el rango B2:B11 tiene el valor Ventas. Dividiendo ambos valores, se obtiene el sueldo promedio de la sección Ventas. La palabra Ventas en estas funciones puede reemplazarse por la referencia a una celda que contenga esta palabra. 5. CÁLCULOS CONDICIONALES 158 www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 158
  • 161. Hay todavía otra forma de resolver este problema: combinando las funciones PRO- MEDIO y SI. Si suponemos el mismo caso del ejemplo anterior, la fórmula es =PRO- MEDIO(SI(B2:B11= “Ventas”;C2:C11)). A esta expresión hay que darle entrada con la combinación CONTROL+SHIFT+ENTER. Figura 27. La fórmula de la celda E5 calcula el sueldo promedio de la sección Ventas combinando las funciones SI y PROMEDIO. Para entender el funcionamiento de esta fórmula podemos pensar que recorre el ran- go B2:B11 y, cada vez que encuentra un valor igual a la palabra Ventas, incluye el valor correspondiente del rango C2:C11 para calcular su promedio. Mínimo condicional Tengo una lista con dos columnas. En la primera hay códigos que se repiten y pueden ser los números 1, 2 ó 3. En la segunda, una serie de valores. Necesito que, en otra celda, se muestre el menor valor que corresponde a cada código. Eduardo Elusto Enunciada técnicamente, esta consulta pide recorrer la columna A buscando el có- digo 1. Cada vez que se encuentra ese código, tomar nota del valor que lo acompa- ña en la columna B. Una vez recorrida toda la columna, mostrar el mínimo valor encontrado. Luego hacer lo mismo con todos los códigos. Mínimo condicional 159www.redusers.com ❘❘❘ Cuando seleccionamos un rango, puede aparecer, en la parte inferior de la pantalla, la suma de los valores seleccionados. Si no vemos este resultado, hacemos un clic derecho sobre la barra de es- tado y aparecerá un menú con las operaciones Promedio, Suma, Máximo, Mínimo, etcétera. OPERACIONES INSTANTÁNEAS 05_Excel revelado.qxp 12/29/09 4:23 PM Page 159
  • 162. El problema puede resolverse con una sintaxis poco conocida de las funciones con- dicionales. Suponiendo que la lista se extiende desde las filas uno a quince, sería =MIN(SI(A1:A15=1;B1:B15)). A esta expresión hay que darle entrada con la combi- nación CONTROL+SHIFT+ENTER. Figura 28. Las fórmulas del rango E1:E3 calculan el mínimo valor de la columna B para cada uno de los códigos 1, 2 y 3. La fórmula combina las funciones MIN (mínimo) y SI (condicional) para crear una función Mínimo condicional. Es decir, calcular el mínimo de una serie de valores, pero sujetos a una condición. En este caso, que los valores estén acom- pañados por un 1 en la columna A. Cambiando el 1 en la fórmula se pueden en- contrar los mínimos para los demás códigos. Buscar el mayor Tengo una lista con dos columnas con los valores 100; 200; 300 y 400 en la primera columna y textos en la segunda. Uso una función BUSCARV para encontrar el texto correspondiente a un valor dado. Pero, si pido buscar el texto correspon- diente a un valor que no está en la primera columna, por ejemplo 250, la función me trae el correspondiente a 200. Es decir, al inmediato anterior. ¿Cómo hago para ob- tener el correspondiente al inmediato siguiente. En este caso, al 300? Juan Pablo Rossi (Buenos Aires) Antes de dar con la respuesta a esta consulta, comencemos por una breve guía para comprender cómo trabaja la función BUSCARV. Supongamos que la tabla que menciona el lector ocupa el rango A1:B4; con los valores 100, 200, 300 y 400 en la primera columna y las palabras Bajo, Medio, Alto y Muy alto en la segunda. Enla celda D1 tenemos un valor numérico, por ejemplo 200. Para obtener el tex- to correspondiente a este valor usamos la función =BUSCARV(D1;A1:B4;2). Hay tres argumentos entre los paréntesis, que son: 5. CÁLCULOS CONDICIONALES 160 www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 160
  • 163. • El primero es el valor cuyo texto se quiere encontrar. • El segundo es la tabla que vincula los valores numéricos con sus respectivos textos. • El tercero indica que se busca el dato que está en la segunda columna de la tabla. Figura 29. La función de la celda D2 encuentra el texto que, según la tabla de la izquierda, corresponde al valor escrito en D1. Si el valor no está en la tabla, la función trae el que corresponde al inmediato anterior. Ahora bien, supongamos que en la celda D1 tenemos el valor 330. Como este valor no está en la tabla, la función devuelve Alto, que es el texto que corresponde al va- lor inmediato anterior en la tabla. O sea, 300. Sin embargo, el problema que plan- tea el lector es que, en este caso, la función muestre el texto Muy alto, que es el que corresponde al valor inmediato siguiente. Para dar con la respuesta podemos hacer uso de la función INDICE. La expresión que debemos escribir es: =INDICE(B1:B4; SUMA(SI(D1>A1:A4;1;0))+1). A esta fórmula, como a todas las funciones matricia- les, hay que darle entrada con la combinación CONTROL+SHIFT+ENTER. Figura 30. La fórmula de la celda D2 encuentra el texto que, según la tabla de la izquierda, corresponde al valor escrito en D1. Si el valor no está en la tabla, trae el que corresponde al inmediato siguiente. Buscar el mayor 161www.redusers.com ❘❘❘ Existe una segunda familia de funciones para cálculos condicionales: las funciones BD o fun- ciones para bases de datos. No son muy usadas porque su sintaxis es un poco compleja y ne- cesita cierto rango auxiliar. Puede verse un ejemplo de este tipo de funciones en el capítulo sobre Operaciones con bases de datos. FUNCIONES DE BASES DE DATOS 05_Excel revelado.qxp 12/29/09 4:23 PM Page 161
  • 164. Explicación: La función SI analiza los datos del rango A1:A4. Por cada uno que sea menor al da- to indicado en D1, la función SUMA añade una unidad. Es decir que cuenta cuántos datos están por debajo de D1 en la tabla. Por ejemplo, para el 330 contaría 3. Lue- go suma una unidad a este resultado. Finalmente, la función INDICE localiza el va- lor que en B1:B4 ocupa esa posición. La función BUSCARV Tengo una tabla con dos columnas: Nombre y Sueldo. Escribo el nombre en otra celda y pretendo obtener su sueldo con la función BUSCARV. Hago todo lo que se supone debo hacer, pero a veces no obtengo el sueldo correcto y otras veces obten- go un mensaje de error. ¿Qué puedo estar haciendo mal? Juan Gabriel Agüero Ávila (Lambaré, Paraguay) La función BUSCARV es muy útil, pero tiene un pequeño secreto. En principio, esta fun- ción sirve para buscar datos en tablas, según una clave de entrada. Por ejemplo, en el caso que plantea la pregunta tenemos una tabla en el rango A2:B11 con nombres en la primera columna y sueldos en la segunda. Podemos obtener el sueldo de Carlos con la función =BUSCARV(“Carlos”;A2:B11;2). Hay tres argumentos entre los paréntesis: • El primero es el valor con el que entramos en la tabla. En este caso, el nombre cu- yo sueldo queremos obtener. • El segundo es la tabla que vincula el valor con el que entramos (el nombre) con el que buscamos (los sueldos). • El tercero indica que, en este ejemplo, queremos el valor de la segunda columna. Figura 31. La función de la celda E1 busca el sueldo de Carlos en la tabla de la izquierda. Como supone que la tabla está ordenada alfabéticamente, “cree” que Carlos debería estar entre Bruno y Daniel. Como no lo está, trae el sueldo de Bruno, que es el primero de los dos. Pero hay algo más: en principio, la función supone que la primera columna de la ta- bla está ordenada en forma creciente. En el ejemplo que propone el lector, la primera 5. CÁLCULOS CONDICIONALES 162 www.redusers.com 05_Excel revelado.qxp 12/29/09 4:23 PM Page 162
  • 165. columna tenía los nombres Bernardo, Bruno, Daniel y Carlos. Si le pedimos que bus- que el sueldo de Carlos, la función supondrá que Carlos se encuentra entre Bruno y Daniel (así sería si la tabla estuviera ordenada alfabéticamente). Como no está, la fun- ción devuelve el sueldo correspondiente al primero de los dos nombres entre los que debería encontrarse Carlos. En este caso, el sueldo de Juan. Más todavía, si le pedi- mos que busque el sueldo de Alberto, la función tratará de encontrar el sueldo de alguien que está antes de Bernardo. Como Bernardo es el primer valor de la tabla, obtenemos un mensaje de error. La solución a este problema consiste en agregar un cuarto argumento en la función, el valor lógico FALSO. En este último caso, obtenemos el sueldo de Carlos con la función =BUSCARV(“Car- los”;A2:B11;2;FALSO). Este cuarto argumento puede reemplazarse por el valor nu- mérico 0 (cero). En estas condiciones, la función devolverá correctamente el valor correspondiente. Y, si pedimos el sueldo de una persona inexistente, obtendremos un mensaje de error, lo que es bastante razonable. Alguien podría pensar que el problema se puede resolver ordenando la tabla según su primera columna (en este ejemplo, ordenamos los nombres alfabéticamente). Pe- ro, en este caso, si buscamos el sueldo para un nombre inexistente, la función in- ventará un valor, y no detectaremos el error. Imágenes condicionales Soy profesor de natación infantil y quiero imprimir una planilla donde, con un dibujito adecuado, se indique el grado de progreso del niño. Es decir, escribo el gra- do en una celda y en otra obtengo el dibujo. Ahora lo hago a mano, pero me gustaría que fuera automático. ¿Hay alguna función para eso? Domingo Farías (Río Segundo, provincia de Córdoba) Lo que necesita Domingo es una función como BUSCARV, pero que, en vez de devolver un valor, devuelva una imagen. Lamentablemente, eso no existe (por ahora). Una solución podría ser generar una macro que se ejecutaría luego de es- cribir el nivel y que inserte la imagen tomada de una hoja auxiliar. Pero hoy no Imágenes condicionales 163www.redusers.com ❘❘❘ El Asistente para pegar función incluye un botón para pedir ayuda sobre la función que estamos escribiendo. Un clic en ese botón nos conduce directamente a la página de ayuda asociada a la función. El asistente se abre con la combinación SHIFT+F3 y con distintas opciones según la ver- sión de Excel que tengamos instalada. AYUDA 05_Excel revelado.qxp 12/29/09 4:23 PM Page 163
  • 166. tenemos ganas de hablar de esa macro. Otra posibilidad es recurrir a la tipogra- fía Windings en la que cada carácter es un dibujito. Figura 32. En la tipografía Windings a cada carácter le corresponde un dibujito diferente. Hay que elegir un tamaño relativamente grande para que el dibujo sea visible. Supongamos que queremos poner una carita de acuerdo con la siguiente escala: • De cero a tres: carita triste. • De cuatro a siete: carita seria. • De ocho a diez: carita sonriente. Las tres caritas corresponden a los caracteres L, K y J, respectivamente. Entonces po- demos preparar una tabla de dos columnas y tres filas. Por ejemplo, en el rango E1:F3: • En la columna E, los valores 0, 4 y 8. Es decir, los más bajos de cada banda. • En la columna F, las letras L, K y J. Ahora, si en B2 escribimos una nota, obtenemos el dibujito correspondiente con la función =BUSCARV(B2;E1:F3;2). A esta fórmula tenemos que aplicarle tipografía Win- dings, con un tamaño adecuado. Por lo menos, 20 puntos. 5. CÁLCULOS CONDICIONALES 164 www.redusers.com ❴❵ Excel cumplió veinte años en 2007. En 1987, la revista PC Magazine anunció en su tapa el lanza- miento del programa con una pregunta: ¿Es ésta la mejor hoja de cálculo de todos los tiempos? La nota destacaba que Excel era “hambriento” de memoria RAM, algo muy problemático en una época en que la mayoría de las computadoras no superaba los 640 Kb. EL CUMPLEAÑOS DE EXCEL 05_Excel revelado.qxp 12/29/09 4:23 PM Page 164
  • 167. Figura 33. La función de la celda C2 devuelve una de las tres letras L, K o J según el valor de B2 y la tabla de la derecha. Aplicando tipografía Windings las letras son reemplazadas por una carita con tres expresiones distintas. Otros valores adecuados para los caracteres Windings son la C y la D, que muestran una mano en posición de “pulgar arriba” y “pulgar abajo”, respectivamente. Alguien podría opinar que estamos haciendo trampa al elegir un ejemplo muy especial pa- ra el que existen los dibujitos adecuados. Y tendría razón. Identificar el máximo Tengo una lista con dos columnas: Mes e Importe. En otra celda uso la fun- ción MAX para conocer el máximo importe. ¿Qué otra función tengo que usar para sa- ber a qué mes le corresponde ese máximo? Marco Antonio Zamora Izarraraz (México) Supongamos que tenemos la lista que describe el lector en el rango A2:B13. Es de- cir, tenemos una fila por cada mes del año, más una fila para los títulos. En otra celda, por ejemplo, D1 encontramos el importe máximo mediante la función =MAX(B2:B13). Hasta ahí, todo bien. Ahora, en otra celda, por ejemplo, D2 escri- bimos =COINCIDIR(D1;B2:B13;0). Esta función nos dice en qué posición dentro de la lista se encuentra el máximo obtenido en D1. La función COINCIDIR tiene tres argumentos entre los paréntesis, que son: Identificar el máximo 165www.redusers.com ❘❘❘ Las fórmulas que resultan de la combinación de funciones SI con alguna otra (como SUMA y SI para hacer sumas condicionales) se llaman fórmulas matriciales. Realizan sobre cada una de las celdas de un rango operaciones que, normalmente, se realizan sobre celdas individuales. Siempre se ingresan con la combinación CONTROL+SHIFT+ENTER. FÓRMULAS MATRICIALES 05_Excel revelado.qxp 12/29/09 4:23 PM Page 165
  • 168. • El primero es el dato que queremos localizar. En este caso, el máximo. • El segundo argumento es el rango donde queremos localizar el dato anterior. En este caso, la lista de importes. • El tercero indica el “tipo de coincidencia”. Es decir cuándo decimos que la fun- ción ha localizado el dato buscado. En nuestro caso, el 0 indica que exigimos una coincidencia exacta. Ahora solamente resta hallar el nombre del mes que en A2:A13 ocupa la posición encontrada con la función COINCIDIR. Esto lo hacemos con =INDICE(A2:A13;D2). La función INDICE tiene dos argumentos entre los paréntesis: • El primero es el rango del cual queremos extraer un dato. En este caso, los meses. • El segundo es la posición del dato que queremos extraer. En este caso, la obteni- da con la función COINCIDIR. Figura 34. La función INDICE de la celda D3 dice cuál es el dato del rango A2:A13 que ocupa la posición indicada en D2. Si modificamos algún valor de la lista, y eso cambia la posición del máximo, tam- bién se actualizará el nombre del mes correspondiente. 5. CÁLCULOS CONDICIONALES 166 www.redusers.com ❘❘❘ En versiones anteriores de Excel, no existían tantas opciones de formatos condicionales. Por eso, al pasar un archivo a un formato anterior, perderemos algunos de estos formatos (como las barras de colores o los formatos con iconos). Sin embargo, estos permanecerán en la planilla y podrán ser re- cuperados al abrir el libro con Excel 2007, a menos que hayan sido editados en otra versión. EL FORMATO CONDICIONAL Y LAS VERSIONES ANTERIORES 05_Excel revelado.qxp 12/29/09 4:23 PM Page 166
  • 169. Contar distintos Hace un tiempo publicaste una fórmula que servía para saber cuántos da- tos distintos hay en un rango. Esa fórmula me sirvió mucho, pero ¿cómo se en- tiende? Traté de analizarla parte por parte pero las matemáticas no son mi fuerte. ¿Podrías explicar cómo funciona? Damián Silva (Alcorta, provincia de Santa Fe) La fórmula a la que se refiere Damián es la siguiente: si queremos contar cuántos da- tos distintos hay en el rango A1:A9, escribimos =SUMA(1/CONTAR.SI(A1:A10;A1:A9)). Los dos argumentos de CONTAR.SI son el rango donde se hace el conteo, y a la fórmula hay que darle entrada con la combinación CONTROL+SHIFT+ENTER. Figura 35. La fórmula de la celda C1 cuenta cuántos datos distintos hay en A1:A9. Nótense las llaves que encierran a la fórmula, lo que indica que se trata de una fórmula matricial. La fórmula no es tan difícil de entender, una vez que uno sabe cómo funcionan las fórmulas matriciales. Aquéllas que hacen sobre un rango lo que normal- mente hacen sobre una única celda. Supongamos que tenemos el rango A1:A3 con los nombres Juan, Juan y Pedro. La ex- presión matricial =CONTAR.SI(A1:A3;A1:A3) equivale a hacer CONTAR.SI(A1:A3;A1), CONTAR.SI(A1:A3;A2) y CONTAR.SI(A1:A3;A3). Los resultados de estas tres funciones son 2, 2 y 1, respectivamente (Juan está dos veces y Pedro, una). Contar distintos 167www.redusers.com ❘❘❘ En Excel 2007 podemos llegar a cualquier lado y utilizar cualquier parte de la Cinta de op- ciones, sólo con presionar el teclado. De esta manera, al apretar la tecla ALT, veremos en pantalla el carácter asignado a cada ficha de la cinta y, luego, podremos introducirnos en es- tos nuevos caracteres para realizar la ejecución de las diferentes funciones. TODO CON EL TECLADO 05_Excel revelado.qxp 12/29/09 4:23 PM Page 167
  • 170. Ahora bien, la expresión es =SUMA(1/CONTAR.SI). Esta fórmula suma las inversas de cada uno de los tres valores anteriores: 1/2 + 1/2 + 1. El resultado es 2, igual a la cantidad de valores diferentes. Veamos otro ejemplo: supongamos que tenemos los datos Juan, Juan, Pedro, Pedro, Pedro, Luis. La fórmula suma 1/2 + 1/2 (para los dos Juan) 1/3 + 1/3 + 1/3 (para los tres Pedro) y 1 (para el único Luis). El resultado es 1+1+1=3. Otra vez, igual a la cantidad de datos distintos en el rango. En general, si un dato está repetido n veces, su contribución en la fórmula será 1/n + 1/n +...+1/n, n veces. El resultado de esta suma siempre es 1. Y así para todos los datos: cada dato diferente contribuye con una unidad al total, no importa cuántas veces esté repetido. Este total coincide entonces con la cantidad de datos distintos. 5. CÁLCULOS CONDICIONALES 168 www.redusers.com … RESUMEN Aunque muchos usuarios trabajan regularmente con Excel sin recurrir a la función condicional (ni a ninguna de las funciones especiales), este capítulo demuestra la variedad de problemas que pueden resolverse con este tipo de cálculos. En particular, la combinación de la función SI con otras funciones es especialmente poderosa. 05_Excel revelado.qxp 12/29/09 4:23 PM Page 168
  • 171. Cálculos con fechas y horas Reconstruir fecha 171 Cierres de ejercicio 173 Último sábado 174 Sumas entre fechas 184 Última fecha 188 Contar por hora 189 Horas y porcentajes 192 Reloj fichador 194 Capítulo 6 Un tipo especial de cálculos que se pueden hacer en Excel son los que involucran fechas y horas: vencimientos, horas trabajadas, tiempos de carrera. Para este tipo de cálculos hay una serie de funciones especiales. En este capítulo contestaremos las consultas asociadas a estos cálculos cronológicos. Pero, como suele suceder, la solución no siempre viene por las vías normales y hay que recurrir a trucos y otras opciones. EXCEL REVELADO SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 169
  • 172. Fecha y hora Mi pregunta es muy simple: en una celda tengo una fecha, por ejemplo 20/7/2008; en otra tengo una hora, por ejemplo 15:30 ¿Cómo hago para unir ambos datos de modo de obtener, en otra celda, 20/7/2008 15:30? Javier Israel Muñoz Perera (Cancún, México) La respuesta a esta pregunta también es simple: basta con sumar ambos valores. Es- to se debe a la forma en que Excel maneja los datos de tipo fecha y hora. Figura 1. Si aplicamos formato general sobre una fecha, vemos el dato como un número entero que representa la cantidad de días transcurridos desde el 1 de enero de 1900. Para Excel, una fecha es un número que representa la cantidad de días transcurridos desde el 1 de enero de 1900. Por ejemplo, el 20 de febrero de 1900 se representa con el número 51, es decir 31 días para el mes de enero y 20 días más hasta la fecha dada. Los datos tipo hora también miden el tiempo en días. En este caso, una fracción de día. Por ejemplo, la hora 18:00 es, en realidad, el número 0,75 porque las seis de la tarde representan 3/4 partes de un día. 6. CÁLCULOS CON FECHAS Y HORAS 170 www.redusers.com ✱ El número que, internamente, usa Excel para guardar una fecha, se llama número de serie. Re- presenta la cantidad de días transcurridos desde el 1 de enero de 1900. Es algo similar a lo que los astrónomos llaman día juliano. Pero no tiene nada que ver con el calendario juliano. NÚMERO DE SERIE 06_Excel revelado.qxp 12/29/09 4:24 PM Page 170
  • 173. Figura 2. En A3 sumamos la fecha de A1 más la hora de A2. El resultado es un dato tipo fecha y hora. Si sumamos 9/4/1900 más 6:00 estamos sumando, en realidad, 100 más 0,25 (hay 100 días desde el 1 de enero hasta el 9 de abril y 6 horas más representan un cuar- to de día). El resultado será las 6 de la mañana del 9 de abril. Tenemos que aplicar un formato de día y hora, si es que Excel no lo hace automáticamente. Reconstruir fecha Tengo una base de datos con 1300 registros. Uno de los campos es una fe- cha de nacimiento en formato DDMMAAAA. Por ejemplo, el 14 de junio de 1975 apa- rece como 14061975. ¿Cómo se hace para obtener la fecha en forma normal, con ba- rras que separen día, mes y año? Marcelo Maldonado (provincia de Formosa) El problema que plantea el lector consiste en separar los tres campos (día, mes y año) del gran número que representa la fecha y luego ensamblarlos para que formen una fecha que Excel pueda entender. Lo primero podemos hacerlo con las funciones ENTERO (que devuelve la parte entera de un número) y RESIDUO (que devuelve el resto de la división entre dos números). Por ejemplo, si tenemos el dato original en la celda A1, separamos el día (las primeras dos cifras) con: =ENTERO(A1/1000000). Para el ejemplo que da Marcelo, A1 dividido 1000000 es igual a 14,061975. La función ENTERO toma so- lamente la parte entera. Es decir, el día. Reconstruir fecha 171www.redusers.com ❘❘❘ El número de serie asociado a una fecha puede tener decimales. En este caso, la parte decimal representa una fracción de día. Por ejemplo, el número de serie 20,5 corresponde a las 12 del mediodía del 20 de enero. Que se vea como 20 de enero, como 12:00 del mediodía o de alguna otra forma, depende del formato aplicado al dato. NÚMERO DE SERIE Y DECIMALES 06_Excel revelado.qxp 12/29/09 4:24 PM Page 171
  • 174. De la misma forma, tenemos la función =RESIDUO(A1;10000) que devuelve el res- to que resulta de dividir el valor por 10000. En este caso 14061975 dividido 10000 da 1406 con un resto de 1975. Separar el mes es un poco más complejo: =RESIDUO(ENTERO(A1/10000);100). La función ENTERO devuelve 1406 y RESIDUO devuelve el resto que resulta de dividir este último número por 100. O sea, 06. Figura 3. La fórmula de la celda A3 separa año, mes y día del valor que hay en A1 y luego recompone la fecha con la función FECHA. Una vez obtenidos los tres valores los unimos con la función FECHA. Su sintaxis es =FECHA(año;mes;día), donde año, mes y día son los valores que acabamos de sepa- rar. Podemos hacer todo en una celda y luego aplicarle un formato adecuado. En la siguiente pregunta resolvemos el mismo problema con una técnica diferente. Reconstruir fecha (II) Tengo una planilla con datos en formato dmmaaaa. Por ejemplo, el 5 de agos- to de 1995 está guardado como 5081995. ¿Cómo hago para recuperar este dato co- mo una fecha que Excel reconozca y pueda usarse para cálculos? Cristian Pradenas Éste es el mismo problema de la consulta anterior y la solución es del mismo tipo: separar año, mes y día y luego juntar los tres datos con la función FECHA. Pero va- mos a hacer la separación con otras funciones. Si el dato original está en A1: • El año está formado por los cuatro caracteres de la derecha. Lo separamos con la función =DERECHA(A1;4). • El día está formado por el primer carácter de la izquierda, si el dato tiene siete caracteres (dmmaaaa), o los dos primeros, si tiene ocho (ddmmaaaa). En cualquier caso, la cantidad de caracteres que forman el día es igual al largo total menos seis: =IZQUIERDA(A1;LARGO(A1)-6)). • El mes está formado por dos caracteres, contando desde el segundo o el tercero, según la longitud del dato: =EXTRAE(A1;LARGO(A1)-5;2). 6. CÁLCULOS CON FECHAS Y HORAS 172 www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 172
  • 175. Figura 4. Las fórmulas de la columna B separan el año, el mes y el día y luego los juntan para rearmar la fecha. Una vez obtenidos los tres componentes, luego sí armamos la fecha con la fun- ción FECHA. Esta función tiene tres argumentos que son, justamente, el año, el mes y el día. Su sintáxis es: =FECHA(año;mes;día). En la consulta anterior resolvemos el mismo problema separando los tres compo- nentes de la fecha con las funciones ENTERO y RESIDUO. Cierres de ejercicio Estoy armando un tablero de comando y, para hacerlo más interesante, quie- ro obtener en forma automática las fechas de cierre de los informes. Estas fechas siem- pre son en el mes de julio. Si el informe se emite de enero a julio, inclusive, la fecha de cierre es julio del año anterior. Si se emite entre agosto y diciembre, el cierre es en julio del año en curso. Ahora quiero saber: ¿cómo hago para que Excel encuentre la fecha de cierre que corresponda a cada caso? Gustavo Piquero (Turdera, provincia de Buenos Aires) Para resolver este problema podemos combinar una función condicional SI (para analizar el mes de emisión) con una función FECHA (para armar la fecha de cie- rre). Por ejemplo, supongamos que tenemos las fechas de emisión en la columna A, a partir de A2. Podemos obtener el año de cierre con esta condicional: Cierres de ejercicio 173www.redusers.com ❘❘❘ Para calcular el tiempo transcurrido entre dos fechas, en años, meses o días, se usa la función SIFECHA. Por ejemplo, para calcular la edad en años cumplidos de una persona cuya fecha de nacimiento está en A1, usamos la fórmula =SIFECHA(A1;HOY();“Y”). El último argumento indi- ca que queremos calcular el tiempo entre ambas fechas en años. LA FUNCIÓN SIFECHA 06_Excel revelado.qxp 12/29/09 4:24 PM Page 173
  • 176. =AÑO(A2)-SI(MES(A2)<8;1,0). Es decir, tomamos en principio el mismo año que la fecha de emisión pero le restamos una unidad si el mes es anterior a agosto. La fecha de cierre se arma con el año obtenido según esta fórmula, mes igual a 7 (ju- lio) y día igual a 1: =FECHA(AÑO(A2)-SI(MES(A2)<8;1;0);7;1). Esta fórmula puede extenderse luego a toda la lista usando el puntero de estirar. Figura 5. Las fórmulas de la columna B arman la fecha correspondiente al 1 de julio. Toman el mismo año que la fecha de la columna A para informes emitidos entre agosto y diciembre, y el año anterior para informes emitidos entre enero y julio. Último sábado Hice una función que, para un mes dado, da la fecha del primer sábado, del segundo, etcétera. ¿Cómo hago para conocer la fecha del último sábado? Hay que tener en cuenta que en un mes puede haber cuatro o cinco sábados. Miguel Lederkremer (Buenos Aires) Las inquietudes de nuestro director editorial son lo más parecido a una orden. Vea- mos la fórmula: si en A1 tenemos una fecha, la función =FECHA(AÑO(A1);MES(A1)+1;0) 6. CÁLCULOS CON FECHAS Y HORAS 174 www.redusers.com ❘❘❘ La cinta de opciones puede desorientar al usuario acostumbrado a los menús tradicionales de Excel. En ese caso se puede llegar a las opciones de formato mediante combinaciones de teclas. Por ejemplo, la combinación CONTROL+# aplica formato de fecha. La combinación CONTROL+1 (el número 1) muestra el menú correspondiente a las opciones Formato/Celdas. TECLAZOS PARA FORMATO 06_Excel revelado.qxp 12/29/09 4:24 PM Page 174
  • 177. da la fecha del último día del mes de A1. Nótese que el mes de esta fecha es el siguiente al dado, pero el día es el 0. Eso representa el último día del mes dado. Para Excel, “0 de abril” equivale a 31 de marzo. Figura 6. Las fórmulas de la columna B devuelven la fecha del último sábado para cada uno de los meses de la columna A. Si esta fecha ya es sábado, nuestro problema está resuelto. En cambio, si es domin- go, hay que retroceder un día; y si es lunes, dos y así sucesivamente. Por una afor- tunada casualidad, la función DIASEM devuelve 1 para el domingo; 2 para el lunes, y así sucesivamente. De modo que podemos usar el valor devuelto por esta función para retroceder (restar) tantos días como sea necesario hasta llegar al sábado: =FECHA(AÑO(A1);MES(A1)+1;0)-DIASEM(FECHA(AÑO(A1);MES(A1)+1;0)) Pero ahora hay un problema: si el último día del mes ya es sábado, la fórmula resta 7 días, porque ése es el valor devuelto por la función DIASEM en este caso. De modo que la fórmula daría la fecha del penúltimo sábado. Afortunadamen- te, esto se puede resolver incluyendo en la fórmula la función RESIDUO. De esta manera, la expresión final nos queda de esta forma: =FECHA(AÑO(A1);MES(A1)+1;0)- RESIDUO(DIASEM(FECHA(AÑO(A1);MES(A1)+1;0));7). Último sábado 175www.redusers.com ❘❘❘ Afortunadamente, los formatos para fechas y horas no se limitan a los disponibles en la lista es- tándar. Podemos crear nuestros propios formatos escribiendo el código adecuado dentro de la opción Tipo, en la categoría Personalizada. Por ejemplo, el Tipo dd-mmmm-aaaa muestra una fe- cha en la forma 27-Diciembre-2010. FORMATOS DE FECHA 06_Excel revelado.qxp 12/29/09 4:24 PM Page 175
  • 178. 6. CÁLCULOS CON FECHAS Y HORAS 176 www.redusers.com La función RESIDUO devuelve el resto de la división entre los dos argumentos. Si DIASEM es 1, 2, 3, etcétera, el resultado de la función RESIDUO será también 1, 2, 3, etcétera. Pero si DIASEM devuelve un 7, el resultado de la función RESIDUO será 0. Series de meses He leído en uno de tus libros cómo generar la serie de los meses del año par- tiendo de una celda que contiene la palabra Enero. Parece fácil, pero no logro que fun- cione, solamente me repite la palabra Enero a lo largo de todo el rango. Servando López Jiménez (Oceanside, California, USA) Cuando estiramos con el puntero una celda que contiene el nombre de un mes, Excel genera la serie de todos los meses del año. Esto se debe a que Excel reco- noce los nombres de los meses (así como los días de la semana) como miembros de ciertas series. Si estiramos una celda con un dato cualquiera, Excel simple- mente repite el dato a lo largo del rango. Evidentemente, en este caso, la palabra Enero no es reconocida como el nombre de un mes. Entonces podemos enseñarle a Excel a reconocerlo como integrante de una serie: ■ Listas personalizadas PASO A PASO Haga un clic en el Botón de Office. Dentro de la categoría Más frecuentes, haga un clic en Modificar listas personalizadas. Aparecerá un cuadro con las listas reconocidas por Excel. 06_Excel revelado.qxp 12/29/09 4:24 PM Page 176
  • 179. Dentro de Entradas de lista escriba los elementos de la nueva lista (en este caso, los nombres de los meses) separados por comas. Haga un clic en Agregar y luego en Aceptar. Con esto le hemos enseñado a Excel una nueva serie. En las versiones de Excel an- teriores a 2007 el cuadro para crear una nueva serie se obtiene seleccionando la fi- cha Listas personalizadas dentro de Herramientas/Opciones. Dada la procedencia del lector, es posible que esté usando una versión de Excel en inglés, lo que explica que no reconozca una palabra en castellano. En ese caso, las opciones para incorporar una nueva serie son Tools/Options. Series de días hábiles ¿Cómo hago para obtener una serie de fechas que correspondan solamente a días hábiles? Es decir, quiero excluir de la lista sábados, domingos y feriados. Betina Russo (Buenos Aires) Hay una solución simple, pero imperfecta para este problema, usando el puntero: ■ Serie de días hábiles PASO A PASO Escriba la primera fecha en A1. Con el cursor en A1 apoye el puntero del mouse en la esquina inferior derecha de la celda para que aparezca el puntero de estirar (la cruz fina). Con el botón derecho, haga un clic y, sin soltarlo, baje hasta la última celda. Series de días hábiles 177www.redusers.com ❘❘❘ Las funciones del grupo Fecha y hora de la ficha Fórmulas de la Biblioteca de funciones son útiles para datos que actualizamos periódicamente y no revisten demasiada complejidad. Co- mo vemos en las distintas consultas que desarrollamos en este capítulo, con ellas podemos determinar días, meses y años, así como también horas, minutos y segundos de las horas. LAS FUNCIONES DE FECHA Y HORA 06_Excel revelado.qxp 12/29/09 4:24 PM Page 177
  • 180. 6. CÁLCULOS CON FECHAS Y HORAS 178 www.redusers.com ❘❘❘ Para poder usar la función DIA.LAB hay que instalar previamente el complemento Herramientas para análisis. En Excel 2007 los complementos se instalan desde la categoría Complementos a la que accedemos desde Botón de Office/Opciones de Excel. En las versiones anteriores los en- contramos en el menú Herramientas/Complementos. LA FUNCIÓN DIA.LAB Suelte el botón del mouse. Aparecerá un menú con distintas opciones. Haga un clic en Rellenar días de la semana. Este procedimiento genera una serie de fechas que excluye sábados y domingos. No excluye feriados porque el puntero no puede saber qué día corresponde a cada fe- riado. Por eso decimos que la solución es imperfecta. Si queremos excluir de la serie también los días feriados, tenemos que armar una lista de las fechas que corresponden a los feriados. Digamos que esta lista la es- cribimos en el rango C1:C6. Entonces, si escribimos la primera fecha en A1, en A2 escribimos la función =DIA.LAB(A1;1;C$1:C$6). Esta función calcula el día si- guiente a A1, excluyendo sábados, domingos y las fechas del rango C1:C6. 06_Excel revelado.qxp 12/29/09 4:24 PM Page 178
  • 181. Figura 7. La fórmula de la celda A2 calcula la fecha siguiente a la de A1, excluyendo sábados, domingos y los feriados de la tabla de la derecha. La función DIA.LAB calcula la fecha que corresponde a una cierta cantidad de días hábiles a partir de otra. El primer argumento es la fecha inicial y el segundo, la can- tidad de días para considerar. En principio, la función excluye de los días hábiles a sábados y domingos. Para que excluya también los días feriados le podemos dar, co- mo tercer argumento, un rango con las fechas de estos feriados. Señalar fines de semana Tengo una planilla Excel en la cual cargo fechas y horarios de entrada y sali- da. Me gustaría saber si existe alguna forma de señalar con colores diferentes las fe- chas que corresponden a los sábados y domingos. Walter Diana (Buenos Aires) Se puede señalar con color los sábados y domingos aplicando un Formato condicional. Supongamos que las fechas están en la columna A, a partir de la celda A2: ■ Formato condicional PASO A PASO Seleccione la lista de fechas. Haga un clic en el botón Formato condicional dentro de la ficha Inicio de la cinta de opciones y luego en Nueva regla. En la casilla que indica: Seleccionar un tipo de regla haga un clic en la opción Utilice una fórmula que determine las celdas para aplicar el formato. Esto cambiará las opciones que aparecen más abajo. Señalar fines de semana 179www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 179
  • 182. En la casilla que dice Dar formato a las celdas donde esta fórmula sea verdadera, escriba la fórmula =O(DIASEM(A2)=1;DIASEM(A2)=7), donde A2 es la celda de la primera fecha de la lista. A continuación, haga un clic en el botón Formato.... En la ficha Relleno indique algún color adecuado. Haga un clic en Aceptar (el formato) y nuevamente en Aceptar (la condición). Figura 8. Este Formato condicional señala con un fondo rojo las fechas de la columna de la izquierda que correspondan a fines de semana. La fórmula identifica el día de la semana con la función DIASEM. La condición que escribimos pide que la función DIASEM, aplicada a la primera fe- cha, devuelva un 1 (que corresponde al sábado) o un 7 (que corresponde al do- mingo). De modo que la condición se satisface en los días de semana. La función DIASEM devuelve un número que indica el día de la semana: 1 para el domingo, 2 para el lunes y así sucesivamente, hasta 7 para el sábado. Si queremos señalar sábados y domingos con colores diferentes podemos indicar dos formatos condicionales (dos reglas), cada uno con su condición. Recordemos que en Excel 2003 y en las versiones anteriores, el cuadro para definir el Formato condicional se obtiene con las opciones Formato/Formato condicional. Ade- más, si guardamos el archivo en una versión anterior podemos perder algunos for- matos, aunque permanecerán en la planilla y podremos recuperarlos después. 6. CÁLCULOS CON FECHAS Y HORAS 180 www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 180
  • 183. Anunciar vencimiento Tengo una planilla con fechas de vencimiento. Necesito que, diez días antes de esa fecha, la celda cambie de color como anuncio de que está próxima a vencer. José M. Salazar Colín (Tamaulipas, México) Este problema puede resolverse con un Formato condicional. Lo difícil es encontrar la condición necesaria. Por ejemplo, supongamos que estamos a 20 de noviembre. El formato debería señalar los vencimientos que tengan lugar el 30 de noviembre, o antes. Es decir, que la fecha de vencimiento sea menor o igual a la fecha de hoy, más diez días. Vamos a indicar esa condición en el formato: ■ Formato condicional II PASO A PASO Seleccione la lista de fechas. Haga un clic en el botón Formato condicional dentro de la ficha Inicio de la cinta de opciones. Tome las opciones Resaltar reglas de celdas/Es menor que.... Aparecerá un cuadro donde deberá indicar la condición. En la primera opción escriba =HOY()+10. En la segunda opción elija un formato adecuado. Haga un clic en Aceptar. En la condición usamos la función HOY para obtener la fecha actual. En realidad, el for- mato señala los vencimientos para dentro de diez días, incluyendo los ya pasados. Figura 9. Este formato señala con fondo rojo las fechas anteriores al día de hoy más diez días. Es decir, las facturas que vencen dentro de los próximos diez días. Anunciar vencimiento 181www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 181
  • 184. En Excel 2003 y en las versiones anteriores, el procedimiento es algo distinto. ■ Formato condicional (Excel 2003 y anteriores) PASO A PASO Seleccione la lista de fechas. Tome las opciones Formato/Formato condicional. Aparecerá un cuadro donde deberá indicar la condición. En la primera opción, deje valor de la celda. En la segunda, indique menor o igual que. En la tercera, escriba =HOY()+10. Haga un clic en el botón Formato>> y elija algún formato adecuado. Haga un clic en Aceptar (el formato) y luego en Aceptar (la condición). Figura 10. Así se indica en Excel 2003 el Formato condicional que señala con fondo rojo las fechas anteriores al día de hoy más diez días. Repasemos esto: si hoy es 20 de noviembre, el formato que acabamos de definir señalará las fechas menores (es decir, anteriores) al día 30. Si esa fecha es 27 de noviembre, cumple la condición, vence dentro de los próximos diez días y será se- ñalada con el formato. Si, en cambio, la fecha es 2 de diciembre, no es menor, no está próxima a vencer y no será señalada por el formato. 6. CÁLCULOS CON FECHAS Y HORAS 182 www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 182
  • 185. Ordenar cumpleaños Tengo una lista de personas con sus fechas de nacimiento. ¿Cómo puedo ordenar la lista según la fecha de cumpleaños de cada uno? De esta manera, una persona nacida el 20 de febrero de 1970 tiene que quedar antes de otra nacida el 20 de marzo de 1960. Gracias por tu ayuda. Roberto Padula (Buenos Aires) Una forma de resolver este problema consiste en crear una segunda serie de fechas, con el día y el mes de nacimiento, pero con un año fijo. Por ejemplo, si tenemos una fecha en B2, armamos la nueva fecha con =FECHA(2000;MES(B2);DIA(B2)). Es- ta fórmula se extiende a toda la lista de fechas. Al tener todas el mismo año, lo que decide el orden de las fechas son el mes y el año. Pero hay una fórmula mejor. De nuevo, para una fecha de nacimiento escrita en B2, la fórmula sería =TEXTO(B2;“mmdd”). Esta fórmula devuelve un texto con el mes y el día. Por ejemplo, si B2 es igual a 20/Feb/1970, la fórmula devuelve 0220. Si es igual a 20/Mar/1960, la fórmula devuelve 0320. Como aparece primero el mes y luego el día, ése será el orden en que se analizarán las fechas para ordenarlas. Figura 11. Las fórmulas de la columna C contienen un texto que corresponde al mes y al día (en ese orden) de las fechas de la columna B. Si ordenamos la lista según el contenido de la columna C estas personas quedarán ordenadas según su fecha de cumpleaños. La función TEXTO arma un texto a partir de un número, aplicando un formato es- pecificado. Es muy sencilla ya que sólo tiene dos argumentos: • El primero es el valor que se va usar. • El segundo es el formato para aplicar. Ordenar cumpleaños 183www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 183
  • 186. En nuestro caso el valor es una fecha y el formato es mes-día, sin separación. Una vez obtenida esta expresión en una columna auxiliar, ordenamos la lista según el contenido de esa columna, y problema resuelto. Sumas entre fechas Tengo una lista de dos columnas: Fecha e Importe. Quiero escribir dos fechas en sendas celdas y obtener el total de importes entre esas fechas. ¿Qué fórmula ten- go que usar?. Desde ya te agradezco la solución que me puedas brindar. Leila Margarita Cura (provincia de Catamarca) Supongamos que las fechas están en el rango A1:A10 y los importes en el rango B1:B10. Escribimos una fecha inicial en D1 y una fecha final en D2. Queremos su- mar los importes de la columna B correspondientes a fechas comprendidas entre D1 y D2. La fórmula es =SUMA(SI(A1:A10>=D1;SI(A1:A10<=D2;B1:B10))). A esta expre- sión le tenemos que dar entrada con la combinación CONTROL+SHIFT+ENTER. La fórmula analiza las fechas del rango A1:A10. Cuando alguna de estas fechas es mayor o igual que la fecha inicial escrita en D1, analiza si, además, es menor o igual que la fecha final escrita en D2. Cuando se cumplen estas dos condiciones, suma el respectivo valor de B1:B10. Figura 12. La fórmula de la celda D3 suma los importes en la columna B correspondientes a fechas comprendidas entre D1 y D2. Nótense las llaves que encierran la fórmula, lo que indica que fue ingresada con la combinación CONTROL+SHIFT+ENTER. Éste es un ejemplo de un tipo especial de fórmulas que combinan la función con- dicional SI con alguna otra función (en este caso, SUMA). Con esta combinación se pueden hacer diversos cálculos no previstos en las funciones estándares de Ex- cel. Las siguientes preguntas muestran más ejemplos de este tipo de fórmulas con- dicionales así que pasemos rápidamente a la próxima consulta. 6. CÁLCULOS CON FECHAS Y HORAS 184 www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 184
  • 187. Contar por semestre Estudio la tecnicatura en informática en la Universidad del Litoral. En una práctica me dan una lista de personas con las fechas de nacimiento. Me piden que cuente cuántas personas nacieron en el primer semestre y cuántas nacieron en un fin de semana. ¿Pueden ayudarme? César Contreras (Villa Dolores, Córdoba) Los cálculos que pregunta César se pueden hacer con una forma poco conocida de fórmulas condicionales. Por ejemplo, si las fechas están en B1:B10, las correspon- dientes al primer semestre son aquellas para las que la función MES devuelve un nú- mero menor que 7. Entonces escribimos =CONTAR(SI(MES(B1:B10)<7;B1:B10)). A esta fórmula hay que darle entrada con la combinación CONTROL+SHIFT+ENTER. La fórmula evalúa la condición para cada una de las celdas del rango B1:B10. Para cada caso en que la condición se cumple, cuenta un valor. Figura 13. La fórmula de la celda D1 cuenta las fechas de la columna B que corresponden al primer semestre (mes menor que siete). Para contar las fechas correspondientes a fines de semana podemos usar la función DIASEM que devuelve un número del 1 al 7 ó del 0 al 6, según el día de la semana al que corresponde la fecha. La función tiene dos argumentos: Contar por semestre 185www.redusers.com ❴❵ Calc, el programa de planillas de cálculo de OpenOffice, incluye la función DOMINGOPASCUA para calcular la fecha del domingo de Pascua en cualquier año. Aunque no existe una función equivalen- te en Excel, la podemos crear tal como explicamos en el libro Proyectos con macros en Excel. LA FECHA DE PASCUA 06_Excel revelado.qxp 12/29/09 4:24 PM Page 185
  • 188. • El primero es la fecha para la cual se desea conocer el día de la semana. • El segundo (opcional) indica cómo se numerarán los días. Si el segundo argumento es un 2, el valor devuelto por DIASEM es un 1 para el lu- nes, 2 para martes y así sucesivamente hasta un 7 para el domingo. Figura 14. La fórmula de la celda D1 cuenta las fechas de la columna B que corresponden a fines de semana (número de día de la semana 6 ó 7). El problema de contar los fines de semana en el rango B1:B10 se reduce a contar las fechas para las cuales la función DIASEM, con su segundo argumento igual a 2, de- vuelve un valor de 6, que equivale al día sábado, o de 7, que corresponde al do- mingo. En otras palabras, que sea mayor que 5. De esta manera, debemos escribir la expresión: =CONTAR(SI(DIASEM(B1:B10;2)>5;B1:B10)). A esta fórmula también hay que darle entrada con la combinación CONTROL+SHIFT+ENTER. Un problema con fechas Te adjunto una planilla que me está volviendo loco. Trato de usar la función SUMAR.SI para obtener acumulados mensuales, pero me da cualquier cosa. Lo con- sulté con gente que usa Excel y no me supieron explicar por qué hace lo que hace. Si me podés develar este misterio, te lo voy a agradecer. Pedro Alejandro Wikarczuk (Avellaneda, provincia de Buenos Aires) Ciertamente éste es un problema muy curioso. La planilla de Alejandro tiene dos columnas: Mes en el rango A2:A13 (Enero, Febrero, Marzo, etcétera) e Importe en B2:B13. En una celda auxiliar, por ejemplo en D1, Alejandro escribe la siguiente fórmula =SUMAR.SI(A2:A13;”<Agosto”;B2:B13) para obtener el importe acumula- do hasta julio inclusive. Sin embargo, obtiene solamente el importe correspon- diente a abril, tal como podemos observar en la Figura 15. 6. CÁLCULOS CON FECHAS Y HORAS 186 www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 186
  • 189. Figura 15. La fórmula de D1 suma los importes correspondientes a meses que, ordenados alfabéticamente, aparecerían antes de agosto. Es decir, el de abril solamente. Ocurre que, para Excel, los nombres de los meses son solamente palabras. La con- dición <Agosto agrupa a los meses cuyos nombres, ordenados alfabéticamente, esta- rían antes de agosto. O sea, solamente abril. Para resolver el problema hay que hacer dos cosas. En primer lugar los meses de la columna A deben ser datos tipo fecha. Por ejemplo, el primer día de cada mes: 1/1, 1/2, 1/3, etcétera. A estos datos luego se les puede aplicar un formato para que mues- tren los nombres de los meses, como en la planilla original. Luego, para calcular el importe acumulado hasta julio inclusive, se debe usar la si- guiente fórmula: =SUMA(SI(MES(A2:A13)<8;B2:B13)). A esta fórmula se le debe dar entrada con la combinación CONTROL+SHIFT+ENTER. Figura 16. La fórmula de D1 suma los importes correspondientes a los meses anteriores a agosto. Es decir, de enero a julio. Los datos de la columna A son fechas. Un problema con fechas 187www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 187
  • 190. La fórmula evalúa las fechas de la columna A, aplicándoles la función MES. Si el mes resultante es menor que 8 (es decir, anterior a agosto), suma el correspon- diente importe de la columna B. Así resolvemos este problema. Última fecha Tengo una lista con datos de empresas que se van visitando y con todas las fechas en que éstas fueron visitadas (esas fechas pueden ser más de una). Ahora quie- ro que en otra lista me muestre automáticamente la última fecha en que la empresa fue visitada. ¿Cómo puedo hacer esto? Alejandro Gabriel Noya Este problema puede resolverse con una combinación de función condicional con MAX. Por ejemplo, supongamos que tenemos los nombres de las empresas en el ran- go A2:A10 (reservamos la primera celda para el título) y las fechas de visita en B2:B10. Queremos saber cuándo fue la última vez que visitamos al almacén Don Manolo. La fórmula es: =MAX(SI(A2:A10=“Don Manolo”;B2:B10)). A esta fórmula le tenemos que dar entrada con la combinación CONTROL+SHIFT+ENTER. Podemos pensar que esta fórmula “recorre” el rango A2:A10 comparando cada cel- da con el valor “Don Manolo”. De todas las veces que se verifica la igualdad, elige el máximo entre los respectivos valores del rango B2:B10. Entre datos que represen- tan fechas, el máximo corresponde al más reciente, al último. La referencia al nom- bre de la empresa puede ser una celda donde ese nombre esté escrito. Figura 17. La fórmula de la celda E2 encuentra la última fecha correspondiente a la empresa escrita en D2. Nótese las llaves que encierran la fórmula y que revelan que ésta fue ingresada con la combinación CONTROL+SHIFT+ENTER. 6. CÁLCULOS CON FECHAS Y HORAS 188 www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 188
  • 191. Contar por hora Tengo una planilla donde controlo el ingreso de vehículos. En ella se indica un número de orden, la patente y la hora de ingreso. Ahora quiero tener un resumen donde yo le indique una hora y una fórmula me diga cuántos autos ingresaron en esa hora. Mariano Blanco Este problema es una variante de un caso más general que podemos llamar “conteo condicional”. En principio, el conteo condicional se puede hacer con la función CONTAR.SI. Supongamos que tenemos una lista de nombres en la columna A, don- de cada nombre puede repetirse. Queremos saber cuántas veces aparece el nombre “Juan”. La fórmula sería =CONTAR.SI(A:A;“Juan”). El primer argumento es el rango donde se hace el conteo y el segundo, el dato que se quiere contar. Figura 18. La fórmula de la celda C1 cuenta cuántas veces aparece el nombre Juan en la lista de la columna A. Esta función sirve para condiciones simples. El caso que plantea la pregunta es más complejo y puede resolverse combinando dos funciones. Supongamos que las horas de entrada están en el rango A2:A16 (reservando la pri- mera fila para títulos) y que queremos saber cuántos autos entraron entre las 20:00 Contar por hora 189www.redusers.com ❘❘❘ Es importante tener en cuenta que cuando armamos una fecha con la función FECHA, Excel supone “días continuos”. Por ejemplo, la expresión =FECHA(2010;40;6), que, supuestamen- te, representa el “40 de junio”, corresponde al 10 de julio. De la misma forma, la expresión =FECHA(2010;0;3) corresponde al último día de febrero, sea éste el 28 o el 29. CALCULAR FECHAS 06_Excel revelado.qxp 12/29/09 4:24 PM Page 189
  • 192. y las 21:00 (en realidad, hasta las 20:59). La fórmula es =SUMA(SI(HORA(A2:A16) =20;1;0)). A esta fórmula, como a todas las matriciales, le tenemos que dar entrada con la combinación CONTROL+SHIFT+ENTER. Podemos imaginar que esta fórmula recorre el rango A2:A16 y le aplica a cada celda la función HORA, que devuelve la parte de horas de un dato (por ejemplo =HORA(“15:41”) es igual a 15). Cada vez que el resultado de esta función es 20, la función SUMA adiciona una unidad. Figura 19. La fórmula de la celda D2 cuenta cuántos vehículos ingresaron entre las 20:00 y las 20:59. Horas extras En la empresa donde trabajo el horario normal de trabajo es de 9 de la ma- ñana hasta las 6 de la tarde. Las horas trabajadas fuera de ese horario se consideran “extras”. ¿Cuál es la fórmula para calcular estas horas extras? Walter Diana (Buenos Aires) Por ejemplo, supongamos que la hora de entrada está en la celda B2 y la de salida en C2. Supongamos también que estas horas son 7:30 y 19:00. La resta =9/24-B2 nos dice cuántas horas (una y media, en este caso) se trabajaron antes de la hora nor- mal de salida. En esta fórmula la hora 9 de la mañana está representada por el va- lor 9/24. Esto se debe a que, en Excel, los datos tipo hora se deben medir en días. El factor 24 que divide convierte las horas a días. Debemos tener en cuenta que la celda donde escribimos la fórmula debe tener formato de hora. 6. CÁLCULOS CON FECHAS Y HORAS 190 www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 190
  • 193. Figura 20. Las fórmulas de la columna D dan las horas trabajadas antes de las 9 de la mañana. En la fila 5, la fórmula da un valor negativo (la hora de entrada es posterior a las nueve de la mañana) y por eso da un error. El problema es que, si hacemos las restas en la forma planteada, corremos el riesgo de obtener valores negativos. Por ejemplo, supongamos que el valor de B2 es 10:00, por- que la persona en cuestión entró una hora tarde. La resta =9/24-B2 nos dará -1, una ho- ra negativa. La solución consiste en tomar el resultado de la resta solamente cuando sea positivo. Esto lo logramos con la fórmula =MAX(0;9/24-B2). Si el resultado de la resta es negativo, la función devolverá 0 (que es mayor). Si es positivo, devolverá ese valor. Figura 21. Las fórmulas de la columna D restan la hora de entrada de las 9 de la mañana y dan el resultado solamente si es mayor o igual que 0. De la misma forma, las horas trabajadas luego de las 6 de la tarde se obtienen con =MAX(0;C2-18/24). La suma de ambas expresiones da las horas extras totales. Horas extras 191www.redusers.com ❴❵ Curiosamente, Excel arrastra, desde sus primeras versiones, un error en el manejo de fechas: da como válida la fecha 29/2/1900. Pero 1900 no fue un año bisiesto, excepto en el entonces Imperio Ruso y en otras naciones regidas por la Iglesia Ortodoxa. Este error no lo comete Calc, la hoja de cálculo de OpenOffice. EL BISIESTO QUE NO FUE 06_Excel revelado.qxp 12/29/09 4:24 PM Page 191
  • 194. Horas y porcentajes Me gustaría que me explicaras cómo se puede aplicar un porcentaje a un va- lor que representa un tiempo. Por ejemplo, si quiero calcular el 17% de 60 minutos (una hora), el resultado es 10,20. Pero los 20 no son veinte segundos sino veinte cen- tésimos de minuto o doce segundos. Yo querría que apareciera 10:12 o algo así. Pro- bé algunas variantes pero no me sale el resultado esperado. Mario Toledo Hay, por lo menos, dos formas de resolver el problema que plantea el lector. La más “correcta” consiste en trabajar con datos tipo hora. Por ejemplo, para escribir una hora, tenemos que escribir 1:00. Para escribir 15 minutos, tenemos que escribir 00:15:00. En cualquier caso, Excel reconocerá este formato como hora y, si mul- tiplicamos por 17%, obtendremos el resultado correcto en ese mismo formato, tal como vemos en la Figura 22. Sin embargo, si preferimos verlo como minutos y segundos, tenemos que aplicar el formato mm:ss. Figura 22. Los datos de la columna B están en formato de hora. Al aplicar un porcentaje en la columna C el resultado aparece también en formato de horas, minutos y segundos. Otra posibilidad es escribir los tiempos como datos numéricos comunes. Por ejemplo, tenemos una lista de tareas en la columna A y sus duraciones expresa- das en minutos en la columna B, con títulos en la primera fila y datos a partir de la segunda. Si queremos aplicar a estos tiempos un porcentaje del 17% la fun- 6. CÁLCULOS CON FECHAS Y HORAS 192 www.redusers.com ❘❘❘ Hay distintas formas de obtener el día de la semana correspondiente a una fecha dada. Una de las más simples consiste en usar la fórmula =TEXTO(fecha; “dddd”), donde fecha es la celda que contiene la fecha cuyo día de la semana queremos obtener. También podemos usar un for- mato personalizado o la función DIASEM. EL DÍA DE LA SEMANA 06_Excel revelado.qxp 12/29/09 4:24 PM Page 192
  • 195. ción que debemos ingresar es =ENTERO(B2*17%) para obtener los minutos y, a continuación, la función =RESIDUO(B2*17%;1)*60, que nos dará los segundos. La función RESIDUO devuelve la parte decimal (la fracción de minuto). Al mul- tiplicar por 60 expresamos esa fracción en segundos. Figura 23. Las fórmulas de la columna D calculan la fracción de minutos, después de aplicar un porcentaje en los tiempos de la columna B y luego expresan esa fracción en segundos. Un problema de minutos Tengo un problema con un cálculo de minutos. Armé una hoja con una lista de tiempos en una columna. Cada tiempo es una cierta cantidad de segundos. Nece- sito sumar todos esos tiempos y obtener el total en minutos y segundos, pero no su- pe cómo resolverlo. Desde ya quedo agradecido por la solución que me puedan dar. Juan J. Mikuletz Para resolver este problema hay que saber que, en Excel, los tiempos se miden en días. Entonces, si tenemos una lista de segundos en el rango A1:A10, obtenemos el total con =SUMA(A1:A10), naturalmente. Pero, para que Excel interprete este total como un dato “tipo hora” hay que traducirlo a días. Como hay 86400 segundos en un día, la expresión final es =SUMA(A1:A10)/86400. A esta fórmula luego se le pue- de aplicar un formato de minutos y segundos para obtener el total como quiere Juan. Un problema de minutos 193www.redusers.com ❘❘❘ La función HOY() muestra la fecha actual. Esta fecha es dinámica. Es decir, cambia cuando pasa el tiempo según el reloj interno de Windows. También obtenemos la fecha actual con la combinación CONTROL+; (el punto y coma). Pero esta fecha queda como dato fijo y no cambia con el tiempo. LA FECHA ACTUAL 06_Excel revelado.qxp 12/29/09 4:24 PM Page 193
  • 196. Figura 24. La fórmula de la celda A11 suma todos los tiempos de la columna. Como estos tiempos están en segundos, al total se lo divide por 86400 para pasarlo a días (hay 86400 segundos en un día). Luego se aplica un formato de minutos y segundos. Reloj fichador Quiero usar una planilla Excel como reloj para que mis empleados ingresen una clave y se registre automáticamente la hora de entrada y salida. ¿Qué me po- dés sugerir al respecto?. Espero que me puedas ayudar. Diego David Para resolver este problema necesitamos una planilla con la lista de empleados y dos columnas para registrar las horas de entrada y salida. Cuando un empleado entra, hace clic en un botón Entrada y escribe su número de legajo. Cuando sale, hace lo propio en un botón Salida. Un sistema de macros se encargará del resto. Figura 25. Con un sistema de macros completamos esta hoja con las horas de entrada y salida de los empleados de la lista. 6. CÁLCULOS CON FECHAS Y HORAS 194 www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 194
  • 197. Por ejemplo, supongamos que la lista de legajos ocupa el rango A2:A15, la macro de la Figura 25 permite registrar la hora de entrada en la columna 2. Sub Entrada() Legajo = Val(InputBox(“¿Número de legajo?”)) For i = 2 To 15 If Cells(i, “A”) = Legajo Then _ Cells(i, “B”) = Time Next I End Sub Esta macro pregunta por el número de legajo. Busca el número ingresado en la columna A y, cuando lo localiza, guarda la hora actual en la respectiva fila de la co- lumna B. La hora se obtiene con la función Time, que equivale en macros a la función AHORA() de Excel. El legajo lo preguntamos con InputBox. Como esta función devuelve un dato tipo texto, le aplicamos la función Val, para convertir- lo a valor. Cambiando la referencia a la columna B por C tenemos la macro para registrar la hora de salida. Para mayor elegancia, las macros se pueden ejecutar mediante botones: un botón para cada macro. Formulario con calendario Armé un formulario que despliega un calendario y guarda la fecha seleccio- nada en una celda. Pero tengo un problema: si la fecha seleccionada corresponde a los días uno al doce (de cualquier mes) me la guarda en formato mes-día. Si es pos- terior al día doce me la guarda en formato día-mes. ¿Cómo hago para que siempre me quede en formato día-mes? Raúl Ojeda (Rincón de los Sauces, provincia de Neuquén) Antes de dar respuesta a esta consulta, vamos a comentar el formulario de Raúl que es muy interesante. Este formulario tiene tres controles: Formulario con calendario 195www.redusers.com ❘❘❘ Mediante la opción de formatos personalizados podemos crear un formato para mostrar un dato tipo hora en minutos, segundos y centésimas. Hay que indicar, dentro de la opción Tipo, en la ca- tegoría Personalizada, el Tipo mm:ss,00. Este formato es útil para mostrar tiempos de carrera. FORMATOS DE HORA 06_Excel revelado.qxp 12/29/09 4:24 PM Page 195
  • 198. • Un calendario. • Un cuadro de texto que muestra la fecha seleccionada en el calendario. • Un botón de comando que guarda en una celda la fecha mostrada en el cuadro. Figura 26. Este formulario muestra en el cuadro de texto la fecha seleccionada en el calendario. Cuando se hace un clic en el botón Cargar, esa fecha se guarda en la hoja. Del cuadro de texto y del botón de comando no tenemos nada que decir. En cuan- to al calendario, se trata de un control MonthView. Para disponer de él en el cuadro de herramientas, tenemos que instalarlo: ■ Formulario con calendario PASO A PASO Cree el formulario propiamente dicho: dentro del editor de Visual Basic, tome las opciones Insertar/Formulario. Abra el cuadro de herramientas con las opciones Ver/Cuadro de herramientas. Tome las opciones Herramientas/Controles adicionales. Aparecerá un cuadro con la lista de controles instalados y sin instalar. 6. CÁLCULOS CON FECHAS Y HORAS 196 www.redusers.com ❘❘❘ Es importante tener en cuenta que la función AHORA() muestra el “momento actual”. Es decir, la fecha y la hora. Su valor cambia cuando pasa el tiempo según el reloj interno de Windows. Po- demos obtener la hora actual con la combinación CONTROL+: (los dos puntos). Pero este valor queda como dato fijo y no cambia con el tiempo. LA HORA ACTUAL 06_Excel revelado.qxp 12/29/09 4:24 PM Page 196
  • 199. En este cuadro, localice y seleccione Microsoft MonthView Control. Haga un clic en Aceptar. Ya podemos insertar el calendario, seleccionándolo del Cuadro de herramientas. Agregamos también un cuadro de texto y un botón de comando. Si hacemos do- ble clic en cualquier fecha, se abrirá la ventana de código asociada al calendario. El código debe tener esta forma: Private Sub Calendario_DateClick(ByVal DateClicked As Date) Fecha.Value = Calendario.Value End Sub Nótese que en este código, Calendario es el nombre del control MonthView y Fecha, el del cuadro de texto. Ahora hacemos doble clic en el botón de comando y completamos su código: Private Sub Cargar_Click() Range(“A1”) = Fecha.Text End Sub Donde Cargar es el nombre elegido para el botón. Ahora solamente resta escribir una macro que invoque el formulario, que debería ser más o menos así: Formulario con calendario 197www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 197
  • 200. Sub Calendario() UserForm1.Show End Sub Esta macro abre el formulario. Cuando hacemos un clic en una fecha determi- nada, ésta se guarda en el cuadro de texto. Y cuando hacemos un clic en el bo- tón, la fecha se guarda en la celda A1. Y aquí llegamos al problema de Raúl: si seleccionamos el 10 de mayo, la fecha que obtenemos en A1 es 5 de octubre. Este problema se debe a que el cuadro de texto guarda la fecha como un texto y la interpreta en formato mes-día. Lo que tenemos que hacer es reconvertir ese texto a fecha antes de guardarla en la hoja. Simple- mente se modifica el código del botón: Private Sub Cargar_Click() Range(“A1”) = CDate(Fecha.Text) End Sub La función CDate (carácter a fecha) lee el texto y lo convierte en fecha. Esa fecha, correctamente interpretada, es la que se guarda en A1. Como puede verse, la respuesta a la consulta es muy simple. Pero la descripción del formulario era lo más interesante. Un problema con el idioma Uso la función TEXTO para concatenar una fecha con un mensaje. En la fun- ción indico el argumento YYYY para que aparezca el año con sus cuatro cifras. Pero parece que, por la configuración del idioma, en algunas máquinas el argumento para el año debe ser AAAA. ¿Cómo puedo independizar la fórmula del idioma requerido en el argumento?. Gracias por tu respuesta. Robert Blanco (Asunción del Paraguay) La expresión que usa Robert es =“Vencimiento el:”&TEXTO(A1; “dd/mm/yyyy”) don- de A1 es una celda que contiene un dato tipo fecha. La función TEXTO lleva dos ar- gumentos entre los paréntesis: • El primero es un valor numérico. En este caso, una fecha. • El segundo es el formato en el que queremos ver el número. 6. CÁLCULOS CON FECHAS Y HORAS 198 www.redusers.com 06_Excel revelado.qxp 12/29/09 4:24 PM Page 198
  • 201. Figura 27. La fórmula de la celda A3 concatena la fecha de A1 con un texto. Usamos la función TEXTO para que la fecha se muestre en el formato adecuado. Esta función se utiliza cuando queremos concatenar un texto con un valor numéri- co y que éste tenga un determinado formato. La función TEXTO no se usa solamente con datos tipo fecha. Por ejemplo, suponga- mos que tenemos un porcentaje en B5 y queremos que en otra celda aparezca un mensaje que diga Rendimiento promedio: 77,12% donde 77,12% es el valor de B5. Podemos usar la expresión =“Rendimiento promedio: ”&TEXTO(B5;“0,00%”). Figura 28. La fórmula de la celda A7 concatena el valor de B5 con un texto. Usamos la función TEXTO para que el valor de B5 se muestre como porcentaje. Si concatenamos simplemente el texto con la celda, el valor perderá su formato. En el caso de la pregunta de Robert, la forma de indicar el formato día-mes-año de- pende de la configuración regional del equipo: en configuraciones en inglés, el año se Un problema con el idioma 199www.redusers.com ❘❘❘ Por defecto, cuando hacemos doble clic en una celda, se habilita la posibilidad de modificar su contenido. Para evitar este comportamiento, debemos ir al Botón de Office y presionar Opciones de Excel. En Avanzadas debemos quitar la marca en la casilla Permitir editar directamente en las celdas. Podremos ingresar a modificar las celdas, si presionamos la tecla F2. EVITAR EL DOBLE CLIC 06_Excel revelado.qxp 12/29/09 4:24 PM Page 199
  • 202. indica con YYYY y, en castellano, con AAAA. Si queremos independizarnos de la con- figuración que tengamos establecida en nuestro equipo podemos armar el texto “ar- tesanalmente”, concatenando día, mes y año. Para eso, debemos escribir la fórmula: =“Vencimiento al:”&DIA(A1)&”/”&MES(A1)&”/”&AÑO(A1). Figura 29. La fórmula de la celda A3 arma la fecha de A1 con el formato adecuado, concatenando día, mes y año. En esta expresión obtenemos día, mes y año con las funciones DIA, MES y AÑO res- pectivamente. Luego concatenamos estos valores con el texto del mensaje, inser- tando convenientemente las barras de separación. ¿Cuál es tu signo? Armé una planilla de tres columnas. En la primera tengo apellido y nombre de una serie de personas. En la segunda, su fecha de nacimiento. En la tercera quiero que salga automáticamente el signo del zodiaco al que pertenece cada persona, de acuerdo con la fecha de nacimiento. Sus revistas me solucionaron un montón de pro- blemas, pero éste no lo encuentro en ninguna parte. Ariel Altamirano Para resolver este problema necesitamos una tabla con las fechas de inicio de ca- da signo. Esta tabla debe tener 13 filas, porque Capricornio aparece dos veces: al comienzo y al final del año. Si suponemos esta tabla en el rango F1:G13, podemos obtener el signo correspondiente a una fecha escrita en la celda B2 con la función =BUSCARV(B2;F1:G13;2). El último argumento de la función indica que el signo 6. CÁLCULOS CON FECHAS Y HORAS 200 www.redusers.com ❴❵ Al trabajar con fórmulas, una buena idea es incluir controles cruzados. Lo importante es que nos den una señal cuando la planilla no está funcionando como deseamos, para generar una protección frente a errores. Por ejemplo, si una celda debe ser llenada obligatoriamente, podemos incluir una fórmula SI en una celda contigua que nos indique cuando ésta se haya completado correctamente. LA IMPORTANCIA DE LOS CONTROLES 06_Excel revelado.qxp 12/29/09 4:24 PM Page 200
  • 203. está en la segunda columna de la tabla. Si la fecha B2 cae entre dos fechas de la ta- bla, la función devolverá el signo correspondiente a la menor de ellas, como debe ser. Pero desafortunadamente hay un problema con los años: el año de la fecha de nacimiento tiene que ser el mismo que el usado para las fechas de la tabla, de lo con- trario la función de búsqueda arroja un error. Figura 30. Las funciones de la columna C encuentran el signo zodiacal de cada persona de la lista, en función de la tabla de la derecha. Para evitar esto, primero convertimos la fecha que hay que encontrar (la que supu- simos en B2) para que tome el año de la tabla. Lo podemos hacer con la función FE- CHA: =FECHA(AÑO(F1);MES(B2);DIA(B2)). Toda esta fórmula debe ir dentro de la función de búsqueda: =BUSCARV(FECHA(AÑO(F$1);MES(B2);DIA(B2));F$1:G$13;2) Los signos $ fijan las referencias a la tabla para que se mantengan al extender la fórmula a toda la lista de fechas. Nunca debemos olvidarnos de estos detalles o nos dará error. Por último, una buena forma de redondear esta planilla es usar la tipografía Windings, que incluye los símbolos correspondientes a cada signo. Para eso, podemos escribir en otra columna el abecedario y aplicarle la fuente Windings. Así sabremos a qué le- tra corresponde el signo del zodíaco que queremos representar. ¿Cuál es tu signo? 201www.redusers.com ✱ Cuando trabajamos con sumas, promedios o conteos con condiciones, es fundamental fijar par- te de las referencias, utilizando el carácter $ o presionando la tecla de funciones F4, hasta que hallemos la opción deseada. De esta forma nos aseguraremos que, al realizar copias de las fór- mulas introducidas, los cálculos sigan siendo los correctos. FIJAR LAS CELDAS 06_Excel revelado.qxp 12/29/09 4:24 PM Page 201
  • 204. Figura 31. Algunas letras minúsculas, aplicándoles tipografía Windings, muestran los signos del zodiaco. 6. CÁLCULOS CON FECHAS Y HORAS 202 www.redusers.com … RESUMEN Estos cálculos cronológicos son un caso particular de las operaciones matemáticas normales en Excel. La única diferencia es que los datos representan un tiempo. Para entender estos cálculos solamente hay que tener claro el concepto de “número de serie”. Todo lo demás sale como consecuencia de esta idea. 06_Excel revelado.qxp 12/29/09 4:24 PM Page 202
  • 205. Operaciones con bases de datos Eliminar blancos 206 Función BDCONTARA 207 La función TABLA 209 Ordenar por terminación 211 Extraer datos 215 Extraer lista 219 Filtrar varias hojas 223 Datos desde la Web 224 Capítulo 7 Las bases de datos son un tipo especial de planillas de Excel. Se trata de listas, con datos en columnas, cada una con un tipo de dato determinado. Normalmente, las operaciones sobre este tipo de planillas consisten en ciertas manipulaciones de los datos: ordenarlos, copiarlos a otro lugar, extraer cierta información. En este capítulo veremos cómo realizar algunas de ellas. EXCEL REVELADO SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 203
  • 206. Carga rápida En una columna escribo un código de afiliado. Es un dato alfanúmerico de mu- chas letras y números y a veces tengo que escribirlo hasta seis o siete veces en la misma lista. ¿Hay alguna forma de repetir el número sin tipearlo? Ricardo Martínez (Aguilares, provincia de Tucumán) Para resolver este problema podemos usar la opción de autocompletar: cuando agregamos un dato en una columna, podemos desplegar una lista de los valores anteriores, ordenados alfabéticamente, y hacer un clic (u oprimir ENTER) sobre el dato que queremos repetir. Para eso hay varias opciones, pero la más simple es oprimir la combinación ALT+FLE- CHA ABAJO. Esta combinación de teclas es el atajo correspondiente a la opción Ele- gir de la lista desplegable, dentro del menú contextual de la celda (el que aparece cuando hacemos un clic derecho sobre la celda). Figura 1. Oprimiendo la combinación ALT+FLECHA ABAJO se descuelga una lista de los valores cargados hasta el momento en la columna, ordenados alfabéticamente. Es importante la aclaración del lector, en cuanto a que los códigos son alfanuméricos (combinaciones de letras y números): la lista desplegable no aparece si los datos son nu- méricos.La siguiente pregunta planeta un problema relacionado con esta opción. 7. OPERACIONES CON BASE DE DATOS 204 www.redusers.com ✱ Cada miembro de una base de datos (un libro en un catálogo, un artículo en una lista de precios, un trabajador en un listado de personal) ocupa una fila de la hoja. A estas filas se las llama regis- tros. Una base de datos de Excel tiene una fila por registro más una fila adicional para los títulos. REGISTROS 07_Excel revelado.qxp 12/29/09 4:25 PM Page 204
  • 207. Autocompletar Uso mucho la combinación ALT+FLECHA ABAJO para desplegar una lista de los valores escritos en una columna. Pero eso solamente funciona en la primera cel- da libre. ¿Cómo puedo hacer lo mismo si quiero escribir un dato cuando hay celdas en blanco en medio de la lista?. Te agradezco por la ayuda. Robert Blanco (Asunción, Paraguay) Efectivamente, y tal como se explica en la pregunta anterior, si tenemos una columna con varios datos, la combinación ALT+FLECHA ABAJO despliega una lista con los datos ya cargados (ver la consulta anterior). Nosotros podemos recorrer esa lista y darle en- trada a alguno de ellos. Es muy útil si tenemos que escribir el mismo dato varias veces. El problema, tal como indica Robert, es que la lista no se despliega si tenemos el cursor más abajo de la primera celda libre de la columna de datos. Por ejemplo, si tenemos una serie de datos en A1:A10 y oprimimos la combinación ALT+FLECHA ABAJO con el cursor en A11, se despliega la lista. Pero si el cursor lo tenemos en A12, o más abajo, la lista no se despliega. El mismo efecto se obtiene haciendo un clic derecho sobre la celda y tomando la opción Elegir de la lista desplegable. Figura 2. La opción Elegir de la lista desplegable despliega una lista con los datos escritos en la columna actual. Es equivalente a la combinación ALT+FLECHA ABAJO. Una solución consiste en rellenar con un espacio en blanco suficientes celdas de- bajo de la de datos. Para esto no es necesario escribirlos uno por uno. Podemos hacerlo seleccionando todas las celdas vacías, escribir el espacio y luego darle en- trada con la combinación CONTROL+ENTER. Esto ingresa el dato (en este caso, el espacio) en todas las celdas seleccionadas. Autocompletar 205www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 205
  • 208. Ahora, con ALT+FLECHA ABAJO se desplegará la lista de datos anteriores en cualquier celda por debajo del último dato cargado y hasta la fila 1000. Eliminar blancos Tengo una lista de datos en la columna A. Algunas celdas de la lista están en blanco y quiero obtener una segunda lista con los mismos datos, pero todos conti- guos, sin celdas vacías en el medio. No sé cómo resolverlo. Aníbal Kacero (Buenos Aires) Este problema consiste en seleccionar las celdas no vacías de la lista para copiarlas y luego pegarlas en otra columna. Ésta es una posible solución (hay otras): ■ Eliminar blancos PASO A PASO Seleccione la columna de datos. Tenga en cuenta que esta selección incluirá las celdas ocupadas y las vacías. Oprima la tecla F5. Aparecerá un cuadro con distintas opciones. Haga un clic en Especial.... Aparecerá otro cuadro. Marque la opción Constantes. Haga un clic en Aceptar. Figura 3. Con la opción Constantes, dentro de Ir a Especial, quedan seleccionadas las celdas no vacías del rango seleccionado originalmente. 7. OPERACIONES CON BASE DE DATOS 206 www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 206
  • 209. Esto deja seleccionadas solamente las celdas ocupadas con datos. Ahora las pode- mos copiar y pegar en otra columna. Con esto obtenemos una segunda lista con los mismos datos que la primera, pero sin celdas vacías intermedias. Función BDCONTARA Uso la función BDCONTARA para contar datos en una base de datos. ¿Se pue- den usar rangos múltiples en el rango de criterio? Por ejemplo, quiero contar los regis- tros correspondientes a una determinada región y que tengan un importe menor a 1000. Christian Macedo Aliaga (Lima, Perú) La función BDCONTARA cuenta, dentro de una lista, los registros que cumplan con cierto criterio. Por ejemplo, sea tener en A1:C13 una lista de tres columnas: Nombre, Región e Importe, queremos contar los registros para los cuales la región es Sur. Pri- mero tenemos que preparar un rango auxiliar de dos celdas: • En E1, el nombre del campo sobre el que se aplica el criterio. En este caso, Región. • En E2, el valor que debe tener el campo para cumplir el criterio. En este caso, Sur. Figura 4. La función de la celda E4 cuenta cuántos registros de la base de la izquierda cumplen con el criterio indicado en el rango E1:F2. Es decir, región Sur e importe menor que 1000. Función BDCONTARA 207www.redusers.com ❘❘❘ Cada miembro de una base de datos tiene distintas propiedades. En el caso de un catálogo de li- bros esas propiedades serían el título del libro, el nombre del autor, la editorial, la cantidad de pá- ginas, etcétera. A estas propiedades, que ocupan las columnas de la base, se las llama campos. CAMPOS 07_Excel revelado.qxp 12/29/09 4:25 PM Page 207
  • 210. Para contar los nombres que, dentro de la base original, cumplen con este criterio es- cribimos: =BDCONTARA(A1:C13;1;E1:E2). Hay tres argumentos entre los paréntesis: • El primero es el rango de la base de datos. • El segundo es el campo cuyos datos se cuenta. Puede ser el nombre del campo, entre comillas, su celda o, como en este caso, su número de orden. • El tercero es el rango donde se aplicó el criterio. El criterio puede ser una relación de mayor o menor. Por ejemplo, para contar los registros cuyo importe es menor que 1000 el rango de criterios debe ser: • En E1, el nombre del campo. En este caso, Importe. • En E2, la condición. En este caso, 1000. Si, como pide la pregunta, se quiere contar los registros que cumplen dos condi- ciones, simplemente se escribe el rango de criterios con tantos pares de celdas como condiciones haya. Para contar los registros de la región Norte con importes meno- res a 1000 el rango tendrá cuatro celdas: • En E1, Región. • En E2, Norte. • En F1, Importe. • En F2, 1000. La función será =BDCONTARA(A1:C13;1;E1:F2). Nótese que este criterio exige que se cumplan ambas condiciones. Para contar los registros que cumplan una u otra con- dición, indistintamente, las condiciones deberán estar en filas separadas: • En E1, Región. • En E2, Norte. • En F1, Importe. • En F3, 1000. 7. OPERACIONES CON BASE DE DATOS 208 www.redusers.com ❘❘❘ Las funciones BD como BDCONTARA realizan distintas operaciones sobre los registros de una base de datos que cumplen una condición. Todas tienen la misma sintaxis: el primer argumen- to es el rango de la base; el segundo, la columna sobre la cual se hace la operación; el tercero, el rango de criterios que determina los registros que intervienen en la operación. FUNCIONES BD 07_Excel revelado.qxp 12/29/09 4:25 PM Page 208
  • 211. La celda F2 quedará vacía y la función será =BDCONTARA(A1:C13;1;E1:F3). Este “conteo condicional” se puede hacer también combinando la función SUMA con la función SI. Para obtener algunos ejemplos sobre este tipo de fórmulas pode- mos consultar los capítulos sobre Funciones especiales y Cálculos con fechas y horas. La función TABLA He visto planillas con la función TABLA, pero no puedo ejecutarla. Me gusta- ría saber cómo se usa y para qué sirve. Ricardo Botero G. (Medellín, Colombia) En realidad, TABLA no es una función como todas: no la escribimos nosotros, como ocurre normalmente con todas las funciones de Excel, sino que aparece au- tomáticamente al usar cierta opción de análisis de datos. Esta opción se activa de manera diferente en Excel 2007 y en las versiones anteriores. Por ejemplo, supongamos que estamos fabricando un producto con ciertos insumos locales y otros importados. Sobre estos últimos se aplica un impuesto especial. El precio de venta del producto es fijo, determinado por el mercado. Obviamente, cuanto más alta sea la tasa de impuesto, menor será nuestro margen de ganancia. Calcular este margen para un determinado valor del impuesto es fácil, pero quere- mos obtener una tabla que nos dé los valores de la ganancia para distintos valores de tasa de impuesto, es decir tanto para los insumos locales como los importados. Y todo debe resolverse en una sola operación. Figura 5. La fórmula de la celda B9 calcula el margen según la tasa de impuesto indicada en B5. Excel calculará el margen para cada una de las tasas del rango D2:D10. En nuestra planilla la tasa de impuesto está en B5. El margen se calcula en B9. Te- niendo en cuenta esto, buscamos un rango auxiliar y armamos una tabla para ob- tener la variación buscada. Supongamos que este rango es D1:E10: La función TABLA 209www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 209
  • 212. • En D2:D10, primera columna del rango, pero a partir de la segunda fila, escribimos los valores de la tasa de impuesto. Por ejemplo 9,0%, 9,5%, 10,0%, etcétera. • En E1, primera celda de la segunda columna, escribimos la fórmula =B9. Es decir, “invocamos” la celda donde calculamos el margen. Una vez creada esta tabla, le vamos a pedir a Excel que la complete: ■ Análisis de datos PASO A PASO Seleccione la tabla auxiliar. Desde la celda en blanco en su esquina superior izquierda, hacia abajo para todas las tasas y sus dos columnas. Seleccione la ficha Datos de la cinta de opciones. Haga un clic en el botón Análisis y si y luego en la opción Tabla de datos. Aparecerá un cuadro con dos opciones. Donde dice Celda de entrada columna, indique B5. Los valores de la columna representan la tasa de impuesto y, en la planilla del ejemplo, esa tasa está en B5. Haga un clic en Aceptar. Figura 6. En este cuadro le indicamos a Excel la información necesaria para completar la tabla del rango D1:E10. En Excel 2003 y en las versiones anteriores, el cuadro de la Figura 6 aparece con las opciones Datos/Tabla. Como sea, de esta manera Excel completará la tabla cal- culando los valores que adoptaría la celda B9 si reemplazáramos la celda B5 con 7. OPERACIONES CON BASE DE DATOS 210 www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 210
  • 213. cada uno de los valores de la primera columna de la tabla. Si ponemos el cursor en alguno de los valores obtenidos, la barra de fórmulas mostrará una función TABLA. Nosotros no escribimos la función ni podemos modificarla. Este coman- do responde a la pregunta “¿qué pasaría si…?”. En este caso, ¿qué pasaría con el margen si la tasa de impuesto fuera otra? Figura 7. La tabla de la derecha da los distintos valores del margen de ganancia, para distintas tasas de impuesto. Nótese la función {TABLA} en la barra de fórmulas. Ordenar por terminación Tengo una lista de personas, con nombre y número de documento. ¿Cómo puedo ordenarla según el último dígito del documento? Marcelo Maldonado (provincia de Formosa) Se puede ordenar una lista por cualquier criterio, siempre que el dato figure en la lista. En el caso que plantea la consulta, se necesita un rango auxiliar con el último dígito del documento. Supongamos que la lista tiene dos columnas: Nombre en la A y Documento en la B, con la primera fila ocupada por los títulos. Entonces, en C2, a la derecha del primer dato, escribimos =DERECHA(B2;1). Esta fórmula, extendida a toda la lista, extrae el primer dígito del número de documento, comenzando des- de la derecha. O, lo que es lo mismo, extrae el último dígito. Una vez obtenido es- te dígito en la columna C, ordenamos la lista según el contenido de esta columna. Ordenar por terminación 211www.redusers.com ❘❘❘ Para escribir el código de macros y funciones hay que abrir el editor de Visual Basic. En Excel 2007 lo hacemos con el botón Visual Basic de la ficha Programador de la Cinta de opciones. En las versiones anteriores, con las opciones Herramientas/Macro/Editor de Visual Basic. Y, en cual- quier versión, con la combinación ALT+F11. MACROS Y FUNCIONES 07_Excel revelado.qxp 12/29/09 4:25 PM Page 211
  • 214. Figura 8. Las fórmulas de la columna C extraen el primer carácter del dato de la columna B, comenzando desde la derecha. O sea, el último dígito. Los que prefieran un tratamiento matemático pueden probar otra solución. Consi- derando que el número de documento es un dato numérico, otra forma de obtener el último dígito es dividiendo por 10 y quedándonos con el resto. Podemos hacer- lo con la función =RESIDUO(B2;10). Los dos argumentos de esta función son el di- videndo y el divisor para los cuales queremos calcular el resto. Figura 9. Las fórmulas de la columna C calculan el resto que se obtiene al dividir por 10 el valor de la columna B, comenzando desde la derecha. Es otra forma de separar el último dígito. 7. OPERACIONES CON BASE DE DATOS 212 www.redusers.com ❘❘❘ Además de la función RESIDUO, otra forma de obtener el resto de la división es con la expresión =A1- A2*ENTERO(A1/A2), donde A1 es el dividendo y A2 es el divisor. Es la fórmula que había que usar en los primeros programas de hojas de cálculo, donde solamente había funciones muy básicas. RESTO DE LA DIVISIÓN 07_Excel revelado.qxp 12/29/09 4:25 PM Page 212
  • 215. Recuperar hipervínculo Tengo una planilla con un listado de personas con hipervínculos que contie- nen sus direcciones de correo electrónico, pero que muestran los nombres de las per- sonas. ¿Cómo hago para exportar la lista a una base de datos? De todas las formas que probé obtengo los nombres y no las direcciones, que es lo que me interesa. Guillermo R. Pujol (Buenos Aires) La historia de la planilla de Guillermo comienza con una serie de direcciones de correo electrónico escritas en una columna. Excel reconoce esas direcciones y las guarda como hipervínculos de modo que, haciendo un clic en esa celda, es decir en el hipervínculo (Figura 10), automáticamente se abre el programa de correo electrónico que tengamos configurado en nuestro equipo, con una ventana de mensaje, listo para ser enviado a esa dirección. Figura 10. La columna A contiene hipervínculos. Si hacemos un clic sobre alguna de estas celdas se abrirá el programa de correo electrónico con una ventana de mensaje dirigida a la dirección del hipervínculo. Luego, se puede modificar cada hipervínculo para que muestre el nombre de la per- sona a quien pertenece esa dirección, de la siguiente manera: ■ Modificar hipervínculo PASO A PASO Seleccione la ficha Insertar de la Cinta de opciones. Con la celda seleccionada, haga un clic en el botón Hipervínculo. Donde dice Texto, escriba el nombre correspondiente. Haga un clic en Aceptar. Recuperar hipervínculo 213www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 213
  • 216. Figura 11. En este cuadro indicamos un texto que se verá en la celda, sin alterar el hipervínculo propiamente dicho. En Excel 2003 y en las versiones anteriores, el cuadro de la Figura 11 aparece con las opciones Edición/Modificar hipervínculo. Luego de estas operaciones, cambia el aspecto de la celda pero su contenido sigue siendo un hipervínculo: si hacemos clic en ella, se genera el mensaje como antes. Pero en la celda vemos un nombre, lo que es más elegante. El problema es que, si exportamos esa celda a un archivo de texto (grabando la ho- ja como TXT o copiando y pegando los datos), lo que obtenemos es el nombre. Ne- cesitamos alguna forma de recuperar la dirección encerrada en el hipervínculo. Aunque no conocemos ninguna función para eso, podemos crearla. En el editor de VBA copiamos el siguiente código: Function Correo(x) Correo = x.Hyperlinks(1).Address Correo = Mid(correo, 8) End Function Esta función extrae de la celda la dirección del hipervínculo con la propiedad Hyperlinks.Address. Como esta dirección queda precedida por mailto:, aplicamos la función Mid que separa las letras del hipervínculo, a partir de la octava posición (mailto: tiene siete caracteres). En principio, la función Mid tiene tres argumentos: 7. OPERACIONES CON BASE DE DATOS 214 www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 214
  • 217. • El primero es el texto del cual vamos a extraer los caracteres. • El segundo es la posición a partir de la cual se hace la extracción. • El tercero es la cantidad de caracteres que se extraen. Si se omite el último argumento (como en el caso de nuestra macro), la función ex- trae todos los caracteres hasta el final. Ahora podemos usar la función en la planilla como cualquier otra función de Excel. Figura 12. Las fórmulas de la columna B extraen las direcciones de los hipervínculos de la columna A con una función creada especialmente en el editor de Visual Basic. Por ejemplo, si los hipervínculos están en el rango A1:A10, en B1 escribimos la fun- ción =Correo(A1) y la extendemos a toda la lista. Ahora podemos exportar esta co- lumna auxiliar y recuperar las direcciones. Extraer datos Tengo una planilla con la lista de los goleadores del fútbol argentino, desde 1931 hasta hoy. Uso una función BUSCARV para obtener el nombre del goleador para una temporada dada, pero si en ese año hubo dos o más jugadores que comparten el título de goleador, la función solamente me trae el primero. ¿Cómo hago para ob- tenerlos a todos?. Muchas gracias por tu ayuda. Roberto Padula (Buenos Aires) No hay (todavía) una función como BUSCARV que traiga todos los datos que con- cuerden con un determinado criterio de búsqueda. Pero, para estos casos pode- mos usar un filtro avanzado, como veremos a continuación. Extraer datos 215www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 215
  • 218. Por ejemplo, supongamos que la tabla de goleadores (con año, nombre, equipo y cantidad de goles) ocupa el rango A1:D150, con los títulos en la primera fila. Necesitamos dos rangos auxiliares: • En la celda F1 escribimos el nombre del campo que contiene el año. • En la celda F2 escribimos el año para el cual queremos conocer el goleador (o los goleadores). Estas dos celdas serán el rango de criterio. • En el rango F5:H5 escribimos los nombres de los campos que nos interesa traer. Este será el rango de salida. Figura 13. A partir del rango F5:H5 queremos obtener los registros de la tabla de la izquierda que corresponden al criterio indicado en F1:F2. Es decir, que correspondan al año 1943. Una vez preparados todos estos rangos, le pedimos a Excel que haga la búsqueda con un filtro avanzado, siguiendo los pasos que describimos a continuación: ■ Filtro avanzado (1) PASO A PASO Seleccione la ficha Datos de la Cinta de opciones. A continuación, con el cursor en cualquier celda de la base de datos, haga un clic en el botón Avanzadas. En la casilla que dice Rango de la lista: indique el rango de la base de datos propiamente dicha. Donde dice Rango de criterios: indique el rango F1:F2. Marque la opción Copiar a otro lugar. 7. OPERACIONES CON BASE DE DATOS 216 www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 216
  • 219. Datos comunes 217www.redusers.com En el casillero que dice Copiar a: indique el rango F5:H5, donde había escrito los nombres de los campos. Haga un clic en Aceptar. Figura 14. Con estas opciones le pedimos a Excel que busque nombre, equipo y cantidad de goles para el año indicado en F2. En Excel 2003 y en las versiones anteriores, el cuadro de la Figura 14 aparece con las opciones Datos/Filtro/Filtro avanzado. Si todo sale bien, Excel copiará, a continuación del rango de salida, los registros que satisfacen el criterio indicado. En este caso, nombre, equipo y cantidad de goles pa- ra los goleadores del año indicado en la celda F2. Ciertamente, como sucede mu- chas veces, la solución es más simple que su explicación. Datos comunes Si tengo dos listas de datos, ¿cómo hago para obtener una tercera lista con los datos comunes a ambas?. Gracias por la respuesta. Eduardo Alfonso Bermúdez Mojica (México) Este problema se puede resolver con un filtro avanzado. Por ejemplo, suponga- mos que la primera lista ocupa el rango A1:A10 de nuestra planilla y la segunda, el rango C1:C10. Para que todo funcione correctamente, es preciso que ambas lis- tas tengan el mismo título. En una celda auxiliar (por ejemplo, E1) escribimos ese título. Ahora aplicamos el filtro avanzado. 07_Excel revelado.qxp 12/29/09 4:25 PM Page 217
  • 220. Figura 15. Queremos obtener, a partir de E1, los datos comunes a estas dos listas. ■ Filtro avanzado (2) PASO A PASO Seleccione la ficha Datos de la cinta de opciones. Con el cursor en cualquier celda de la base de datos, haga un clic en el botón Avanzadas. Aparecerá un cuadro con el rango de la primera lista seleccionado en la opción Rango de la lista:. Marque la opción Copiar a otro lugar. Dentro de Rango de criterios: seleccione la segunda lista. Donde dice Copiar a: seleccione la celda auxiliar donde había escrito el título. Haga un clic en Aceptar. Figura 16. Con estas opciones obtenemos en E1 una lista con los datos comunes a las dos listas de la izquierda. 7. OPERACIONES CON BASE DE DATOS 218 www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 218
  • 221. En Excel 2003 y en las versiones anteriores, el cuadro de la Figura 16 aparece con las opciones Datos/Filtro/Filtro avanzado. Si todo salió bien, los datos comunes a ambas listas de artículos aparecerán bajo la celda auxiliar, como se ve en la Figura 17. Figura 17. Una vez completada la extracción mediante el filtro avanzado, obtenemos en E1 la lista de datos comunes a las dos listas de la izquierda. Extraer lista Uso una planilla Excel para tomar lista en mi curso. En la fila de cada alumno pongo una P (presente) o una A (ausente) según corresponda. ¿Cómo hago para ob- tener una lista con los ausentes, para luego imprimirla? Oscar Osvaldo Guzmán (Pampa del Infierno, provincia del Chaco) La forma más directa de resolver el problema que plantea Oscar es con un auto- filtro. Recordemos que los autofiltros se activan poniendo el cursor en cualquier celda de la lista y luego haciendo un clic en el botón Filtro de la ficha Datos. En las versiones de Excel anteriores a la 2007 se activan con las opciones Datos/ Filtro/Autofiltro. Luego de estas opciones aparecerá una flechita junto a cada Extraer lista 219www.redusers.com ❘❘❘ Una base de datos de Excel puede tener tantos registros como filas tiene una planilla (menos una: hay que contar la fila de títulos). En Excel 2007 eso es más de un millón de registros. En Ex- cel 2003 y en las versiones anteriores, el límite es 65535. Sin embargo, la cantidad de datos pue- de estar limitada por la memoria del equipo. CANTIDAD DE REGISTROS 07_Excel revelado.qxp 12/29/09 4:25 PM Page 219
  • 222. columna. Esas flechitas son, precisamente, los autofiltros. Si hacemos un clic en el autofiltro correspondiente a la columna donde están las letras A y P, aparecerá un cuadro con diversas opciones entre las que se encontrarán los distintos valores de esta columna. Marcando la opción correspondiente a la A (y desmarcando las demás), la lista se contraerá mostrando solamente las alumnos que tengan una A en la columna indicada (Figura 18). Finalmente, podemos imprimir la lista nor- malmente, como quiere el lector. Figura 18. Marcando la opción A, y un clic en Aceptar, la lista mostrará solamente los alumnos ausentes. Luego podemos hacer clic en la opción Todas para ver nuevamente la lista completa. En Excel 2003 y en las versiones anteriores, los autofiltros funcionan en forma li- geramente diferente. Al hacer clic en la flechita, se descuelga una lista con los dis- tintos valores de la columna. Haciendo un clic en el valor deseado, la lista original se contraerá mostrando solamente los registros que tienen este valor. 7. OPERACIONES CON BASE DE DATOS 220 www.redusers.com ❴❵ En las primeras versiones de Excel, a los autofiltros se los llamaba filtros automáticos. Las versiones originales (para DOS) de Lotus 1-2-3, Multiplán y Quattro Pro no tenían una opción equivalente y solamente admitían el uso de filtros avanzados. Por eso no se acostumbraba ma- nejar bases de datos con planillas de cálculo. AUTOFILTROS 07_Excel revelado.qxp 12/29/09 4:25 PM Page 220
  • 223. Figura 19. Con un clic en la A, la lista mostrará solamente los alumnos ausentes. Luego podemos hacer clic en la opción Todas para ver nuevamente la lista completa. Esta imagen corresponde a Excel XP. Luego de trabajar con la base de datos, si queremos recuperar la lista completa, ha- cemos un clic en el botón Borrar de la ficha Datos. En Excel 2003 y en las versiones anteriores, tomamos las opciones Datos/Filtro/Mostrar todo. Problema con autofiltro Tengo un problema con los autofiltros: no importa qué criterio aplico, pero siem- pre me deja afuera al último registro, cumpla o no con el criterio. ¿Podés ayudarme? Ignacio Zavalía (Azul, provincia de Buenos Aires) Este tipo de problema puede aparecer cuando se agregan registros luego de activar un autofiltro: Excel no reconoce los nuevos registros y no los toma en cuenta cuan- do aplica un criterio de filtrado. Una forma de resolverlo es cancelar los autofiltros y volverlos a activar. Sin embargo, esto no resolvió el problema de Ignacio. Figura 20. La función SUBTOTALES calcula el importe total para los registros visibles tras aplicar un autofiltro. En este caso, los de la región Sur. Problema con autofiltro 221www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 221
  • 224. Analizando la planilla encontramos el error: en una de las columnas de la tabla se usaba la función SUBTOTALES para calcular la suma de los valores de las tres colum- nas anteriores. Esta función realiza diversas operaciones de sumarización (suma, cuenta, promedia, etcétera) dentro de bases filtradas. Por alguna razón, la función SUBTOTALES confunde al autofiltro en la forma que nos cuenta Ignacio. Cualquiera sea el cálculo que queramos realizar, lo podemos hacer con otra función menos conflictiva que la que acabamos de utilizar, especialmente a la hora de usar autofiltros. En el caso de Ignacio, podemos usar la función SUMA. Filtros múltiples ¿Cómo hago para filtrar varias tablas en forma independiente? Quiero aplicar un autofiltro en una segunda tabla sin perder el de la anterior. Aclaro por las dudas que todas las tablas están en una misma hoja. Ricardo Martínez (provincia de Tucumán) Lo sentimos pero, hasta donde sabemos (pero no lo sabemos todo) no se pueden manejar bases de datos independientes en una misma hoja: cuando pretendemos ac- tivar los autofiltros en una segunda tabla, el resultado es desactivar el de la anterior. Figura 21. Tenemos autofiltros activados en la tabla de la izquierda. Si pretendemos activarlos también en una segunda tabla en la misma hoja, se desactivan los de la primera. Lamentablemente, esta situación se mantiene en Excel 2007, donde los autofiltros se activan con el botón Filtros (el embudo) dentro de la ficha Datos de la Cinta de opciones. Esperamos que en la futura versión de Excel aparezca una solución al pro- blema que plantea Ricardo, y que muchos estamos esperando. 7. OPERACIONES CON BASE DE DATOS 222 www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 222
  • 225. Filtrar varias hojas Tengo una planilla con tres hojas. En cada una hay una lista de personas con distintos datos. Quiero aplicar un filtro de modo de ver los datos de la misma perso- na en todas las hojas. Por ejemplo, si en la Hoja1 aplico un filtro para ver los datos de Pérez, quiero que el filtro se aplique en forma automática en las otras dos. Eduardo Berguño (Buenos Aires) Podemos hacer esto con una macro. Supongamos que las listas ocupan el rango A1:C10 en las tres hojas, con los apellidos en la columna A. Figura 22. En este libro tenemos tres bases de datos en otras tantas hojas. Queremos establecer un filtro en la primera y que este criterio se aplique automáticamente a todas las demás. Activamos los filtros en todas las hojas con el botón Filtro de la ficha Datos de la cinta de opciones (en Excel 2007) o con las opciones Datos/Filtro/Autofiltro (en las versiones anteriores). Luego de aplicar un criterio de filtrado en la primera hoja, ejecutamos la siguiente macro: Sub Filtros() criterio = Range(“A1”).End(xlDown).Value For i = 2 To 3 Sheets(i).Select Filtrar varias hojas 223www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 223
  • 226. Selection.AutoFilter Field:=1, Criteria1:= criterio Next End Sub La instrucción Range(“A1”).End(xlDown).Value equivale a comenzar en la celda A1 y, a partir de ahí, bajar hasta la última celda ocupada en esa columna. Este valor es el que corresponde al criterio de filtrado. La macro lo guarda en una va- riable llamada criterio. Luego recorre las demás hojas del libro y aplica el mismo criterio en la columna respectiva de cada hoja. Para que todo funcione correcta- mente, la macro debe ejecutarse cada vez que cambiamos el criterio de filtrado. Sin embargo, no funciona con criterios que no son “de igualdad”. Por ejemplo: “apellido comienza con C” o “sueldo mayor que 1000”. Datos desde la Web Estoy armando una planilla para hacer presupuestos de armado de PC. Co- mo algunos insumos tienen precios en dólares y otros en pesos, tengo que hacer la conversión antes de calcular el precio total. ¿Hay alguna forma de tomar la cotización del dólar en forma automática desde un sitio web sin tener que escribirla cada vez? Manuel Fernández Este problema puede resolverse con una consulta web, que son rangos conectados a una página web y que pueden actualizarse automáticamente. Figura 23. Los precios en pesos de la columna C se calculan a partir de los precios en dólares de la columna B y la cotización de la celda C3. 7. OPERACIONES CON BASE DE DATOS 224 www.redusers.com 07_Excel revelado.qxp 12/29/09 4:25 PM Page 224
  • 227. ■ Consulta web PASO A PASO Seleccione la ficha Datos de la cinta de opciones. Haga un clic en el botón Obtener datos externos y luego en Desde web. Aparecerá un cuadro donde deberá indicar la dirección de la página donde tomará la cotización. Por ejemplo, www.cotizacion-dolar.com.ar. Haga un clic en el botón Ir. Aparecerá la página dentro del cuadro (que es como un pequeño navegador), con sus distintas regiones señaladas con una flecha amarilla. Seleccione la flecha correspondiente a la región donde está el dato buscado. En este caso, la cotización. Haga clic en Importar. Excel preguntará dónde quiere pegar los datos importados. Indique una celda adecuada y haga un clic en Aceptar. Figura 24. Este cuadro funciona como un navegador dentro de Excel. Podemos seleccionar cualquier tabla dentro de la página indicada y pegarla en la planilla. Datos desde la Web 225www.redusers.com ❘❘❘ Si no sabemos cuántas hojas tiene un libro, lo podemos averiguar fácilmente a través de una macro con la expresión Sheets.Count. En general, la propiedad Count, aplicada a un conjun- to, da la cantidad de elementos en ese conjunto. Por ejemplo, Workbooks.Count dice cuántos libros hay abiertos en este momento. CANTIDAD DE HOJAS 07_Excel revelado.qxp 12/29/09 4:25 PM Page 225
  • 228. En Excel 2003 y en las versiones anteriores, el cuadro de la Figura 24 aparece con las opciones Datos/Obtener datos externos/Nueva consulta web. La tabla seleccionada en el Paso 4 se pegará en la dirección indicada en el último pa- so. En nuestro caso, indicamos A1, por lo que la cotización del dólar quedó pegada en C3. Las fórmulas de la planilla deberán tomar la cotización de esta celda. Por ejemplo, un precio expresado en dólares en B8 se pasa a pesos con =B8*C3. La próxima vez que queramos leer la cotización del dólar no necesitamos repetir to- do el proceso. Simplemente ponemos el cursor en A1 (o la dirección que hayamos indicado) y hacemos un clic en el botón Actualizar todo de la ficha Datos. En las ver- siones anteriores de Excel usamos las opciones Datos/Actualizar datos. Figura 25. Con esta opción actualizamos los datos tomados mediante la consulta web. Tenemos que estar conectados a Internet para que la actualización sea posible. 7. OPERACIONES CON BASE DE DATOS 226 www.redusers.com … RESUMEN En los primeros programas para planillas de cálculo, las opciones para manejo de bases de datos eran muy básicas y engorrosas de usar. Actualmente, Excel incorpora comandos y opciones que lo hacen una herramienta muy poderosa para este tipo de operaciones. La complejidad de los problemas resueltos en este capítulo es una muestra de ello. 07_Excel revelado.qxp 12/29/09 4:25 PM Page 226
  • 229. Macros Las macros en Excel 2007 228 Macro a plazo fijo 236 Barra de progreso 245 Validar respuestas 253 Rango variable 261 Generador de exámenes 265 Argumentos opcionales 271 Elegir imágenes 278 Capítulo 8 Muchas veces queremos hacer algo y no encontramos el comando adecuado, tal vez sea hora de diseñar nuestros propios comandos. Estos se llaman macros y crearlos requiere conocer muy bien Excel y tener algunas nociones básicas de programación. Cuanto más sepamos de ambos temas, más poderosas, útiles e interesantes serán las macros que podamos crear. En este capítulo tenemos de todo: macros muy simples “que se explican solas” y macros más complejas y avanzadas. EXCEL REVELADO SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 227
  • 230. LAS MACROS EN EXCEL 2007 Como en otros temas, Excel 2007 introdujo algunas modificaciones en el manejo de macros. En primer lugar, sus comandos y opciones asociados se encuentran en la ficha Programador de la Cinta de opciones. Esta ficha no aparece inicialmente en la instalación estándar de Excel y hay que activarla: ■ Obtener la ficha Programador PASO A PASO Haga un clic en el Botón de Office y luego en Opciones de Excel. Sobre el panel de la izquierda, seleccione la categoría Más frecuentes. Dentro de Opciones principales para trabajar en Excel marque la opción Mostrar ficha Programador en la cinta de opciones. Haga un clic en Aceptar. Figura 1. Con esta opción activamos la ficha Programador, que contiene los comandos necesarios para trabajar con macros. 8. MACROS 228 www.redusers.com ❘❘❘ Una macro es como un súper comando, una instrucción que realiza, en una única acción, un conjunto de operaciones que, normalmente, requiere de varios pasos, comandos y opciones de Excel. De esta manera, en el momento de aplicar la macro, se ejecutarán todas las operacio- nes asignadas a ella. En este capítulo veremos unos cuantos y variados ejemplos. MACROS 08_Excel revelado.qxp 12/29/09 4:26 PM Page 228
  • 231. Luego de completar esta operación aparecerá la ficha Programador en la Cinta de opciones (Figura 2). La ficha seguirá apareciendo cada vez que iniciemos Excel, no hay que activarla en cada nueva sesión. Figura 2. Ésta es la ficha Programador. El primer botón abre el editor de Visual Basic que es donde se escribe el código de las macros. Independientemente de la versión de Excel que estemos usando, valen los mismos atajos de teclado para trabajar con macros: • Con la combinación ALT+F11 abrimos el editor de Visual Basic. • Con la combinación ALT+F8 aparece el cuadro con las macros actualmente dispo- nibles en nuestra planilla. Si no tenemos ninguna éste aparecerá vacío. Otra diferencia importante que establece Excel 2007 en el tema macros es que, si no indicamos lo contrario, los libros que contienen macros se guardan con un for- mato diferente y no son compatibles con las versiones anteriores de Excel. Ahora sí, pasemos a las preguntas de los lectores. Botones de macro Hice un sistemita con varias macros que ejecuto con botones tomados de la barra de herramientas Formularios. ¿Es posible cambiar el color de esos botones? Pu- de cambiar el texto, pero no el color. Miguel Ángel Moreiras (Choele Choel, provincia de Río Negro) Antes de intentar la respuesta que nos pide Miguel Ángel, es necesario repasar al- gunos conceptos. Para empezar, hay varias formas de ejecutar una macro: Botones de macro 229www.redusers.com ❘❘❘ El grabador de macros funciona como un asistente que escribe la macro por nosotros. Podemos usarlo para averiguar el código correspondiente a una determinada operación y luego depurar el código obtenido eliminando las instrucciones accesorias que pudieran haber aparecido. Ver la pregunta Encabezado variable en el Capítulo 2. EL GRABADOR COMO ASISTENTE 08_Excel revelado.qxp 12/29/09 4:26 PM Page 229
  • 232. • Con un clic en el botón Macros de la ficha Programador aparece el cuadro con la lista de macros disponibles. Seleccionamos la macro que queremos ejecutar y lue- go hacemos un clic en Ejecutar. • Mediante un atajo asignado por la opción Opciones, dentro del cuadro anterior. • Con un clic en un botón insertado en la planilla. Figura 3. Aquí podemos asignarle un atajo de teclado a una macro para ejecutarla más rápidamente. En Excel 2003 y en las versiones anteriores, el cuadro con la lista de macros dispo- nibles aparece con las opciones Herramientas/Macro/Macros. Por muchas razones, la opción más elegante es usar un botón insertado en la hoja. Por ejemplo, no necesitamos recordar el nombre de la macro ni el atajo de teclado que le hayamos asignado. Para insertar el botón y asignarle la macro: ■ Insertar un botón en la hoja PASO A PASO Dentro de la ficha Programador, realice un clic en Insertar. Haga luego un clic en Botón. Está en la barra de Controles de formulario. El puntero se convertirá en una cruz. Arrastrando el mouse, dibuje el botón en la hoja. Al soltar el botón, aparecerá el cuadro Asignar macro con la lista de macros disponibles en nuestra planilla. 8. MACROS 230 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 230
  • 233. Seleccione la macro para asignar. Haga un clic en Aceptar. Figura 4. Con esta opción dibujamos un botón en la hoja. Al soltar el botón del mouse, un cuadro nos invitará a asignarle una macro. Para insertar el botón que nos permite ejecutar nuestra macro en Excel 2003 y en las versiones anteriores, necesitamos activar la barra de herramientas Formularios con las opciones Ver/Barras de herramientas/Formularios. Si luego queremos asignar una macro distinta al mismo botón que creamos en el paso anterior, procedemos de esta manera: ■ Asignar una macro a un botón PASO A PASO Haga un clic sobre el botón, con el botón derecho del mouse. Tome la opción Asignar macro. Seleccione la macro para asignar. Haga un clic en Aceptar. Ahora vamos a la pregunta del lector. A estos botones se les puede cambiar el color del texto, pero no el del fondo. Sin embargo, esto no es necesariamente una limitación ya que cualquier objeto puede ser usado como botón de macro. Por ejemplo un cuadro de texto, una Autoforma o una ilustración. Una vez insertado el objeto en la planilla hacemos un clic derecho sobre él y le asignamos la macro con la opción Asignar macro. Botones de macro 231www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 231
  • 234. Figura 5. Con esta opción podemos asignarle una macro a un dibujo o a otro tipo de objeto para ejecutarla con un clic. Eliminar macros Reemplacé las macros de una planilla por funciones más complejas, pero más rápidas. Ahora quiero eliminar las macros para que no aparezca el mensaje “este libro tiene macros” cada vez que abro la planilla. Probé con lo obvio (la opción Eliminar dentro de Herramientas/Macro), pero no pude. ¿Cómo tengo que hacer? Juan Davico (Buenos Aires) Efectivamente, cuando estamos abriendo un libro de Excel con macros, puede apa- recer un cuadro que advierte al lector que estos libros pueden portar virus. Figura 6. Estamos abriendo una planilla con macros. Excel nos pregunta si queremos habilitar esas macros, por el riesgo de que porten algún virus. En principio, el procedimiento para eliminar una macro de una planilla es el que intentó el lector: seleccionar la macro dentro del cuadro de macros disponibles y luego hacer un clic en el botón Eliminar. 8. MACROS 232 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 232
  • 235. Figura 7. Con un clic en el botón Eliminar eliminamos la macro seleccionada en este cuadro. En Excel 2007 el cuadro aparece con un clic en el botón Macros de la ficha Programador. En las versiones anteriores, con las opciones Herramientas/ Macro/Macros. Y en cualquier versión, con la combinación ALT+F8. Con esto eliminamos la macro seleccionada. Pero, aunque hagamos lo mismo con todas las macros de la lista, igualmente aparecerá el mensaje “este archivo tiene ma- cros” al abrir la planilla. Ocurre que las macros estaban contenidas en un módulo. Tenemos que eliminar ese módulo para no dejar rastros de las macros: ■ Eliminar el módulo y sus macros PASO A PASO Haga un clic en el botón Visual Basic, dentro de la ficha Programador. Se abrirá el editor de macros. Dentro del editor, tome las opciones Ver/Explorador de proyectos. Aparecerá un esquema similar al del Explorador de Windows. En este esquema, busque y seleccione Módulo1. Tome las opciones Archivo/Quitar Módulo1. Conteste que No quiere exportar el módulo. Cierre el editor y vuelva a Excel. Eliminar macros 233www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 233
  • 236. Figura 8. El código de las macros se escribe en un módulo. Eliminándolo, quitamos las macros. Ahora sí, la planilla está libre de macros. Recordemos que en las versiones anteriores de Excel, el editor de macros se abre con las opciones Herramientas/Macro/Editor de Visual Basic. Y, en cualquier ver- sión, con la combinación ALT+F11. Macros para todos Tengo un archivo con una macro que me pinta ciertas celdas con un color que depende de su valor. Yo querría poder ejecutar esa macro sobre otros archivos con el mismo formato y para el mismo trabajo. O, en general, que una macro esté dispo- nible para todos mis archivos. Pedro Serruto (Hipólito Yrigoyen, provincia de Salta) En principio, se puede ejecutar una macro sobre cualquier archivo, siempre que esté abierto el libro que la contiene. Uno podría guardar sus macros en un libro maestro y abrirlo en cada sesión de Excel. 8. MACROS 234 www.redusers.com ❘❘❘ Hay muchas maneras de ejecutar una macro: mediante el menú Macros, asignándole un teclazo o con un botón insertado en la hoja. La opción más adecuada dependerá de cada caso particu- lar, aunque la más elegante y comúnmente usada es mediante un botón, tal como se explica en la consulta Botones de macro, en este mismo capítulo. EJECUTAR UNA MACRO 08_Excel revelado.qxp 12/29/09 4:26 PM Page 234
  • 237. Podemos hacer que el libro se abra en forma automática si lo guardamos en una car- peta exclusiva para él, y luego activamos cierta opción: ■ Apertura automática PASO A PASO Haga un clic en el Botón de Office y luego en Opciones de Excel. Seleccione la categoría Avanzadas. Dentro del grupo Avanzadas, en el cuadro Al inicio, abrir todos los archivos en: escriba la ruta de la carpeta. Haga un clic en Aceptar. Cabe recordar que en las versiones anteriores de Excel la ruta de esa carpeta se es- cribe en la opción Al inicio, abrir todos los archivos en:, dentro de la ficha General, correspondiente al menú Herramientas/Opciones. Figura 9. Cada vez que abramos Excel, se cargarán automáticamente los archivos presentes en la carpeta indicada en el cuadro Al inicio, abrir todos los archivos en:. Otra posibilidad es guardar las macros en un libro especial llamado Personal. Este libro se genera automáticamente al grabar una macro, si lo indicamos conveniente- mente, esto es, cuando comenzamos la grabación (con un clic en el botón Grabar macro en Excel 2007 o con las opciones Herramientas/Macro/Grabar nueva macro en las versiones anteriores) indicamos Libro de macros personal dentro de la casilla Guardar macro en:. Luego continuamos con el proceso de grabación. Esto genera- rá el libro Personal.xls que quedará guardado en una carpeta XLStart (o InicioXL, según la configuración de Excel que tengamos). El libro se abrirá automáticamente Macros para todos 235www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 235
  • 238. cada vez que iniciemos Excel y permanecerá oculto. Siempre que grabemos o es- cribamos una nueva macro, debemos hacerlo en este libro. Posición en macros Cuando escribo una macro indico la posición del cursor con instrucciones del tipo Range(“A1”).Select. ¿Cómo establezco que el cursor se debe mover a la celda que está debajo de la actual, arriba o a la derecha? Ricardo Julián Ick (Rosario, provincia de Santa Fe) La posición actual del cursor se indica con la instrucción ActiveCell. A partir de es- ta posición es posible mover el cursor con la propiedad Offset. Por ejemplo, para bajar el cursor dos lugares la instrucción es ActiveCell.Offset(2, 0).Select. Figura 10. Con la propiedad Offset indicamos la posición de una celda respecto de otra. La propiedad Offset tiene dos argumentos entre los paréntesis: • El primero es el movimiento vertical. Positivo hacia abajo y negativo hacia arriba. • El segundo es el movimiento horizontal, por columnas. En este caso, positivo ha- cia la derecha y negativo hacia la izquierda. Macro a plazo fijo ¿Cómo sería una macro que se active en una fecha determinada? Por ejem- plo, que te salude el día de tu cumpleaños. Fernando A. Mallea (provincia de San Juan) En primer lugar, una macro no puede hacer nada mientras no se abra la planilla que la contenga. Entonces, deberíamos tener un libro que se abra todos los días y que haga lo que tenga que hacer en la fecha adecuada. 8. MACROS 236 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 236
  • 239. Figura 11. Este cuadro lo podemos hacer aparecer al ejecutar la instrucción MsgBox. Por ejemplo, la siguiente macro me saluda el día de mi cumpleaños: Sub Auto_Open () cumple = DateSerial(1958, 12, 27) If Day(cumple) = Day(Date) Then If Month(cumple) = Month(Date) Then MsgBox (“Feliz cumpleaños”) End If End If End Sub Por tener el nombre especial Auto_open, esta macro se ejecuta automáticamente al abrir el archivo que la contiene. Lo que hace es comparar el mes y el día de la fecha de nacimiento, con el mes y el día de hoy (obtenido con la función Date). Si se sa- tisfacen ambas comparaciones (mismo día y mismo mes) muestra un mensaje de cumpleaños con la instrucción MsgBox. Alarmas Guardo información de una cuenta corriente en una planilla que abro y ac- tualizo todos los días. Necesito que todos los días, a las doce del mediodía, me avise si el valor de cierta celda es negativo. Traté de hacerlo con funciones lógicas, pero no puedo lograr que sea automático. ¿Es posible esto? Juan Carlos Campoverde Seminario (Santa Cruz, Bolivia) Una forma de resolver este problema consiste en el uso de tres macros automáticas: Sub Auto_Open () Application.OnTime TimeValue(“12:00”), “Alarma” Alarmas 237www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 237
  • 240. End Sub Sub Alarma() Workbooks(“CuentaCorriente.xls”).Activate If [A1]< 0 Then MsgBox(“El saldo es negativo”) End If End Sub Sub Auto_Close() Application.OnTime TimeValue(“12:00”), _ “Alarma”, ,False End Sub La primera macro se ejecuta automáticamente al abrirse el archivo. Esta macro “no hace nada”, solamente programa la ejecución de la segunda macro para las doce del mediodía. Cuando son las doce, entonces, se ejecuta la macro Alarma que selecciona el archivo de cuentas corrientes (puede ser que, mientras tanto, se hayan abierto otros archivos y que el de cuentas corrientes no sea el archivo ac- tual). Una vez seleccionado el archivo, controla el valor de la celda A1. Si es me- nor que 0, muestra el mensaje de alarma. Figura 12. La instrucción OnTime establece la hora a la que se ejecutará otra macro. La programación de la alarma debe cancelarse si el archivo de cuentas corrientes no está abierto. Por eso la tercera macro, se ejecuta automáticamente al cerrar el archi- vo y cancela la programación de la alarma para las doce del mediodía. En este sistema usamos tres tipos de macros automáticas: 8. MACROS 238 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 238
  • 241. • En primer lugar, la macro llamada Auto_Open, que se ejecuta automáticamen- te al abrirse el archivo que la contiene. • La macro llamada Auto_Close, que se ejecuta automáticamente al cerrar el archivo. • Una macro “a plazo fijo” que se ejecuta al cumplirse el tiempo programado por otra macro con una instrucción OnTime. La instrucción OnTime tiene de dos a cuatro argumentos: • El primero es la hora a la que se ejecutará la otra macro. • El segundo es el nombre de esa otra macro. • El tercero es la hora límite hasta la que rige la programación. Si se omite, se su- pone que la programación es permanente. • El cuarto es un valor lógico que vale True (verdadero) si se está programando una nueva macro y False (falso) si se está cancelando una programación anterior. Si omitimos el cuarto argumento se supone que vale True. En nuestra macro Auto_ Close se omite el tercer argumento (no hay hora límite), pero se mantiene su lugar (con un espacio entre comas) para que se entienda la existencia del cuarto argumento. Señalar fila y columna ¿Hay alguna forma de señalar con un color la fila y la columna correspon- dientes a la celda actual? Es muy útil para saber bien dónde estoy parado cuando me muevo por una planilla muy grande. Eduardo D. Rodríguez Este problema se puede resolver con una macro automática especial: Sub Worksheet_SelectionChange(ByVal Target As Range) Cells.Interior.ColorIndex = 0 ActiveCell.EntireRow.Interior.ColorIndex = 15 Señalar fila y columna 239www.redusers.com ❘❘❘ Además de los niveles de protección que ofrece Excel (proteger un rango, una hoja o un libro) existe la posibilidad de proteger el código de la macro para que no pueda verse ni modificarse. Esta protección se aplica desde el editor de Visual Basic (dentro de la ficha Programador, botón Visual Basic) con las opciones Herramientas/Propiedades de VBA Project. PROTEGER MACROS 08_Excel revelado.qxp 12/29/09 4:26 PM Page 239
  • 242. 8. MACROS 240 www.redusers.com ActiveCell.EntireColumn.Interior.ColorIndex = 15 End Sub Por su nombre especial, esta macro se ejecuta (y reejecuta) cada vez que cambia la posición del cursor. En cada ejecución pinta de gris la fila y la columna correspon- dientes a la celda actualmente seleccionada. El código se escribe en una ventana especial: ■ Macro automática PASO A PASO Haga un clic en el botón Visual Basic, dentro de la ficha Programador. Una vez dentro del editor, tome las opciones Ver/Explorador de proyectos. Debe aparecer una estructura similar a la del Explorador de archivos. En esta estructura haga un doble clic sobre la hoja donde desea señalar fila y columna. Se abrirá una ventana de texto con dos listas desplegables. En la lista de la izquierda, seleccione Worksheet. En la de la derecha, seleccione SelectionChange. Complete el código de la macro. Cierre el editor y vuelva a Excel. Figura 13. En esta lista desplegable indicamos el evento que disparará la ejecución de la macro. 08_Excel revelado.qxp 12/29/09 4:26 PM Page 240
  • 243. No nos olvidemos que en Excel 2003 y en versiones anteriores, abrimos el editor con las opciones Herramientas/Macro/Editor de Visual Basic. Por tener el nombre especial Worksheet_SelectionChange, esta macro se ejecuta ca- da vez que se mueve el cursor. Lo que hace es eliminar cualquier color que pudiera haber en todas las celdas de la hoja y, a continuación, pintar de gris la columna y la fila correspondientes a la posición actual. Un problema con esta macro es que no podemos aplicar colores sobre la hoja: la macro los va a quitar cada vez que mova- mos el cursor. Y, en el caso de planillas grandes, el aplicar y eliminar colores conti- nuamente puede hacer que la navegación se vuelva muy lenta. Hora de actualización Tengo una hoja de Excel vinculada a una base de datos de Access. La base es actualizada cada 10 ó 20 minutos por otro usuario. Necesitaría que la hoja de Ex- cel me indicara cuándo fue la última actualización que se realizó. Luis González (Cipoletti, provincia de Río Negro) La forma de resolver esto parecería ser una macro automática que se ejecute cada vez que se modifica la hoja. La macro es así: Private Sub Worksheet_Change(ByVal Target As Range) [A1] = Now End Sub Para crear esta macro hay que dar algunas vueltas: ■ Macro automática PASO A PASO Haga un clic en el botón Visual Basic, dentro de la ficha Programador. Una vez dentro del editor, tome las opciones Ver/Explorador de proyectos. Debe aparecer una estructura similar a la del Explorador de archivos. Seleccione la rama correspondiente a la hoja que se actualiza. Tome las opciones Ver código. Esto abre una ventana de texto donde debe escribir el código de la macro. Cierre el editor y vuelva a Excel. Hora de actualización 241www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 241
  • 244. Por su nombre especial, esta macro se ejecutará automáticamente cada vez que cambia algún dato en la hoja. Al ejecutarse, se escribe la fecha y hora actuales en la celda A1. La apertura y cierre de la macro (Sub… End Sub) pueden obtenerse automáticamente actuando desde dos listas desplegables que se encuentran en la parte superior de la ven- tana de código. Seleccionando la opción Worksheet en la lista de la izquierda, la de la derecha ofrece los distintos eventos que dispararán la ejecución de una macro. Figura 14. En la ventana de código aparece una lista de eventos que dispararán la ejecución de una macro automática. De la lista de eventos debe seleccionar Worksheet_Change para obtener el comienzo (Sub) y fin (End Sub) del código de la macro. El resto lo completamos a mano. Macros sí o sí Hice una planilla que tiene macros. Cuando el usuario la abre, puede elegir no habilitarlas y hacer cambios en la planilla, que no quiero que haga. Yo quiero que, si elige no habilitar las macros, directamente no pueda usar la planilla. Gabriel Goldstein (Buenos Aires) Una forma de resolver este problema es establecer algún tipo de protección que sea removida automáticamente por una macro: si el usuario no habilita las macros, el archivo permanecerá protegido e inutilizable. Por ejemplo: Sub Auto_Open() ActiveWorkbook.Unprotect “clave” Sheets(1).Visible = True End Sub 8. MACROS 242 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 242
  • 245. Por tener el nombre especial Auto_Open, esta macro se ejecutará automáticamente al abrir el archivo. Entonces, desprotegerá el libro y hará visible la primera hoja. Si el usuario no habilita las macros, el libro permanecerá protegido y no podrá hacer vi- sible la primera hoja (que suponemos que es la hoja principal). Tampoco podrá des- proteger el libro a mano si desconoce la contraseña, que en este ejemplo es clave. Figura 15. Pretendemos escribir datos en una hoja protegida: Excel no lo permite. Para que este método funcione, el usuario debe encontrar el archivo protegido con la primera hoja oculta. Si la macro Auto_Open desprotege el libro y hace visible la hoja, otra macro deberá volver las cosas a su estado inicial cuando se cierra el libro. Esta macro sería como la que escribimos a continuación: Sub Auto_Close () Sheets(1).Visible = False ActiveWorkbook.Protect “clave” ActiveWorkbook.Save End Sub Esta macro se ejecuta automáticamente al cerrar el libro y hace tres cosas: • Oculta la hoja de trabajo. • Protege el libro con una contraseña. • Graba el archivo. Macros sí o sí 243www.redusers.com ❴❵ En las primeras hojas de cálculo, el código de las macros consistía en la secuencia de atajos de teclado que realizaba determinada operación. Por ejemplo, la macro /HCF20~ le daba un ancho de veinte espacios a la columna actual: la barra llamaba al menú, la H tomaba la opción Hoja y así sucesivamente. El signo ~ representaba la tecla ENTER. ANTIGUAS MACROS 08_Excel revelado.qxp 12/29/09 4:26 PM Page 243
  • 246. Se puede perfeccionar el sistema dejando a la vista en el libro una hoja que indique que deben habilitarse las macros si no se lo ha hecho. Contador de aperturas Quiero saber si se puede poner un contador en una hoja de cálculo para sa- ber cuántas veces se usó el archivo. Es decir, que se incremente el contador cada vez que abro el archivo .XLS. Espero que me puedas ayudar. Gustavo Sasso Este problema puede resolverse con una celda auxiliar (el contador) y una macro que se ejecute automáticamente al abrir el archivo e incremente el contador: Sub Auto_Close () [A1] = [A1] + 1 ActiveWorkbook.Save End Sub Aquí estamos suponiendo que el contador es la celda A1. Cada vez que se abre el li- bro, la macro le suma una unidad a esta celda y graba inmediatamente el archivo pa- ra preservar el nuevo estado del contador. Para mayor seguridad, el contador puede estar en una celda lejos de la zona de trabajo o, mejor aún, en una hoja oculta. No hay problema en modificar una celda en una hoja oculta desde una macro. Figura 16. Con esta opción ocultamos la hoja actual. Si no la hacemos visible no podremos trabajar con ella. Pero una macro sí podrá modificar el contenido de sus celdas. 8. MACROS 244 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 244
  • 247. Barra de progreso Quiero saber cómo se hace para que una macro muestre una barra de pro- greso y así saber cuánto falta para terminar su trabajo. Traté de hacerlo con un for- mulario, pero no logré que funcionara. Miguel Ángel Moreiras (Choele Choel, provincia de Río Negro) La barra de progreso es esa serie de cuadraditos azules que aparecen al pie de Excel (y de otros programas) mientras se está llevando a cabo una tarea prolongada. Por ejemplo, mientras se graba en un disquete una planilla relativamente pesada. Figura 17. Estos cuadraditos señalan el avance de una tarea dentro de Excel. En este caso, el guardado de un archivo. La forma estándar de simular esta barra en una macro consiste, básicamente, en di- bujar un rectángulo alargado que va creciendo con cada paso de la macro. También hay una opción a través del uso de formularios, pero todo esto es muy poco reco- mendable. Cualquier macro cuya ejecución sea suficientemente prolongada como pa- ra merecer una barra de progreso no debe retardarse con instrucciones adicionales. Sugerimos, en cambio, aprovechar la barra de estado de Excel para mostrar el avan- ce de la macro mediante un porcentaje. Por ejemplo, pruébese la siguiente macro: Sub progreso() For i = 1 To 500 Cells(i, 1) = i Cells(i, 2) = i * i Cells(i, 3) = Sqr(i) Application.StatusBar = “Progreso: “ + _ Barra de progreso 245www.redusers.com ❘❘❘ El código de una macro se escribe en el editor de Visual Basic como cuando se trabaja en un procesador de textos. Podemos usar las combinaciones CONTROL+X (Cortar), CONTROL+C (Copiar) y CONTROL+V (Pegar) para mover o copiar texto de un punto a otro; y borrar con las teclas RETROCESO y SUPRIMIR. MODIFICAR EL CÓDIGO 08_Excel revelado.qxp 12/29/09 4:26 PM Page 245
  • 248. Format(i / 500, “0.00%”) Next Application.StatusBar = False End Sub Esta macro arma una tabla de cuadrados y raíces. No importa tanto lo que la ma- cro hace, sino que su ejecución lleva quinientos pasos: las quinientas vueltas del ciclo For... Next. En cada vuelta, en la barra de estado aparece un mensaje con la palabra Progreso acompañado del porcentaje de avance, calculado como la can- tidad de vueltas respecto del total. Figura 18. La barra de estado de Excel muestra el grado de avance de una macro. Cumple la misma función que una barra de progreso, sin retardar significativamente la ejecución de la macro. La instrucción Application.StatusBar = False, al final del ciclo, sirve para restablecer la barra estándar al terminar la macro. De Visual Basic a Excel Tengo una aplicación desarrollada en Visual Basic donde cargo datos en un formulario y luego debo pasarlos a una hoja en Excel. ¿Cómo hago la transferencia desde el formulario a Excel?. Gracias por la respuesta. Luis Dacosta Este problema tiene su complejidad. Vamos a resolverlo a partir de un ejemplo elemental. La cuestión central es cómo escribir en una celda de Excel un dato guardado en la variable de un formulario en Visual Basic. Supongamos un for- mulario sencillo con una caja de texto (llamada Text1) y un botón de comando (llamado Command1). La idea es que el dato que escribamos en la caja de texto pase a una celda de Excel al hacer clic en el botón. Una vez creado el formulario (recordemos que estamos hablando de un programa de Visual Basic y no de una macro de Excel) hacemos doble clic en el botón para abrir la ventana de código asociada a él. Entonces escribimos. 8. MACROS 246 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 246
  • 249. Private Sub Command1_Click() Dim libro As workbook Set libro = GetObject(“C:PruebaVB.xls”) x = Text1.Text libro.Sheets(1).Cells(1, 1) = x End Sub Figura 19. Éste es un formulario de Visual Basic. Al hacer clic en el botón, se ejecuta el código que toma el valor de la caja de texto y lo pasa a la celda A1 de una planilla Excel. Para que esto funcione, debe existir un archivo de Excel en el directorio raíz del dis- co C:, llamado PruebaVB.xls y que esté abierto al ejecutar el formulario. Con la instrucción x = Text1.Text guardamos en la variable x el contenido de la ca- ja de texto. Con la instrucción libro.Sheets(1).Cells(1, 1) = x guardamos el valor de x en la celda A1 del libro PruebaVB. De Visual Basic a Excel 247www.redusers.com ❘❘❘ Los programas de Visual Basic están organizados alrededor de formularios, similares a los de Excel. Cada formulario contiene diversos objetos (botones, cuadros de texto, etiquetas, etcéte- ra), que a su vez tienen asociadas distintas propiedades que cambian según la acción que reali- ce el usuario u otros formularios. En esta consulta vemos un ejemplo. LOS FORMULARIOS 08_Excel revelado.qxp 12/29/09 4:26 PM Page 247
  • 250. Si Luis es programador en Visual Basic, como nos comentó, estamos seguros de que podrá usar este ejemplo como guía para resolver el problema general. De cualquier manera, cualquier otro lector entrenado en macros podrá resolverlo sin problemas. El comando DIR Necesito saber si existe alguna función o una macro en Excel que lea el nom- bre de todos los archivos de una carpeta y los liste en una planilla. Walter Diana (Buenos Aires) Lo que pide Walter es algo equivalente en Excel al viejo y conocido comando DIR del no menos viejo y ya no tan conocido DOS. No existe algo así en Excel, pero sí en VBA, el lenguaje de las macros. Se trata de una instrucción llamada Dir. Esta instrucción admite dos formas: • Si se indica una carpeta como argumento, devuelve el nombre del primer ar- chivo que contenga esa carpeta. • Si se ejecuta por segunda vez, sin indicar argumento, devuelve el siguiente archi- vo de la última carpeta consultada. Estas dos formas se combinan en la siguiente macro: Sub directorio() i = 1 nombre = Dir(“C:Mis documentos”) Do While nombre “” Cells(i, “A”) = nombre nombre = Dir() i = i + 1 Loop End Sub 8. MACROS 248 www.redusers.com ❴❵ Según la Ayuda de Excel, el argumento de la función CELDA para obtener el nombre del archivo es archivo. Pero está mal, el argumento correcto es nombrearchivo, como se explica en el próximo ejemplo. Los argumentos de CELDA se pueden escribir también en inglés. En este caso, filename. FUNCIÓN CELDA 08_Excel revelado.qxp 12/29/09 4:26 PM Page 248
  • 251. Figura 20. Ésta es la Ayuda de Excel, con la explicación sobre la función Dir. Es más o menos equivalente al comando DIR de DOS, suponiendo que aún quede gente que recuerde qué era eso. En esta macro se supone que la carpeta que se va a consultar es Mis documentos. La ma- cro lee el primer nombre de archivo y lo guarda en la variable nombre. Luego comien- za un ciclo que guarda el nombre leído en la columna A y continúa leyendo nombres y guardándolos en esa columna. Cuando ya no hay más archivos en la carpeta, la ins- trucción Dir devuelve una cadena vacía y termina el ciclo. Si se quiere leer los archivos en la carpeta actual se debe indicar CurDir (current directory) como argumento de Dir. Nombre del archivo ¿Una macro puede obtener el nombre del archivo actualmente en uso? Estoy automatizando una de mis planillas y solamente necesito esta información para que el sistema funcione a la perfección. Miguel Ángel Herrera R. (México) Esta pregunta tiene una respuesta muy simple. Dentro de una macro el archivo actual se identifica con la instrucción ActiveWorkbook. Para obtener el nombre de ese archi- vo hay que aplicarle la propiedad Name. Por ejemplo, la siguiente macro protege la primera hoja del libro actual si el nombre del archivo comienza con la palabra Mayo: Nombre del archivo 249www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 249
  • 252. Sub Protege() nombre = ActiveWorkbook.Name If Left(nombre, 4) = “Mayo” Then Sheets(1).Protect End If End Sub También existe la función CELDA, que entrega diversa información acerca de la pla- nilla actual. Por ejemplo, =CELDA(“nombrearchivo”;“A1”) devuelve el nombre del ar- chivo actual. Pero el nombre aparece precedido por la ruta y seguido del de la hoja. Figura 21. La función CELDA, con su primer argumento igual a nombrearchivo, devuelve el nombre del archivo actual, incluyendo la ruta y el nombre de la hoja. La ruta del archivo Necesito que una macro lea la ruta (disco y carpeta) donde está guardado el libro actual. Ocurre que el archivo no siempre se abre desde la misma ubicación y quiero abrir otro que está en la misma carpeta. Carlos David Vena (Morteros, provincia de Córdoba) La ruta correspondiente al libro actual se obtiene con la instrucción ActiveWorkbook. Path. El valor así obtenido se puede concatenar con el nombre del archivo que se quiere abrir, separándolo con una barra invertida. Por ejemplo: nombre = “Planillas enviadas.xls” ruta = ActiveWorkbook.Path Workbooks.Open (ruta + “” + nombre) Esto no es una macro sino parte del código de una macro mayor. Luego de estas instrucciones, el nuevo archivo pasa a ser el libro actual. 8. MACROS 250 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 250
  • 253. Correo por macro Quiero hacer una macro que tome una planilla grabada y la envíe como ad- junto a los destinatarios de una lista. Pero no tengo idea de cómo se hace. Desde ya muchas gracias por la ayuda que me puedas brindar. Fabián González R. (Chile) La macro que pide Fabián debería hacer todas estas tareas: 11.. Abrir la planilla que se quiere enviar. 22.. Leer el primer destinatario de la lista. 33.. Enviar la planilla a ese destinatario. 44.. Leer el siguiente destinatario. 55.. Enviar la planilla. Y así sucesivamente con todos los destinatarios. La instrucción de macro corres- pondiente a la operación “enviar la planilla actual como archivo adjunto” es: ActiveWorkbook.SendMail _ Recipients:=”fabian.gonzalez@telesk.cl”, _ Subject:=”Lista de precios” La instrucción SendMail lleva como argumentos la dirección del destinatario y el te- ma (Subject). Estos pueden ser variables o direcciones de celdas. Eso no es problema. Lo que sí representa una dificultad es que la instrucción anterior envía la planilla activa, pero la lista de destinatarios está en otra planilla, que contiene la macro. Eso quiere decir que para leer la dirección del destinatario hay que activar una planilla y para proceder al envío hay que activar otra. La macro quedaría más o menos así: Sub Correo() Workbooks.Open (“C:Mis documentosPrecios.xls”) For i = 1 To 10 Workbooks(“Correo.xls”).Activate nombre = Cells(i, “A”) Workbooks(“Precios.xls”).Activate ActiveWorkbook.SendMail _ Recipients:= nombre, _ Subject:= “Lista de precios” Next Workbooks(“Precios.xls”).Close Correo por macro 251www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 251
  • 254. End Sub En esta macro estamos suponiendo que el archivo para enviar se llama Precios y se encuentra en la carpeta Mis documentos, que la planilla que contiene la macro se lla- ma Correo y que la lista de destinatarios está en el rango A1:A10. El ciclo For... Next recorre este rango guardando la dirección del destinatario en la variable nombre. Figura 22. En este problema hay dos libros en juego: Correo contiene la lista de destinatarios a los que se les enviará el libro Precios. Nótese que antes de leer la dirección del destinatario, la macro activa la planilla Correo y antes de proceder al envío, activa la planilla Precios. Al terminar todos los envíos, la macro cierra la planilla Precios. Ya no la necesitamos. 8. MACROS 252 www.redusers.com ❘❘❘ Podemos proteger el código de una macro con una contraseña para que nadie pueda verlo ni modificarlo. La protección la aplicamos dentro del editor de Visual Basic, con las opciones Herramientas/Propiedades de VBAProject/Protección. Tenemos que cerrar y volver a abrir el libro para ver la protección en acción. PROTEGER UNA MACRO 08_Excel revelado.qxp 12/29/09 4:26 PM Page 252
  • 255. Validar respuestas Tengo una macro que me pregunta ciertos datos a través de una instrucción InputBox. Si en ese momento ingreso un texto cuando debería ingresar un número, se produce un error. Lo que quiero es que la macro rechace la entrada cuando no sea del tipo correcto y vuelva a preguntar. Diego Enríquez (Banfield, provincia de Buenos Aires) La instrucción InputBox sirve para que una macro pida un dato y lo guarde en una variable o una celda. Por ejemplo: Sub Pregunta() [A1] = InputBox(“Ingrese la cantidad pedida”) End Sub Figura 23. La instrucción InputBox muestra un mensaje en la pantalla con una caja para escribir una respuesta. Esta macro le pregunta al operador una cantidad y guarda la respuesta en la celda A1. Lo que pide Diego es que la macro repita la pregunta hasta que el operador in- grese un dato numérico. Eso se puede hacer si ponemos la pregunta en un ciclo que no termina hasta que la respuesta sea un número: Sub PreguntaNumero() Do x = InputBox(“Ingrese la cantidad pedida”) Loop Until IsNumeric(x) [A1] = x End Sub El ciclo del que hablamos es el que empieza con el Do y termina con el Loop. La condición del fin del ciclo es Until (en español, hasta) y en este caso significa que se ejecutará hasta que el valor de x sea un número. Una vez fuera del ciclo, la ma- cro guarda la respuesta en la celda A1. Validar respuestas 253www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 253
  • 256. Figura 24. La función IsNumeric controla si el valor de la variable indicada es o no numérica. Equivale a la función ESNUMERO de Excel. En el ejemplo que acabamos de desarrollar usamos la función IsNumeric para pre- guntar si la respuesta fue numérica. En otros casos puede usarse la función IsDate para preguntar si fue una fecha válida. Menú para macros Tengo unas 40 macros en una planilla bastante pesada. ¿Es posible disponer de una manera práctica para ejecutar cualquiera de ellas? Por ejemplo, me gustaría seleccionar el nombre de la macro de una lista desplegable o abrir un cuadro con la lista de macros y luego seleccionar la que quiero ejecutar. Christian Lukasch Hay varias soluciones posibles para este problema. Una podría ser así: en un ran- go auxiliar, escribimos la lista de macros. En otra celda, por ejemplo B1, aplica- mos un criterio de validación que permita elegir alguna de las macros de la lista anterior. Luego escribimos esta otra macro: 8. MACROS 254 www.redusers.com ❴❵ Las macros del antiguo Lotus 1-2-3 se escribían en la misma hoja, se le asignaba un nombre especial a la primera celda de la macro y se ejecutaban con una combinación de teclas rela- cionada con el nombre asignado. Pero existía un truco que hacía aparecer en pantalla todos los nombres de rango para seleccionar el de la macro que se quería ejecutar. MACROS EN LOTUS 1-2-3 08_Excel revelado.qxp 12/29/09 4:26 PM Page 254
  • 257. Sub Principal() nombre = [B1] Run nombre End Sub Figura 25. Al hacer un clic en el botón Ejecutar, se ejecutará la macro cuyo nombre se haya seleccionado en la lista desplegable de la celda B1. Esta macro la podemos asignar a un botón o a un atajo de teclado. Al ejecutarla, la macro llamará, a su vez, a la macro cuyo nombre hayamos seleccionado en B1. Una variante más elegante sería la siguiente: Sub Principal() nombre = [B1] confirma = MsgBox(“Desea ejecutar la macro “ & _ nombre, vbYesNo) If confirma = vbYes Then Run nombre End Sub En esta versión, la macro Principal pregunta si queremos ejecutar la macro selec- cionada y tenemos la oportunidad de decir que no. Menú para macros 255www.redusers.com ❴❵ El lenguaje de las macros es una versión avanzada del lenguaje BASIC creado en los años sesenta para enseñar programación. BASIC es el acrónimo en inglés de Código simbólico multipropósito de instrucciones para principiantes. Se dice que fue con una versión de este lenguaje que Bill Gates obtuvo su primer millón de dólares. EL LENGUAJE VISUAL BASIC 08_Excel revelado.qxp 12/29/09 4:26 PM Page 255
  • 258. Figura 26. Al hacer un clic en el botón Ejecutar, este cuadro pregunta si queremos ejecutar la macro cuyo nombre se haya seleccionado en la lista desplegable de la celda B1. Macro suicida Tengo una planilla donde guardo datos de un pedido. La planilla tiene una ma- cro que extrae ciertos datos y luego guarda el pedido en una planilla con otro nombre. Mi problema consiste en que este segundo archivo contiene también la macro y no quiero que sea así. ¿Cómo hago para que esta macro se borre a sí misma del archivo? Marcelo Jung (Boulogne, provincia de Buenos Aires) En principio, no se puede hacer que una macro se borre a sí misma. Pero sí se puede copiar la hoja con el pedido a un nuevo libro y luego grabar ese nuevo libro. La hoja no “arrastra” la macro consigo, por lo que el segundo libro quedará libre de macros. Figura 27. Cuando copiamos la hoja actual a un nuevo libro, este segundo libro no recibirá las macros que pudiera haber en el primero. La instrucción de macros correspondiente a este comando es Sheets.Copy. 8. MACROS 256 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 256
  • 259. Si suponemos que los datos que se van a guardar están en la primera hoja del ar- chivo original y que el nuevo archivo se debe guardar con el nombre existente en la celda A1, el proceso se realiza con el siguiente código: Sub GrabaPedido() Sheets(1).Copy nombre = [A1] ActiveWorkbook.SaveAs (nombre) ActiveWorkbook.Close End Sub Esta macro copia la primera hoja del libro actual en un nuevo libro, que luego guar- da con el nombre escrito en la celda A1. Como se ha dicho, este nuevo libro no con- tiene las macros asociadas al primero. Finalmente, cierra el nuevo libro. Identificar formato Mi problema es simple, pero no sé cómo resolverlo: tengo una lista de datos en una columna, algunos de esos datos están en Negrita. Quiero copiar en otra co- lumna esos datos que están en Negrita, pero no sé cómo indicar esta condición en una fórmula o un filtro. ¿Hay alguna solución? Lucas Meichtry (Córdoba) Efectivamente, no se puede (al menos, por ahora) aplicar la condición “está en ne- grita” en una condicional SI. Pero sí se puede hacer con una macro. Figura 28. Con una macro pudimos copiar en la columna C los datos de la columna A que están en Negrita. Identificar formato 257www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 257
  • 260. Supongamos que los datos originales están en A1:A100 y que queremos copiar los datos en Negrita en la columna C. La macro podría ser así: Sub Negrita() For i = 1 To 100 If Cells(i, “A”).Font.Bold Then fila = fila + 1 Cells(fila, “C”) = Cells(i, “A”) End If Next End Sub Esta macro recorre los cien valores de la columna A y pregunta, uno por uno, si es- tá en Negrita. Si es así, copia el valor en la columna C. Existen otras soluciones, pero ésta parece ser bastante simple. Además, se puede adap- tar fácilmente para otros formatos (relleno de color, itálica, celda con borde, etcétera). Mostrar diálogo Armé una planilla para que mis clientes completen pedidos. Mi problema es hacer que ellos puedan encontrar rápidamente un determinado artículo. ¿Cómo hago para que, desde una macro, aparezca el cuadro correspondiente a la opción Buscar? Fabián Ravelli (Provincia de Santa Fe) En principio, desde una macro se puede mostrar cualquiera de los cuadros de diá- logo estándares de Excel. La instrucción es: Application.Dialogs(ventana).Show Donde ventana es un número o una palabra clave que identifica al cuadro de diá- logo que queremos abrir. Concretamente, para mostrar el cuadro que corresponde 8. MACROS 258 www.redusers.com ❴❵ Otra forma de encontrar el número o nombre asociado a una determinada ventana de diálogo consiste en usar el grabador de macros. Para eso debemos encender el grabador y, a continua- ción, ejecutar la opción que hace aparecer la ventana deseada. El código de la macro así obte- nida incluirá el nombre necesario para la ventana. NOMBRES DE VENTANA 08_Excel revelado.qxp 12/29/09 4:26 PM Page 258
  • 261. Mostrar diálogo 259www.redusers.com ❴❵ Aunque Excel 2007 presenta importantes cambios respecto de las versiones anteriores (tanto en las opciones generales, en la ubicación de los comandos, como en el tema de macros), el editor de Visual Basic es exactamente el mismo desde la versión XP. Conserva los comandos y opcio- nes y se maneja de igual forma en todas las versiones. MACROS EN EXCEL 2007 a la opción Buscar debemos indicar el número 64 o la palabra clave xlDialogSearch. La palabra clave asociada a cada comando de Excel la podemos elegir de una lista desplegable que aparece cuando escribimos la instrucción Application.Dialogs. Sólo debemos conocer el nombre que recibe el comando en inglés. Figura 29. Cuando escribimos la instrucción Application.Dialogs, aparece una lista de las palabras clave asociadas a cada comando de Excel. Puede ser que, cuando escribimos la macro, no aparezca esta lista de palabras. En- tonces tenemos que activar la opción Lista de miembros automática en el editor de Visual Basic. Para eso debemos ejecutar los siguientes pasos: ■ Lista de argumentos en VBA PASO A PASO Dentro del editor de Visual Basic tome las opciones Herramientas/Opciones. Seleccione la pestaña Editor. Marque la opción Lista de miembros automática. Haga un clic en Aceptar. 08_Excel revelado.qxp 12/29/09 4:26 PM Page 259
  • 262. Figura 30. Seleccionando esta opción logramos que aparezca una lista de argumentos mientras escribimos una instrucción de macro. Cerrar casi todos Si tengo varios libros abiertos, ¿hay alguna forma de cerrarlos todos, menos el activo? Sé que es una pregunta sencilla, pero no doy con la solución. José Mansilla Excel tiene dos opciones para cerrar libros: • Con las opciones Archivo/Cerrar, se cierra el libro activo. • Con las opciones Archivo/Cerrar todo, se cierran todos los libros abiertos. Figura 31. La opción Archivo/Cerrar todo cierra todos los libros abiertos. Para que aparezca esta opción hay que mantener apretada la tecla SHIFT mientras hacemos clic en Archivo. En realidad, estas opciones corresponden a Excel 2003 y a las versiones anteriores. En Excel 2007, el Botón de Office incluye la opción para cerrar el libro actual, pero 8. MACROS 260 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 260
  • 263. la opción para cerrar todos los archivos está un poco escondida. Para saber cómo encontrarla podemos ver la pregunta Cerrar todas las planillas, en el Capítulo 9. En cualquier caso, ninguna de estas opciones responde a la pregunta del lector. Pa- ra cerrar todos los libros, menos el activo, podemos usar la siguiente macro: Sub Cerrar() Do While Workbooks.Count 1 Workbooks(2).Close Loop End Sub La instrucción Workbooks(2).Close cierra el libro siguiente al activo. La operación continúa (en inglés, While) mientras haya más de un libro abierto hasta que que- da un único libro abierto. La cantidad de libros abiertos se obtiene con la pro- piedad Workbooks.Count (contar libros). Por supuesto, debemos tener en cuenta que esta macro servirá solamente para un determinado archivo. No sirve como comando general. Rango variable Tengo una macro que copia una tabla dinámica y le hace ciertos cambios en su formato. Mi problema es que, cuando se actualiza la tabla, puede cambiar el ran- go, ocupando más o menos filas, más o menos columnas. ¿Cómo puedo hacer para que la macro seleccione siembre el rango correcto? Ángel Guerrero (México) Lo que se necesita aquí es un juego de instrucciones que detecten el rango (varia- ble) ocupado por la tabla en cada caso. Podemos suponer que la tabla comienza siempre en la misma celda. Digamos que en A1. A partir de esa celda, podemos localizar los extremos de la tabla. Por ejemplo, pa- ra identificar la última fila usamos la instrucción uf = Range(“A1”).End(xlDown).Row. Rango variable 261www.redusers.com ❘❘❘ Hay distintas maneras de indicar una celda en el código de la macro. La más simple es escribir di- rectamente sus coordenadas entre corchetes. Por ejemplo, [C8]. También se puede hacer con la instrucción Cells: Cells(8, “C”), que representa a la celda C8. Finalmente, podemos usar la instruc- ción Range: Range(“C8”). Con cualquiera de estas opciones estamos referenciando a una celda. REFERENCIAS A CELDAS 08_Excel revelado.qxp 12/29/09 4:26 PM Page 261
  • 264. Figura 32. Con el cursor en A1 la combinación CONTROL+FLECHA ABAJO lleva el cursor a la última celda de la lista. Dentro de una macro, esto se representa con la instrucción Range(“A1”).End(xlDown). Esta instrucción equivale a oprimir la combinación CONTROL+FLECHA ABAJO, des- de la celda A1 para llegar hasta la última fila ocupada. De esa posición tomamos el número de fila (en inglés, Row). De la misma forma, localizamos la última columna de la derecha con: uc = Range (“A1”).End(xlDown).End(xlToRight).Column. Conociendo fila y columna, el rango de la tabla se identifica con la instrucción Range (Cells(1, “A”), Cells(uf, uc)), donde los dos argumentos de Range son las celdas que ocupan los vértices del rango. Estas celdas, a su vez, se identifican con Cells, cuyo primer argumento es el número de fila y el segundo, la columna. Por favor, espere Estoy armando un sistema en Excel con una macro muy compleja que copia datos entre distintas hojas. Para que la macro corra más rápido incluí la instrucción que congela la pantalla. Pero ahora tengo el problema que quien ve la pantalla con- gelada puede creer que la macro se colgó. ¿Cómo hago para mostrar un mensaje que diga “Procesando…” o algo así mientras la macro trabaja? Martín Hernández Martínez (México) La instrucción para congelar la pantalla a la que se refiere Martín es Application. ScreenUpdating = False. Esta instrucción deja fija la imagen en pantalla aunque “por dentro” el cursor salte de celda en celda y de hoja en hoja. Lo que pide el lector es que el usuario sepa que el programa no se colgó. Una manera simple de mostrar un mensaje que indique que hay una macro funcio- nando (y que efectivamente Excel no se colgó) es preparar una hoja auxiliar con el mensaje “Procesando... Espere”, o alguno similar, en letra bien grande. 8. MACROS 262 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 262
  • 265. Figura 33. Con una macro seleccionamos la primera hoja del libro (que contiene un mensaje que llenará toda la pantalla) y luego congela la pantalla para que la macro corra más rápido. El mensaje advierte al usuario que debe tener paciencia mientras se termina el proceso. La macro debería comenzar más o menos así: Sub Macro() Sheets(“ESPERE”).Select Application.ScreenUpdating = False ... ... ... End Sub Como podemos observar en el código, la macro selecciona la hoja con el mensaje y luego ejecuta la instrucción Application.ScreenUpdating = False. La macro conti- núa luego con sus instrucciones. Es un poco tosco, pero funciona. Tablas de multiplicar Hice una planilla para que mi hija, que está en tercer grado, practique las tablas de multiplicar. Una macro genera una multiplicación simple, al azar, y pre- gunta por el resultado. Luego compara la respuesta con el valor correcto y mues- tra un mensaje adecuado. Lo que querría es ponerle un límite de tiempo: que si mi hija no contesta en, por ejemplo, diez segundos, muestre la respuesta correcta y pase a una nueva pregunta. Diego Enríquez (Banfield, provincia de Buenos Aires) Tablas de multiplicar 263www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 263
  • 266. Una posibilidad de resolver el problema que plantea Diego sería usar una hoja que formule la pregunta, con una celda para escribir el resultado. Figura 34. Una vez que se hace clic en el botón Test, aparece esta pregunta y el operador debe escribir la respuesta en D4. La hoja se comanda con estas dos macros: Sub Test() Range(“D4”).Select Range(“D4”) = “???” x = Int(Rnd * 9 + 1) y = Int(Rnd * 9 + 1) [A4] = x [C4] = y [B2] = “¿Cuál es el resultado de esta cuenta? “Application.OnTime Now + _ TimeValue(“00:00:10”), “Fin” End Sub Sub Fin() If [D4] = [A4] * [C4] Then MsgBox (“¡Muy bien!”) Else MsgBox (“No. Es “ & [A4] * [C4]) End If [B2] = “” End Sub 8. MACROS 264 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 264
  • 267. El operador ejecuta la primera macro (Test) que genera los dos factores al azar y los escribe en la hoja, junto con el texto de la pregunta. Luego echa a andar un reloj que, después de diez segundos, dispara la ejecución de la segunda macro llamada Fin, que evalúa la respuesta y muestra un mensaje adecuado. Al formular la pregunta en una celda, el operador tiene tiempo de cambiar su res- puesta hasta que se cumpla el plazo. La instrucción Application.OnTime tiene dos argumentos: el primero es un tiempo, en este caso, el instante actual más diez segundos, el segundo es la macro que se eje- cutará una vez alcanzado ese tiempo. Generador de exámenes Soy docente y quiero hacer un “generador de exámenes”: un programa que elija preguntas de una lista y arme distintas combinaciones al azar. ¿Se podrá ha- cer con Excel?. Muchas gracias por la respuesta. Eduardo D. Rodríguez Hay varias formas de resolver este problema. Supongamos que tenemos la lista de preguntas en el rango D1:D20. En A1 escribimos la fórmula =D1 que reproduce la primera pregunta de la lista. Si extendemos esta fórmula hasta la fila 5 obtendría- mos un primer examen de cinco preguntas. Figura 35. Cada vez que (des)ordenamos la lista de preguntas de la derecha, se genera a la izquierda un nuevo examen con las primeras cinco preguntas de la lista. Ahora necesitamos “barajar” la lista de preguntas para obtener un nuevo conjunto de cinco. Para eso escribimos la función =ALEATORIO() en C1 (a la izquierda de la primera pregunta de la lista) y extendemos la fórmula hasta la fila 20. Esta función devuelve un número al azar que cambia cada vez que se recalcula la planilla (por- que cambiamos algún dato o porque oprimimos la tecla F9). Para barajar la lista ponemos el cursor en C1, sobre el primer número aleatorio y luego hacemos un clic Generador de exámenes 265www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 265
  • 268. en alguno de los botones Orden ascendente u Orden descendente. Este procedimiento ordena la lista de preguntas según el contenido de la columna de números aleato- rios. El resultado es, en realidad, desordenarla. Cada vez que lo hacemos, se genera en A1:A5 un nuevo conjunto de cinco preguntas. Se puede automatizar el proceso con la siguiente macro: Sub Examenes() ActiveSheet.PageSetup.PrintArea = “A1:A5” For i = 1 To 10 Range(“C1”).Sort (C1) ActiveSheet.PrintOut Next End Sub Figura 36. Con una macro se imprimen distintos juegos de preguntas, generados al azar. En esta macro, cada “vuelta” del ciclo For… Next genera e imprime diez exámenes distintos. Hay otras soluciones pero ésta es razonablemente efectiva. 8. MACROS 266 www.redusers.com ❘❘❘ Cuando escribimos una macro que imprime planillas conviene reemplazar la instrucción de im- presión ActiveSheet.PrintOut por ActiveSheet.PrintPreview, que muestra la Vista preliminar. Así ahorramos papel mientras ponemos a punto la macro. Cuando estamos seguros de su funcio- namiento, ponemos la instrucción de impresión. IMPRESIÓN 08_Excel revelado.qxp 12/29/09 4:26 PM Page 266
  • 269. Conteo por color Tengo un listado de importes, que pinto de distintos colores según una clave que sólo yo conozco. ¿Cómo puedo hacer para contar las celdas de un color dado? Guillermina Demker De Meer (Buenos Aires) No hay en Excel una función para “leer” el color de una celda, salvo cuando éste proviene de la aplicación de un formato condicional. Pero, como siempre, podemos crearla escribiendo el código adecuado en el editor de Visual Basic de Excel: Function CuentaColor(color, rango) Application.Volatile For Each celda In rango If celda.Interior.ColorIndex = color Then CuentaColor = CuentaColor + 1 End If Next End Function Lo que hace esta función es contar las celdas que tienen el color dado por el pri- mer argumento, dentro del rango dado por el segundo. Por ejemplo, la expre- sión =CuentaColor(5;A1:A10) cuenta cuántas celdas azules hay en el rango A1:A10. El 5 representa al color azul. La instrucción inicial Application.Volatile hace que la función recalcule su valor cada vez que se modifica la hoja, como cuando apre- tamos la tecla F9. Esta función la escribimos en la hoja, respetando su sintaxis, como cualquier otra función de Excel. Figura 37. La función CuentaColor se usa en la hoja, respetando su sintaxis tal como haríamos con cualquier función estándar de Excel. Conteo por color 267www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 267
  • 270. El color se indica por un número que es 1 para el negro, 2 para el blanco, 3 para el rojo, 5 para el azul, 6 para el amarillo, 10 para el verde y –4142 para celdas sin color. Si queremos conocer el número correspondiente a un color dado podemos usar es- ta otra función, aunque con la práctica los aprenderemos de memoria: Function Color(celda) color = celda.Interior.ColorIndex End Function Figura 38. Con esta función sabemos el número índice que corresponde al color de la celda indicada en el argumento. Estas funciones se escriben en el editor de Visual Basic, tal como con las macros. Extraer comentario Tengo una planilla en la que todas las celdas de una columna tienen comen- tarios. ¿Cómo puedo hacer para pasar ese comentario a una columna auxiliar? Guillermina Demker De Meer (Buenos Aires) 8. MACROS 268 www.redusers.com ❘❘❘ Cuando abrimos un libro con macros pueden pasar tres cosas: que Excel abra el archivo con las macros, que deshabilite las macros o que pregunte qué queremos hacer. Estas distintas alter- nativas se establecen en las opciones Herramientas/Macro/Seguridad o, en Excel 2007, con el botón Seguridad de macros, de la ficha Programador. SEGURIDAD EN MACROS 08_Excel revelado.qxp 12/29/09 4:26 PM Page 268
  • 271. Los comentarios son textos adicionales que se pueden aplicar en una celda. Estos textos normalmente permanecen ocultos hasta que seleccionamos la celda que los contiene. De lo contrario, la hoja presentaría una superposición de textos, lo que puede resultar confuso y molesto. Figura 39. Queremos que estos comentarios pasen a la celda que se encuentra en la siguiente columna de la hoja. La pregunta que plantea Guillermina pide mostrar en una celda el comentario insertado en otra. Puede hacerse con la siguiente función: Function Comentario(x) Comentario = x.Comment.Text End Function Figura 40. Esta función lee el comentario contenido en cada celda y lo escribe en una celda de la hoja. Extraer comentario 269www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 269
  • 272. La función COMENTARIO toma el comentario de la celda pasada como argumento (indicada aquí con la variable x) con las propiedades Comment.Text y la podemos usar en la hoja como cualquier otra función de Excel, respetando su sintaxis. Por ejemplo, para obtener el comentario incluido en la celda A5 escribimos, en una cel- da auxiliar, la función =COMENTARIO(A5). El nombre de la hoja Tengo un libro con varias hojas, una para cada mes ¿Hay alguna función que devuelva el nombre de la hoja que corresponde a una determinada celda? Diego Urbina (Lomas de Zamora, provincia de Buenos Aires) La forma más simple de resolver este problema es mediante una función creada en el editor de macros, como la que se muestra a continuación: Function nombrehoja() nombrehoja = ActiveSheet.Name End Function Figura 41. En la celda A1 obtenemos el nombre de la hoja con la función nombrehoja, especialmente creada en el editor de Visual Basic. 8. MACROS 270 www.redusers.com ❘❘❘ En el Capítulo 4 hay otros ejemplos del uso de EXTRAE y de algunas de las más de trescientas funciones especiales de Excel. Si con eso no alcanza, se puede consultar la Guía de Funciones de Excel 2007, donde se explican todas las funciones, con distintos ejemplos de aplicación. LA FUNCIÓN EXTRAE 08_Excel revelado.qxp 12/29/09 4:26 PM Page 270
  • 273. Ahora, esta función se puede usar en una celda de Excel como cualquier otra fun- ción. No obstante, es necesario mencionar que existe otra solución, que no necesi- ta macros ni funciones pero es más compleja. Consiste en esta gigantesca expresión: =EXTRAE(CELDA(“nombrearchivo”;A1);ENCONTRAR(“]”;CELDA(“nombrearchivo”; A1))+1;100), pero estamos seguros de que el lector preferirá la primera opción. Figura 42. La función CELDA, con el argumento nombrearchivo, devuelve el nombre completo del archivo actual, con su ruta y el nombre de la hoja. De este resultado podemos separar el nombre de la hoja. La función CELDA, con su primer argumento igual a nombrearchivo, devuelve el nom- bre del archivo actual, comenzando con su ruta y terminando con el nombre de la hoja. Con la función ENCONTRAR localizamos el corchete que precede al nombre y con la función EXTRAE obtenemos ese nombre. Argumentos opcionales Hice una serie de funciones para procesar datos en una planilla algo com- pleja. ¿Es posible que estas funciones tengan argumentos opcionales, que pueda indicar o no? Muchas gracias por la solución que me puedan brindar. Gabriel Goldstein (Buenos Aires) Efectivamente, Gabriel está en lo cierto. Las funciones que creamos en el editor de Visual Basic pueden tener argumentos opcionales, pero sólo si los precedemos por la palabra clave Optional. Por ejemplo, la siguiente función devuelve el nombre del mes correspondiente a una fecha dada. Al incluir la clave Optional para el argumento mayus, indicamos que no es necesario que se escriba en mayúsculas: Function nombremes(fecha, Optional mayus As Boolean) nombremes = Format(fecha, “mmmm”) If mayus Then nombremes = UCase(nombremes) End Function Argumentos opcionales 271www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 271
  • 274. Figura 43. La función nombremes devuelve el nombre del mes para una fecha dada. Si indicamos el valor lógico VERDADERO como segundo argumento, el nombre aparece en mayúsculas. Si indicamos el valor FALSO, o si lo omitimos, el nombre aparece en minúsculas. En esta función, el argumento mayus es opcional e indica si queremos el nombre en mayúsculas. Si no lo indicamos, la función devolverá el nombre en minúsculas, tal como si le hubiéramos dado el valor FALSO. En los argumentos lógicos, como es el caso de mayus, el valor VERDADERO se puede reemplazar por 1 o cualquier número positivo; el valor FALSO se puede reemplazar por 0. Pintar mapas Tengo una serie de mapas insertados en mi hoja. En una tabla tengo valores asociados a cada mapa. ¿Cómo hago para colorear cada mapa en función de los va- lores de la tabla? Por ejemplo, si el valor supera las 500 unidades, que se pinte de verde, si no lo supera, que se pinte de rojo. Martín Canosa Vamos a suponer que tenemos un conjunto de mapas, con las distintas regiones de España. Cada región es un objeto separado. Por otra parte, tenemos una tabla con los nombres de cada región y valores de ventas para cada una. 8. MACROS 272 www.redusers.com ❴❵ En Excel 5, que data de 1992, el código de las macros se escribía en una hoja especial lla- mada Macro, junto a las demás hojas del libro. No había que abrir el editor de Visual Basic. Además, el lenguaje de macros coincidía con el idioma de instalación de Excel. Por ejemplo, la instrucción MsgBox era CuadroMsj, en la versión en español. MACROS EN EXCEL 5 08_Excel revelado.qxp 12/29/09 4:26 PM Page 272
  • 275. Figura 44. Queremos colorear cada una de las regiones del mapa, según el valor indicado en la tabla de la izquierda. En primer lugar vamos a incluir una columna en la tabla, con un número de or- den. Ahora tenemos que darle un nombre a cada mapa. Este nombre será la pa- labra MAPA, seguida de su número de orden en la tabla. Estos nombres los vamos a asignar manualmente, uno por uno: ■ Asignar nombres PASO A PASO Seleccione el primer mapa. Haga un clic en el Cuadro de nombres, arriba y a la izquierda de la hoja, ahí donde aparecen las coordenadas de la celda actual. Escriba el nombre del mapa seleccionado. En este caso, MAPA1. Oprima la tecla Enter. Pintar mapas 273www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 273
  • 276. A continuación, debemos repetir este procedimiento con cada una de las regio- nes del mapa. Es algo tedioso pero ya casi terminamos. Luego sí, para concluir con este ejemplo, creamos la siguiente macro: Sub Colores() For i = 2 To 16 mapa = “MAPA “ & Cells(i, “A”) pinto = 10 If Cells(i, “C”) > 500 Then pinto = 11 ActiveSheet.Shapes(mapa). _ Fill.ForeColor.SchemeColor = pinto ActiveSheet.Shapes(mapa).Fill.Solid Next End Sub Esta macro recorre la tabla a partir de la segunda fila (en la primera están los títulos). Para cada fila toma nota del número de orden de la región (presente en la columna A) y arma el nombre de su mapa concatenando el número a la palabra MAPA. Luego asigna el valor 10 a la variable pinto, que guarda el color que se va a usar. En este ca- so, el valor 10 corresponde al color rojo. La siguiente instrucción es una condicional que le da a la variable pinto el valor 11 (correspondiente al verde) si el valor de las ventas (indicado en la columna C) es mayor a 500. Finalmente, asigna al mapa el co- lor correspondiente al valor de la variable pinto. Menú para hojas Armé un libro de Excel para cotizar cursos. El libro tiene una hoja para cada curso y, en la hoja inicial, hay una lista desplegable para seleccionar el curso. Quiero que, una vez elegido el curso, se seleccione automáticamente la hoja correspondiente. Alejandro Wikarczuk (Avellaneda, provincia de Buenos Aires) Una opción es usar una macro que “lea” el nombre de la hoja seleccionada en la lis- ta desplegable y luego seleccione esa hoja. Si suponemos que la lista está en la cel- da B2 la macro sería como la que escribimos a continuación: Sub ir() hoja = [B2] Sheets(hoja).Select End Sub 8. MACROS 274 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 274
  • 277. Menú para hojas 275www.redusers.com ❘❘❘ En Excel 2007 los libros con macros pertenecen a una categoría especial. Deben ser graba- dos con la opción Libro de Excel habilitado para macros y reciben la extensión XLSM. Si se guarda en Excel 2007 un libro en modo compatible con Excel 97-2003, recibirá la extensión XLS tenga o no tenga macros. LIBROS CON MACROS EN EXCEL 2007 Figura 45. La macro de la derecha selecciona la hoja cuyo nombre fue elegido en la lista desplegable de la celda B2. La lista se obtiene con la opción de Validación. La lista desplegable se obtiene con la opción de Validación. Primero se debe escribir la lista de cursos (u hojas) en un rango auxiliar. Luego se invoca el comando: ■ Generar una validación PASO A PASO Seleccione la celda donde quiere obtener la lista. En este caso, B2. Seleccione la ficha Datos de la Cinta de opciones. Haga un clic en el botón Validación de datos y luego en la opción Validación de datos. Aparecerá un cuadro donde debe indicar el criterio de validación. Dentro de Permitir, indique Lista. Dentro de Origen, seleccione el rango de datos válidos. En este caso, donde ha escrito la lista de cursos. Haga un clic en Aceptar 08_Excel revelado.qxp 12/29/09 4:26 PM Page 275
  • 278. En Excel 2003 y en las versiones anteriores, el cuadro para configurar la lista des- plegable se obtiene con las opciones Datos/Validación. Figura 46. Con estas opciones creamos una lista desplegable en la celda actual. Los valores que aparecerán en la lista son los del rango indicado en la opción Origen. Cuando el cursor esté en la celda B2 aparecerá una flechita que revela la presen- cia de la lista desplegable. Con un clic en esa flechita se descuelga la lista de cur- sos. Una vez elegido el curso se ejecuta la macro (puede ser con un botón) que selecciona la hoja correspondiente. Archivos de texto En mi trabajo tenemos archivos de texto que deben volcarse a una hoja Ex- cel para hacer diversos procesos. La hoja tiene tres filas de encabezamiento: Nom- bre del campo, Inicio y Fin. Estos dos últimos valores indican de dónde a dónde va cada campo dentro del archivo de texto. Actualmente copio y pego individualmen- te cada campo desde el archivo de texto a la planilla. ¿Hay alguna forma de ha- cerlo automáticamente?. Espero que me puedas ayudar. Adrián Deyme (Buenos Aires) La solución a este problema tiene dos partes: leer el archivo de texto en Excel y lue- go separar cada línea en los distintos campos. Cuando abrimos un archivo de texto en Excel aparece el Asistente para importar texto que, en principio, copiará cada renglón de texto en una celda, dentro de la columna A. Nosotros podemos separar este renglón en campos según dos criterios: indicando un separador o los límites de cada campo. 8. MACROS 276 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 276
  • 279. Figura 47. Este es el Asistente para importar texto que aparece al abrir en Excel un archivo de texto y separa cada línea del archivo en campos, uno por celda. La pregunta del lector corresponde a este último caso. El problema es que los lí- mites hay que indicarlos uno por uno y Adrián pide algo más automático. Una solución, aunque no es la más conveniente pero sí la mejor que pudimos encon- trar, podría ser ejecutar la siguiente macro: Sub texto () Open “Archivo.txt” For Input As #1 fila = 4 Do Line Input #1, linea For j = 1 To 20 comienzo = Cells(2, j) largo = Cells(3, j) - comienzo + 1 Cells(fila, j) = Mid(linea, comienzo, largo) Next fila = fila + 1 Loop Until linea = “” Close #1 End Sub Esta macro abre el archivo de texto indicado en la instrucción Open y le asigna un número (el número 1, en este caso) para referirse a él en el futuro. En gene- ral, el nombre del archivo debe incluir la ruta completa. Luego usa la instruc- ción Line Input para leer el archivo renglón por renglón. Archivos de texto 277www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 277
  • 280. Figura 48. Esta planilla indica cómo se separa una línea de texto en siete campos. Los valores de la segunda y la tercera fila dan las posiciones de inicio y fin de cada campo. Para cada renglón leído, lo separa en campos cuyos límites se indican en las filas 2 y 3 de la planilla actual. Para separar la línea usa la función Mid que lleva tres argumentos: • El primero es el texto que se quiere cortar en campos. En este caso, la línea leída. • El segundo es la posición a partir de la cual separar el campo. Esta posición (asig- nada a la variable comienzo) la lee de la segunda fila de la hoja. • El tercero es la cantidad de caracteres para cortar. Esta longitud la calcula restando la posición final menos la posición inicial, más una unidad. Por ejemplo, si un campo abarca de las posiciones 44 a 48, tendrá cinco ca- racteres de longitud (44, 45, 46, 47 y 48) calculados como 48-44+1. La macro tiene dos ciclos. El primero lee línea tras línea hasta la línea vacía que mar- ca el final del archivo. El segundo separa la línea en siete campos. Elegir imágenes Quería saber cómo obtener una imagen elegida desde una lista desplegable o cuadro combinado. Por ejemplo, si tengo una lista de países, quiero elegir uno de ellos y que la planilla muestre la bandera del país elegido. Jorge García Herrera (México) 8. MACROS 278 www.redusers.com ❘❘❘ Es importante recordar que una macro se puede ejecutar sobre cualquier libro abierto. Las macros de uso general conviene escribirlas en un libro maestro que se deja abierto en toda la sesión de Excel. En cambio, las funciones creadas en el editor de Visual Basic sólo pueden usarse en el libro donde se escribió su código. ALCANCE DE MACROS Y FUNCIONES 08_Excel revelado.qxp 12/29/09 4:26 PM Page 278
  • 281. Elegir imágenes 279www.redusers.com Este problema nació de un mensaje dejado en el foro de Excel de RedUSERS (www. redusers.com/foros/excel) por el usuario ferska y se puede resolver con una macro. Figura 49. Queremos elegir el nombre de un país en la celda A1 y que, automáticamente, aparezca la bandera de ese país. En primer lugar, debemos insertar en una hoja las banderas de los países que apa- recerán en la lista. Podemos recurrir al conocido buscador Google y utilizar la op- ción Imágenes para hallar rápidamente las banderas que necesitemos. Además, conviene que todas tengan el mismo tamaño y que estén en el mismo lugar de la hoja, una encima de la otra. La macro las reconocerá con la instrucción Active Sheet.Shapes(i), donde la variable i es el subíndice que corresponde al orden en que hayamos insertado las banderas. En un rango auxiliar, por ejemplo D1:D5, es- cribimos los nombres de los países. Supongamos que la lista debe aparecer en la celda A1. Entonces aplicamos el criterio de validación: ■ Configurar la validación PASO A PASO Coloque el cursor en A1, la celda donde quiere obtener la lista desplegable. Seleccione la ficha Datos de la Cinta de opciones. Haga un clic en el botón Validación de datos, dentro de él aparecerá una lista con las opciones de validación. Haga clic en Validación de datos.... Seleccione la ficha Configuración. Dentro de Permitir elija la opción Lista. Dentro de Origen seleccione el rango donde tiene escrita la lista de países. 08_Excel revelado.qxp 12/29/09 4:26 PM Page 279
  • 282. Haga un clic en Aceptar. En Excel 2003 y en las versiones anteriores, las opciones de validación se obtienen con Datos/Validación. El resto de la operación es igual. En otra celda, por ejemplo A4, escribimos la función =COINCIDIR(A1;D1:D5;0), donde el primer argumento es la celda donde aplicamos el criterio de validación y el segundo es el rango donde tenemos la lista de países. Esta función devuelve el número de orden del país dentro de la lista. Figura 50. La función de la celda A4 muestra el número de orden del país seleccionado en la celda A1, dentro de la lista del rango D1:D5. 8. MACROS 280 www.redusers.com 08_Excel revelado.qxp 12/29/09 4:26 PM Page 280
  • 283. Veamos si esto funciona. Con el cursor en A1 debe aparecer una flechita. Si hace- mos clic en ella, se descolgará la lista de países. Al elegir uno de ellos aparecerá en A4 su respectivo número de orden. Ahora escribimos la siguiente macro: Sub Banderas () For i = 1 To 5 If i = [A4] Then ActiveSheet.Shapes(i).Visible = True Else ActiveSheet.Shapes(i).Visible = False End If Next End Sub Esta macro recorre la lista de banderas. Si su número de orden coincide con el ob- tenido en A4, lo hace visible. Si no, lo oculta. El resultado será mostrar la bandera del país elegido en la lista. Para que esto funcione hay que ejecutar la macro cada vez que elegimos un país. Podemos hacerlo automáticamente: ■ Macro automática PASO A PASO Dentro del editor de Visual Basic, tome las opciones Ver/Explorador de proyectos. Aparecerá una estructura similar a la del Explorador de archivos. En esta estructura haga un doble clic en la entrada correspondiente a la hoja donde está la lista de países. Se abrirá una ventana de texto con dos listas desplegables. En la lista de la izquierda, seleccione Worksheet. En la de la derecha, seleccione Change. Aparecerá el comienzo y el fin de una macro. Elegir imágenes 281www.redusers.com ❘❘❘ Si vamos a ejecutar una macro asignándole una combinación de teclas, conviene elegir com- binaciones de la forma CONTROL+SHIFT+letra. Las combinaciones CONTROL+letra parecen más cómodas, pero suelen tener otras funciones ya asignadas por Excel. Usarlas para otra cosa termina causando confusiones. ATAJOS DE TECLADO 08_Excel revelado.qxp 12/29/09 4:26 PM Page 281
  • 284. Figura 51. Al elegir Change aparecerá el comienzo y fin de una macro automática. Las líneas que aparecen en el editor corresponden a una macro que se ejecutará au- tomáticamente al modificar cualquier valor de la hoja. Entre estas dos líneas copiamos el código de la macro anterior. Debe quedar así: Private Sub Worksheet_Change(ByVal Target As Range) For i = 1 To 5 If i = [A4] Then ActiveSheet.Shapes(i).Visible = True Else ActiveSheet.Shapes(i).Visible = False End If Next End Sub Esta macro se ejecutará automáticamente cada vez que cambia algún valor de la hoja y oculta todas las imágenes de la hoja, excepto la que corresponde a la indicada en la cel- da A4. Ahora, cada vez que seleccionemos un país se disparará la macro automática que ocultará todas las banderas, excepto la correspondiente al país seleccionado. 8. MACROS 282 www.redusers.com … RESUMEN La respuesta a la pregunta que cierra este capítulo constituye el desarrollo de un sistema de cierta complejidad. Ocurre que las macros permiten desarrollar verdaderos programas para solucionar problemas muy complejos. Para profundizar en el tema, recomendamos el libro Proyectos con macros en Excel, de la colección USERS Express. 08_Excel revelado.qxp 12/29/09 4:26 PM Page 282
  • 285. Miscelánea Guardado automático 287 Actualizar vínculos 291 Hipervínculos 293 Hipervínculo móvil 295 Copiar subtotales 307 Proteger archivo 312 Validación tolerante 319 Combinar datos 324 Capítulo 9 La cantidad y variedad de problemas que se pueden resolver con Excel es tal que se hace muy difícil de clasificar. Un mismo problema puede involucrar distintos tipos de recursos: funciones, comandos, macros. En este capítulo agrupamos todo lo inclasificable, lo que no nos fue posible encuadrar en ninguno de los demás capítulos. EXCEL REVELADO SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 283
  • 286. Seleccionar hojas ¿Cómo se hace para seleccionar muchas hojas de un libro Excel sin tener que apretar la tecla CONTROL y hacer clic en cada una? Resulta que hago cambios fre- cuentes en las hojas y me complica tener que seleccionarlas una por una. Viviana Lucía Aranda (Ranelagh, provincia de Buenos Aires) La respuesta a esta pregunta depende de cuáles sean las hojas que se quiera seleccionar: • Para seleccionar ciertas hojas del libro, no contiguas, no hay otra forma que la que dice Viviana: mantener apretada la tecla CONTROL y hacer clic en la solapa de ca- da hoja que se quiere seleccionar. Apretar sostenidamente la tecla CONTROL hace que cada hoja seleccionada no deseleccione las anteriores. • Para seleccionar hojas contiguas, se puede seleccionar la primera hoja del gru- po y luego, manteniendo apretada la tecla SHIFT, seleccionar la última. También se puede seleccionar la primera hoja del grupo y luego, manteniendo apretadas las teclas CONTROL y SHIFT, apretar la tecla Av. Página hasta recorrer (y seleccionar) todo el grupo. • Para seleccionar todas las hojas del libro, lo más simple es hacer un clic derecho en la solapa de cualquier hoja y luego tomar la opción Seleccionar todas las hojas. Cualquiera de estas tres opciones funciona en todas las versiones de Excel. Figura 1. Con la opción Seleccionar todas las hojas se seleccionan inmediatamente todas las hojas del libro. 9. MISCELÁNEA 284 www.redusers.com ❘❘❘ En libros de muchas hojas podemos saltar de hoja en hoja a través de las solapas al pie del libro o con el teclado: la combinación CONTROL+AVPÁG pasa a la hoja siguiente; la combinación CONTROL+REPÁG pasa a la hoja anterior. De cualquier manera obtendremos el mismo resultado. NAVEGAR LIBROS DE MUCHAS HOJAS 09_Excel revelado.qxp 12/29/09 4:27 PM Page 284
  • 287. Cerrar todas las planillas Luego de trabajar con varias planillas, quiero cerrarlas a todas, pero sin salir de Excel. Lo hago con un clic en el botón Cerrar tantas veces como planillas tengo abiertas, pero recuerdo que Quattro Pro tenía una opción para cerrar todos los archi- vos en un único paso. ¿Hay algo parecido en Excel? Alberto Constanzo (Tigre, provincia de Buenos Aires) La respuesta a esta pregunta depende de la versión de Excel que se esté usando. En Excel 2003 y en las versiones anteriores, existe una opción para cerrar todas las plani- llas abiertas, pero está un poco escondida. Para verla tenemos que mantener apretada la tecla SHIFT mientras abrimos el menú Archivo y hacer clic en la opción Cerrar todo. Figura 2. Si hacemos un clic en Archivo mientras mantenemos apretada la tecla SHIFT, el menú que se descuelga muestra la opción Cerrar todo para cerrar todas las planillas abiertas. Como su nombre lo indica, esta opción cierra todos los libros abiertos. Por su- puesto, avisa cada vez que se dispone a cerrar un archivo aún no grabado, para permitirnos salvar nuestro trabajo antes de dar por terminada la sesión. Sin em- bargo, esto no funciona en Excel 2007, donde no existe el menú Archivo. En Cerrar todas las planillas 285www.redusers.com ❘❘❘ En 1978, un estudiante de Harvard imaginó una calculadora cuyo visor pudiera guiarse a lo largo y a lo ancho de una planilla virtual, como si fuera la mira de un avión caza, escribiendo y calculando números. Ésa fue la idea inicial que inspiró el VisiCalc, la primera planilla elec- trónica de cálculo, aparecida en 1979. EL ORIGEN DE LAS PLANILLAS DE CÁLCULO 09_Excel revelado.qxp 12/29/09 4:27 PM Page 285
  • 288. principio, este menú ha sido reemplazado por el Botón de Office que contiene las opciones habituales tales como Abrir, Guardar, Cerrar o Imprimir. Pero no hay una opción para cerrar todos los libros abiertos. Figura 3. En Excel 2007, las opciones habituales del menú Archivo aparecen en el Botón de Office. Pero no hay una opción para cerrar todos los archivos abiertos. Podemos, sin embargo, obtener una opción para cerrar todos los libros abiertos en Excel 2007 personalizando la barra de herramientas de acceso rápido, esa que apa- rece arriba de la cinta de opciones, junto al Botón de Office. ■ Personalizar el acceso rápido PASO A PASO Haga un clic derecho sobre la barra de herramientas de acceso rápido. Tome la opción Personalizar barra de herramientas de acceso rápido. Aparecerá el cuadro de Opciones de Excel, correspondiente a la categoría Personalizar. Dentro de la casilla denominada Comandos disponibles en: haga un clic en la flechita de la derecha y de las opciones que se despliegan seleccione Comandos que no están en la cinta de opciones. En la lista de la izquierda, busque y seleccione el comando Cerrar todo (los comandos están en orden alfabético). 9. MISCELÁNEA 286 www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 286
  • 289. Haga un clic en Agregar. El comando se agregará a la lista de la derecha. Haga un clic en Aceptar. Ahora este botón aparecerá en la barra de herramientas de acceso rápido. Si nos arre- pentimos y queremos eliminarlo, hacemos un clic derecho sobre el botón y luego tomamos la opción Eliminar de la barra de herramientas de acceso rápido. Guardado automático En Excel 97 tenía una opción para guardar automáticamente el libro actual a intervalos regulares. Ahora me pasé a Excel XP y no encuentro esa opción. ¿No exis- te o está escondida en alguna parte? Néstor Robles Rivera (Chihuahua, México) Es importante aclarar que a partir de Excel XP la opción de guardado automático se llama Autorrecuperación. Para activarla debemos seguir los siguientes pasos: Guardado automático 287www.redusers.com ❘❘❘ Una forma simple de ir guardando el archivo a medida que trabajamos con él es oprimir la com- binación CONTROL+G. Si hacemos esto cada, por ejemplo, cinco minutos, ante una catástrofe en el peor de los casos perderemos lo que hicimos en los últimos cinco minutos. GUARDADO RÁPIDO 09_Excel revelado.qxp 12/29/09 4:27 PM Page 287
  • 290. ■ Guardado automático (Excel XP) PASO A PASO Vaya al menú Herramientas/Opciones y seleccione la ficha Guardar. Dentro de Guardar información de Autorrecuperación cada: indique el intervalo deseado. De 10 a 15 minutos es un valor razonable. Dentro de Ubicación de guardado con autorrecuperación: puede indicar la carpeta donde se guardará el archivo. No marque la opción Deshabilitar Autorrecuperación. Haga un clic en Aceptar. Si indicamos un intervalo de 10 minutos, y ocurre alguna catástrofe mientras estamos trabajando con Excel (por ejemplo, se corta la luz), en el peor de los casos perderemos lo hecho en los últimos diez minutos. Cuando volvemos a entrar a Excel, el Panel de tareas mostrará los archivos que no llegamos a grabar, pero que se conservaron gra- cias a la opción de Autorrecuperación. Haciendo un clic sobre ellos, los abrimos. Figura 4. Si reabrimos Excel luego de un corte de luz, el Panel de tareas nos mostrará los archivos que no llegamos a grabar, pero que se preservaron gracias a la opción de Autorrecuperación. 9. MISCELÁNEA 288 www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 288
  • 291. En general, el Panel de tareas puede mostrar el mismo archivo más de una vez: el original, que hayamos grabado nosotros con Archivo/Guardar y el obtenido por la opción de Autorrecuperación. Comparando la hora de grabación, sabremos cuál es el que nos interesa recuperar. La opción de Autorrecuperación funciona igual en Excel 2003, pero cambia en Ex- cel 2007. Si tenemos esta versión de Excel instalada debemos proceder así: ■ Guardado automático PASO A PASO Haga un clic en el Botón de Office y luego en Opciones de Excel. En el panel de la izquierda, seleccione la categoría Guardar. A continuación, indique el intervalo deseado dentro de Guardar información de Autorrecuperación cada:. Dentro de Ubicación de guardado con autorrecuperación: puede indicar la carpeta donde se guardará el archivo. Haga un clic en Aceptar. A excepción de la ubicación de los menús y el nombre de algunas fichas y coman- dos, que difieren según la versión de Excel que tengamos instalada, por lo demás, el comportamiento de la opción es la misma en todas las versiones de Excel. Guardado automático 289www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 289
  • 292. Saltar de panel en panel Tengo una hoja de Excel dividida en dos partes con las opciones Ventana/ Dividir. Quisiera saber si existe alguna combinación de teclas que me permita pasar de una división a otra, en lugar de tener que seleccionar con un clic del mouse cada parte de la ventana dividida. Gracias por tu ayuda. Elías Manzur (provincia de San Juan) Es posible dividir la ventana de Excel en cuatro paneles. En Excel 2007 lo hacemos con un clic en el botón Nueva ventana, dentro de la ficha Vista de la cinta de opciones. Figura 5. Podemos dividir la ventana de Excel en cuatro paneles a partir de la posición del cursor. Equivale a las opciones Ventana/Dividir de las versiones anteriores de la planilla. Excel divide la ventana actual como si trazara dos líneas, horizontal y verticalmen- te, en la posición del cursor. Si el cursor está en la primera o en la última columna visible, la ventana queda dividida verticalmente en dos. Si está en la primera o en la última fila, la ventana queda dividida horizontalmente. En cualquier caso, podemos saltar de región en región con la tecla F6. Cuando lo consideramos conveniente, podemos eliminar la división haciendo nue- vamente un clic en el botón Nueva ventana o, en las versiones anteriores de Excel, mediante las opciones Ventana/Quitar división. 9. MISCELÁNEA 290 www.redusers.com ❘❘❘ El uso de la tecla F6 para saltar de panel en panel se remonta a Lotus 1-2-3, uno de los prime- ros programas para el manejo de planillas de cálculo. También heredadas de este programa, te- nemos la tecla F2 para modificar el contenido de una celda y la combinación de las teclas Fin e Inicio para ir a la esquina inferior derecha de la hoja actual. TECLAS CON HISTORIA 09_Excel revelado.qxp 12/29/09 4:27 PM Page 290
  • 293. Actualizar vínculos Hice una planilla que desarrolla un plan de producción con información to- mada de otras planillas que los demás usuarios graban en un mismo servidor. Cada vez que abro la planilla, Excel me pregunta si quiero actualizar los datos vinculados. Pero a veces quiero hacer la actualización cuando ya la tengo abierta. ¿Tengo que ce- rrar la planilla y volverla a abrir o hay otra manera? David L. Brown No es necesario abrir y cerrar una planilla para que ésta actualice los datos que to- ma desde otros archivos. Basta hacer un clic en el botón Conexiones, dentro de la ficha Datos de la Cinta de opciones y luego en la opción Actualizar valores. Figura 6. Con esta opción actualizamos los datos que provengan de otro libro de Excel. Es importante recordar que en las versiones anteriores de Excel tenemos que tomar las opciones Edición/Vínculos y luego hacer un clic en Actualizar valores. En cualquier caso, Excel buscará las demás planillas vinculadas y transferirá sus datos hacia la planilla principal, con solo presionar un botón. Figura 7. En Excel 2003 y en las versiones anteriores accedemos a las opciones para actualizar vínculos desde el menú Edición/Vínculos. Actualizar vínculos 291www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 291
  • 294. Sin actualización automática Tengo una planilla que toma datos de otros archivos. Cuando la abro, Excel me invita a actualizar los datos externos. Muchas veces acepto la invitación a actua- lizar y, si antes modifiqué las planillas vinculadas, obtengo resultados que no corres- ponden. ¿Es posible programar la planilla para que no actualice ni pregunte y que yo pueda actualizar los datos cuando quiera? Carlos Ferreyra (Olivos, provincia de Buenos Aires) Efectivamente, cuando uno abre un archivo Excel vinculado a otros, es posible que aparezca una advertencia que anuncia que el libro tiene vínculos a otras fuentes y que se ha deshabilitado la actualización de esos datos vinculados. Figura 8. Estamos abriendo un archivo Excel vinculado a otros. Excel pregunta si queremos actualizar los datos de la planilla actual con los valores de los demás archivos. En realidad, ésa es solamente una de tres opciones: • Que avise que se ha deshabilitado la actualización de los datos. • Que no presente al aviso ni actualice los datos. • Que actualice sin avisar. Desde el punto de vista de la seguridad, la opción más adecuada es la primera. La que desea nuestro lector es la segunda. En cualquier caso, para activar la opción deseada: 9. MISCELÁNEA 292 www.redusers.com ❘❘❘ Muchas veces, al abrir un archivo Excel, aparece un cuadro que informa que el libro tiene víncu- los con otros archivos, pero que no los encuentra. Si estamos seguros de que esos vínculos ya no son necesarios, podemos eliminarlos con el botón Romper vínculo, dentro de Editar vínculos. ROMPER VÍNCULOS 09_Excel revelado.qxp 12/29/09 4:27 PM Page 292
  • 295. ■ Actualización de datos PASO A PASO Haga un clic en el botón Editar vínculos de la ficha Datos de la Cinta de opciones. Haga un clic en Pregunta inicial. Aparecerá un cuadro con las tres opciones. Marque la alternativa deseada. Haga un clic en Aceptar y luego en Cerrar. Si marcamos la opción No mostrar la alerta ni actualizar los vínculos automáticos, Excel no actualizará los datos vinculados, ni avisará de la existencia de estos datos. Cuando el usuario lo desee, podrá actualizarlos con la opción Actualizar valores, den- tro de Editar vínculos, tal como se explica en la pregunta anterior. En las versiones anteriores de Excel, las opciones para la apertura de archivos vin- culados aparecen dentro del menú Edición/Vínculos. Es importante recordar que la opción de Actualizar valores apareció en Excel XP, de modo que no está disponible en Excel 2000 ni en las versiones anteriores. Hipervínculos Tengo un libro de Excel con dos hojas. En la Hoja2 hay una base de datos con nombre, fecha, importe, etcétera. En la Hoja1 tengo una lista con los nombres de la base anterior. Me gustaría poder hacer clic en un nombre de la Hoja1 y saltar auto- máticamente a la fila correspondiente de la Hoja2. Daniel Suasnabar (provincia de Salta) El problema que plantea Daniel puede resolverse de una manera bastante senci- lla, utilizando la función HIPERVINCULO, que tiene dos argumentos: Hipervínculos 293www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 293
  • 296. • El primero es la dirección. Puede ser una dirección de Internet o la referencia a una celda de un archivo Excel. • El segundo es un nombre descriptivo que mostrará la función. Figura 9. Esta función genera un hipervínculo a la página de foros de la revista USERS. Por ejemplo: =HIPERVINCULO(“www.reduser.com/foros”;“Foros USERS”). En el caso planteado en la pregunta, la dirección debe ser la referencia comple- ta a la celda a donde queremos saltar. Completa quiere decir que debe incluir el nombre del archivo, el nombre de la hoja y la dirección de la celda. Por ejem- plo, si el archivo se llama Base y el registro correspondiente a Juan está en la cel- da B9 de la Hoja2, la referencia completa será Base.xlsHoja2!B9. Y la función sería =HIPERVINCULO(“Base.xlsHoja2!B9”; “Juan”) Figura 10. Las fórmulas de la columna C generan hipervínculos a las celdas de la Hoja2 donde se encuentra cada dato de la columna A. 9. MISCELÁNEA 294 www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 294
  • 297. El problema es identificar la celda donde está el registro de Juan. Lo podemos hacer con la función COINCIDIR. Si los nombres están en la columna A de la Ho- ja2 hacemos: =COINCIDIR(“Juan”;Hoja2!A:A;0). El último argumento indica que buscamos una coincidencia exacta. La función devuelve el número de orden de la posición de Juan en la columna A de la Hoja2. Es decir, el número de fila. Con- catenando este resultado con la letra A obtenemos las coordenadas de la celda buscada. En resumen, si suponemos que los nombres están en la columna A, a partir de la segunda fila, las fórmulas son: • En B2 escribimos la función =COINCIDIR(A2;Hoja2!A:A;0) para obtener el número de fila correspondiente al nombre escrito en A2. • En C2 escribimos la función =HIPERVINCULO(“Base.xlsHoja2!A”&B2;”Ir”). Esta función genera el hipervínculo a la celda de la columna A de la Hoja2 y la fila ob- tenida en B2. El hipervínculo muestra el texto Ir. Hipervínculo móvil Tengo una planilla con datos distribuidos en distintas zonas. Al principio de la hoja puse hipervínculos a cada zona para facilitar la navegación. Mi problema es que, cuando inserto filas para agregar datos, las zonas se mueven y los hipervínculos ya no apuntan a la dirección correcta. ¿Cómo hago para que los hipervínculos apunten siempre a la zona correcta, aunque ésta se mueva? Santiago Esteve (Necochea, provincia de Buenos Aires) Una solución a la planilla de Santiago podría ser crear, en cada zona, un nom- bre de rango. Luego, se hacen apuntar los hipervínculos a esos nombres. Por ejemplo, supongamos el caso que plantea el lector, en el que tenemos en la hoja una zona con nombres de ciudades, a partir de la celda A10. Vamos a asignarle el nombre Ciudades a esta celda, de la siguiente manera: ■ Crear un nombre de rango PASO A PASO Ubique el cursor en A10, la celda a la cual le asignará el nombre. Haga un clic en el Cuadro de nombres, arriba y a la izquierda de la planilla, donde aparecen las coordenadas de la celda actual. Dentro de este cuadro, escriba el nombre elegido. En este caso, Ciudades. Oprima la tecla ENTER (no olvidar este paso). Hipervínculo móvil 295www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 295
  • 298. Figura 11. Al hacer un clic en el Cuadro de nombres, podemos escribir un nombre para designar al rango actualmente seleccionado. Ahora, el nombre Ciudades es sinónimo de la celda A10. Entonces, todo lo que te- nemos que hacer es crear un hipervínculo al nombre: ■ Crear hipervínculo (1) PASO A PASO Ubique el cursor en el lugar donde desea crear el hipervínculo. Seleccione la ficha Insertar, dentro de la cinta de opciones. Haga un clic en el botón Hipervínculo. Aparecerá un cuadro con las opciones necesarias para definir el hipervínculo. En el lado izquierdo del cuadro, haga clic en Lugar en este documento. El cuadro mostrará las distintas hojas del archivo y los nombres definidos. 9. MISCELÁNEA 296 www.redusers.com ❘❘❘ En Calc (el programa de hojas de cálculo de OpenOffice) los hipervínculos a otros archivos de- ben ir precedidos por el prefijo file:///. Por ejemplo, =HIPERVINCULO(“file:///Sueldos.xls”) genera un hipervínculo al archivo Sueldos.xls. En Excel, la función genera correctamente el hi- pervínculo sin este prefijo. HIPERVÍNCULOS 09_Excel revelado.qxp 12/29/09 4:27 PM Page 296
  • 299. Haga un clic en el nombre. En este caso, Ciudades. Dentro de Texto, escriba el texto que aparecerá en el hipervínculo. Excel sugiere usar el propio nombre asignado al rango. Haga un clic en Aceptar. En las versiones de Excel anteriores a 2007, el cuadro para crear el hipervínculo se obtiene con las opciones Insertar/Hipervínculo. El hipervínculo aparece en la hoja tal como en las páginas de Internet: en color, su- brayado y cuando apoyamos el puntero sobre él, éste se convierte en una manito. Al hacer un clic sobre este hipervínculo, el cursor salta a la celda asociada. Figura 12. Así se ve el hipervínculo en la hoja. Apunta a la dirección o al nombre indicado en el momento de crearlo. Si movemos la lista de ciudades (por ejemplo, porque insertamos filas por encima), el nombre del rango se moverá con ella, lo que resuelve el problema planteado. Hipervínculo móvil 297www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 297
  • 300. 9. MISCELÁNEA 298 www.redusers.com Hipervínculo variable Quiero poner, en un archivo Excel, un hipervínculo a otro archivo cuyo nombre y ruta están escritos en celdas de la hoja. Si luego cambio la ruta o el nombre escritos en esas celdas, quiero que el hipervínculo abra el nuevo archivo. ¿Se puede hacer? José Domingo Pérez Ramírez (Islas Canarias, España) El botón Hipervínculo (en la ficha Insertar de la Cinta de opciones) permite in- sertar un hipervínculo a una celda del archivo, a una celda de otro archivo o a cualquier otro destino, como un documento de Word o una página web. Pero, en todos los casos, se debe indicar la dirección de destino, que queda fija en el hipervínculo. Lo que pide el lector es un hipervínculo que sea variable, como se modifica el resultado de una fórmula al cambiar los valores de sus datos. Esto puede hacerse con la función HIPERVINCULO. Figura 13. La función de la celda A4 crea un hipervínculo al archivo cuyo nombre está escrito en la celda B1. Si hacemos un clic en el hipervínculo, Excel abrirá ese archivo. El archivo que se va a abrir debe estar en la misma carpeta que el archivo actual. Por ejemplo, supongamos que escribimos el nombre de un archivo en la celda B1. El hipervínculo que abre ese archivo se obtiene con la función: =HIPERVINCULO (B1;“Abrir el archivo”). El segundo argumento es opcional y es el texto que mos- trará el hipervínculo en la hoja. Pero esto funciona si el archivo se encuentra en la carpeta actual. Si no es así, el primer argumento deberá incluir la ruta al archivo que, a su vez, puede estar indicada en otra celda. Figura 14. La función de la celda A4 crea un hipervínculo al archivo cuyo nombre está escrito en la celda B1 y que está grabado en la carpeta indicada en B2. En la hoja de cálculo de OpenOffice, el primer argumento debe estar precedido por la palabra clave file:/// para que la función reconozca el hipervínculo a otro archivo. 09_Excel revelado.qxp 12/29/09 4:27 PM Page 298
  • 301. Vínculos a fotos 299www.redusers.com Vínculos a fotos Tengo un libro de Excel con dos hojas. En la primera hay una lista de películas. En la segunda, imágenes de las carátulas de los videos. Quiero vincular el título de la pe- lícula con su respectiva imagen. Traté de ponerle nombre a las imágenes y crear hiper- vínculos a ellas, pero no pude. Te agradecería que me dijeras cómo puedo realizarlo. Andrés Mansilla (Lobos, provincia de Buenos Aires) Una posible solución a este problema podría ser la siguiente. Primero, ajustar los anchos de columna y altos de fila en la segunda hoja, de modo que cada carátula encaje exactamente en una celda. Luego, en la lista de películas, convertimos cada título en un hipervínculo a la celda que contiene la respectiva carátula. Por ejem- plo, supongamos que tenemos el título de una película en la celda A3 de la Hoja1 y su carátula en la celda B1 de la Hoja2: Figura 15. El valor de la celda A3 es un hipervínculo a la celda B1 de la Hoja2. Se obtiene con el botón Hipervínculo de la ficha Insertar o con la combinación CONTROL+ALT+K. ■ Crear hipervínculo (2) PASO A PASO Ubique el cursor en el lugar donde quiere crear el hipervínculo. Seleccione la ficha Insertar, dentro de la cinta de opciones. Haga un clic en el botón Hipervínculo. Aparecerá un cuadro con las opciones necesarias para definir el hipervínculo. En el lado izquierdo del cuadro, haga clic en Lugar en este documento. 09_Excel revelado.qxp 12/29/09 4:27 PM Page 299
  • 302. Donde dice Escriba la referencia de celda coloque B1. Donde dice o seleccione un lugar en este documento, seleccione la Hoja2. Haga un clic en Aceptar. Ahora, haciendo un clic en el título escrito en la celda A3 de la Hoja1 saltamos au- tomáticamente a la celda B1 de la Hoja2, donde está la carátula correspondiente a la película del título seleccionado. No debemos olvidarnos que en las versiones anteriores de Excel creamos el hi- pervínculo con las opciones Insertar/Hipervínculo. Y, en cualquier versión, po- demos usar la combinación CONTROL+ALT+K. Menú de navegación Tengo una planilla separada en doce secciones, una sección por mes. Me gustaría disponer de alguna forma fácil de dirigirme a cada sección. Por ejemplo, que hubiera una lista desplegable con los meses y, al seleccionar un mes, que el cursor saltara automáticamente al mes elegido. Sé que Excel tiene una opción para realizar esto pero no pude encontrarla. Christian Macedo Aliaga (Lima, Perú) Una forma simple de resolver el problema que plantea Christian consiste en el uso de hipervínculos. Supongamos, por practicidad, una planilla con solamente cuatro secciones: Enero, a partir de A5; Febrero, a partir de A25; Marzo, a partir de F5 y Abril, a partir de F30. Preparamos luego un rango auxiliar dentro de la mis- ma hoja, por ejemplo A1:D1, con los nombres de los cuatro meses. 9. MISCELÁNEA 300 www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 300
  • 303. Figura 16. Queremos que los nombres de la primera fila conduzcan a los rangos correspondientes a cada mes. Ahora creamos los hipervínculos como ya sabemos: seleccionamos la celda con el primer nombre, luego vamos a la ficha Insertar y hacemos un clic en el botón Hipervínculo. En el lado izquierdo del cuadro, seleccionamos Lugar en este documento y donde dice Escriba la referencia de celda colocamos A5, que es la dirección co- rrespondiente a este hipervínculo. Hacemos un clic en Aceptar. Figura 17. De esta manera convertimos la celda seleccionada en un hipervínculo hacia la celda A5. Menú de navegación 301www.redusers.com ❘❘❘ Es importante tener en cuenta que al abrir un libro de Excel con vínculos hacia otros archivos Excel puede invitar a actualizarlos, actualizarlos directamente o no actualizarlos por razones de seguridad. Cualquiera sea la elección que deseemos hacer encontraremos estas opciones den- tro de Editar vínculos a través del botón Pregunta inicial. ACTUALIZAR VÍNCULOS 09_Excel revelado.qxp 12/29/09 4:27 PM Page 301
  • 304. 9. MISCELÁNEA 302 www.redusers.com ❘❘❘ Excel incluye un menú de navegación para pasar de hoja en hoja en un libro de muchas hojas: con un clic derecho sobre los botones de hoja (abajo y a la izquierda del libro) aparece un cua- dro con la lista de hojas que contiene el libro. NAVEGACIÓN Con esto hemos convertido la celda A1 (la del primer nombre) en un hipervín- culo a la celda A5. Su funcionamiento es muy simple: haciendo un clic en el hi- pervínculo, el cursor saltará a la sección correspondiente a Enero. Si hacemos lo mismo con los demás meses dispondremos de un menú para navegar hacia cual- quiera de las cuatro secciones. Conviene incluir, en cada sección, otro hipervín- culo para volver al menú de navegación. En las versiones anteriores de Excel creamos el hipervínculo con las opciones Inser- tar/Hipervínculo. Y, en cualquier versión, con la combinación CONTROL+ALT+K. Eliminar objetos Suelo importar archivos HTML de Internet a Excel, pero obtengo planillas llenas de objetos pegados que no quiero. Si pido que me lo importe como texto no respeta la separación de columnas. ¿Cómo puedo eliminar rápida y fácilmente to- dos esos objetos pegados? Guillermina Demker de Meer (Buenos Aires) Para eliminar objetos pegados en una hoja de Excel (o en un documento de Word) hay que seleccionarlos y luego oprimir la tecla Suprimir. Claro que, si los objetos son muchos, seleccionarlos uno por uno es fastidioso. Hay una opción para selec- cionar todos los objetos de una vez: ■ Seleccionar objetos PASO A PASO Oprima la tecla F5 para que aparezca el cuadro con las opciones del comando Ir.... Haga un clic en Especial.... Marque la opción Objetos. Haga un clic en Aceptar. 09_Excel revelado.qxp 12/29/09 4:27 PM Page 302
  • 305. Figura 18. Con la opción Objetos seleccionamos todos los objetos de esta hoja. Luego podemos eliminarlos con la tecla Suprimir. Reemplazar caracteres ¿Cómo se hace para reemplazar dos caracteres por otro? Por ejemplo, si tengo la palabra PALABRA, quiero que las letras A y B se reemplacen por C, quedando PCLCCRC. Manuel Silva Barbosa (Punta del Este, Uruguay) Excel tiene dos formas de reemplazar un dato por otro. El primero es la opción Reemplazar. Para hacer el reemplazo que pide Manuel, hay que usarlo dos veces: ■ Reemplazar PASO A PASO Seleccione el rango donde están los datos para reemplazar. Oprima la combinación CONTROL+L. Aparecerá un cuadro con las opciones para el reemplazo. Donde dice Buscar: escriba el carácter que quiere reemplazar. En este caso, una A. Reemplazar caracteres 303www.redusers.com ❘❘❘ No debe confundirse la función SUSTITUIR con la función REEMPLAZAR. La primera sustituye un carácter o grupo de caracteres por otro, tantas veces como aparezca en el texto inicial. La se- gunda reemplaza una cantidad dada de caracteres por un texto especificado. ¿SUSTITUIR O REEMPLAZAR? 09_Excel revelado.qxp 12/29/09 4:27 PM Page 303
  • 306. Donde dice Reemplazar por: escriba el carácter que reemplazará al anterior. En este caso, una C. Haga un clic en Reemplazar todos. Figura 19. Aquí tenemos que especificar el reemplazo: qué letra, palabra o grupo de palabras sustituiremos y por qué otra letra (o palabra o grupo de palabras). Con el procedimiento que acabamos de realizar logramos reemplazar las letras A por C. Luego, para reemplazar las B, sin salir del cuadro ni deseleccionar el ran- go, escribimos directamente una B en el cuadro Buscar: y volvemos a hacer clic en el botón Reemplazar todos. Una vez terminado el reemplazo, hacemos un clic en Cerrar para volver a nuestra planilla. La otra forma de resolver el problema consiste en usar la función SUSTITUIR. Si queremos hacer el reemplazo en la celda A1 escribimos, en otra celda, la expresión: =SUSTITUIR(SUSTITUIR(A1;”A”;”C”);”B”;”C”). Figura 20. Con la función SUSTITUIR podemos reemplazar una letra por otra dentro de un texto. Veamos cómo trabaja esta función. La función expresada en el primer parénte- sis reemplaza las A por C. Sobre el resultado de este reemplazo, la función expre- sada en segundo término reemplaza las B por C. Debemos tener en cuenta que esta función distingue entre mayúsculas y minúsculas. 9. MISCELÁNEA 304 www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 304
  • 307. Nombres de rango 3D Tengo un libro de Excel con 20 hojas y quiero darle nombre al rango A1:C10 de todas las hojas. Probé todas las opciones posibles, busqué en la Ayuda, pero no encontré la solución. ¿Tenés alguna idea? Laura Mariani (Buenos Aires) Esta pregunta tiene dos interpretaciones posibles: si lo que quiere Laura es darle un nombre al rango A1:C10 de cada una de las hojas (veinte rangos, uno por hoja), en- tonces hay que usar el botón Asignar nombre a un rango, que encontramos en la fi- cha Fórmulas de la Cinta de opciones. Este procedimiento lo tendría que repetir veinte veces, es decir una vez por cada hoja. Figura 21. Aquí creamos un nombre para un rango, dentro de una determinada hoja. Este cuadro corresponde a Excel 2007. En las versiones anteriores de Excel se usan las opciones Insertar/Nombres/Definir. En este caso hay que usar un nombre distinto en cada rango porque en las viejas versiones de Excel, cada nombre debe ser único en todo el archivo, no puede haber dos rangos con el mismo nombre, uno en cada hoja. Si lo que quiere Laura es darle un nombre al rango 3D formado por las sesenta cel- das (tres columnas, diez filas y veinte hojas) también usamos el botón anterior: ■ Rangos 3D PASO A PASO Haga un clic en el botón Asignar nombre a un rango, dentro de la ficha Fórmulas de la cinta de opciones. Donde dice Nombre, escriba el nombre elegido para el rango. En la opción Ámbito, indique Libro. Nombres de rango 3D 305www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 305
  • 308. Donde dice Hace referencia a: escriba =Hoja1:Hoja20!$A$1:$C$10. Ésta es la forma de referirse al rango de tres dimensiones. Haga un clic en Aceptar. Figura 22. Así asignamos un nombre a un rango 3D, que ocupa todas las hojas del libro, de la uno a la veinte. Atención a los signos $ para fijar las coordenadas de las celdas. En esta asignación es importante el uso de los signos $ para indicar correctamente las coordenadas del rango. Para comprobar que el nombre fue correctamente asig- nado, podemos escribir la función =SUMA(nombre) y comprobar que suma correc- tamente los valores de las sesenta celdas del rango. Figura 23. El nombre BLOQUE incluye al rango A1:B2 de las tres hojas de este libro. La función de la celda C2 suma correctamente los valores de las doce celdas del rango. 9. MISCELÁNEA 306 www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 306
  • 309. Copiar subtotales Tengo un libro de Excel con subtotales, y necesito trasladar solamente las fi- las que tienen los subtotales (sin las otras filas) a otro libro de Excel. Por ahora los co- pio en un papel y luego los escribo en el otro libro. ¿Hay alguna manera sencilla de hacerlo sin tener que escribirlos? Mabel Núñez (Santa Rosa, provincia de La Pampa) Uno podría preguntar por qué no trasladar los subtotales con la opción de Copiar y Pegar. Porque habría que copiarlos uno por uno, ya que los subtotales no están en filas consecutivas, aunque así se vea por haber contraído convenientemente la lista. Figura 24. Esta lista está contraída de modo de mostrar solamente los subtotales y el total general. Sin embargo, el rango seleccionado incluye todas las celdas, visibles y no visibles. Una solución sería pedirle a Excel que seleccione sólo las celdas visibles: ■ Seleccionar celdas visibles PASO A PASO Contraiga la lista de modo de mostrar solamente los subtotales. Eso lo puede hacer con un clic sobre el botón 2 en la barra de control de los subtotales, a la izquierda de la lista. Seleccione los subtotales. Oprima la tecla F5, correspondiente al comando Ir.... Haga un clic en Especial. Marque la opción Sólo celdas visibles (2). Haga un clic en Aceptar. Copiar subtotales 307www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 307
  • 310. Cuando, al principio de la respuesta, decíamos que podíamos seleccionar las celdas que contienen los subtotales, hacer un clic en el botón Copiar de la ficha Inicio, lue- go ubicarnos en la otra planilla y presionar el botón Pegar, para trasladar los subto- tales, en realidad, lo que estamos seleccionando son todos los valores de la planilla. En cambio, con la opción Sólo celdas visibles (2) (Figura 25) quedarán seleccionados solamente los subtotales, que son las celdas visibles en el rango seleccionado origi- nalmente. Y es justametne lo que pide Mabel. Figura 25. Con la opción Sólo celdas visibles (2) se seleccionan las celdas visibles dentro del rango seleccionado originalmente. Ahora podemos usar las opciones de Copiar y Pegar para llevar los subtotales selec- cionados a otro rango, dentro del mismo libro o de otro. Multiplicar En una columna de Excel tengo una serie de números. Quiero multiplicarlos a todos por un valor fijo. Lo que hago es crear la fórmula en una columna auxiliar y luego pegar resultados sobre los datos originales. ¿Hay alguna manera más rápida y fácil? Vicente García Gil (provincia de Catamarca) 9. MISCELÁNEA 308 www.redusers.com ❘❘❘ Esta técnica con la opción Multiplicar del Pegado especial permite cambiar el signo a un rango de valores (de positivo a negativo o viceversa). Basta escribir -1 en la celda auxiliar. Al multipli- car por -1, cambia el signo de todos los valores sobre los cuales pegamos multiplicando. CAMBIAR SIGNO 09_Excel revelado.qxp 12/29/09 4:27 PM Page 308
  • 311. Para multiplicar (sumar, restar o dividir) una serie de números por un valor constan- te se puede usar una de las opciones del Pegado especial, que encontramos al hacer clic en la flechita del botón Pegar, ubicado en la ficha Inicio. Por ejemplo, supongamos que los datos originales están en el rango B2:B11 y que se los quiere multiplicar a to- dos por 2. El procedimiento es el siguiente: ■ Multiplicar PASO A PASO En una celda auxiliar, por ejemplo D1, escriba el factor constante. En este caso, 2. Con esa celda seleccionada, haga un clic en el botón Copiar (está en la ficha Inicio de la cinta de opciones). Seleccione el rango de los números que quiere multiplicar. En este caso, B2:B11. Haga un clic en la flechita que se encuentra bajo el botón Pegar y luego en Pegado especial. Aparecerá un cuadro con las opciones de pegado. Marque la opción Multiplicar. Haga un clic en Aceptar. Por último, borre la celda auxiliar (ya no la necesitará). Figura 26. En la ventana Pegado especial encontramos la opción Multiplicar que, justamente, nos permite multiplicar los datos seleccionados por el valor copiado originalmente en el portapapeles. Multiplicar 309www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 309
  • 312. Parámetros por omisión En todas mis hojas de cálculo establezco márgenes, que son distintos a los predeterminados por Excel. ¿Cómo hago para que esos márgenes (y otras opcio- nes en general) queden fijos y aparezcan por omisión en cada nuevo libro de Excel que creo? Desde ya te agradezco por la respuesta. Javier Edgardo Mella Éste es un problema muy común y de difícil solución. Aunque hay una respuesta estándar, no siempre funciona.Vamos a intentar una solución. Los parámetros predeterminados de una planilla Excel están en el archivo Libro.xlt. Es el equivalente a la plantilla Normal.dot de Word. El problema es que, mientras en todo Word hay un archivo Normal.dot (si lo borramos, Word lo vuelve a crear automáticamente), en Excel puede no haber un Libro.xlt. Y, si lo queremos crear, no siempre se sabe dónde debe guardarse. Pero probemos: ■ Crear plantilla PASO A PASO Abra una nueva planilla en blanco y aplíquele todas las opciones que quiera predeterminar. Haga un clic en el Botón de Office y tome las opciones Guardar como/Otros formatos. Aparecerá el cuadro habitual para guardar un archivo Excel. Dentro de Tipo, indique la plantilla correspondiente al archivo que está guardando (plantilla de Excel 2007 con o sin macros o plantilla de Excel 97-2003, si está usando una versión anterior). Excel va a sugerir que el archivo se guarde en la carpeta Templates o Plantillas. Indique, en cambio, la carpeta Archivos de programaMicrosoft OfficeOffice XLStart o InicioXL (según el idioma de instalación de Office). 9. MISCELÁNEA 310 www.redusers.com ❘❘❘ Al hacer un clic en el botón Administrador de nombres, en la ficha Fórmulas de la Cinta de opciones, aparece un cuadro que nos permite modificar de una manera muy simple los nom- bres de rango creados en el libro. Desde esta misma opción también podemos eliminar los nombres que ya no utilizaremos, de modo de mantener siempre actualizada la planilla. NOMBRE DE RANGO 09_Excel revelado.qxp 12/29/09 4:27 PM Page 310
  • 313. Dentro de Nombre de archivo, escriba Libro. Haga un clic en Guardar. Figura 27. Las opciones aplicadas en la plantilla Libro20.xlt serán las predeterminadas en cada nuevo libro que creemos en adelante. Este procedimiento es el oficialmente correcto. Lo que puede fallar es la carpeta don- de se guarda la plantilla. Si las cosas salen bien, al crear un nuevo archivo en blanco con la combinación CONTROL+U, éste tendrá que aparecer con las opciones indicadas en la plantilla Libro.xlt. Si esto no funciona, lo más simple y que recomendamos ha- cer es crear un archivo común y corriente y tomarlo como base para los demás. Es como recrear el concepto de plantilla, pero usando archivos XLS o XLSX. Repetir datos Trabajo en un colegio que tiene 450 alumnos y tengo que preparar una plani- lla por cada alumno, con sus datos. ¿Hay alguna manera de realizar esto en Excel de una forma que algunos datos (por ejemplo, el nombre del colegio) se escriba una so- la vez y se replique automáticamente en todas las hojas? Antonio Salinas Una forma simple de resolver este problema consiste en armar una planilla modelo con los datos comunes a todos los alumnos y copiarla tantas veces como alumnos haya. Pe- ro hay otra forma de escribir los mismos datos en todas las hojas de un libro: Repetir datos 311www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 311
  • 314. ■ Repetir datos PASO A PASO Haga un clic derecho sobre la solapa de cualquier hoja del libro y tome la opción Seleccionar todas las hojas. Con todas las hojas seleccionadas, escriba el primer dato en la celda correspondiente. Dele entrada con la combinación CONTROL+ENTER. De esta manera, el dato ingresa en la celda de todas las hojas seleccionadas. Proteger archivo Querría saber si en Excel 2003 se puede restringir la apertura del archivo con una contraseña. Ahora uso la opción de Proteger hoja, pero eso no impide abrir el ar- chivo, solamente impide modificarlo. Eso no me sirve. Diego Matías Abiuso (Rosario, provincia de Santa Fe) 9. MISCELÁNEA 312 www.redusers.com ❘❘❘ El uso de plantillas puede resultar algo confuso o fastidioso. La mayoría de los usuarios opta por guardar una copia de sus “libros modelo” y tomarlos como base para crear archivos similares. Es una forma de recrear el concepto de plantilla en un libro normal de Excel. PLANTILLAS 09_Excel revelado.qxp 12/29/09 4:27 PM Page 312
  • 315. Efectivamente, se puede proteger el archivo con una contraseña para impedir que sea abierto por personas no autorizadas. Esto se hace en el momento de grabarlo: ■ Proteger archivo PASO A PASO Haga un clic en el Botón de Office. Tome las opciones Guardar como y luego haga clic en el tipo de archivo deseado. Aparecerá el cuadro habitual para guardar un archivo Excel. Haga un clic en el botón Herramientas y luego en Opciones generales. Aparecerá un cuadro para escribir las contraseñas que protegerán al archivo. Dentro de la casilla Contraseña de apertura, escriba una contraseña y haga un clic en Aceptar. Confirme la contraseña. Haga un clic en Aceptar y luego en Guardar. Figura 28. Aquí indicamos una contraseña para impedir que el archivo sea abierto por personas no autorizadas. Si la contraseña la escribimos en Contraseña de escritura, los extraños podrán abrir el archivo, pero no grabarlo. Ahora, cuando volvamos a abrir el archivo, Excel pedirá la contraseña. Si no la es- cribimos correctamente, el archivo no se abrirá. En realidad, este procedimiento permite establecer dos niveles de protección: Proteger archivo 313www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 313
  • 316. • Si escribimos una contraseña en Contraseña de apertura, quienes la desconozcan no podrán abrir el archivo. • Si escribimos una contraseña en Contraseña de escritura, quienes la desconozcan podrán abrir y modificar el archivo, pero no grabar las modificaciones. Es decir que se abrirá en la modalidad Sólo lectura. Esta opción está en todas las versiones de Excel y en los demás programas de Offi- ce. De modo que podemos usarla para proteger un documento de Word o una pre- sentación de PowerPoint. Si, por alguna razón, luego queremos retirar esta protección, repetimos el procedi- miento y borramos la contraseña aplicada (que estará representada por asteriscos). Por supuesto, previamente debimos haber tomado nota de ella. Exportar a Outlook Querría saber cómo pasar una lista de direcciones de correo electrónico desde una hoja Excel a la lista de contactos de Outlook. Sin copiarlas una por una, por supuesto. Nicte Ha Rosas (México) Outlook reconoce varios formatos para importar listas de contactos. Uno de ellos es el CSV (valores separados por comas), que también es reconocido por Excel. Lo primero que debemos hacer es guardar la hoja en este formato: ■ Guardar en formato CSV PASO A PASO Haga un clic en el Botón de Office. Tome las opciones Guardar como/Otros formatos. Aparecerá el cuadro habitual para guardar un archivo Excel. Dentro de Tipo indique CSV (MS-DOS). 9. MISCELÁNEA 314 www.redusers.com ❘❘❘ Excel ofrece dos niveles de protección de la información. El explicado en esta consulta protege el archivo como un todo. La opción Bloquear celda, dentro del botón Formato (en el grupo Celdas de la ficha Inicio), protege ciertas celdas para que su contenido no pueda ser modificado. PROTECCIÓN 09_Excel revelado.qxp 12/29/09 4:27 PM Page 314
  • 317. Indique el nombre del archivo y la carpeta de destino (como siempre) y haga un clic en Guardar. Una vez obtenido este archivo abrimos Outlook y lo importamos: ■ Importar a Outlook PASO A PASO Tome las opciones Archivo/Importar y exportar. Con esto abrirá el asistente para importar datos. Indique la opción Importar de otro programa o archivo. Haga un clic en Siguiente. En el segundo paso del Asistente para importar y exportar marque la opción Valores separados por comas (DOS). Haga un clic en Siguiente y luego en Examinar. Localice y seleccione el archivo CSV que generó desde Excel. Haga un clic en Aceptar y luego en Siguiente. Indique dónde pondrá los datos importados (seguramente, Contactos). Haga un clic en Siguiente. Confirme lo que va a hacer y haga un clic en Finalizar. Exportar a Outlook 315www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 315
  • 318. En realidad, en el segundo paso del Asistente para importar y exportar, donde fi- gura la lista de tipos de archivo para importar, también se encuentra Excel, pero desafortunadamente no siempre funciona correctamente, por eso es que conviene elegir la opción Valores separados por comas (DOS). En cualquier caso, el procedi- miento es guiado por el asistente y se tarda menos en hacerlo que en contarlo. Validación externa ¿Se pueden validar los datos para ingresar en la Hoja1, según el contenido de una lista alojada en la Hoja2?. Muchas gracias por tu ayuda. Mabel Núñez (Santa Rosa, provincia de La Pampa) Comencemos por el principio. Las opciones de validación permiten restringir los datos que se pueden ingresar en una celda o rango de celdas. Por ejemplo, supon- gamos que en la celda B1 solamente podemos escribir números enteros positivos no mayores que 10, debemos proceder de la siguiente forma: ■ Establecer la validación PASO A PASO Ubique el cursor en B1, la celda donde va a aplicar el criterio de validación. Haga un clic en el botón Validación de datos, en la ficha Datos de la cinta de opciones. Aparecerá un cuadro con las opciones de validación. Dentro de Permitir, despliegue las opciones y seleccione Número entero. Dentro de Mínimo, escriba 0. Dentro de Máximo, escriba 10. Haga un clic en Aceptar. 9. MISCELÁNEA 316 www.redusers.com ❘❘❘ En Excel 2003 y en las versiones anteriores, los nombres de rango son únicos en todo el libro. Es decir que no puede haber dos rangos con el mismo nombre en dos hojas del mismo libro. En Excel 2007 cada hoja puede tener su propia colección de nombres y un nombre se puede repe- tir entre una hoja y otra, de modo que debemos ser más cuidadosos. NOMBRES DE RANGO 09_Excel revelado.qxp 12/29/09 4:27 PM Page 316
  • 319. Figura 29. Aquí establecemos que el valor de B1 debe ser positivo y menor o igual a 10. Si ahora pretendemos escribir en esta celda un número “fuera de rango”, Excel no nos dejará y nos mostrará una ventana de error. Figura 30. Luego de haber aplicado el criterio de validación, Excel no nos deja escribir un valor que no cumple con ese criterio. Recordemos que en las versiones anteriores de Excel, aplicamos un criterio de vali- dación a través del menú Datos/Validación. Hay distintos criterios de validación: que el valor ingresado, aplicado a alguna fór- mula, cumpla cierta condición; que un texto no supere determinada cantidad de ca- racteres o que pertenezca a una lista preestablecida. Por ejemplo, supongamos que el valor de B1 debe ser una ciudad perteneciente a la lista escrita en D1:D5: Validación externa 317www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 317
  • 320. ■ Validación externa PASO A PASO Coloque el cursor en B1. Haga un clic en el botón Validación de datos. Dentro de Permitir, despliegue las opciones y seleccione Lista. Dentro de Origen, seleccione el rango con la lista de valores válidos. Haga un clic en Aceptar. Figura 31. Con estas opciones establecemos que el valor de B1 debe ser igual a alguna de las ciudades escritas en el rango D1:D5. Ahora, la celda donde aplicamos este criterio ofrece una lista desplegable con los nombres de los datos permitidos, con un clic seleccionamos el nombre deseado. 9. MISCELÁNEA 318 www.redusers.com ❘❘❘ El cuadro con las opciones de validación incluye dos fichas adicionales: Mensaje de entrada per- mite indicar un texto que aparecerá al poner el cursor en la celda donde se aplicó el criterio; y Mensaje de error permite indicar el tipo de error que aparecerá al escribir un valor que no cum- ple el criterio. Esto se desarrolla en la siguiente consulta, Validación tolerante. OPCIONES DE VALIDACIÓN 09_Excel revelado.qxp 12/29/09 4:27 PM Page 318
  • 321. Figura 32. Luego de haber aplicado el criterio de validación, la celda B1 ofrece un menú con las ciudades permitidas. Éste es el tipo de criterio de validación que quiere aplicar nuestra lectora, pero su lista de valores permitidos está en una hoja distinta de aquella donde se aplica el cri- terio. Y eso, Excel no deja hacerlo: cuando queremos ir a la otra hoja a seleccionar la lista, no podemos. Sin embargo, sí podemos hacerlo si, previamente, le asigna- mos un nombre de rango a la lista: seleccionamos la lista y, dentro del Cuadro de nombres, escribimos el nombre elegido. Luego oprimimos la tecla ENTER. Figura 33. Así le asignamos un nombre de rango a la lista de ciudades permitidas. No olvidar aceptar este nombre con la tecla ENTER. Una vez asignado el nombre de rango, establecemos el criterio de validación como antes. Pero, dentro de la opción Origen escribimos =Ciudades. Es decir, el nombre del rango, precedido por un signo =. En estas condiciones, Excel reconoce la lista de ciudades escrita en la otra hoja. La siguiente pregunta plantea otro aspecto de las opciones de Validación. Validación tolerante Quiero aplicar un criterio de validación en una celda para que me avise cuando escribo un valor superior a cierto límite, pero también quiero que me deje escribir el número. Muchas gracias por brindarme una solución a mi problema. José Petit Hay varias formas de resolver este problema. Una posibilidad es escribir una fórmu- la que muestre un mensaje de advertencia junto al valor “prohibido”. Por ejemplo, Validación tolerante 319www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 319
  • 322. 9. MISCELÁNEA 320 www.redusers.com si en B1 se debe escribir un valor menor a 1000, en C1, es decir a su derecha, escri- bimos la fórmula =SI(B11000; “Demasiado grande”;“OK”). Figura 34. La fórmula de la celda C1 muestra un mensaje de advertencia si el valor de B1 es mayor que 1000. Si queremos usar la opción de Validación, tenemos otra posibilidad: ■ Validación tolerante PASO A PASO Ubique el cursor en B1. Haga un clic en el botón Validación de datos (en la ficha Datos, dentro del grupo Herramientas de datos). Dentro de Permitir, despliegue las opciones y seleccione Número entero. Dentro de Datos, seleccione menor que. Dentro de Máximo, escriba 1000, el valor límite para este ejemplo. Seleccione la ficha Mensaje de error. Dentro de Estilo, seleccione Información. Haga un clic en Aceptar. ❘❘❘ Otra forma de limitar la navegación a un cierto rango consiste en bloquear las celdas de la hoja (excepto en el rango de navegación) desde Inicio/Celdas/Formato/Bloquear celda; y luego prote- ger la hoja (Formato/Proteger hoja) desmarcando la opción Seleccionar celdas bloqueadas. En es- tas condiciones es imposible salir de las celdas desbloqueadas, con el cursor o con el mouse. LIMITAR NAVEGACIÓN 09_Excel revelado.qxp 12/29/09 4:27 PM Page 320
  • 323. Ahora sí, si escribimos un valor que supera el límite que indicamos como crite- rio de validación, Excel mostrará un mensaje de alarma, pero, con un clic en Sí, podremos dar por bueno el valor y continuar ingresando datos en la planilla. En la solapa Mensaje de error de la ventana Validación de datos debemos tener en cuen- ta que cuando establecemos el Estilo del mensaje de error, tenemos tres posibilidades: • Grave: Excel rechaza el valor ingresado y nos obliga a ingresar otro. • Advertencia: Excel rechaza el valor ingresado y nos pregunta si queremos aceptar- lo de todos modos, ingresar otro o cancelar el ingreso. • Información: Excel rechaza el valor ingresado, pero nos pregunta si queremos acep- tarlo de todos modos o cancelar el ingreso. Figura 35. La opción de validación ofrece tres estilos para el mensaje de error que aparecerá ante un valor que no cumple con el criterio de validación. Tal como está planteada la pregunta, nos sirven cualquiera de los dos últimos estilos, ya que nos permiten ingresar de todas formas el valor, aunque no sea el correcto. Validación tolerante 321www.redusers.com ❘❘❘ En principio, cuando se usa la opción de Validación en la variante Lista, la lista de datos válidos de- be estar en la misma hoja que la celda donde se aplica el criterio. Pero hay un truco muy simple para poner la lista en otra hoja. Este tema lo desarrollamos en la consulta Validación externa. VALIDACIÓN EXTERNA 09_Excel revelado.qxp 12/29/09 4:27 PM Page 321
  • 324. Pantalla limitada Necesito establecer límites a mis pantallas dentro de un libro. Esto es, quiero que los usuarios sólo puedan navegar dentro del rango A1:E20. Ni las teclas de fle- chas, ni las barras de desplazamiento deberían permitir avanzar fuera de estos lími- tes. No encuentro una opción adecuada para lograr este efecto. Carlos Arano (General Rodríguez, provincia de Buenos Aires) Hay distintas maneras de resolver este problema. Una de las más sencillas es ocul- tar las filas y columnas que estén más allá del rango limitado. Si queremos limi- tar la navegación a las primeras veinte filas, seleccionamos desde la fila 21 hasta el final de la hoja y, dentro de la ficha Inicio de la cinta de opciones, pulsamos en Formato/Ocultar y mostrar/Ocultar filas. Luego hacemos lo mismo con las colum- nas más allá de la última permitida. Figura 36. Con estas opciones ocultamos las filas correspondientes a las celdas seleccionadas. 9. MISCELÁNEA 322 www.redusers.com ❘❘❘ La condición bin expresada en los Parámetros de Solver obliga a que las celdas variables reci- ban números binarios. Es decir, solamente ceros o unos. Es una forma cómoda y elegante de pe- dir la condición =O(celda=0;celda=1), sin tener que indicarla celda por celda. BINARIOS 09_Excel revelado.qxp 12/29/09 4:27 PM Page 322
  • 325. En las versiones anteriores de Excel, las opciones para ocultar filas y columnas es- tán dentro de los menús Formato/Fila/Ocultar y Formato/Columna/Ocultar. Es importante destacar que con las opciones Ocultar filas y Ocultar columnas, lo que hacemos es limitar la visualización de la hoja al rango de filas y columnas no ocul- tas. Pero todavía permite algunos efectos no deseados, o que al menos a nuestro lec- tor no le interesa que se puedan efectuar. Por ejemplo, que el usuario se vaya de la pantalla con las barras de desplazamiento o con las teclas AvPág y RePág. Una solución más compleja, pero más efectiva, fue propuesta por el propio Carlos luego de un intercambio de mensajes, a través de una propiedad en el Editor de Vi- sual Basic. De esta manera, las personas que debían trabajar con esa planilla sólo es- taban limitados a realizar modificaciones dentro de un rango determinado: ■ Pantalla limitada PASO A PASO Oprima la combinación ALT+F1 para abrir el Editor de Visual Basic. Una vez dentro del editor, tome las opciones Ver/Explorador de proyectos. Aparecerá una estructura similar al explorador de archivos de Windows. Dentro de este explorador, seleccione la rama correspondiente a la hoja donde quiere limitar la navegación. Tome las opciones Ver/Ventana propiedades. Aparecerá un cuadro con las distintas propiedades de la hoja. Dentro de la propiedad ScrollArea escriba el rango al cual quiere limitar la navegación. En este caso, $A$1:$E$20. Oprima ENTER y cierre el editor para volver a Excel. Pantalla limitada 323www.redusers.com ❴❵ Excel 2007 satisface, después de veinte años, uno de los principales reclamos de los usuarios: su- pera el límite de 256 columnas por hoja, de la A a la IV. Ahora una hoja de Excel tiene 16384 co- lumnas, de la A a la XFD. También admite más de un millón de filas y 3267 caracteres por celda. EL TAMAÑO DE LA HOJA 09_Excel revelado.qxp 12/29/09 4:27 PM Page 323
  • 326. Figura 37. La propiedad ScrollArea limita la navegación al rango indicado. Ahora sí la navegación estará limitada al rango indicado y no habrá forma de salir de él. Combinar datos Mi problema es un poco complejo. Le envié diez facturas a un cliente. Él me envió un cheque por un importe menor al de la suma de las facturas. Por lo tanto, so- lamente me pagó algunas de las facturas. Quiero saber cuáles son esas facturas. Sé que son menos de nueve porque la diferencia de importes es mayor a cualquier fac- tura del grupo, pero no puedo probar una por una. ¿Hay alguna manera de hacerlo automáticamente?. Muchas gracias por la solución. Betina Russo (Buenos Aires) 9. MISCELÁNEA 324 www.redusers.com ❘❘❘ En Excel 2003 y en las versiones anteriores, agregamos hojas a un libro con las opciones Insertar/Hoja de cálculo. En Excel 2007 lo hacemos rápidamente con un clic en la solapa adicio- nal que aparece al pie del libro, a la derecha de la última hoja. AGREGAR HOJAS 09_Excel revelado.qxp 12/29/09 4:27 PM Page 324
  • 327. Una vez contestamos una pregunta parecida: cómo combinar tres valores de un conjunto dado para que su suma sea igual a un cuarto valor. Esto le servía a quie- nes quieren usar cheques recibidos para pagarle a un tercero. En aquella oportu- nidad, lo resolvimos con una macro que probaba todas las combinaciones posi- bles hasta obtener la que más se aproximaba al valor buscado. La macro puede consultarse en nuestro manual Excel Avanzado. Sin embargo, este problema es diferente por dos razones: • No sabemos cuántos valores hay que combinar. • Sabemos que el importe que se quiere obtener es exacto, es la suma de todos los cheques, de modo que no buscamos una aproximación. En estas condiciones podemos resolver el problema con el comando Solver. Prime- ro tenemos que preparar la siguiente planilla: • En el rango A1:A10 escribimos los importes de las diez facturas. • En la celda C1 escribimos la expresión =A1*B1 (que nos dará 0 porque B1 está va- cía). Luego, con el puntero de estirar la extendemos hasta C10. • En C12 sumamos los valores del rango C1:C10. Figura 38. Le vamos a pedir a Solver que pruebe poniendo ceros o unos en la columna B hasta que el total de C12 sea igual a 150. Si escribimos un 1 en algunas celdas del rango B1:B10, el total de C12 representará el importe combinado de los valores de la columna A donde escribimos esos 1. Se- rá cuestión de escribir los 1 en las celdas adecuadas hasta obtener el importe busca- do en C12. Esta parte es la que hacemos con el comando Solver. Antes de comenzar, en primer lugar tenemos que estar seguros de que disponemos de este comando en nuestro Excel. Para eso, intentamos alguna de estas opciones: Combinar datos 325www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 325
  • 328. • En Excel 2007, la opción Solver se encuentra en la ficha Datos de la Cinta de opciones (ya veremos cómo activarla en caso de que no la encontremos). • En las versiones anteriores, se encuentra en el menú Herramientas. Si no vemos la opción tenemos que instalar el complemento Solver. Los comple- mentos son como módulos que agregamos a Excel para dotarlo de nuevas opciones. • En Excel 2007, hacemos un clic en el Botón de Office y luego en Opciones de Excel/Complementos/ir. Aparecerá un cuadro con la lista de complementos. Marcamos Solver y luego hacemos un clic en Aceptar. • En las versiones anteriores, tomamos las opciones Herramientas/Complementos. Marcamos Solver y luego hacemos un clic en Aceptar. Figura 39. Aquí instalamos el comando Solver que aparecerá luego en la ficha Datos de la cinta de opciones o en el menú Herramientas en las versiones anteriores de Excel. Una vez instalado el complemento, procedemos: ■ Combinar datos PASO A PASO Haga un clic en el botón Solver, dentro de la ficha Datos de la cinta de opciones (o tome las opciones Herramientas/Solver en las versiones anteriores de Excel). Donde dice Celda objetivo indique C12. 9. MISCELÁNEA 326 www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 326
  • 329. Marque la opción Valores de y escriba, en el cuadro a su derecha, el importe buscado. En este caso, 150. Donde dice Cambiando las celdas seleccione el rango B1:B10 que son las celdas donde buscará poner los unos que señalen los importes para combinar. Donde dice Sujetas a las siguientes condiciones haga clic en Agregar. Aparecerá un cuadro donde describió las condiciones. Donde dice Referencia de celda seleccione el rango B1:B10. En la lista de signos, elija bin. Haga un clic en Aceptar. Haga un clic en Resolver para que Solver comience a trabajar. Cuando, en el Paso 7 del procedimiento anterior, imponemos la condición bin al rango B1:B10 estamos pidiendo que esas celdas tomen solamente los valores 0 ó 1. Esto último fue una sugerencia del lector Juan Ghio. Figura 40. Éste es el problema que deberá resolver el comando Solver. Las restricciones indican que las celdas del rango B1:B10 sólo pueden tomar los valores 0 ó 1. Como sabemos que el problema tiene solución, luego de algunos segundos Solver la encuentra. Con un clic en el botón Aceptar, la solución quedará registrada en la hoja. Combinar datos 327www.redusers.com 09_Excel revelado.qxp 12/29/09 4:27 PM Page 327
  • 330. Figura 41. Solver acaba de resolver el problema: combinando el primero, el quinto, el noveno y el décimo importe de la columna A alcanzamos el total buscado de 150$. 9. MISCELÁNEA 328 www.redusers.com … RESUMEN Los problemas resueltos en este capítulo son los que quedaron afuera de toda clasificación razonable: no son estrictamente de macros, pero algunos podrían resolverse con ellas; no están necesariamente asociados a funciones, pero algunos se resuelven apelando a esas funciones. Y todo así: inclasificable. 09_Excel revelado.qxp 12/29/09 4:27 PM Page 328
  • 331. Servicios al lector índice temático 330 En este apartado incluimos un índice de las palabras más utilizadas en esta obra, para hallar rápidamente el tema que queramos consultar. EXCEL REVELADO SERVICIO DE ATENCIÓN AL LECTOR: usershop@redusers.com 10_Excel revelado.qxd 12/29/09 4:28 PM Page 329
  • 332. SERVICIOS AL LECTOR 330 www.redusers.com Campos 207 CARACTER 107/126 CDate 198 CELDA 100/101/248 Cerrar todo 285 Circular 77 Código de formato 27 Códigos de barra 33 COINCIDIR 165/280 Color de etiqueta 30 Comandos que no están en la cinta de opciones 286 COMENTARIO 270 Complementos 106 Comprobación de errores 12 CONCATENAR 102/103/104 CONTAR 103/154/155 CONTAR.SI 117/149/150 CONTAR.SI.CONJUNTO 150 CONTARA 99/100 CONTIENE 127 Contraseña de apertura 313/314 Contraseña de escritura 314 Controles adicionales 196 Controles de formulario 230 Count 225 Cuadro de herramientas 196 CuentaColor 267 D Dar formato a eje 82/83 Dar formato de la serie de datos 78 Detener grabación 63 DIA.LAB 178/179 DIASEM 180/192 DIR 248/249 DIRECCION 100 Dispersión 72/81 ÍNDICE TEMÁTICO A ActiveCell 101/236 ActiveWorkbook 249/250 Actualizar todo 226 Actualizar valores 291 Administrador de nombres 310 AHORA 195/196 Ajustar texto 22/23 ALEATORIO 106/133/265 ALEATORIO.ENTRE 105/106 Análisis y si 210 Application.Dialogs 58/59 Área de impresión 56 Asignar macro 230 Asignar nombre a un rango 305/306 Asistente para importar texto 276/277 Asistente para importar y exportar 315 Asistente para pegar función 163 Autofiltro 219/220 Autoforma 31/32 Autorrecuperación 287/288 Autosuma 94/118/119 B Barra de fórmulas 23 Barras de datos 85 BDCONTARA 207/208 Biblioteca de funciones 103 Bloquear celda 314 Bloquear proyecto para visualización 21 Bordes 30 Borrar reglas en las celdas seleccionadas 40 Borrar reglas 40 BUSCARV 160/161/162/163 C Cambiar entre filas y columnas 88 Cambiar tipo de gráfico de series 72 10_Excel revelado.qxd 12/29/09 4:28 PM Page 330
  • 333. E Editar vínculos 292/293/301 Editor de caracteres privados 48/49/50 Editor de Visual Basic 234 Elegir de la lista desplegable 204/205 ELEGIR 155 ENTERO 107/109/111 Es mayor que 39 Escala 83 ESERROR 127/128 ESPACIOS 128 Establecer área de impresión 56 Establecer Precisión de pantalla 114 Etiquetas del eje horizontal 86 Explorador de Proyectos 233 Extender formatos de rangos de datos y fórmulas 132 EXTRAE 101/104/270 F FECHA 173/189 Filtro avanzado 217/218 Formato condicional 38/39/40/42 Formato de serie de datos 78 Formato personalizado 14/15 Formatos de fecha 175 Formularios 231 Fórmulas matriciales 165 Función condicional 139 Funciones arroba 130 G Grabar macro 235 Grabar nueva macro 62/235 Gráfico dinámico 71/73 H HALLAR 127/128 Herramientas de gráficos 73 Herramientas para análisis 106/124 Hipervínculo 213/296/297 HIPERVINCULO 293/294 HOY 181/182/193 HPageBreaks.Count 60 Hyperlinks.Address 214 I IM.PRODUCT 123/124 IM.SUM 123/124 Imprimir objeto 54 INDICE 161/166 INDIRECTO 100/105 Información sobre herramientas de funciones 134/151 Informe de tablas y gráficos dinámicos 70 InputBox 253 Insertar función 94/95 Ir a Especial 206/307/308 IsDate 254 IsNumeric 254 IZQUIERDA 104 L LARGO 101 Libro de macros personal 235 Libro maestro 278 Líneas 72 Lista de miembros automática 59/259 Listas personalizadas 176/177 M Mapa de caracteres 51 MAX 146 Microsoft Editor de ecuaciones 16 Mid 214 Modificar hipervínculo 214 MonthView 196 Mostrar ficha programador en la cinta de opciones 58 Mostrar un cero en las celdas que tienen un valor cero 25 Mover gráfico 78 Índice temático 331www.redusers.com 10_Excel revelado.qxd 12/29/09 4:28 PM Page 331
  • 334. RESIDUO 171/172/176/212 Romper vínculo 292 Rótulos del eje de categorías 87 S ScrollArea 323/324 Seguridad de macros 268 Seleccionar todas las hojas 57/284 SendMail 251 SI 138/139/140 SIFECHA 173/174 Solver 120/325/326/327/328 SUBTOTALES 222 SUMAPRODUCTO 112/113 SUMAR.SI 145/148/149 SUMAR.SI.CONJUNTO 146/147/150 SUSTITUIR 304 T Tabla de datos 210 Tabla dinámica 69 TABLA 209 TEXTO 183/198/199 Tipos personalizados 74/75 TRUNCAR 108 U Usadas recientemente 104 Usar separadores del sistema 98/99 V Validación de datos 275/276/279/316/320/321 Valores cero 26 Variar colores entre puntos 81 Ver código 241 Ver fórmulas 26/28/29 VeryHidden 20 W Windings 21/201 Worksheet 240/242 Multiplicar 36 MULTIPLO.INFERIOR 110 MULTIPLO.SUPERIOR 108/109/110 N Nueva ventana 290 Número de serie 170 O Obtener datos externos 225 Ocultar hoja 19 Offset 236 OnTime 239 Opciones de serie 78 Optional 271 P Panel de filtros 74 Pegado especial 35/36/309 Pegar función 96 Pegar valores 129 Permitir editar directamente en las celdas199 Personalizar encabezado 59 Personalizar pie de página 59 Plantillas de barras subyacentes y superpuestas 17 POTENCIA 109/116 Precisión de pantalla 114/115 Programador 228/229 PROMEDIO.SI 157 PROMEDIO.SI.CONJUNTO 158 Propiedades de VBAProject 20/21 Proteger hoja 312 R RAIZ 116 REDONDEAR 107/108/110 Reemplazar todos 304 Reemplazar 303 Registros 204 Resaltar reglas de celdas 39 SERVICIOS AL LECTOR 332 www.redusers.com 10_Excel revelado.qxd 12/29/09 4:28 PM Page 332
  • 335. >> Vea información más detallada sobre cada libro de este catálogo. >> Obtenga un capítulo gratuito para evaluar la posible compra de un ejemplar. >> Conozca qué opinaron otros lectores. >> Compre los libros sin moverse de su casa y con importantes descuentos. >> Publique su comentario sobre el libro que leyó. >> Manténgase informado acerca de las últimas novedades y los próximos lanzamientos. REDISEÑO BOMBOS LIBROS - APERTURA CATALOGO - Base Editable - Nov 09.indd 1REDISEÑO BOMBOS LIBROS - APERTURA CATALOGO - Base Editable - Nov 09.indd 1 23/11/2009 12:21:0823/11/2009 12:21:08
  • 336. usershop.redusers.com De Windows a Linux Producción y edición de video Webmaster Profesional Silverlight Flash Extremo Hackers al descubierto Esta obra nos introduce en el apasio- nante mundo del software libre a través de una completa guía de migración, que partedesdeelsistemaoperativomásco- nocido: Windows. Aprenderemos cómo realizar gratuitamente aquellas tareas queanteshacíamosconsoftwarepago. Este manual nos introduce en un nuevo nivel en el desarrollo de aplicaciones interactivas a través de Silverlight, la op- ciónmultiplataformadeMicrosoft.Quien consiga dominarlo creará aplicaciones visualmente impresionantes, acordes a lostiemposdelaincipienteWeb3.0. Un libro ideal para quienes deseen reali- zarproduccionesaudiovisualesconbajo presupuesto. Tanto estudiantes como profesionalesencontraráncómoadquirir las habilidades necesarias para obtener una salida laboral con una creciente de- mandaenelmercado. Este libro nos permitirá aprender a fondo Flash CS4 y ActionScript 3.0 para crear aplicaciones Web y de escri- torio. Una obra imperdible sobre uno de los recursos más empleados en la industria multimedia que nos permitirá estar a la vanguardia del desarrollo. Esta obra explica cómo superar los pro- blemas más frecuentes y complejos que enfrenta todo administrador de sitios web. Ideal para quienes necesiten co- nocer las tendencias actuales y las tec- nologías en desarrollo que son materia obligadaparadominarlaWeb2.0. Esta obra presenta un panorama de las principales técnicas y herramien- tas utilizadas por los hackers, y de los conceptosnecesariosparaentendersu maneradepensar,prevenirsusataques y estar preparados ante las amenazas más frecuentes. > COLECCIÓN: MANUALES USERS > 336 páginas / ISBN 978-987-663-013-9 > COLECCIÓN: MANUALES USERS > 352 páginas / ISBN 978-987-663-010-8 > COLECCIÓN: MANUALES USERS > 336 páginas / ISBN 978-987-663-012-2 > COLECCIÓN: MANUALES USERS > 320 páginas / ISBN 978-987-663-009-2 > COLECCIÓN: MANUALES USERS > 336 páginas / ISBN 978-987-663-011-5 > COLECCIÓN: MANUALES USERS > 352 páginas / ISBN 978-987-663-008-5 catalogo.indd 2catalogo.indd 2 15/12/2009 12:45:5715/12/2009 12:45:57
  • 337. ¡Léalo antes Gratis! En nuestro sitio, obtenga GRATIS un capítulo del libro de su elección antes de comprarlo. usershop@redusers.com Vista avanzado 101 Secretos de Excel Electrónica&microcontroladoresPIC Seguridad PC Hardware desde cero 200 Respuestas: Photoshop Este manual es una pieza imprescindi- ble para convertirnos en administrado- res expertos de este popular sistema operativo. En sus páginas haremos un recorrido por las herramientas funda- mentalesparatenermáximocontrolso- bre todo lo que sucede en nuestra PC. Este libro contiene un material im- prescindible para proteger nuestra información y privacidad. Aprende- remos cómo reconocer los síntomas de infección, las medidas de preven- ción a tomar, y finalmente, la manera de solucionar los problemas. Una obra absolutamente increíble, con los mejores 101 secretos para dominar el programa más importante de Office. En sus páginas encontraremos un ma- terialsindesperdiciosquenospermitirá realizar las tareas más complejas de manera sencilla. Este libro brinda las herramientas nece- sarias para entender de manera amena, simple y ordenada cómo funcionan el hardware y el software de la PC. Está destinado a usuarios que quieran inde- pendizarse de los especialistas necesa- riosparaarmaryactualizarunequipo. Una obra ideal para quienes desean aprovechar al máximo las aplicaciones prácticas de los microcontroladores PIC y entender su funcionamiento. Un material con procedimientos paso a paso y guías visuales, para crear pro- yectos sin límites. Esta obra es una guía que responde, en forma visual y práctica, a todas las preguntas que necesitamos contestar para conocer y dominar Photoshop CS3. Definiciones, consejos, claves y secretos, explicados de manera clara, sencilla y didáctica. > COLECCIÓN: MANUALES USERS > 352 páginas / ISBN 978-987-663-007-8 > COLECCIÓN: MANUALES USERS > 336 páginas / ISBN 978-987-663-004-7 > COLECCIÓN: MANUALES USERS > 336 páginas / ISBN 978-987-663-005-4 > COLECCIÓN: MANUALES USERS > 320 páginas / ISBN 978-987-663-001-6 > COLECCIÓN: MANUALES USERS > 368 páginas / ISBN 978-987-663-002-3 > COLECCIÓN: 200 RESPUESTAS > 320 páginas / ISBN 978-987-1347-98-8 catalogo.indd 3catalogo.indd 3 15/12/2009 12:46:3015/12/2009 12:46:30
  • 338. usershop.redusers.com Creación de distribuciones Linux Métodos ágiles SuperBlogger UML Ethical Hacking Unix En este libro recorreremos todas las alternativas para crear distribucio- nes personalizadas: desde las más sencillas y menos customizables, hasta las más avanzadas, que nos permitirán modificar el corazón mis- mo del sistema, el kernel. Este libro es la guía adecuada para iniciarse en el mundo del modelado. Conoceremos todos los constructores y elementos necesarios para com- prender la construcción de modelos y razonarlos de manera que reflejen los comportamientos de los sistemas. Estelibropresentaunaalternativacom- petitivaalasformastradicionalesdede- sarrolloylosúltimosavancesencuanto a la producción de software. Ideal para quienes sientan que las técnicas ac- tuales les resultan insuficientes para alcanzar metas de tiempo y calidad. Esta obra expone una visión global de las técnicas que los hackers ma- liciosos utilizan en la actualidad para conseguir sus objetivos. Es una guía fundamental para obtener sistemas seguros y dominar las herramientas que permiten lograrlo. Esta obra es una guía para sumarse a la revolución de los contenidos digi- tales. En sus páginas, aprenderemos a crear un blog, y profundizaremos en su diseño, administración, pro- moción y en las diversas maneras de obtener dinero gracias a Internet. Esta obra contiene un material imper- dible, que nos permitirá dominar el sistema operativo más sólido, estable, confiable y seguro de la actualidad. En sus páginas encontraremos las claves para convertirnos en expertos administradores de FreeBSD. > COLECCIÓN: MANUALES USERS > 336 páginas / ISBN 978-987-1347-99-5 > COLECCIÓN: DESARROLLADORES > 320 páginas / ISBN 978-987-1347-95-7 > COLECCIÓN: DESARROLLADORES > 336 páginas / ISBN 978-987-1347-97-1 > COLECCIÓN: MANUALES USERS > 320 páginas / ISBN 978-987-1347-93-3 > COLECCIÓN: MANUALES USERS > 352 páginas / ISBN 978-987-1347-96-4 > COLECCIÓN: MANUALES USERS > 320 páginas / ISBN 978-987-1347-94-0 catalogo.indd 4catalogo.indd 4 15/12/2009 12:46:5015/12/2009 12:46:50
  • 339. Unaobraabsolutamenteincreíble, conlosmejores101secretospara dominarelprogramamásimpor- tantedeOffice.Ensuspáginas encontraremosunmaterialsin desperdiciosquenospermitirá realizarlastareasmáscomplejas demanerasencilla. >> HOME / MICROSOFT >> 336 PÁGINAS >> ISBN 978-987-663-005-4 Bombo - RCT - LIBRO Excel Revelado - Ene 10 - EDITABLE.indd 1Bombo - RCT - LIBRO Excel Revelado - Ene 10 - EDITABLE.indd 1 13/01/2010 17:28:4113/01/2010 17:28:41
  • 340. En este sitio encontrará una gran variedad de recursos y software relacionado, que le servirán como complemento al contenido del libro. Además, tendrá la posibili- dad de estar en contacto con los editores, y de participar del foro de lectores, en donde podrá intercambiar opiniones y experiencias. Si desea más información sobre el libro puede comunicarse con nuestro Servicio de Atención al Lector: usershop@redusers.com This book contains more than 150 tips and tricks that were selected from the questions sent to Users magazine by its readers from all over the world. This is an exceptional book with plain language and concrete solutions, that every Excel fan or heavy user should have. EXCEL HACKS Claudio Sánchez es un reconocido experto en Excel que recibe diariamente, desde hace más de diez años, las más frecuentes, insólitas, imposibles e inverosímiles consultas y problemas desde distintas partes de Latinoamérica. Todas tienen un lugar en el interminable arcón de soluciones, consejos y trucos de este verdadero genio, un referente con confirmada trayectoria en la planilla de cálculos más usada del mundo. Este libro presenta la segunda selección de las mejores preguntas basadas en la experiencia de miles de usuarios y las respuestas a cada uno de estos interrogantes. Un compendio imperdible e infaltable, con más de 150 soluciones a temas tan variados como gráficos, formatos, fórmulas, cálcu- los, funciones, impresión, bases de datos, macros, y mucho más. Definitivamente, una obra imprescindible para quienes utilizan con regu- laridad este programa y desean conocer hasta sus rincones más oscuros. por Claudio Sánchez CONTENIDO N I V E L D E U S U A R I O PRINCIPIANTE INTERMEDIO AVANZADO EXPERTO 1 | FORMATOS Formato para tres cifras / Caracteres matemáticos / Anchos en centímetros / Hoja oculta / Ocultar ceros / Formato rebelde / Bordes redondeados / Código de barras / Números en modo texto / El color según el valor / Resaltar series de datos / Ocultar resultados 2 | IMPRESIÓN Imprimir imágenes / Imprimir factura / Configurar páginas / Elegir impresora / Contar páginas / Original, duplicado y triplicado / Encabezado variable / Combinar correspondencia 3 | GRÁFICOS Histograma / Señalar promedio / Gráfico dinámico / Gráfico y subgráfico / Barras de colores / Gráficos en cuatro cuadrantes / Área bajo una curva / Escala de gráficos / Gráfico para balance 4 | LAS FUNCIONES ESPECIALES Estilos de puntuación / Dato móvil / Series de hojas / Letras aleatorias / Redondeo truncado / El cambio exacto / El botón Autosuma / Resolver ecuaciones / Cálculos con matrices complejas / Detectar celda marcada / Eliminar blancos / Sumar datos como texto / Fórmulas automáticas / Criptofrases 5 | CÁLCULOS CONDICIONALES Negativos y ceros / Funciones dentro de funciones / Multicondicional / Demasiadas condiciones / Cobradas, pendientes y anuladas / Contar celdas / Condición de entero / Deuda impaga y vencida / Problema con repetidos / Condiciones aproximadas 6 | CÁLCULOS CON FECHAS Y HORAS Reconstruir fecha / Cierres de ejercicio / Series de meses y de días hábiles / Señalar fines de semana / Anunciar vencimiento / Contar por semestre / Última fecha / Contar por hora / Horas y porcentajes / Reloj fichador / Formulario con calendario / Un problema con el idioma 7 | OPERACIONES CON BASES DE DATOS Carga rápida / Autocompletar / Eliminar blancos / Ordenar por terminación / Recuperar hipervínculo / Extraer datos / Datos comunes / Extraer lista / Problema con autofiltro / Filtros múltiples / Filtrar varias hojas / Datos desde la Web 8 | MACROS Botones de macro / Alarmas / Señalar fila y columna / Barra de progreso / De Visual Basic a Excel / Validar respuestas / Macro suicida / Identificar formato / Rango variable / Generador de exámenes /Conteo por color / Extraer comentario / Elegir imágenes redusers.com EXCEL REVELADO Tapa excel revelado.qxp 13/01/2010 21:20 PÆgina 1