excel

452
Excel Aplicado a la Auditoría, Contaduría y administración Alejandro Quiceno García Todos los derechos reservados ISBN 978-958-44-6711-9 Todos los derechos reservados

Upload: alexrock4444

Post on 30-Oct-2014

863 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: excel

Excel

Aplicado a la Auditoría,

Contaduría y administración

Alejandro Quiceno García

Todos los derechos reservados

ISBN 978-958-44-6711-9 Todos los derechos reservados

Page 2: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

2

Ejemplar GRATIS puesto en el grupo del autor Alejandro Quiceno García “Excel Audi” en Facebook:

http://www.facebook.com/groups/excelaudi en la carpeta Dropbox de Alejandro Quiceno Garcia, http://dl.dropbox.com/u/84242760/ExAp.pdf y divulgado a través de articulo del

portal Actualicese.Com

Solo te pido a cambio que me colabores haciendo clic en ME GUSTA de la página Web Excel

Audi en Facebook, en el siguiente enlace: http://www.facebook.com/pages/Excel-Audi/171798466208956

Los archivos ejemplo los encuentras en la pestaña Archivos del grupo Excel Audi, clic aquí:

https://www.facebook.com/groups/excelaudi

Suscribete al blog Excel Audi:

http://alejandroquiceno.blogspot.com

Nuevos Temas y artículos se encuentran en el blog. Si lo deseas puedes agregarme a Google+:

https://plus.google.com/101184250043663234023/

Twiter: http://twitter.com/excelaudi

El libro es gratis para todos pero no lo subas a ningún otro sitio en Internet. Si alguien lo quiere invitalo que se una al grupo Excel Audi. http://www.facebook.com/groups/excelaudi Por favor no subas este material a otro sitio web distinto al grupo Excel Audi en Facebook o carpeta Dropbox de Alejandro Quiceno. Si deseas compartir el libro copia y pega este enlace en tu email o sitio web: http://dl.dropbox.com/u/84242760/ExAp.pdf Dado que tengo los derechos de autor puedo tomar acción legal y solicitar apoyo a los Web Master de los sitios en los que se encuentre el archivo como tal subido sin autorización expresa.

http://www.excelaudi.com

Page 3: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

3

Page 4: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

4

“Lo mejor que puedes hacer por los

demás no es enseñarles tus riquezas,

sino hacerles ver la suya propia.”

Goethe Grán dramaturgo Alemán

Page 5: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

5

Pag

Introducción 9

Breve Historia de la Hoja de Cálculo 14

El “Lanpar”, la primera hoja de cálculo 14 Llega el “Visicalc” 15

Aparece la hoja electrónica Lotus 1-2-3 16

¿Que es Excel? 17

Historia del Excel Las primeras macros 18

El lenguaje de las Macros XLM 19

Excel 5 19 Excel 97 20

Excel 2000 20 Excel 2002 21

Excel 2003 21

Excel 2007 21

Introducción a las macros Que es una macro 23

Para que nos pueden servir las macros 23 Como podemos usarlas 24

Como podemos grabar las macros 25

El grabador de macros 25

La importancia de organizar la información en base de datos 34

Técnicas y funciones de Excel más utilizadas en la depuración de archivos planos

Buscar y Reemplazar 36 Ir a especial - Celdas en Blanco 48

Que hacer cuando la técnica de rellenar celdas no funciona 56 Filtros 67

Ordenar los datos 73

Funciones de uso frecuente

Función Si 84 Función Izquierda 86

Función Derecha 87 Función Extrae 88

Función Concatenar 89

Función Espacios 90 Función Texto 91

Función Valor 92 Función Hallar 95

Función Sustituir 95

Función Mayúscula 96 Función Minúscula 96

Función Nompropio 97 Función Largo 98

Función BuscarV 98

Page 6: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

6

Realizar la búsqueda con BuscarV en varias tablas al mismo tiempo 103

Como hacer un doble BuscarV 104

Triples, cuadruples BuscarV 105 Complicando más las cosas 106

Buscando Items incorrectos o desconocidos entre dos tablas 108 Función Índice 109

Función Coincidir 112

Función Sumar.Si 115 Función SumaProducto 118

Suma como Saldo Total 119 Suma anidando la función Índice y Coincidir utilizada en un presupuesto 120

Suma con la Función Desref 121 Función BdContar 126

Función BdContarA 128

Función BdExtraer 129 Función BdMax 131

Función BdMin 133 Función BdSuma 135

Función BdPromedio 137

Función Carácter 139 Función Elegir 141

La falencia de la función =BuscarV 142

Funciones o Formulas Matriciales

Formulas que devuelven un solo valor 145

Como ingresar una formula matricial 145 Como se forma la matriz de información 146

Operaciones Lógicas con Formulas Matriciales 148 Armando una matriz para funciones que no trabajan como matriciales 149

Formulas que a su vez devuelven una Matriz 150

Algunas Funciones Matriciales de Utilidad 150 Formulas Matriciales Vs Formulas Normales 151

Ejemplo práctico de formulas matriciales sobre una base de datos 152 Pase de asientos de libro diario a libro mayor 154

Usando formulas matriciales para hacer la explosión de producción 157

Como corregir las fechas, de texto a Excel y de Excel a Texto

Arreglando las fechas mediante la herramienta Texto a Columnas 165 De Fecha Excel a Fecha Texto 166

Técnicas que conviene saber

Copiar una hoja 167

Mostrando los números en formato de miles 169 Montando Subtotales 173

Una forma de revisar los números consecutivos 182 Asignar nombres a los rangos, celdas o tablas 186

El formato condicional

Formato condicional en Excel 2007 187 Encontrando las transacciones de la ULTIMA SEMANA 189

Usando Íconos para marcar valores 190

Page 7: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

7

Barras de datos 193

Montando ICONOS solo al Top 10% 195

Usando Formato Condicional en Excel 2003 198 Encontrando valores duplicados o valores únicos. 201

Encontrando duplicados en Excel 97-2003 204 Encontrando valores UNICOS en Excel 2003 206 Usando filtro avanzado para encontrar valores únicos. 207

Usando una tabla dinámica para encontrar registros únicos. 207 Utilizando la herramienta REMOVER DUPLICADOS en

Excel 2007 para encontrar los registros UNICOS 209 Más de formato condicional - Duplicados Primera ocurrencia 212

Duplicados Primera ocurrencia en Excel 2007: 213 Duplicados todas las ocurrencias 215

Más de formato condicional: Montando un Formato condicional que nos coloree la celda QUE CRUZA CON OTRA TABLA 218 Más de formato condicional: Comparar la celda correspondiente con otra hoja 220

Más de formato condicional: Máximos en fila y en columna 224

Validación de datos 226

Validación Básica 227 Validación de datos de lista 229

Lista desplegable desde otra hoja de cálculo 230 Doble lista desplegable 231

Validación de Fechas 234

Validación de longitud de texto 235 Validación personalizada 235

Validar si los datos entrados suman el valor requerido 235 Validación de formato y solo números entre 0 a 100 236

Validación para prevenir registros duplicados 237 Validación para prevenir que se llenen registros fuera de cada fila 237

Validación para controlar que ingresen solo números o solo texto 238

Validación para controlar que no dejen casillas en blanco 239

Analizando información con Tablas Dinámicas Como se necesita tener la información para armar una tabla dinámica 240

Armando una tabla dinámica en Excel 97-2003 241

Armando la tabla dinámica en Excel 2007 246 Cambiando la tabla dinámica usando el botón “Agregar a” en Excel 97-2003 250

Modificando la tabla dinámica en Excel 2007 252 Cambiando las celdas que se ven en blanco por ceros 253

Cambiando la tabla dinámica en Excel 2007 arrastrando los campos de manera similar a Como lo hacía en Excel 2003: 255

Mostrando dos o más campos en la zona de datos 256

Agrupando campos de fecha 258 Removiendo los campos de la tabla dinámica 260

Creando un Reporte Específico usando el cuarto elemento del panel: El filtro de Reporte 261 Mostrando el TOP de los 10 mejores 263

Como se sacan los 10 mejores en Excel 2003 265

Ordenar y Filtrar en Excel 2007 267 Extractando información detallada de los campos de la tabla dinámica (Drilling Down) 269

Tablas dinámicas y el recalculo de información. 270 Limitaciones de las tablas dinámicas 271

Más de tablas dinámicas:

Page 8: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

8

Operaciones diferentes a Suma 272

Llevando más campos a la tabla dinámica: 277

Más de tablas dinámicas: Porcentajes de Participación 283 Más de tablas dinámicas: Acumulados 285

Más de tablas dinámicas: Participación porcentual 286 Más de tablas dinámicas: Crecimiento en Valor y en Porcentaje 287

Más de Tablas Dinámicas: Campos Calculados 287

Más de Tablas Dinámicas: Elementos Calculados 293 Más de tablas dinámicas: Cruces de información. 302

Más de Tablas dinámicas: Desactivar la opción GETPIVOTDATA. 306 Más de Tablas dinámicas: Armando tablas dinámicas que leen más de

1.048.576 filas de Excel 312

Automatizando las tareas con Excel VBA 320

Otorgando el permiso necesario para que el código de las macros corran o se ejecuten en su computadora 321

Insertando el modulo VBA en su libro de trabajo 325

Escribiendo y corriendo una macro 326 Una macro que recorra todos los registros de la hoja de Excel 329

Como referenciar las celdas en el recorrido 330 Referenciar la fila completa usando CELLS 330

Referenciar un rango rectangular usando CELLS 331 Macro que nos colorea cada tercera fila de rojo 331

Tomando decisiones basados en los valores hallados en la fila 332

Trabajando con un número desconocido de Filas 334 Trabajando con Otras Hojas de Cálculo 335

Recorriendo todas las hojas de cálculo 336 Usando el grabador de macros para aprender otro código 337

Lo que hay que tener en cuenta del grabador de macros 339

Ir hasta la última celda con información 340 Desplazarnos a partir de una celda sin necesidad de seleccionarla: 342

Algo más sobre la instrucción ActiveCell.Offset 345 Ejecutar una macro paso a paso 346

Las variables 348

El procedimiento DO UNTIL 355 Haciendo Un DO UNTIL combinado con variables temporales que nos montan una formula

tal como =SUMA() 356 Analizando el problema porque la Macro de tabla dinámica en Excel 2007 no corre. 360

Haciendo que la macro que nos haga el recorrido con las variables de los rangos de inicio y final de cada bloque de valores de cada una de las cuentas. 364

Algunas técnicas para depurar los archivos planos 378 Depurando el balance de comprobación por terceros 379

Creando la macro que depura el balance de comprobación por terceros 401

Referencias 451

Agradecimientos 452

Page 9: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

9

Introducción

"He aquí yo os envío como a ovejas en medio de los lobos;

sed pues, prudentes como serpientes y sencillos como palomas" Mateo 10, 16:

Esta cita del apóstol Mateo más de uno la conoce, además es frecuente que el día del Contador se

envíen tarjetas o correos electrónicos –emails- conmemorativos incluyendo esta cita Bíblica. Puede que

suene bastante dura si la aplicamos a la actividad del Auditor, pues implícitamente se está indicando que los lobos están en las organizaciones, lo cual es una fuerte aseveración si se tiene en cuenta que

las relaciones de los hombres se basan en la buena Fe. Pero quien ha estado en Auditoría, sabe que se debe pensar colocándose en los zapatos del sujeto que presuntamente pudiera tener la alevosía y la

premeditación, -así no exista dicho sujeto- para poder realizar hallazgos o hacer recomendaciones.

Máxime si en la organización auditada se cuenta con la infortuna de dar con algunos personajes que procuran de alguna manera que no se encuentren pruebas, pues son un riesgo para su trabajo o su

fuente de ingresos “extra”. Una táctica es “empapelar” o “Atiborrar” de documentos al Auditor. Quien ha trabajado en Auditoría Interna sabe que la diferencia con la Auditoría Externa es mucha. Nada mas

piense que por lo general se tienen pocas horas para auditar cierta área y encima de todo, solo una muestra.

Pero no solo eso; los lobos en sentido figurado pueden ser otros tales como el lobo del trabajo bajo presión, el cual es en mi opinión el mayor de todos, pues en medio de los afanes las cosas a veces

quedan mal hechas, (además la intensidad horaria laboral deteriora tu vida personal), si no se poseen metodologías o ayudas que le permitan ser mejor en lo que se hace. (O el lobo de la negligencia, la displicencia, la codicia, la pereza, el vicio o la corrupción, estos ya no son lobos propios sino demonios propios, por no ir más allá todavía y hablar de perseguir una mejor calidad de vida a toda costa, o aún la misma esperanza de ser un día ricos –ricos? ¿En que sentido?- son demonios más peligrosos que nos incitan a que empeñemos nuestro futuro, y con ello peligrosamente estar en la posibilidad de que, abrumados por las deudas perder el dominio de un criterio claro. Recordemos que la Biblia en Proverbios 22 nos enseña que “De más estima es el buen nombre que las muchas riquezas, y la buena fama que la plata y el oro”. Más adelante, en el versículo 7, apunta que “El deudor es sirviente del prestamista”. Así pues, ojo con eso). Quienes estamos en esta actividad, sabemos lo crítico y el sumo

riesgo que se asume al opinar sobre los Estados financieros. Cuando revienta una situación el primero que sufre las consecuencias es el Auditor o Revisor Fiscal, y por más que el dictamen indique que la

producción de los Estados Financieros es responsabilidad de los administradores, eso no lo salva de que le corten o renueven sus servicios de asesoría. Después de ellos, las miradas recaen en los

administradores que resulten implicados. Recordemos que cuando estallaron los fraudes en EEUU de

Enron y Worlcom entre otros, fueron tan graves que dieron al traste con la existencia de la multinacional de Auditoría número uno del mundo, Arthur Andersen.

Este es un libro que aborda la utilización del Excel en la labor del Auditor, del Contador y del

Administrador. Es un libro hecho desde la experiencia del día a día hacia Excel. La cantidad de criterios,

preferencias, perspectivas, estilos de presentar o necesidad de presentar la información, hace que sea muy difícil satisfacer las necesidades de los usuarios a la hora de confeccionar sus informes o los

reportes que exigen. Esta situación hace que se llegue a la situación de bajar o de descargar un listado que estaba destinado a imprimirse a Microsoft Excel, y a partir de Excel es que se comienza a trabajar.

Las maneras de trabajar los listados bajados en archivo plano a Excel poco se enseñan y en la vida real, he podido observar casos extremos en los que el desconocimiento de las herramientas y metodologías

que se pueden implementar a través de Excel, hacen que incluso se disponga de una persona dedicada

a organizar la información del archivo plano durante algunos días. (Mayor costo de mano de obra en la

Page 10: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

10

oficina. ¿Y cuando no hay apoyo?) Es aquí en donde el conocimiento del manejo de este maravilloso

aplicativo hace la diferencia entre un profesional y otro.

Esta labor tan manual, que supone una dedicación de tiempo a tal punto que no se justifica que un

profesional que ha invertido tanto tiempo en su formación -frecuentemente universitaria- termine dedicando horas depurando y organizando la información de archivos planos aún mas que las

actividades propias de su profesión, en lugar de emplearlas para lo que realmente fueron contratados:

Actividades que apoyan la Visión y la Misión empresarial, pero que dada la cantidad de prerrogativas terminan creando un cuello de botella que solo alcanza a dar un mínimo cumplimiento a las

necesidades Gerenciales.

Otra razón más poderosa aún para aprender a trabajar los listados bajados como archivo plano a Excel, sobretodo para los Auditores y Revisores Fiscales, es el hecho de dar cumplimiento en Colombia al

Artículo 37 de la Ley 222 de 1995 “Cifras fielmente tomadas de los libros y previamente confirmadas”. Para confirmar, lo mejor sería tomar los libros oficiales o los listados auxiliares, bajarlos tal cual como son a Excel, es decir, originales, (para que luego no digan que uno se ha inventado las cifras) dejarlos

en una hoja de cálculo intactos, (Pues en el listado consta la fecha y hora de generación del listado, una foto de la situación contable), hacer una copia del listado o reporte original en una hoja anexa y

sobre ella depurar la información; es decir, limpiarle todas las rayitas y encabezados de listado que no

le facilitan a Excel hacer cálculos sobre ella: Convertirla en una base de datos y con esta base, si comenzar a cruzar con la información detallada de los módulos de cartera, o de inventarios, u otros

sistemas o aplicativos, ver si ambas bases “se conversan” como se suele decir. Todo esto se puede hacer muy rápidamente con la ayuda de Excel. Por rápidamente me refiero a minutos, sino segundos.

No saber buen Excel para un Contador, Auditor o Administrador, puede ser una seria desventaja

competitiva, incluso tan grande como lo es no saber Inglés. Pero saberlo manejar, es una maravilla.

Sobre todo el tema de las macros de Excel. Es por eso que este libro no le enseña las herramientas básicas de Excel. En el mercado ya hay muy buenos libros que lo pueden llevar de la mano y superar el

nivel básico. Además en Internet hay manuales sobre Excel básico muy buenos (como la biblia del excel 2007 o 2010) que puede descargar gratis en Acrobat (Los documentos Acrobat son los archivos con

extensión .Pdf) a su computadora.

Este libro propende por mostrarle maneras de trabajar la información, temas que hacen la diferencia en

relación con los demás textos del mercado y recursos disponibles en Internet.

También es importante decir que para un Profesional de las ciencias de la administración puede ser una

tortura tener que depender de otras áreas -como informática-, al momento de trabajar grandes cantidades de información. Yo le aseguro que en cuanto le comience a encontrar el gusto al buen Excel,

encontrará que su dependencia del área de informática descenderá tremendamente, pues ya no necesitará que le hagan consultas a la base de datos o que le creen desarrollos con todo lo que ello

supone, (Sobretodo el costo, pues crear y hacer algo nuevo nunca es gratis, con el consecuente impacto en el Presupuesto) y antes evaluará el trabajo que normalmente ellos hacen. Por ejemplo, en

una plataforma JDEdwards o BPSC que corre sobre el viejo pero poderoso AS/400, los módulos

(Facturación, Cartera, Inventarios, etc.) manejan tanta información que viaja hacia la contabilidad, que saber, poder decir, meter “las manos a la candela” y asegurar, que todo lo que está en la contabilidad

es 100% todo lo del módulo es una afirmación que no se hace, no se puede hacer a la ligera. Sin embargo, se debe de estar en condiciones de poderlo verificar y por lo tanto asegurar. En cuanto sepa

cómo hacerlo (manualmente en minutos, o en segundos mediante macro), y en cuanto detecte

transacciones que no viajaron hacia la contabilidad, o cualquier otra inconsistencia, una sonrisa aparecerá en su rostro cuando le demuestre a los de informática, por ejemplo, que algunas partidas o

porciones de información se quedaron “volando” y no se asentaron correctamente en la contabilidad. Las casas de software se han “puesto las pilas” en este sentido y ahora propenden por sacar versiones

en las cuales ya no hay procesos de “interfaces” entre los módulos y la contabilidad, propenden porque

Page 11: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

11

las transacciones queden “en línea”, pero el usuario final poco cambio detecta en este sentido, por lo

tanto es un cambio que poco se valora porque en ultimas no tendría porque hacerlo, pues el

programa contable DEBE en todo momento y COMO SEA, asegurar la información.

El potencial de Excel es tan grande, que un libro que lo abarque todo sería una enciclopedia por lo menos de 5 tomos. Hay manuales de Excel-macros en Ingles que superan las mil páginas. Es por eso

que me centro en los temas que considero son los más relevantes para los profesionales de las ciencias

de la administración. El libro se enfoca en los archivos planos del sistema contable CG1, pues como profesor, noto la gran cantidad de compañías que lo usan, es por eso que a su vez me centro en las

metodologías que utilizan a la hora de trabajar la información de los archivos planos.

Por otra parte, la experiencia me indica que para las áreas contables es difícil liberar tiempo para tomar

clases, más aún para asistir a seminarios de Excel. Nada más el tema del tráfico, (solo por citar uno de los inconvenientes), el stress del desplazamiento, lo absorbente del trabajo, es para matar cualquier

intención. Estamos en un “corre-corre” tenaz, incluso entre la espada y la pared. Los contadores deben soportar transacciones de última hora aún después de cierre y encima de eso, producir los Estados

Financieros a la velocidad de la Luz, un pulmón respirándole en la nuca diciendo: “Quiubo Ya?”. Si no lo sabe aún, este libro le dará algunas bases para que comience a generar esos reportes con mucha

rapidez. Pero deberá hacer un esfuerzo, romper un poco sus hábitos, armarse de paciencia, ir

aprendiendo, ensayando y con mucho cuidado introducir las nuevas metodologías, que deberá probar, o ejercitarse en ellas antes de implementarlas, para no pasar ratos desagradables con su jefe.

El libro cuenta con el apoyo que el autor del libro presta en la comunidad de Excel Audi, (antes Excel

Máquial)

Para encontrar el grupo en Facebook debe digitar esta dirección:

http://www.facebook.com/groups/excelaudi/

Page 12: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

12

Mi nueva pagina web es http://www.excelaudi.com Aún está en construcción, asi que si la digita lo devolverá hacia google mientras la termino de

configurar. Mientras tanto, lo invito a que me escriba a mi email [email protected], o se una al nuevo grupo de Facebook que le indicaba anteriormente:

http://www.facebook.com/groups/excelaudi/

Page 13: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

13

Solo los profesionales de hoy que hagan un esfuerzo y propendan por aprovechar el potencial de la

herramienta que siempre ha estado desde cuando eran adolescentes, podrán hacer la diferencia e

imponerse a los demás. Y no deberán temer que lleguen firmas de auditoría del exterior quebrando precios pues ustedes de la mano de Excel los podrán bajar aún más. En sus manos siempre ha estado

el poder para hacer Inteligencia de Negocios y Contabilidad Forense, solo por citar algunas actividades.

Espero que el libro sea de tu agrado y me colabores adquiriéndolo y dándolo a conocer con tus amigos

y colegas. También te pido de todo corazón que me ayudes a combatir el problema de la piratería. No permitas que el libro se fotocopie. Si lo haces, estarás destruyendo la ventaja competitiva que

adquieres, lo que te diferencia de los demás, la posibilidad de mejorar y diferenciar tu talento la hechas por la borda, y con todo lo que ello implica, me perjudicas tremendamente. Este proyecto lleva más de

un año, te aseguro que si hubiera nacido en cuna de oro seguramente no hubiera escrito un libro de estos, pero la necesidad es la madre de la industria. Apelo a tu sentido Ético y profesional para que me

ayudes en esta gesta. Espero que este trabajo rinda sus frutos para poder continuar con la labor

pedagógica de seguir enseñando y escribiendo libros de Excel, que cubran otros temas igualmente importantes en la organización.

Me doy cuenta de la cantidad de talento que tenemos entre nosotros. Las nuevas generaciones del play station y el nintendo ya han crecido y vienen pidiendo pista, ávidos de demostrar que son lo mejor de lo

mejor. El Contador y el Administrador del Futuro es aquel que es en todo momento resolutivo y a la manera de los paisas, no preguntan “…Y ahora que hacemos?” sino que piensan en cómo solucionarlo.

¿No ha notado que en nuestra profesión, los inconvenientes y los problemas son lo que nos da de comer? Profesionales con una proactividad pasmosa, que no son esclavos del tiempo ni de la

costumbre, que no los atan los hábitos laborales sino que encuentran las mejores metodologías para realizar todo mucho mejor, más rápido, incluso más bonito y a cambio de mas económico, el mayor

volumen rendirá y creará a su vez mayor valor. Profesionales que cuando el jefe va, ellos ya han vuelto,

y cada vez generan mayor valor agregado al trabajo. Nada le quedará “Grande” al Contador. Antes por el contrario, comenzará a reírse de todas las adversidades. El Contador de este siglo XXI integrará más

conocimiento de sistemas a su haber y verdaderamente, en lugar de trabajar principalmente para la administración de Impuestos, apoyará a la organización presentando informes acertados y oportunos

para una efectiva toma de las decisiones. Comienza dando ese primer paso o reafirmándolo si ya estás

en la senda, retoma la capacidad creadora que poseemos todos los seres y deslígate poco a poco de la actividad hacedora. No olvides cuestionar, validar y verificar constantemente.

Finalmente te comparto esta cita milenaria del sabio Lao-Tsé, que nos dejó en su libro El Tao-Té-King: “Para gobernar las cosas el mejor consejo es ser sobrio. El ser sobrio equivale a ser previsor. El ser previsor equivale a estar preparado y fortalecido. Estar preparado y fortalecido equivale a poseer una capacidad infinita. Y poseer una capacidad infinita es ser siempre afortunado”

Alejandro Quiceno García

Santiago de Cali, Sábado Abril 10 de 2010

Page 14: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

14

Breve Historia de la Hoja de Cálculo.

“Para saber adónde vas, debes saber de dónde vienes”, reza cierto proverbio judío. (Informo que no lo soy y que no tengo ningún problema con la diversidad religiosa). Y en el tema del Excel, es importante

conocer, por lo menos en forma resumida, toda el agua que ha corrido antes que Usted afortunadamente se interesara por este aplicativo.

Considero que no se ha hecho la debida justicia al reconocerle a los Contadores por lo menos haber sentado las bases de lo que sería la hoja de cálculo. Economistas y Contadores académicos la promovieron mucho antes de que la generación de expertos en computadores de los años 60

estuvieran interesados en las hojas de cálculo electrónicas. Quizás habrán oído hablar a nuestros

amigos Contadores de la vieja guardia, como se trabajaba antes con unas “Superhojas”

Multicolumnarias muy grandes, con las cuales se registraba manualmente la información. Estas hojas formaban los libros Contables y los había para todos los casos. Estas Grandes hojas, frecuentemente

denominadas “Matriz de información” (palabra clave) eran –y aún son hoy en día en sitios en los cuales no llega la tecnología aún- la base del sistema de información.

Pues bien, esta noción de “Matriz”, nos sirve para retroceder aún más en el tiempo, para reconocer que las matrices han sido empleadas por los contadores desde hace cientos de años. La historia registra

(seguramente la tendencia fue fuerte entre los expertos del tema de la época, pues no todos los doctos gustan de documentar o divulgar su conocimiento tan duramente logrado, pues el conocimiento

duramente adquirido es un tesoro con el cual agregas valor y te diferencia de tu competencia) que fueron las matrices contables de De Morgan (1846), Rossi (1889) y Gomberg (1927) y las aplicaciones

en álgebra de matrices por Leontief, Frich y otros; una etapa posterior corresponde al intento, a finales

de los años 1950 y 1960, para generalizar la hoja de cálculo y aplicarla sistemáticamente, junto con el álgebra de matrices a los negocios contables y financieros. El profesor Richard Mattessich en 1961

impulsó el desarrollo de matrices computarizadas para su utilización en la contabilidad empresarial.

Desde aquí se establecieron 3 direcciones diferentes: (1) La computarización de la hoja de cálculo y la

simulación del presupuesto, así como el principio de los sistemas de contabilidad electrónicos para los macrocomputadores; (2) La aplicación del álgebra de matrices a varios problemas de contabilidad de

costos y contabilidad financiera, así como a la integración de bases de datos contables con sistemas de búsqueda; (3) La axiomatización de sistemas contables que trajeron como consecuencia la estructura o

marco conceptual de la Junta de Normas de Contabilidad Financiera en Estados Unidos (FASB) y en otros cuerpos emisores de normas de contabilidad. Pero el énfasis para la hoja de cálculo fue dado en

la primera dirección, (la simulación del presupuesto).

Información detallada de esto que le menciono, si le interesa profundizar, puede buscar en Internet el documento “Spreadsheet-Malaga-LV.pdf”.

Aparece la primera hoja de cálculo del mundo: El LANPAR

Posteriormente la historia registra que en 1969 se creó el “LANPAR” – LANguage for Programming Arrays at Random. La cual fue la primera hoja de cálculo del mundo. Coinventada y desarrollada por Rene Pardo y Remy Landau, los cuales la diseñaron y la vendieron a Bell Canada, AT&T y las 18 compañías operadoras de teléfono a través de Estados Unidos, además de la planta de General Motors en Michigan. Fue inventada por la necesidad que la compañía Bell Canada y AT&T tenían con el presupuesto, pues debían cambiar los datos de por lo menos 2.000 casillas en sus formas presupuestales, y el plazo de espera que debían soportar los grupos del departamento de servicios de información para reescribir el software en el lenguaje Fortran era de 6 meses a 2 años.

Pardo y Landau sentían totalmente que esta programación debía estar en las manos de los usuarios más que en los Ingenieros de sistemas. ( Súper!!!!) Usando LANPAR, el Señor Art Smith de Bell Canadá,

Page 15: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

15

estuvo en capacidad de programar y hacer TODOS los cálculos necesarios en toda la aplicación, por si

mismo en tan solo un fin de semana. (No le suena tan familiar y repetitiva esta historia?) René Pardo y Remy Landau, tampoco fueron ajenos a la larga lucha por lograr la patente, solo la obtendrían en agosto de 1982 después de largos pleitos y por supuesto después de todo ese tiempo, el

costo de la oportunidad, la imposibilidad de haber lanzado formalmente su producto al mercado potencial. Esta información la puede ver en inglés en la página web de René Pardo.

Llega VisiCalc Los medios indican que los trabajos de Pardo y Landau no tuvieron influencia directa en el desarrollo

del trabajo de Dan Bricklin, creador del programa “Visicalc”.

La idea se le ocurrió en 1978 a Dan Bricklin a raíz de un caso que debía resolver en la universidad de

Harvard y decidió programarlo en lenguaje BASIC. Como resultado, obtuvo una hoja de cálculo capaz de manipular 5 columnas y 20 filas. Como es visto lo ínfima que era, le pidió ayuda a Bob Frankston,

Ingeniero del MIT (Massachusetts Institute of Technology) con el fin de expandir la hoja electrónica. Posteriormente en otoño de 1978 se les uniría Daniel Fylstra, también del MIT y de la escuela de

negocios ($) de Harvard. Como es natural, Fylstra vio el potencial comercial de la aplicación si la hacían

correr en un microcomputador Apple. Los tres fundaron en enero de 1979 “Software Arts Corporation” y comenzaron a mercadear “Visicalc”, (Visible Calculator). La empresa de Daniel Fylstra llamada Personal

Software se convirtió en “Visicorp”; vendió casi un millón de copias del aplicativo.

Aparece la hoja electrónica Lotus 1-2-3

Posteriormente en los 80 entraría Match Kapor como diseñador y gerente de producto de Visicorp, y desarrolló los programas Visiplot y Visitrend, los cuales vendió a los socios de la empresa por un millón

de dólares. Con estos recursos, mas el apoyo del inversionista Jonathan Sachs, fundaron Lotus Development Corporation, para comercializar el producto que Kapor había desarrollado, el Lotus 1-2-3.

En poco tiempo superó a Visicalc. Integró graficación y manejo de bases de datos, asignar nombres a

las celdas, definir rangos y hacer macros. Con el éxito obtenido, al poco tiempo compraron Software Arts y descontinuaron Visicalc, pues en su opinión Lotus 1-2-3 era superior a Visicalc. …La selección

natural del sistema capitalista en acción.

Luego llegaron una multitud de hojas de cálculo, quizás las de mayor recordación fueron SuperCalc,

Qpro y Excel. En la batalla que seguiría en los frentes legal, venta de empresas, participación de mercado entre otros, finalmente ganaría Excel, la cual es hasta hoy el estándar universal de las hojas

de cálculo. Lo que tanto critican algunos hoy en día, es lo que hizo que se impusiera sobre las demás: el continuo desarrollo y mejora del producto, los cuales eran mucho más rápidos que los de la

competencia, y los usuarios veían con expectativa las nuevas funcionalidades del software.

Page 16: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

16

Page 17: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

17

¿Que es Excel?

Esta es mi definición de lo que es Excel: Es el nombre de una aplicación desarrollada por la Corporación Microsoft, (Empresa creada por el famoso Bill Gates) de tipo hoja de cálculo que viene integrada en la

“suite” de aplicaciones de computador para la oficina, más conocida como Microsoft Office, de la que se sirve todo aquel que necesite crear informes, manejar o administrar o capturar y guardar (o todas las

anteriores) gran cantidad de información y con base en ella realizar análisis, efectuar gran cantidad de

cálculos y recálculos, los cuales sin una hoja electrónica o Excel que es la mejor de ellas, sería más complejo y dispendioso. Por esta razón son los Administradores de Empresas, Ingenieros, Contadores,

Auditores, Financieros, Economistas, profesiones y actividades similares de apoyo (Task force) los que han encontrado en Excel su mejor aliado.

Veamos la definición de Wikipedia, la enciclopedia gratis de internet:

http://es.wikipedia.org/wiki/Microsoft_Excel

Y que es una hoja de cálculo?

Según Wiki, es:

http://es.wikipedia.org/wiki/Hoja_de_calculo

Page 18: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

18

Historia del Excel

Excel hizo su debut en 1985 en los computadores Macintosh de la Compañía Apple (los Mac fueron los primeros computadores personales y aún hoy siguen siendo en mi opinión los mejores y los más

elegantes, pues su arquitectura no facilita entre otras cosas que les entren virus) y nunca perdió su posición como la aplicación de tipo hoja de cálculo más popular de los Mac. En 1987, Excel se incorporó

a los PC (Personal Computers – Computadores personales que serían la competencia más seria de los

Mac, pues colocaron el PC al alcance de un número mayor de personas, el computador personal dejaba de ser una máquina solo para las clases pudientes y se acercaba cada vez más a una población cada

vez mayor). El sistema operativo de los PC de IBM fue el D.O.S (Disk Operating Sistem) y posteriormente Windows, ambos desarrollados también por Microsoft. A Excel le tomó algunos años

sobrepasar a Lotus 1-2-3, la cual fue una de las aplicaciones más exitosas en la historia de la computación.

Como veíamos en la historia de la hoja de cálculo, un gran número de hojas de cálculo disfrutaron el éxito antes de que IBM realizara el PC en 1981, entre ellas, estaban VisiCalc y Multiplan. Multiplan fue el

predecesor de Excel, y usaba el sistema de notación de filas y columnas R1C1 (Row 1, Fila 1 – Column 1, Columna 1: referenciaba las celdas por sus coordenadas de filas y columnas) y aún hoy se encuentra

disponible como una opción de notación en Excel. Pero fue el Lotus 1-2-3 el que se disparó al estrellato

muy poco después de su debut y vino a dominar el mercado de la hoja de cálculo de la computadora personal.

Las primeras macros

1-2-3 fue la primer hoja de cálculo que ofreció gráficos e integración con bases de datos en un solo paquete. Sin embargo, la principal razón de su éxito fue la posibilidad de grabar macros. La historia

cuenta que los desarrolladores del 1-2-3 colocaron las macros para depurar y probar el mecanismo del

producto, y ellos mismos cuentan que sólo se dieron cuenta del potencial de las macros a última hora, y las incluyeron en la liberación final del producto “por si acaso”.

Sea cual sea el origen de las macros, las macros le dieron a los “No-Programadores” una manera sencilla de llegar a ser programadores y automatizar las hojas de cálculo. Los usuarios “No-Programadores” tomaron la oportunidad y desde entonces la han aprovechado, por fin tuvieron una medida de independencia del departamento de Informática.

Las macros originales del 1-2-3 realizaron las tareas ejecutando las mismas teclas que un usuario utilizaría para llevar a cabo la misma tarea. Fue, por lo tanto, muy sencillo crear una macro porque no había virtualmente nada nuevo de aprender sobre el progreso de la manipulación normal de la hoja de cálculo a la manipulación programación. Todo lo que ha había que hacer era recordar que teclas

presionó y anotarlas. Las únicas concesiones a la programación tradicional fueron ocho comandos u órdenes extra tales como el comando /x. Los comandos /x proporcionaron una manera primitiva de

toma de decisiones que podía ser ingresada por el usuario y una manera de construir menús.

Uno de los mayores problemas de las macros del 1-2-3 fue su vulnerabilidad. Todavía no se había inventado el libro con varias hojas de cálculo y las macros se tenían que escribir directamente en las

celdas de la hoja de cálculo, junto con los demás datos que allí había. Las macros estaban a merced del usuario; por ejemplo si se insertaban filas o columnas, esto afectaba el código. También estaban a

merced del programador, pues si se organizaban los datos de la hoja de cálculo se afectaría también el

código.

A pesar de los problemas los usuarios revelaron su nueva capacidad de programación y millones de líneas de código fueron escritos en este lenguaje de programación, utilizando técnicas recursivas para

superar las limitaciones. Muchos dependieron de código que a menudo se diseñaba mal, mal documentado y sumamente vulnerable.

Page 19: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

19

El lenguaje de las Macros XLM

Las primeras macros de Excel requerían que se escribieran en una hoja para macros que se grababa en

un archivo de extensión .xlm. De esta manera las macros se guardaban de manera separada de la hoja de cálculo, la cual se grababa en un archivo con extensión .xls. Hoy, uno se refiere a estas macros

como las XLM macros, o las Macros de Excel 4, para distinguirlas del lenguaje de macros VBA que se introduciría en la versión 5 de Excel. El idioma de las macros Xlm consistía en llamar las funciones

organizadas en columnas de la hoja macros.

Había cientos de funciones necesarias para proporcionar todas las características de Excel y lograr el

control programático. El lenguaje XLM fue mucho más sofisticado y poderoso que el idioma de macros del 1-2-3, aun que las versiones 2 y 3 del 1-2-3, pero el código producido no era muy inteligible.

La sofisticación del lenguaje de las macros de Excel fue una espada de doble filo. Apeló a quienes tuvieran mejores aptitudes para programar, pero fue una barrera para la mayoría de los usuarios. No

había relación sencilla entre la manera que se operaba manualmente el Excel y la manera en que se

programaba. Aprender rápido implicaba dominar el lenguaje XLM.

Otra barrera para la aceptación del Excel en la PC era que este requería Windows. Las primeras versiones de Windows estaban restringidas por el limitado acceso a la memoria de la máquina

computadora, y Windows requería mucha más potencia para operar que el D.O.S, (el sistema operativo

anterior al Windows, también de Microsoft). La interfaz gráfica del Windows era bien vista, pero para que operara bien se tenía que mejorar el equipo, y la velocidad de operación fue percibida como un

problema.

Lotus cometió el error de asumir que Windows tenía sus días contados y que pronto sería reemplazado por el OS/2, y no se molestó en crear una versión de Lotus 1-2-3 para Windows. Los de Lotus colocaron

toda su energía en desarrollar una versión de Lotus muy elegante que corriera bajo OS/2. Esta apuesta

a “un solo caballo” fue una decisión errada que afectó la evolución del 1-2-3.

Cuando los de Lotus vieron que Windows había llegado para quedarse, estuvieron en verdaderos apuros pues veían como los usuarios adoptaban Excel. La primer intensión fue desarrollar una versión

de 1-2-3 para Windows, la cual salió al mercado en 1991, que realmente era la versión 1-2-3 (3) para

D.O.S. Versiones posteriores de Lotus han cerrado la brecha con Excel, pero han sido demasiado tarde por la adopción casi universal de Microsoft Office por parte del mercado.

Excel 5

Microsoft tomó una decisión valiente para unificar el código de la programación de sus aplicaciones

Office introduciendo VBA – Visual Basic para Aplicaciones-. Excel 5, liberado en 1993, fue la primera aplicación que incluyó VBA. VBA fue introducido gradualmente en las otras aplicaciones de Office en las

versiones posteriores. Excel, Word, Access, Powerpoint y Outlook, toda la suite Office usaba VBA como su lenguaje macro.

Desde la liberación de Excel 5, Excel ha apoyado el lenguaje XML y los idiomas de macro de VBA, y el

apoyo para el lenguaje XLM continuará en el futuro previsible, pero han disminuido los usuarios pues

continúan cambiándose al VBA.

VBA es un lenguaje de programación orientado a objetos que es idéntico al lenguaje de programación Visual Basic en la manera en que es estructurado y en la manera que maneja objetos. Si Usted aprende

a usar el VBA en Excel, sabrá cómo utilizarlo en otras aplicaciones de Office.

Las aplicaciones de Office varían en sus objetos. Para programar una aplicación debe de conocer el

modelo objeto, el cual consiste en la jerarquía de todos los objetos que Usted encuentra en la aplicación. Por ejemplo, la parte del modelo objeto de Excel nos dice que hay un objeto “Aplicación”

Page 20: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

20

(Excel), que contiene un objeto “Libro de trabajo” que contiene a su vez un objeto u objetos “Hojas”

que a su vez contiene un objeto Rango, nombres de celda, etc.

VBA es algo más fácil de aprender que el idioma de macro de XLM. Es más poderoso, es generalmente

más eficiente, y le permite escribir código bien estructurado. Usted también puede escribir código mal estructurado, pero siguiendo unos pocos principios, debe poder producir código que es entendido

perfectamente por otros y es razonablemente fácil de mantener.

En Excel 5, el código VBA fue escrito en módulos, que también se organizan como las hojas de un libro

de Excel. Las hojas de trabajo, hojas de gráfico, y hojas de diálogo fueron otros tipos de hojas que podrían ser contenidas en un libro de Excel 5.

Un módulo realmente es como un procesador de texto con algunas características especiales que le

ayudan a escribir y a probar el código.

Excel 97

En Excel 97, Microsoft introdujo algunos cambios dramáticos en la interfaz de VBA y algunos cambios en la modelación de objetos de Excel. De Excel 97 en adelante, los módulos no son visibles en la

ventana de aplicación de Excel y los módulos ya no son objetos contenidos en el Libro Excel. Los

módulos son contenidos en el proyecto de VBA asociado con el Libro y sólo pueden ser vistos y pueden ser redactados en la ventana del Editor de Visual Basic.

Además de los módulos estándar, también se introdujeron los módulos de clase, lo que le permite crear

sus propios objetos y conseguir acceso a eventos de aplicación. Los comandos de las Barras de herramientas (CommandBars) se introdujeron para reemplazar menús y barras de herramientas, y los

Formularios de los usuarios “UserForms” reemplazaron las hojas de diálogo. Ahora los Formularios solo

pueden crearse en la ventana del VBA. Como de costumbre, los objetos reemplazados se mantienen operativos, pero se ocultan y no se documentan en las pantallas de ayuda.

En versiones anteriores de Excel, los objetos como los botones se “empotraban” en las hojas de trabajo

y sólo podían responder a un solo evento, generalmente un clic del ratón. Al salir Excel 97 aumentó el

número de eventos a los que el código VBA podía responder. También se introdujeron los controles ActiveX que pueden ser incluidos en las hojas de trabajo y los formularios (UserForms).

En esta versión el VBE proporciona mucha más ayuda de la que había estado disponible antes.

Por ejemplo, como se escribe código, van apareciendo la sugerencia automática y ayuda sobre los de

métodos y propiedades de los objetos, valores de argumentos, parámetros de las funciones, entre otros.

Excel 2000

En cuanto al editor de macros, el VBA Excel 2000 no introdujo cambios dramáticos, hubo mejoras en algunas características de Excel como las tablas dinámicas. Los usuarios web se beneficiaron con de

Excel 2000, especialmente por la capacidad de guardar libros como páginas web. Tenía también

mejoras para usuarios con necesidad de compartir información.

Page 21: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

21

Excel 2002

Excel 2002 solo tuvo cambios incrementales; una vez más, las mejoras estuvieron en la interfaz del

usuario antes que en las características de programación. Microsoft se concentró en mejorar las características web para distribuir los datos en internet. En el Editor VBA se incluyó la protección,

SmartTags, RTD (los Datos en Tiempo Real) y apoyo mejorado para XLM.

Las características de protección permiten el control selectivo sobre las características que son

accesibles a los usuarios cuando se protege una hoja de trabajo. Por ejemplo, se puede tener control sobre lo que puede alterar, que celda formatear, insertar o borrar filas y columnas.

También incluyó la posibilidad de especificar cuáles usuarios pueden editar áreas específicas y además, si se quiere que utilicen una contraseña antes de hacer los cambios.

La característica SmartTags es la que permite a Excel reconocer los datos escritos a máquina en las

celdas, como “intuyendo” lo que quiere escribir el usuario. Pero no solo eso: Excel 2002 puede

reconocer abreviaturas del mercado de valores, como MSFT de Microsoft. Cuándo Excel ve un Ítem así, muestra un símbolo de SmartTag que tiene un menú móvil. Este menú se puede utilizar para obtener

información relacionada, como la cotización de las últimas acciones o un informe de resumen en la compañía. Con esta opción se puede crear nuevo software tipo SmartTag para obtener los datos

disponibles de la organización o a través del Internet.

El RTD (los Datos en Tiempo Real) permite a los desarrolladores crear fuentes de información; Por

ejemplo, una vez que en una hoja se crea un enlace o vínculo a otra hoja de trabajo, los cambios realizados en la fuente se muestran automáticamente. Una buena utilidad si se desean obtener los

precios de las acciones que cambian en tiempo real durante una negociación. Otras aplicaciones pueden ser las de apuntar a datos de instrumentos científicos o controladores industriales de proceso.

Como las tecnologías Web son cada vez más crecientes, se mejoró el XLM lo que significó que ahora era más fácil crear aplicaciones que intercambian los datos por Internet e intranet.

Excel 2003

En Excel 2003 se continuaron introduciendo características orientadas a Internet, mejorando el Xlm y la

asistencia en línea, capacidad de compartir y actualizar los datos que utilizan los servicios de Windows SharePoint. Se incluyeron funciones estadísticas; la característica Lista fue introducida para permitir la

gestión mucho más fácil de una mesa de base de datos. La característica Lista hace más fácil clasificar,

filtrar y para redactar los datos. Las listas también pueden ser integradas con SharePoint para compartir los datos a través de Internet. También se incluyeron nuevas características para trabajar de manera

compartida los documentos y derechos de acceso.

Excel 2007

Excel 2007 representó el cambio más grande de Excel desde Excel 97. El impacto más grande fue la

nueva interfaz del usuario, que utiliza la Cinta (Ribbon) como el instrumento primario de navegación, reemplazando los tradicionales menús y barras de herramientas. Aunque la cinta es más fácil de

aceptar por los usuarios nuevos, siempre significa que los usuarios experimentados tendrían que reeducarse.

Excel 2007 superó con creces los viejos límites, llegando a 1.048.576 filas y 16.384 columnas, por ejemplo. También hay muchos cambios a las características de las tablas dinámicas el acceso a las

mismas y los gráficos más accesibles y más fáciles de manipular.

Page 22: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

22

Las listas en Excel 2007, son más fáciles de manejar y tienen más capacidad. La clasificación (Ordenar)

y los filtros volvieron a ser diseñados; pueden manejar hasta 64 criterios de ordenación

simultáneamente. También se mejoró el acceso a los datos externos, y aumentó la gama de fuentes externas.

Excel 2007 acepta nuevos formatos de archivo que no eran compatibles en versiones anteriores,

aunque los datos pueden ser guardados en formatos más viejos, aunque con la pérdida de algunas de

las características nuevas. Si se quiere guardar un libro con macros, el archivo es diferente comparado con un archivo estándar.

Los conceptos de seguridad se volvieron a diseñar introduciendo el Centro de Confianza. Las carpetas

se pueden designar como “De confianza” y las macros en estas carpetas pueden correr sin necesidad de certificados digitales.

Page 23: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

23

Introducción a las macros

Que es una macro.

“Macro” es una palabra utilizada para referirse a un conjunto de instrucciones que realizan una acción

recurrente y automática en una hoja de calculo, en este caso Microsoft Excel.

En otras palabras, cuando Usted en su oficina o área de trabajo y sobre Microsoft Excel, todos los

meses tiene que realizar las mismas cosas, (sobre diferentes bases y situaciones, pero en general, el mismo contexto) o de manera cíclica cada cierto tiempo, ya sea todos los días, una semana, quince

días, un mes, un año, etc., se dice que el informe, cuadro, análisis u operación es recurrente. Es decir, cada cierto tiempo alguien tiene que hacerlo, una vez más, y así sucesivamente, una y otra vez. Pues

bien; esta actividad que se repite cada cierto periodo de tiempo, se puede “Grabar” en Excel, todas las

acciones de todo lo que usted hace en la hoja de calculo se puede “listar”, se pueden escribir en una serie de instrucciones paso a paso y hacer que Excel las ejecute o siga las instrucciones dadas

automáticamente sin necesidad de “Intervención Humana”. Lo anterior es sencillamente maravilloso, pues aparte de que ya no tenemos que hacer el trabajo directamente, la velocidad a la que Excel

ejecuta las instrucciones de la lista grabada o escrita, es tan rápido que hasta parece magia.

Veamos lo que al respecto dice Wikipedia:

http://es.wikipedia.org/wiki/Macro

Para que nos pueden servir las macros

Excel tiene una poderosa herramienta que le puede ayudar a crear sus macros fácilmente, y esa herramienta se conoce como el grabador de macros. Usted no necesita ser un ingeniero de sistemas

para aprender este tema de Macros. Solo necesita alguien que le ayude a comprenderlas, ponerlas en práctica, “sacarles el jugo”, aumentar su rendimiento (el suyo) y calidad profesional, deshacerse de

tanta operatividad, actividad secretarial, de digitador o como se dice en el argot popular, de tanta

“carpintería” y enfocarse en el análisis como tal o simplemente, dar mayor valor agregado a su competitividad u organización.

Page 24: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

24

No es normal que un profesional o cualquier empleado o asistente que se sirva de Excel, invierta (o

desperdicie) tanto tiempo trabajando de manera arcaica el Excel, cuando podrían hacer muchas tareas

en segundos, liberando tiempo y evacuando “cuellos de botella” de información.

Como podemos usarlas

Las macros se usan ejecutándolas, o “corriéndolas” que es lo mismo. Cuando usted ya ha grabado una

macro, simplemente la llama (o invoca) mediante una combinación de letras de su teclado de computador, o desplegando en Excel en el menú la opción Herramientas – Macros - Correr una macro

(si se encuentra en Excel 2003) ó, si se encuentra en Excel 2007 a través de la ficha programador, clic en el ícono Macros y seleccionar la macro. En ambas versiones con la combinación del teclado Alt+F11

se puede llamar la ventana que nos muestra las macros disponibles, ya sea en el libro de Excel que se

ha abierto o en el libro de macros personal.

¿Como podemos aprovecharlas?

Conociendo que las macros ejecutan una serie o una gran cantidad de acciones en segundos, pues el

recurso es ilimitado como nuestra imaginación. El enorme potencial de la velocidad significa muchísimo menos tiempo.

Por ejemplo, un Auditor no necesita de reporteadores especiales o software adicional que le ayude con

cierta información tal como revisar si a todos los documentos los asistentes contables les registraron

correctamente los impuestos: Podría solicitar un listado de cuentas auxiliar cronológico, (además del listado de terceros en donde figura la calidad tributaria) de todas las cuentas y de todo el mes o

periodo y hacer entre otras cosas, las siguientes:

1) Tomar todas las compras del periodo.

2) Calcular los impuestos. 3) Cruzar el cálculo obtenido contra las cuentas de impuesto.

4) Detectar en donde hay inconsistencias tales como comprobantes descuadrados, cuentas con saldos contrarios, terceros con saldos contrarios, revisar 100% el universo de los consecutivos,

etc.

Por supuesto, no necesita seleccionar una muestra y sobre ella hacer los cálculos de impuestos, nada

de eso, puede efectuar auditoría al 100% de la documentación y solo pedir los documentos físicos en los cuales se estén registrando diferencias entre lo calculado por la Macro de Excel vs. Lo contabilizado,

además de una muestra adicional para verificar otro tipo de cumplimientos. (Que miedo un auditor así!! ¿Como hará para detectar en cientos de registros en donde están los documentos con problemas?

¿Será Mago?)

Muestras “Posteriores y selectivas” son cosa del siglo XX. Mediante las macros, usted como jefe de

contabilidad (o sus mismos colaboradores pueden auto chequearse) puede revisar una cantidad enorme de registros, ya que el que hará ese trabajo será el Excel mediante una macro, Excel será en adelante

su mejor colaborador. Por lo tanto podrá darse cuenta que si su equipo de trabajo, comienza a

maximizar el potencial de Excel, el rendimiento de su área igualmente se maximizará y el tamaño del área contable, o área administrativa, o la que tenga lugar, no tendrá que ser más grande en términos

de recurso de personal, o en otros casos no tendrá que obligar a su equipo de trabajo a esfuerzos laborales adicionales, que es lo que normalmente se ve en toda parte.

Page 25: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

25

Como podemos grabar las macros

Muy fácil: con el grabador de macros. Este grabador de macros es maravilloso, no tienes que preocuparte en escribir código a la vieja usanza o, en otras palabras, no tienes que ser ingeniero de

sistemas para escribir un programa en lenguaje Visual Basic (el Visual Basic es el tipo de lenguaje de programación que usan hasta ahora, 2010, no conozco los planes de Microsoft sobre este lenguaje hacia futuro las aplicaciones de Microsoft) pues los desarrolladores del Microsoft Office de Windows,

crearon esta funcionalidad o aplicación, mediante la cual, todas las acciones, todo lo que haces en

Excel, en una hoja de cálculo, ya sea con los botones, menús, teclado y demás, quedan “grabadas”, quedan “listadas”, quedan “anotadas”, quedan escritas de una vez todas las instrucciones realizadas

en la hoja de cálculo, siempre y cuando esté activo o en acción, el grabador de macros. Mas adelante

se indicará como editar las macros para hacer ciertas cosas que el grabador de macros no puede. Solo

tenga en mente que el asunto es muy fácil, solo siga leyendo con atención que mientras lo hace, el

conocimiento lo irá embargando.

El grabador de macros

Si usted va a grabar una macro, por lo general se tiene una idea de que es lo que va a grabar. Para que

no pierda tanto tiempo con el viejo pero largo truco de ensayo y error, es recomendable que escriba en una hoja de papel (físico) las acciones de lo que va a hacer, Por ejemplo: 1) Selecciono la celda A1; 2) la copio; 3) me paso a la celda D10, 4) la pego.) Y así sucesivamente, o una lista de lo que siempre

hace, para que cuando esté grabando la macro, tenga bien claro lo que va a grabar. Por supuesto, esto no es de obligatorio cumplimiento, ni tiene que ser así. Puede ir grabando macros que ejecutan

pequeñas tareas y luego probarlas, si van quedando bien, unirlas o pegarlas. Antes de entrar en este tema es conveniente que conozca un poco más sobre la interfaz de las macros

de Excel y el Visual Basic:

Entrando al modulo de macros en Excel 2003:

Una imagen vale más que mil palabras, así que en la siguiente imagen puede ver la ruta del menú a través del cual se llega en Excel 2003:

Entrando al modulo de macros en Excel 2007:

En Excel 2007 se llega por la ficha programador. Es importante conocer que por defecto Excel 2007 no

muestra esta ficha activa. Si no la ve, tiene que activarla. En otras palabras, hacer que aparezca o “sacarla”. Si esto es así, (que no la ve en su menú) siga las siguientes instrucciones que se dan a

continuación: Vaya al símbolo de Windows en la esquina superior izquierda y haga clic:

Page 26: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

26

Llegará a esta ventana:

Haga clic en el botón de abajo que dice “Opciones de Excel”. Llegará a esta ventana:

Page 27: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

27

En esta ventana active “Mostrar ficha programador en la cinta de opciones” (Está de tercera, en

“Opciones principales para trabajar con Excel”)

En cuanto haya activado la opción, clic en aceptar. Verá que la ficha programador ya esta disponible: (Esta al lado izquierdo de la última ficha de la

derecha que dice “Complementos” o a la derecha de la ficha “Vista”)

Haciendo clic en esta ficha (esto es, la ficha Programador) ya verá que tiene el modulo de las macros y el Visual Basic:

Puede ver los íconos de Visual Basic y Macros y todo lo demás en la ficha programador:

Cuando en ambos sistemas accede al Visual Basic, llega al siguiente módulo: (En ambos Excel, 2003 y 2007 es casi lo mismo):

Page 28: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

28

Dado que este es un libro práctico, mas adelante, cuando editemos las macros entraremos a esta opción y explicaremos todo lo que sea relevante. No me interesa “atiborrarlo” de información de cada

una de las funcionalidades que hay aquí, pues esto, en este momento, en lugar de proporcionarle lo

que necesita, puede hacerlo pensar que el tema es complejo, y la verdad, nada mas lejos de la realidad, es algo que como el truco del mago, una vez que lo conoces, se deja de sentir asombro, por

lo tanto, si vamos despacio, asimilará mejor el tema.

Volvamos al tema que veníamos tratando con el grabador de macros:

Pasos para grabar una macro con el grabador de macros:

En Excel 2003:

1) Ir al menú Herramientas - Macro- Grabar nueva macro. Verá que aparece la siguiente ventana,

la cual le pedirá alguna información que deberá proporcionar para poder continuar:

Page 29: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

29

En donde dice “Macro1”, puede darle el nombre que “a bien tenga”. También puede usar una

letra que unida con la tecla Control (de su teclado), puede llamar la macro que grabó y por lo tanto ejecutarla de una manera mas rápida que si usa el ratón. Se podrá dar cuenta que el

Excel como toda aplicación que viene “del norte”, satisface la enorme necesidad de trabajo bajo presión. Es bueno indicar –de una vez- que un usuario Avezado no utiliza el ratón, para

ejecutar las diferentes funcionalidades de Office y de Windows utiliza los atajos de teclado o

“Shortcuts”. Estos atajos de teclado los puede conseguir en Internet, muchos sitios han puesto la lista de atajos gratis (con el fin de que los visiten, claro está, solo busque en Google “Excel

Shortcuts”). Sigamos: En este momento NO le recomiendo que coloque una combinación de letras, dado que como le decía, por defecto Excel ya tiene muchas combinaciones de letras, por

ejemplo, copiar es Control+C, que se usa mucho. Si Usted a su macro le da también Control+C,

pues Excel le daría prioridad a su macro, -si la guardó en el libro personal- y le correrá las instrucciones en el libro que se encuentre abierto, y le hará un desorden tan complejo como las

instrucciones de su macro. Debe tener también MUY presente que cuando una macro se ejecuta el botoncito de “Deshacer” no le revierte lo que hizo su macro.

De igual forma lo que va a grabar se puede guardar en el libro actual o, en el libro de macros

personal. La ventaja del libro de macros personal es que la macro le queda disponible siempre

que abra el Excel, mientras que si la guarda en “Este libro” (el suyo por supuesto), solo funcionará o la podrá correr o ejecutar si tiene abierto el libro en el que grabó la macro.

Nota: Cuando le reinstalan el Excel, PIERDE sus macros de su libro Personal. Asegúrese de

copiar todas las macros en un bloc de notas para luego volver a pegarlas en su nuevo libro

Personal. Casos he visto de amigos y amigas que se lamentan de perder las macros que construyeron con tanto trabajo

Es bueno que le escriba una buena descripción, para que, el que abra el libro (o aún Usted

mismo después de algún tiempo), sepa que es lo que hace su macro.

Al dar clic en Aceptar, verá un botón que simula ser el viejo botón “Stop” de las viejas

grabadoras o reproductoras de audio que usaban “Casetes”. (Si Usted es de la vieja guardia o “veterano/a” como yo, debe de recordarlo). Creo que por asociación de ideas del colectivo de

las personas, fue acertado diseñar los botones de las macros con los mismos íconos:

Page 30: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

30

En la siguiente imagen verá que se le informa al usuario que Excel está grabando. Fíjese debajo

de donde dice “Hoja1”.

Usted dirá, ¿Pero grabando qué si no estoy haciendo nada? Efectivamente, si no estás haciendo

nada, pues Excel no graba nada… simplemente está esperando que Usted haga algo tal como seleccionar una celda, escribir algo, etc., para que el grabador de macros traduzca todas las

acciones que realiza en la hoja de cálculo, al lenguaje de programación Visual Basic.

…Francamente, el desarrollo de funcionalidades como estas, han acercado al usuario común y corriente al mundo de la programación sin ser programadores o Ingenieros de sistemas y por lo

tanto, como en todas las esferas en donde entra la automatización, desplaza mano de obra.... Y los ingenieros de sistemas tampoco escapan a esta situación.

Vamos a grabar algo muy simple, que nos servirá para ver que es lo que hace Excel. Para

efectos ilustrativos a la macro le he dado el nombre de “Alejo”. No quiere decir que su macro

se llamará “Alejo”; dele un nombre cualquiera a su macro, -si es que va a hacer el mismo ejemplo, que no creo necesario- y téngalo presente.

Voy a hacer la siguiente acción: (Recuerde que debe de estar la opción “Grabando” activada).

En una hoja de calculo Excel, en la celda A1 que está allí señalada en la imagen, voy escribir

“Nombre” en la celda B1, “Dirección”. En la celda A2, colocaré el nombre “Alejandro”, en B2, colocaré “Calle búsquela con Carrera encuéntrela” y, no mas.

Cuando termine de hacer estas cuatro cosas, oprimiré le botón “Stop”: lo cual se hace para hacer que la macro NO GRABE MÁS, es decir, se detenga.

Después de haber realizado lo anterior, vamos por el menú Herramientas – Macro – Macros, y

en la ventana que aparecerá, seleccionamos con el puntero del ratón el nombre de nuestra macro que esta dentro del cuadro de macros, (el “alejo” que aquí en la gráfica está en color

azul, ese es el que debe seleccionar) NO el que está debajo de “Nombre de la macro”.

Page 31: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

31

Seleccione la macro de prueba (que en mi caso se llama “Alejo”) y haga clic en el botón “Modificar”. Al hacerlo, llegará DIRECTO al editor de Visual Basic, (al cual también puede llegar

con la combinación de letras Alt+F11) y se desplegará el código o instrucciones que le indican a Excel como hacer esas cuatro cositas:

Puede ver que Excel, dado que es una aplicación hecha por una casa de software de los Estados Unidos, pues escribe el código en inglés, lo cual hace que para ellos (Los que hablan

inglés) sea más fácil. Si comprende un poco de inglés igualmente comprenderá mejor todo lo

que escribe automáticamente el grabador de macros de Excel, sino, no se preocupe que no es nada del otro mucho, el asunto sigue siendo fácil. Siga leyendo:

Page 32: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

32

Esto es lo que puso el grabador de macros por las acciones ejecutadas:

Sub Alejo()

'

' Alejo Macro

' Macro grabada el 10/04/2009 por Alejandro Quiceno

'

Range("A1").Select

ActiveCell.FormulaR1C1 = "nombre"

Range ("B1").Select

ActiveCell.FormulaR1C1 = "dirección"

Range("A2").Select

ActiveCell.FormulaR1C1 = "Alejandro"

Range("B2").Select

ActiveCell.FormulaR1C1 = "Calle búsquela con carrera encuentrela"

End Sub

“Range” no es nada difícil, significa “Rango” y un rango en Excel NO se refiere a jerarquía como tal, ni a categoría ni a “situación social elevada”; no obstante, la definición mas acertada es aquella que nos

dice que Rango es una categoría definida por un límite superior e inferior. En lenguaje de Macros, más

propiamente se refiere a la celda o rango de celdas que se indica dentro de los paréntesis. En este caso, el Rango de la celda A1, que es la casilla o celda de la columna A que se encuentra con la fila 1.

Range(“A1”) esta seguida de la palabra “Select”, todo unido se refiere a Seleccionar el rango A1.

En otras palabras “Seleccione la Celda A1”.

ActiveCell.FormulaR1C1 = “nombre” indica que en la celda seleccionada, la A1, que ahora es la

Celda Activa (ActiveCell) tendrá el atributo “Formula” en este caso la formula simplemente es igual

a la palabra “nombre”.

Puede ver que las demás cosas que realicé, Excel las traduce de la misma manera. Ahora, si guardo el libro y voy a Herramientas – Macro – Macros, escojo mi macro “alejo” y le doy clic a ejecutar, esto se

realizará casi que a velocidad de la luz.

Pasos para grabar una macro con el grabador de macros en Excel 2007:

2) (En Excel 2007 la cosa por supuesto tiene que ser más sencilla).

En la ficha programador, que ya sabe como llegar a ella en caso de que no vea la ficha programador, haces clic en el botón “Grabar Macro”

Page 33: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

33

Mas concretamente, el botón está debajo de la palabra “Insertar”:

Al hacer clic saldrá la misma ventana de Excel 2003 que se refiere a ponerle el nombre a la

macro, la descripción, etc., al aceptar y continuar NO verá el botón flotante de “stop” que se ve en Excel 2003, pero si lo verá en la parte inferior de Excel, así como también, en lugar de

grabar macro, ahora dice “Detener grabación”.

Del resto, la cosa es básicamente la misma. Excel 2007 reemplazó muchos comandos que se leían en los menús, por Iconos más vistosos y elegantes, y por lo tanto es mucho más

“Intuitivo” que el menú del Excel anterior.

Page 34: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

34

La importancia de organizar la información en base de datos

Este es un punto que si no lo tiene claro, conviene tratarlo un poco.

Un listado o informe que genera un programa de computo, en el cual por supuesto hay información que nos interesa y que es una muy buena fuente de información, sobre todo porque constituye una

evidencia “Valida y suficiente”, prueba reina y veraz de que la información se está tomando “Fielmente”

de la contabilidad o cualquier otro sistema de control o gestión, puede que sea una muy buena BASE de información, pero todavía dista -mucho o poco- de ser una BASE DE DATOS, por la razón de que para

una base de información ser una base de datos debe cumplir con ciertas características de las cuales adolecen los listados o informes que genera un sistema.

Una base de datos, (esta definición es para que Usted se aproxime al concepto como tal), no es más

que una relación de información la cual tiene los datos ordenados en filas, y las características de esos

datos se organizan en columnas, o viceversa, Datos ordenados en columnas y las características de esos datos en filas. La base de datos ante todo RESPETA el ordenamiento establecido en estas filas y

columnas.

La siguiente es la definición de Wikipedia, la enciclopedia gratis de Internet: “Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta.” Por ejemplo, Si en una primera columna vamos a apilar nombres, estos se colocarán uno detrás de

otro, hacia abajo, por filas, en la misma primera columna. El apellido irá en la segunda columna y será

el apellido correspondiente a cada nombre, y también, se irá apilando uno debajo de otro. Una tercera columna podrá contener la dirección, y todos los datos relacionados con cada nombre, tal como numero

de identificación, teléfono, etc. Una imagen le ayudará a identificar mejor La diferencia entre un listado de terceros y una base de datos de terceros:

Este es un listado de terceros:

Page 35: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

35

Y este puede ser un ejemplo de una base de datos de terceros:

Como puede ver, la diferencia salta a la vista. El problema del listado exportado a Excel es que los

encabezados del listado salen en cada página del listado, los cuales también quedan en Excel y como puede ver, para efectos de trabajar la información en Excel son basura, pues no agregan valor al

momento de hacer operaciones con rangos de fila o de columna. Otro problema es el campo ciudad, que está en un renglón intermedio y no está alineado en la misma fila de cada tercero.

Cuando Usted tiene la información en forma de base de datos, puede maximizar el potencial de Excel. Puede relacionar la información fácilmente y crear en segundos informes que le dan un muy buen valor

agregado.

Sin embargo, para dar cumplimiento con la ley de aquello de “Cifras fielmente tomadas….etc.” es bueno

tener ambas fuentes, la base de información y la misma convertida a base de datos. De esta manera se puede demostrar que “los datos no se los ha inventado con Excel”, y que fueron tomados de un sistema

en cierto momento, como queda registrado en su encabezado, fecha y hora.

Page 36: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

36

Técnicas y funciones de Excel más utilizadas en la depuración de archivos planos

En este apartado se mostrarán algunas de las técnicas, o trucos o maneras que se suelen utilizar y que vienen en nuestra ayuda, no solo para depurar los archivos planos sino en el manejo en general de

Excel. Interesa ilustrarlas ya que estas técnicas se pueden grabar en una macro, con lo cual se pueden realizar todavía mucho mas rápido.

Buscar y Reemplazar

Esta técnica es una de mis favoritas, ya que con una sola instrucción nos puede hacer un arreglo (o desarreglo, esto hay que tenerlo muy claro, por venir de redentor puedes salir crucificado) que de otra

manera nos tardaría muchísimo tiempo, además la posibilidad de error humano se reduce casi a cero si tuvieras que corregir las cosas manualmente.

Por lo general esta técnica de buscar y reemplazar se usa para hacer correcciones ortográficas, o que una palabra nos la cambie por otra, o la coloque con una mayúscula o cosas así…. Pero lo que a veces

no se tiene en cuenta, o se pierde de vista es que el cambio del buscar y reemplazar también tiene efecto en las celdas que contienen fórmulas, con lo cual, la sintaxis de las formulas también son

susceptibles de ser cambiadas, y si usted no tiene esto presente, sus formulas que en alguna parte

coincidan con la palabra que usted esta buscando y reemplazando, también se le cambiarán, y como consecuencia, prácticamente se le dañarán las mismas, y usted se estará preguntando que rayos fue lo

que pasó…, y si está en uno de esos momentos en donde (como cosa rara) no se puede dar el lujo de perder tiempo y lo que está haciendo es Urgente, lo mas seguro es que montará en ira contra el Excel,

quizás golpee su computador, etc.….toda una película.

Comprobémoslo: Aquí tenemos una formula que hemos hecho a propósito y que está direccionada

hacia otra hoja que “coincidencialmente” será la palabra que modificaremos con la técnica de buscar y reemplazar: Fíjese que la Celda B4 contiene una formula que contiene la palabra enero,

La cual coincide con la palabra “enero” que está en la celda B3

Page 37: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

37

Si hacemos el buscar y reemplazar, (tecla control+b) de enero por febrero, ocurrirá (en Excel 2007) que Excel intentará actualizar valores, está buscando la hoja que contiene “febrero”, como no la encuentra,

despliega el explorador y le pide a usted que lo haga. Si da cancelar, se le reemplazará el valor de B3

que dice “enero” por “febrero”, pero se le dañará la formula:

Page 38: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

38

Si hay muchas mas coincidencias de este tipo, ya puede ver como se le pueden desbaratar las formulas.

Por otra parte, puede darse perfectamente cuenta que una vez conocida esta situación, ya puede saber como utilizarla a su favor, y es reemplazando con la correspondiente “alevosía y premeditación” las

formulas que necesita que efectivamente se direccionen a la hoja febrero, marzo, abril, etc.

Ahora observemos que pasa en Excel 2003, ya que esto lo hemos probado en Excel 2007, como podrá darse cuenta por las imágenes:

Page 39: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

39

Miremos como es la situación en Excel 2003:

Pasa exactamente lo mismo. Ya sabe pues, lo que puede pasar si no sabe esto, y como lo puede

explotar conociéndolo.

Page 40: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

40

Otro caso en el que se suele usar el Buscar y Reemplazar:

El buscar y reemplazar lo utilizo en algunas ocasiones en las cuales las celdas que contienen valores que están como tipo texto “se resisten” a convertirse en un número como tal, (esto se puede comprobar porque aunque se ven como números, Excel no puede hacer cálculos con ellos, pues no son datos numéricos, son datos tipo texto. Una prueba es que Excel alinea por defecto los textos a la izquierda y los numéricos a la derecha, también, marca la celda en su esquina con una pequeña “marquita” de un color y si acerca el ratón, verá que se despliega un comentario automático, el cual le dice que el valor se ve como numero pero que para Excel no lo es puesto que esta precedido de un apostrofo o de un espacio) pues los separadores de decimal y de miles no están en consistencia con la configuración regional del teclado de su máquina. Lo que hago es señalar el rango que contiene el

número en forma de texto y le reemplazo el separador de miles por nada (es decir, en la parte del

cuadro de dialogo que dice reemplazar por, no coloco ninguna cosa) y luego procedo a reemplazar el separador decimal por el que maneja mi computadora. Esto debería servir para solucionar el problema,

sin embargo algunas veces no es suficiente, por lo cual termino de darle un tratamiento con base en la formula =Valor() escrita en una columna adyacente, que convierte los números que están como texto

en valor, y allí si, definitivamente quedan convertidos.

Excel tiene algunos otros recursos que nos colaboran con este “impase”: Resulta que al abrir archivos

planos con Excel, Excel automáticamente nos trae un Asistente o “Wizard” que nos orienta con la conversión del archivo plano a Excel.

Muchos archivos tienen los campos separados por algún carácter especial, tal como una coma, un

espacio, tabulación, etc., hay muchos tipos. Si coincide con uno de estos, pues facilitará mucho el

trabajarlos, pues una de las cosas mas dispendiosas de acomodar o corregir en el archivo plano son esas columnas que nos parten los datos, ya sean datos de texto o datos numéricos, datos de fecha,

etc., con lo cual una parte del dato queda en una columna y la otra parte del dato queda en otra columna. Para que me entienda más claramente: un valor numérico demasiado grande puede quedar

dividido entre dos columnas, luego viene el problema de tener que unir los dos fragmentos de número

en una sola celda, para poder trabajarlos con Excel

Pues bien, al llegar a ese paso, si Usted tiene clara cual es la configuración regional de su teclado para los números en cuanto a los separadores de miles y separadores de decimal, es probable que no tenga

problemas, y Excel, con el asistente le solucionará el problema.

Si no sabe cual es la configuración regional de su teclado vaya por Panel de control y verifíquela.

Personalmente uso Español (España tradicional), y las macros que se suministran con este trabajo manejan los valores teniendo en cuenta esta característica. Si su computador no tiene esta

configuración es probable que cuando ejecute las macros, en donde halla valores queden errores y Excel mostrará un tipo de error #VALUE!

A continuación están las imágenes del panel de control para el Windows Vista: de tal manera que le

sirva de orientación. En Windows XP y los demás, llega a esta opción por panel de control

Page 41: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

41

Page 42: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

42

Corrigiendo los números que parecen números pero que son texto, en números aceptados

como números para Excel con la herramienta Buscar y Reemplazar.

Dando alcance al apartado anterior, este error es uno de los que mas te pueden ofuscar, si no conoces

bien que es lo que sucede. Cuando abres un archivo plano (un archivo plano es un archivo que no tiene formato) con Excel, y ya

has usado el asistente para importar texto y ya lo tienes en Excel, probablemente tienes la situación

que se observa en esta gráfica:

Excel justifica por defecto los datos según el tipo que se trate; tenga en cuenta que Excel justifica a la

izquierda (justifica, esto es ALINEA) todos los datos de tipo TEXTO. En este caso está justificando como texto los valores que deberían ser numéricos. Y esta verdad, encima la puedo comprobar, porque Excel

no puede sumar ambos números. Esta es la razón del porqué la seleccioné en la gráfica, para que

Usted también constate que Excel no la puede sumar, solo la puede CONTAR, por eso nos indica en la parte inferior Recuento:2

Como arreglo estos valores con el buscar y reemplazar:

Primero, me entero de cual es la configuración numérica que mi teclado utiliza para separador de miles y de decimales. En mi caso, el separador de miles ES UN PUNTO, y el separador de decimales es UNA

COMA. O sea, si se fija, se dará cuenta que es TODO lo contrario a como está el numero en el archivo plano que acabé de abrir. Entonces, para arreglarlo, lo que hago es, 1) Seleccionar las columnas que

tienen los datos numéricos. En este caso, las columnas Saldo anterior, Débitos, Créditos y Saldo Final. Las Selecciono así:

Page 43: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

43

Luego, con estas columnas seleccionadas, vas por la ficha INICIO, grupo Seleccionar, y escogemos el

ícono es decir, hacemos clic allí. Veremos que se despliegan unas opciones, y haremos clic en “Reemplazar”, como se ve en la figura de

la siguiente hoja:

Page 44: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

44

Al hacer clic allí, nos saldrá el cuadro de dialogo:

Aquí, en Buscar, colocaremos una coma , y en reemplazar, no pondremos nada, así:

Le damos clic a Reemplazar todos. Esto es lo que sucederá:

Page 45: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

45

Luego volvemos a la misma opción y reemplazamos los puntos por comas:

Le damos Aceptar, y Cerrar. Por ultimo, teniendo las columnas AUN seleccionadas, hacemos clic con el botón derecho y en el menú contextual, emergente que aparece, damos clic en formato de celdas, así:

Page 46: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

46

Le pones formato numérico:

Y por fin, los datos quedan numéricos, (te darás cuenta que Excel los justifica o alinea a la derecha) de la manera que se puedan hacer cálculos y operaciones en Excel, y ahora si, se puede ver que Excel los

suma:

Page 47: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

47

Por supuesto, esta acción se puede grabar en una macro, mas adelante se volverá a tocar este tema.

NOTA: Le recomiendo, que cuando abra el archivo plano, las columnas que contienen números les coloque

TIPO TEXTO, y haga la operación que se le acaba de explicar. De esta manera evitará que EXCEL MALINTERPRETE los números, pues si el archivo plano tiene el separador de miles en COMAS, y tu

configuración numérica en puntos, es posible que números muy grandes quedan como números mucho

más pequeños. Una situación que a veces el asistente para importar archivos planos no puede solucionar al aplicar la opción “Avanzado”: Estos dolores de cabeza son más frecuentes en los archivos

planos relacionados con el Kardex, en donde cambian las reglas, los separadores de miles no son comas sino puntos. Hay que analizar bien la situación y eliminar los separadores de miles ya sean comas o

puntos y los separadores decimales colocar el tipo que maneje nuestra computadora. Sin embargo, si conoce bien el archivo plano, puede aprovechar la opción Configuración avanzada y

colocar los separadores COMO SE VEN EN EL ARCHIVO PLANO. Excel los acomodará de la manera en

que él los usa:

Page 48: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

48

Ir a Especial - Celdas en blanco

Esta opción si que es otra de mis favoritas, y aquí le voy a explicar un truco que aprendí en Internet

con el cual Usted (si no la conoce) también se volverá fanático de esta opción.

Siguiendo con la gráfica anterior del archivo plano, podemos ver que algunos archivos planos, colocan

la línea de los valores un renglón por debajo de la cuenta y la descripción, de tal manera que, queda un espacio en blanco, como se ve en la selección de la imagen, y así sucesivamente con todas las líneas.

Ninguna cuenta tiene al frente en su mismo renglón su saldo inicial, debito, crédito y saldo final, sino

que estos valores están un renglón por debajo.

Entonces seria DESEABLE que en el espacio en blanco, estuviera la cuenta, de tal manera que luego nos quedamos solo con todos los valores de Saldo inicial, debito, crédito y Saldo final, y desecharíamos

los demás.

Por el momento le voy a explicar como rellenar el espacio que esta en blanco, con los datos que están

arriba de él. En primer lugar, vaya hasta la última parte inferior del archivo plano, tal como se ve en la siguiente figura:

Page 49: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

49

Seleccione las dos celdas A rellenar.

Teniendo seleccionadas estas celdas, oprima al mismo tiempo las teclas Control + Shitf de su teclado

(Shitf es la tecla que esta encimita del botón Control de la izquierda, que sirve para hacer una mayúscula). Cuando las tenga OPRIMIDAS, oprima TAMBIEN (sin soltar control + shitf) la tecla INICIO.

OCURRIRÁ que se le seleccionará todo el rango EN DONDE ESTAN IMPLíCITOS los renglones que

pretendemos rellenar, Tal como se ve en la gráfica.

Page 50: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

50

Después, vaya nuevamente por la ficha INICIO y seleccione de nuevo el ícono de los binóculos, este:

cuando se despliegue la lista, escoja IR A ESPECIAL, llegará a esta gráfica:

Page 51: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

51

Listo. Active Celdas en Blanco, dele clic a Aceptar.

Si lo hace bien, ocurrirá esto:

Page 52: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

52

Fíjese que las celdas en blanco QUEDARON ESCOGIDAS. Ahora siga estas instrucciones: Asegúrese de que el formato de la celda es general. Si está en texto, no

se logrará el relleno de celdas correctamente. Ahora oprima la tecla + (es decir, oprima la tecla MAS +

de su teclado). Luego del grupo de flechas de su teclado, oprima la flecha que apunta hacia arriba . Luego dé control + enter AL MISMO TIEMPO. No se debe dar solo enter Debe de dar Control + enter.

Si lo hace bien, en las celdas en blanco quedará metida una formula, la cual referencia la celda de arriba. Si lo hace bien, ha debido quedarle así:

Page 53: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

53

Como verá, RELLENA de una sola vez, todas las celdas en blanco con la información que está inmediatamente arriba. Ahora, solo necesita seleccionar la columna A hasta la B, y la copia y la pega allí

mismo, con la opción pegado especial, solo valores. Así:

Page 54: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

54

Page 55: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

55

Así, desbaratará la formula que introdujo en las celdas en blanco, y le quedaran datos.

Page 56: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

56

Que hacer cuando esta técnica de rellenar celdas no funciona

Esta opción anteriormente descrita es buena, pero cuando los archivos a rellenar son demasiado grandes o en los espacios en blanco pues no están en blanco, (tenga en cuenta que el hecho de que no

se vean datos no siempre quiere decir que no halla nada) Excel le dirá: No hay suficientes recursos, o puede que lo rellene con un error, o puede que rellene un espacio….en blanco.

También es posible que en la celda exista un dato del tipo que se ingresa cuando el usuario solo oprime la barra espaciadora del teclado de su computador o varios espacios, entonces, Excel lógicamente

detecta ese carácter de barra espaciadora y lo rellena y por lo tanto aunque ejecute la acción de copiar, no cumple el efecto que queremos.

En ese caso, se tendrán que rellenar las celdas con una macro que seleccione la celda que queremos copiar, pasarse a la celda vacía y pegar la información de la celda arriba en la celda o celdas en blanco.

Una macro que haga esa función es muy sencilla y voy a aprovechar el tema para que aprenda como

meter esa macro en su computadora:

En primer lugar, en un libro nuevo, dentro de las fichas del menú de Excel, que le muestro a

continuación,

Seleccione la ficha Programador, (si no la ve, pásese a la sección de macros para que sepa como sacar

la ficha) es decir, esta:

Haga clic en Visual Basic. Cuando haga clic, le saldrá el editor de visual basic:

Page 57: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

57

A continuación, haga clic en el menú INSERTAR, y escoja MODULO:

Page 58: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

58

Puede ver que en arbolito del explorador aparece una carpeta que dice módulos – modulo uno. (Si no

está, insértelo con el menú). De igual forma, aparece una hoja en blanco. En esta hoja es en donde se

coloca o se escribe o se graba el código de las macros. En esa ventana, va a escribir este código:

Sub Copiar()

Do Until ActiveCell = "Fin"

If ActiveCell = "" Then

Selection.FillDown

End If

ActiveCell.Offset(1, 0).Select

Loop

End Sub

Esta macro me la hizo hace muchos años (mas de 10 yá) James Eduard Espitia Coronado, la cual a

diferencia de otras que circulan en Internet, me parece que es la más práctica. James es experto en Excel Macros, pues además de que es Contador, es Ingeniero de Sistemas. Por supuesto que hay otras

además de esta, he incluso esta misma se puede escribir sin necesidad de seleccionar las celdas, como veremos en el apartado de las macros, pero entre las que siguen este procedimiento, me parece que es

muy buena por no decir, la mejor, además de que le facilitará a Usted la comprensión de la misma.

Este es el código que hará esa operación de copia. Asegúrese de escribirlo correctamente, pues los

errores de ortografía o de transcripción aquí se pagan caros, por el hecho de que la macro obedece las ordenes que usted le esté escribiendo, así que si escribe mal, pues Excel no le entenderá y le saldrán

mensajes de error. Permítame continúo indicándole como terminar de colocar esta macro en su maquina y luego paso a explicarle que es lo que hace. Una vez haya escrito el código que hace la copia

y relleno en las celdas en blanco, deberá quedarle algo así como esto:

Page 59: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

59

Ahora, recuerde que no ha grabado el libro, grábelo con un nombre, puede usar el botón de guardar, o

Archivo Guardar como de este menú. Este botón guardar del editor de visual basic hace lo mismo que

el menú de Excel.

De esta manera, esta macro funcionará SOLO en este libro. Es decir, si necesita usarla en otro archivo, no la tendrá disponible porque no tiene el archivo en el cual la grabó, abierto.

Para tener la macro disponible en todo momento, tiene que meter la macro en un módulo del libro de macros personal, es decir, todo lo que anteriormente realizamos, pero metido en el

VBAProject(PERSONAL.XLSB).

(También, cuando comienza a grabar la macro, le da la opción de guardarla en el libro actual o en el

libro de macros personal, si escoge libro de macros personal, Excel se lo coloca de una sola vez en un modulo dentro del libro de macros personal):

Si no tiene el modulo1, pues ya sabes como insertarlo. En este modulo pegas la misma macrito

anterior. Cuando grabas la macro en el libro de macros personal, al cerrar Excel, el programa te

preguntará que si deseas que los cambios que hiciste en el libro de macros personal apliquen permanentemente. Ante esta pregunta, normalmente se le dice que Sí. Si le das no, pues no te

guardará nada de lo que hiciste en el libro de macros personal.

Page 60: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

60

Ahora, si estás en Excel 2007 y lo guardas la macro en un libro, no debes guardarlo como un libro común y corriente. Debes de guardarlo como xlsm, libro de Excel habilitado para macros. Si lo guardas

en un libro común y corriente, y Excel detecta que tiene un modulo de Visual basic, te saldrá este cuadro de diálogo:

Ok. Ahora miremos que es lo que hace la macro: Sub Copiar()

Do Until ActiveCell = "Fin"

If ActiveCell = "" Then

Selection.FillDown

End If

ActiveCell.Offset(1, 0).Select

Loop

End Sub

Toda macro comienza con la palabras SUB y END SUB (algo así como SUBrutina y Final SUBrutina).

O como dice la web de Microsoft: “Declara el nombre, los parámetros y el código que definen un procedimiento Sub.”

Y End Sub “Termina la definición de este procedimiento.”

Una rutina, es una serie de instrucciones que pueden repetirse, por lo tanto es una excelente opción para acelerar o automatizar nuestro trabajo. Las rutinas de las macros de Excel son escritas en el

lenguaje Visual Basic, el cual posee una sintaxis casi de escritura común interpretable de alguna forma por cualquier usuario, pero una vez puesto ese programa en las “LECTORAS" electrónicas de la PC

(computadora), es pasado por el software "Traductor" y "Concatenador" que lo traducen a órdenes en

lenguaje de máquina y a pulsos electrónicos interpretados binariamente, todos ellos en perfecta coherencia y en "BUEN FUNCIONAMIENTO PREDECIBLE".

Por ejemplo, esta fue la primera macro de la que yo tuve necesidad hace muchos años, pues yo me

desenvolvía mas o menos bien en Excel, pero inevitablemente llegaba a unas situaciones en las cuales debía copiar una celda de una fila superior, en la misma columna, en las filas inferiores hasta el final del

archivo. Y me tocaba hacer esta labor de manera MUY MANUAL, a veces se trataba de archivos MUY GRANDES, en los cuales “la tareíta” manual de seleccionar y copiar la celda, pasarme a las celdas de

abajo que están vacías, pegar la celda seleccionada, volverme a pasar a la celda siguiente que necesito

Page 61: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

61

copiar, seleccionarla, copiarla, pasarme al siguiente grupo de celdas vacías, pegar la celda seleccionada,

y así sucesivamente….. Te darás cuenta que es una RUTINA y como rutina no es una excepción, al

igual que todas las RUTINAS de la vida real pueden llegar a ser agotadoras y por lo monótonas no tardan también en ser muy aburridoras.

Ok. Puede darse cuenta que la tarea de COPIAR y PEGAR gran cantidad de veces es una tarea titánica

que solo la hace una persona asignada para hacerlo, que puede tardar mucho tiempo. Una forma de

hacerlo es la técnica de rellenar las celdas en blanco que le expliqué en el apartado anterior, el cual es muy buen truco para rangos no muy grandes, pues consumen mucha memoria de la máquina

computadora y esta otra opción que es mediante MACRO, muy buena también, pero que, dicha sea la verdad, no es TAN INSTANTÁNEA como la opción de rellenar celdas, pero si es TREMENDAMENTE

RAPIDA.

Bueno, continúo con la explicación de lo que hace la macro Copiar:

Después de haberle explicado el Asunto de cómo comienzan y terminan las macros, (con Sub y End

Sub) vamos con las siguientes líneas:

Do Until ActiveCell = "Fin"

If ActiveCell = "" Then

Selection.FillDown

End If

ActiveCell.Offset(1, 0).Select

Loop

Ok. Primero que todo NO SE PREOCUPE SI NO ENTIENDE NADA DE LO QUE LEE O VE. Fíjese que solo son 6 renglones y además, MUY CORTICOS!! Y ya le explico que es eso. Nada del otro mundo….

Las macros como son nativas de una nación ANGLOPARLANTE, pues están hechas en idioma INGLÉS. Lo cual quiere decir que si Usted entiende inglés, algo comprenderá de lo que dice allí. Pero como el

Inglés y el Español, son lenguajes hijos del Latín, pues verá que para nosotros incluso leer esas palabras también nos son familiares.

Por ejemplo, la palabra “Selection”….. Pues significa SELECCIÓN…. “Active”…. Activo

“Cell”…. Esta si se la “soplo”: CELDA (uno de los cuadritos o casillas de Excel).

Fíjese que se parecen : Celda-CELL….. Ve? Se da cuenta? La cosa es fácil.

“Do”: Si se acuerda del Inglés del Colegio, recordará que es el verbo hacer.

“UNTIL” …. Esta también se la “soplo”: hasta que.

“IF” …. SI

THEN…Entonces

END…. FIN

FILL…. RELLENAR DOWN…ABAJO

OFFSET…. El programa traductor de Idiomas Babylon traduce esto como “deslucir; compensar,

contrarrestar, retranquear” (¿?) pero yo diría mas bien que es algo así como “DESVÍESE”

Ok, después de este MICRO glosario de términos, le cuento que allí lo que dice es esto:

Page 62: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

62

Haga HastaQue CeldaActiva = "Fin"

Si CeldaActiva = "" Entonces

Selection.RellenarAbajo

Fin Si

CeldaActiva.Desviese(1, 0).Seleccione

Repita

Bueno…. Creo que ya se va “DIGERIENDO” MEJOR.

Ok, resulta que la macro corre o ejecuta hasta que se encuentra con la palabrita “Fin” que tenemos que

poner dentro de una Celda en nuestro archivo EXCEL, al final de la columna, en donde queremos que

se detenga la copia.

Es importante decirle que en el escrito (script) de la macro, las instrucciones que se escriben, pueden ir acompañadas de comentarios que nos ayudan a entender que es lo que hacen las instrucciones. Estos

comentarios el Visual Basic los pasa por alto y no los ejecuta, siempre y cuando estén precedidos de un

apostrofo „. Como puede ver, ahora HE COMENTAREADO lo que hace la macro con unas líneas que comienzan con un APOSTROFO:

Entonces: Do Until ActiveCell = "Fin"

‘Quiere decir: ejecute hasta que la celda diga Fin

If ActiveCell = "" Then

‘Si la Celda Activa es igual a vacío o ningún espacio, ningún espacio

se indica entre un par de comillas juntas

entonces

Selection.FillDown

‘Rellene hacia abajo

End If

‘Fin del SI

‘Si no se cumple que la celda esté vacía, le decimos que se desplace una

‘celda hacia abajo:

ActiveCell.Offset(1, 0).Select

Loop

‘Repita, gire o haga la rutina hasta que se encuentre con la palabra FIN.

‘Este Loop hace que la macro vuelva y comience desde el Do Until.

Bueno, ahora explico un poco más lo del ActiveCell.Offset

Esta es la técnica que tiene Excel para direccionarse hacia otra celda diferente de la celda actual sin

necesidad de indicarla como tal, la macro se va corriendo en diferentes celdas que se le van indicando y este es el comando.

Es decir, el comando ordena a la celda activa cambiar la posición, cambiar de sitio, y eso se indica

mediante coordenadas, de manera similar a las coordenadas geográficas, que en este caso son filas y

columnas.

Dicho lo anterior,

ActiveCell.Offset(1, 0).Select

Page 63: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

63

Le indica a la celda activa que se desvíe o desplace a la fila de abajo, cero columnas. El primer 1, es

la coordenada de la fila, el dato después de la coma, se refiere a las celdas que se desplaza por las

columnas, como es cero, pues no se desplaza a la derecha, solo el parámetro de pasarse solo una celda abajo.

Para ir a la celda anterior, la de arriba se le diría (-1, 0) Una celda a la derecha sin moverse de la fila (0, 1)

Esta instrucción es importante aprendérsela, pues el grabador de macros de Excel NO LA HACE, pues siempre que se selecciona una nueva celda, Excel crea el código de la celda que se selecciona, por

ejemplo si selecciona la celda A1, el grabador de macros traducirá Range(“A1”).Select

Mas adelante en el tema de Macros, volveremos a trabajar el tema para que quede absolutamente claro.

Ok. Ahora miremos como trabaja la macro: si siguió al pie de la letra las instrucciones ya la tenemos grabada en el libro de macros personal, y solo nos falta usarla para rellenar las celdas en blanco: Por

ejemplo, mire la siguiente imagen:

Supongamos que usted ya ha arreglado manualmente un archivo plano y ya lo tiene así como se ve en

la imagen. Resulta que como es un libro auxiliar, hacer la operación de copiar la celda A10 en el rango A11 hasta el A15, volver a bajar hasta la A21, copiarla en el rango del A22 hasta el A26, y así, por

todas las cuentas, es una tarea vuelvo y repito, dispendiosa. Entonces, en donde queremos que se

detenga la macro, escribimos la palabra Fin, pero se escribe tal como se indicó en la macro, esto es, La primera F en mayúscula, y la in, las dos últimas letras de Fin, en minúscula. Si escribe fin, o FIN, la

Page 64: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

64

macro no reconocerá donde detenerse y se irá derecho hasta el final de la hoja de cálculo, y la única

forma de detenerla es oprimiendo la tecla del computador de ESCAPE.

Aquí ya escribimos Fin en donde queremos que se detenga la macro. Ahora ubíquese en la celda donde

debe arrancar la macro, esto es en A1, o en A10, Una que tenga CONTENIDO, DATOS en la columna

que necesita rellenar o copiar. Vaya por la ficha programador, escoja el botón macros, y seleccione la macro COPIAR. Luego dele clic en Ejecutar:

Si todo está correcto, podrá ver la macro dentro de las macros disponibles en el libro, así:

Page 65: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

65

Seleccione la Macro Copiar y haga clic en Ejecutar. Verá como hace la operación a TODA VELOCIDAD:

Si le ha salido bien, a partir de este momento considero que se volverá FANATICO de las macros,

porque se habrá dado cuenta de la cantidad de trabajo que le realiza en segundos.

A este archivo solo le falta que lo ordene por la columna B y se deshaga de la basura sobrante de la

columna A, y luego mediante la herramienta TEXTO EN COLUMNAS, haga las particiones necesarias.

Page 66: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

66

En mi caso personal, solo a partir de este momento, comencé a trascender un poco más el Excel

Intermedio y comencé a meterme tímidamente en el mundo de las macros. Lo que pasaba en mi caso,

es que la interfaz del Visual Basic, es una Interfaz que como todo lo nuevo parece extraño, y al no tener asesoría, (ni libros en nuestro medio y mas aún en ese entonces sobre el tema y para completar

el Windows no venía en Español, como ahora) la incertidumbre reina y de la mano de ella el temor a lo desconocido viene con su amiguito MIEDO, y creo que esa es una de las razones por las cuales, no nos

aventuramos a lo desconocido por nosotros mismos. Pero casi todo en la vida lo aprendemos

empíricamente; los sistemas no son la excepción, se tiende a volver uno “Cacharrero”, “Cacharreando” es el termino usado en Colombia para referirse a que mediante el milenario método de Prueba y Error,

vamos construyendo el nuevo conocimiento.

Antes de continuar con el tema de macros, necesito que asimile los siguientes temas que le voy a presentar sobre Excel, ya que si los comprende, podrá aprovecharlos cuando monte sus macros, pues

todo lo que se hace en Excel se puede grabar en macro.

Page 67: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

67

Filtros

A la hora de depurar los datos los filtros ofrecen un ENORME potencial. Y en el Excel 2007, ni hablar. La principal diferencia de los filtros de la versión de Excel 2003 contra la versión del 2007, es que Excel

2003 solo podías hacer tres filtros, mientras que en Excel 2007 puedes ingresar mas de tres. (Pero ojo, si colocas demasiados filtros la maquina se te puede quedar MUERTA, o informarte que la operación es

muy compleja)

Como el tema que nos atañe es la depuración de los archivos planos, veremos con imágenes como los

podemos usar para depurar los archivos planos. Tenemos en la siguiente imagen un archivo plano abierto en Excel:

Como podrá darse cuenta, prefiero abrir el archivo plano con el asistente para importar texto Y NO

COLOCARLE COLUMNAS TODAVIA. Es decir, no uso ningún separador y toda la columna la selecciono

como que es de tipo texto. Empaqueto el archivo plano en la columna A, como se ve en la grafica. Esto me facilita AGARRAR todos los registros indeseados mucho más fácil. Luego, se puede proceder a la

partición, para eso existe la herramienta Texto en Columnas que ya hemos visto. Para meter el filtro, simplemente vaya a la ficha inicio, y allí, a la extrema derecha, seleccione el grupo de botones

Page 68: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

68

modificar. Allí verá un embudito, . Entonces: Marque o seleccione

la Columna A, y escoja el embudito de ordenar y filtrar. Este filtro también lo encuentra en la ficha Datos. Entonces, si lo hizo bien, tendrá algo así:

Puede ver que salió una pestaña allá en la fila dos. Quiero que se fije que este archivo plano, todo el

encabezado del listado no nos agrega valor, es basura. Si se fija, vera que el encabezado tiene o

comienza con un palito de estos:| en mi teclado, el palito lo tengo al lado izquierdo del número uno

que está encima de la letra Q.

Esa característica nos sirve para seleccionar un filtro que nos elimine “en un solo tiro” el encabezado,

puesto que este, siempre CONTIENE el carácter “palito” |.

Preste atención a la siguiente imagen:

Page 69: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

69

Hice clic en la pestaña del filtro y me salió el menú emergente, por allí me fui a la opción Filtros de texto, y luego, clic en contiene. Siguiente imagen:

Fíjese que en “Contiene” puse el palito. Si no lo puede sacar con su teclado, pues copie el carácter y en

la caja de texto del autofiltro personalizado, péguelo con el menú emergente.

Vamos a ver el efecto que produce hacer esto en la siguiente imagen:

Page 70: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

70

Fíjese como quedaron seleccionados todos los encabezados QUE NO QUEREMOS TENER.

Solo nos falta eliminarlos, seleccionar desde la fila 2, hasta el final, y con el menú emergente, dar clic en eliminar toda la fila, así:

Page 71: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

71

Y eso es todo. No olvide quitar el filtro. Así se utilizan los filtros para eliminar la basurita de los archivos

planos. Pasemos a la siguiente forma de eliminar la basurita, pues a veces este “truquito” no funciona, sobretodo cuando estas manejando archivos muy, muy grandes.

Page 72: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

72

Page 73: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

73

Ordenar los datos

Esta técnica es de las que mas se usan a la hora de DESHACERSE Manualmente de la basurita de los archivos planos, pues se ordena por una columna que uno considera que es por donde se pueden

seleccionar “JUNTICOS” todos los datos que son basura, de tal manera que simplemente se seleccionen las filas de la basurita que esta reunida y se eliminen todas las filas.

Yo le puedo contar, por experiencia, que cuando se utiliza la técnica vista anteriormente de los filtros para eliminar la basurita de los archivos planos de archivos extremadamente grandes, hablo de mas de

300.000 mil filas, es muy posible que, su maquina computadora SE NIEGUE a eliminar las filas filtradas seleccionadas, y le indique un mensaje que diga “No hay recursos suficientes”, “Selección demasiado

compleja” o en otros casos puede que haga la operación, pero elimine hasta las filas que no tiene que eliminar, es decir, hasta las que están ocultas y no habían sido filtradas.

Si a esto le suma, que la operación que se le pide a Excel es tan grande que el programa se ve imposibilitado para que la opción DESHACER no deshaga la operación, pues…. PEOR AUN.

Si le llega a pasar, lo mejor es que cierre el archivo SIN GUARDAR CAMBIOS, y lo vuelva a abrir. Es

preferible volver a repetir los últimos pasos, que perder información importante.

Entonces, que hacer? Si Usted se fija, a Excel y la máquina le cuesta trabajo filtrar una enorme cantidad

de filas, PERO, si Usted le agrupa la basurita en sectores, esto es ordenando los datos, pues, AHÍ si, Excel si le podrá borrar la información sin problema, y lo hará a una velocidad aún mayor, pues Usted

ya le habrá colaborado a Excel, agrupándole la basurita.

Como mencionaba en la introducción, Excel 2007 tiene mas de 1.040.000 (Un millón cuarenta mil) filas,

entonces, no es difícil entender que si tiene un archivo plano que “COPA” casi toda la capacidad de la hoja electrónica, al hacer el borrado de las celdas filtradas, Excel simplemente no lo pueda hacer.

Haga esta analogía mental, para que asocie el tamaño de memoria que usa la hoja de cálculo en el

nuevo Excel:

Excel tiene 1.048.576 filas. Puede ver que visualmente, una fila corresponde más o menos a medio centímetro de grueso. Entonces, estamos hablando que el nuevo Excel sostiene una hoja de cálculo que

en cuanto al largo, corresponde no a una hoja, sino a una sábana de 5 kilómetros 242 metros !

Ahora, un archivo de 600.000 filas de largo, como puede ser un archivo plano de Kardex de todo un

año, o algunos meses, estamos hablando de una hoja que VIRTUALMENTE MIDE 3 kilómetros de largo: 600.000 filas dividido entre 0,5 centímetros = 300.000 mil centímetros, divididos a su vez entre 100,

tenemos 3.000 metros, = 3 kilómetros. Esto lo traigo a colación para que sea consciente y no se ofusque si su máquina se queda un poco pegada, tenga en cuenta que SON MUCHOS LOS ARREGLOS

QUE EXCEL DEBE HACER PARA DARLE GUSTO A USTED!! A mí no me extraña, que los filtros no se puedan ejecutar en archivos tan grandes.

Esto está directamente relacionado con la potencia de su maquina computadora, pero hasta las mas poderosas al momento de escribir este manual, las de 4 procesadores y 8 Gigas de memoria, tienden a

quedarse “Pegadas” en este punto, o sea, hasta a los mas poderosos les pasa. Es posible que en los sistemas operativos de 64 bits halle mas potencia, pero los nuevos equipos siempre son más costosos,

y las aplicaciones (hasta ahora) todavía no están listas para trabajar en 64 bits. En lugar de esto,

siempre es posible encontrar una solución alterna, la que le propongo es que Ordene el archivo plano y en cuanto tenga la basurita agrupada, proceda a borrarla. Verá como Excel lo hace en un “Santiamén”

(en segundos…).

Page 74: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

74

Cuando he tenido que trabajar archivos tan grandes? Como le mencionaba, he tomado el universo

completo del kardex, he depurado el archivo plano y una vez convertido en base de datos lo he

cruzado, verificando si los documentos me cuadran contra el archivo plano depurado del libro auxiliar. Mas adelante, en tablas dinámicas, verá COMO PUEDE HACER ESTO EN SEGUNDOS, Y

CONCILIACIONES REALMENTE INMENSAS LAS PUEDE HACER EN SEGUNDOS….UNA COSA SENCILLAMENTE INCREIBLE.

Ok. Sigamos:

De acuerdo al archivo del grafico que le vengo enseñando, le voy a mostrar en las siguientes graficas

como seria el asunto:

En primer lugar, cuando comience a utilizar la opción de Ordenar, le aconsejo que Inserte una nueva

columna (de primera, es decir en la columna A) y coloque a todo lo largo de esta columna, de arriba hacia abajo, una serie de números del uno, hasta el final del archivo. Esta técnica la usan mucho por

ahí y la verdad que es útil, puesto que, si Usted desordena el archivo, siempre que vuelva a ordenar por la nueva columna 1 que contendrá la serie de números, el archivo le quedará ordenado como estaba

originalmente.

Pero, ¿Cómo colocar esa serie rápidamente? Por lo general los usuarios colocan en la celda A1, el

numero 1, y en la A2, el numero 2, seleccionan las dos celdas y van arrastrando hasta el final. Si el archivo es muy grande, probablemente se quede unos buenos minutos “EN ESAS”. La forma más

rápida, de hacer en segundos, el relleno de la serie, casi automáticamente, es de la siguiente forma. Preste atención:

Paso 1: Inserte dos columnas.

Uhm… la imagen en la siguiente hoja…

Page 75: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

75

Seleccionando las dos primeras columnas.

A continuación, las siguientes imágenes:

Page 76: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

76

Allí mismo, de una vez, oprima la celda FIN y a continuación la flecha hacia abajo. Llegará hasta la

ultima celda de Excel en la columna A, la celda 1.048.576 luego se desplácese a la celda C

Page 77: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

77

Estando en la celda C1048576, oprima nuevamente FIN y luego la flecha arriba. Con esta acción, el

cursor se “estrellará” con el final del listado:

Estando ya, en la última parte, o final del listado, desplácese nuevamente a la columna A. Allí, coloque

una marca tal como una “x”, así:

Page 78: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

78

Luego, copie esa celda con control, oprima al mismo tiempo la tecla Short, luego FIN, y luego la flecha

del cursor arriba. Verá como selecciona todo el rango, desde la última celda hasta la primera. Luego dé enter para que se pegue en el rango todo lo copiado:

Listo, ahora ubíquese en la celda B1, e ingrese el numero 1, luego en B2 e ingrese el numero 2. Luego

seleccione estas dos celdas, B1 y B2, así:

Page 79: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

79

Luego ubique el puntero del ratón y haga doble clic en la esquina inferior derecha del cuadro de las dos

celdas enmarcadas: Para que me entienda más fácil, es hacer doble clic en este punto:

(Cuando se posiciona encima de ese mini cuadrito negro de la esquina, el cursor se convierte en una

cruz negra delgada.) En cuanto haga doble clic allí, la serie del 1 hasta el ultimo número se llenará automáticamente, pues tiene una referencia de celdas por la que seguir el rastro y son las que usted ya

creó rápidamente a todo lo largo de la columna A, cuando marcó con “x” todas las celdas.

Page 80: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

80

De esta manera, puede hacer la serie que le ayudará a Ordenar originalmente el listado que ordenaremos por otro criterio que nos facilite reunir en una sola zona la basurita y poder eliminar esas

filas basura. Recordemos que este método es alterno a eliminar la basura con filtros, pues al tratarse de

archivos demasiado grandes, Excel podría negarse a hacerlo por insuficiencia de recursos. Sigamos: Una vez creado el serial, puede eliminar la columna A, esto es, la que contiene las “x”, pues

ya no la necesita, ya cumplió su cometido de ayuda:

Listo, teniendo esta serie de números como ayuda, podemos proceder a ordenar por la columna B, al

hacerlo, todos los campos que son similares se ubicarán unos debajo de otros, y esto es lo que

queremos que esas líneas de datos de formato de listado que no aportan nada, queden juntos de tal manera que podamos seleccionar esas filas y eliminarlas:

Puede seleccionar toda la tabla de datos ubicándose en A1 y oprimiendo Crtl+Shift+*, luego vaya a la

ficha Ordenar datos y ordene por la columna B:

Page 81: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

81

Si se va desplazando hacia abajo, verá que la basura quedó por allá abajo: (a veces queda en la parte superior, en todo caso, al desplazarse encontrará en donde le quedó reunida la basura):

Page 82: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

82

En este punto, ya puede seleccionar, por ejemplo, en este caso, las filas que contienen esas rayas que no agregan valor:

Y las puede eliminar, o puede optar por seguir la selección con lo que continúa, (los lapsos) que

también son basura, y luego, eliminar todas esas filas.

Y así, sucesivamente, va eliminando la basura (incluidas esas celdas en blanco) y luego ordena todo

nuevamente por la columna a, y retorna al orden original del listado, pero, ya será sin la basurita de los encabezados:

Aquí ilustramos como seleccionamos la basurita de los encabezados y vamos a eliminarla:

Page 83: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

83

En la siguiente imagen ya hemos eliminado y ya hemos ordenado nuevamente por la columna A,

retornando al orden original, pero sin la basurita.

Esta es la manera en la cual, Ordenar los datos nos puede ayudar a depurar los archivos planos muy grandes que no se pueden limpiar con los filtros.

Page 84: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

84

Funciones de uso frecuente

Las funciones o formulas de uso frecuente es un tema que conviene saberlo, ir aprendiéndolo, pues

ofrecen un tremendo potencial una vez que se conocen. Otra razón más de peso es el hecho de que si tiene buenas bases en el manejo de fórmulas, podrá incluirlas en las macros que escriba. Para saber

manejar un auto formula uno (las macros) debes de saber manejar bien todas las cosas básicas de un vehículo.

Las he limitado a unas pocas funciones de uso frecuente y técnicas útiles en un área contable, es decir, a la vez que se explica como se montan las funciones de uso frecuente, vamos a ir mostrando ejemplos

prácticos. Si Usted está registrado en mi pagina web o grupo en Facebook, puede descargar el diccionario de formulas, (el cual es la traducción del trabajo del Señor Peter Noneley que está en Inglés

y que también se consigue gratis en Internet desde hace muchos años) y ver, directamente en Excel como operan las funciones de uso frecuente para un área contable. En esta sección hablaremos de las

más importantes, pero en la web encontrará todavía más, por si desea profundizar en otras funciones.

Función Si La función si, sirve para evaluar una celda, y dependiendo de su contenido (o condición), podemos

hacer o no, un cálculo o colocar un mensaje, o colocar otra formula si su contenido es adecuado, o

colocar otra formula si el contenido no es adecuado o acorde con la evaluación. Una función si, puede colocar en su interior mas Sís, en el nuevo Excel pueden “Anidarse” (así se dice) hasta 64 Sí

condicionales. Claro que debe de saber que es raro que uno realice tantas anidaciones, por lo general con unas cuantas se suelen cubrir las necesidades de acción.

Miremos el ejemplo:

En este caso estamos haciendo un ejemplo mediante el cual estamos revisando rápidamente si los

asesores comerciales o representantes de ventas han logrado el objetivo. Si usted, como jefe, debe de

revisar si cumplieron o no, podrá darse cuenta que en una cuadrilla de muchos vendedores, la tareíta puede ser un poco dispendiosa de lograr. Sin embargo, si Usted monta una formulita Si condicional, se

puede deshacer de esta tarea engorrosa, en segundos. Como? Simplemente evaluando la condición de la celda que contiene las ventas contra el objetivo, comparando que, si el valor de las ventas es mayor

o igual que el objetivo, pues nos alerte colocando un texto, que puede ser la palabra “Bien” o “Mal”. En

la columna F, se ha puesto la formula que está en las celdas E que hacen la comparación.

Ahora ampliemos mas el conocimiento de la función Si mirando la ficha técnica:

Que hace?

Evalúa una condición.

Si la condición se cumple se considera VERDADERO.

Caso contrario se considera FALSO.

Dependiendo de este resultado, una de dos acciones se pueden llevar a cabo.

Sintaxis

=SI(Condición, Acción Si es Verdadera, Acción si es falsa)

Por lo general la condición evalúa dos celdas, tal como A1=A2.

Las acciones verdadera y falsa pueden ser números textos o cálculos.

Page 85: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

85

Formato

No se requiere.

Ejemplo 1

La siguiente tabla muestra los resultados de ventas y objetivos de algunos representantes de ventas.

Cada uno de ellos tiene su propia meta la cual debe alcanzar.

La función =SI() se utiliza para comparar las ventas con la meta.

Si las ventas resultan mayores o iguales a la meta se muestra el resultado "OK".

Si las ventas no alcanzan el objetivo se muestra el resultado "No alcanzado"

Observe que el texto que se inserta en la función =SI() se debe encerrar en doble comilla.

Ejemplo 2

Este ejemplo es similar al anterior.

En esta ocasión se calcula la comisión a ser pagada. Si las ventas son mayores o iguales a la meta, se paga una comisión de 10% sobre las ventas.

Si las ventas no alcanzan la meta, se paga una comisión del 5%.

Ejemplo 3

Este ejemplo utiliza la función =Y() con la función =SI()

Un comerciante concede un 10% de descuento en algunas líneas de sus productos. El descuento se concede en los productos que están en oferta especial, y cuando el pedido es mayor a $1.000

La función =Y() se usa con la función =SI() para verificar si el producto esta en oferta y si

el pedido se encuentra por encima de $1.000

De manera similar, puede anidarse la función “O” para verificar el cumplimiento de una de dos

condiciones, en lugar de que se verifiquen que sean dos condiciones al mismo tiempo, efecto que se

consigue con la función “Y”.

Page 86: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

86

Función Izquierda

Que hace?

Trae un número determinado de caracteres desde el lado izquierdo de un texto.

Sintaxis

=IZQUIERDA(Texto original, número de caracteres requeridos)

Formato

No se requiere.

Ejemplo

La siguiente tabla se usa para extraer el primer nombre de una persona desde su nombre completo. La función =ENCONTRAR() se usa para localizar la posición del espacio entre el primer y segundo nombre.

Entonces el largo del primer nombre es la posición del espacio menos un carácter. La función =IZQUIERDA() puede ahora extraer el primer nombre basado en la posición del espacio.

Se puede dar cuenta que las formulas anidadas combinan su potencial y nos dan muy buenas

soluciones.

Page 87: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

87

Función Derecha

Que hace?

Extrae un número específico de caracteres desde la derecha de un texto.

Sintaxis

=DERECHA(Texto Original, Número de caracteres requeridos)

Formato

No se requiere

Ejemplo

La siguiente tabla fue usada para extraer el segundo nombre de un texto que contiene nombre y apellido.

La función =ENCONTRAR() ubica la posición del espacio entre el primero y el segundo nombre. La longitud del segundo nombre se calcula restando la posición del espacio de la longitud total del nombre completo, con lo que la función =DERECHA() ya queda en condiciones de extraer

el segundo nombre.

Al igual que en el caso anterior, se puede dar cuenta que las formulas anidadas combinan su potencial

y nos dan muy buenas soluciones.

Page 88: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

88

Función Extrae

Que hace?

Trae un pedazo de texto desde la mitad de una celda con texto.

Para tal fin necesita saber el punto de inicio y cuantos caracteres traer. Si el número de caracteres a traer excede el número de caracteres disponibles, trae los caracteres disponibles.

Sintaxis

=EXTRAE(Texto Original, Posición de inicio, número de caracteres a traer)

Formato

No se requiere.

Ejemplo 1

La siguiente tabla usa la función =Extrae() [en Inglés =MID()] para extraer un código postal desde un ID utilizado por la compañía.

En este caso, se asume y aplica que siempre se usa el mismo formato con la misma cantidad de

Caracteres. El código postal se encuentra en la 5ta y 6ta posición.

Ejemplo 2

Este otro ejemplo muestra como extraer un ítem el cual es de longitud variada, el cual se encuentra dentro de una pieza de texto que NO tiene un formato estándar, pero que siempre se encuentra entre dos símbolos slash /.

Page 89: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

89

Función Concatenar

Que hace ?

Esta función une piezas de texto separadas.

Sintaxis

=CONCATENAR(Texto1,Texto2,Texto3...Texto30)

Hasta 30 textos se pueden encadenar

Formato

No se necesita.

NOTA

Puedes lograr el mismo resultado usando el operador & Ampersand, normalmente

se

encuentra en la tecla Shift + 6

Forma alterna de usar el operador Ampersand “&” en lugar de =Concatenar():

Page 90: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

90

Función Espacios

Esta función es útil cuando se hace limpieza de los campos de un archivo plano, pues, para Excel, lo que no se ve, no quiere decir que no esté allí, y estos espacios a menudo son un problemita serio, que

no permite que otras funciones tales como =BuscarV() o =Sumar.Si no operen como se espera, y uno, se arranque las mechas sin poder entender porque no funcionan las @#?$& funciones…. Entonces,

piense que tal vez el valor buscado o sumado no es exactamente igual, Revise y depure los campos con

la ayuda de esta función.

Que hace?

Remueve espacios indeseados de una pieza de texto.

Los espacios antes u después del texto se remueven completamente.

Los espacios múltiples dentro del texto quedan en un solo espacio. Es útil para limpiar información que baja de los programas contables que residen en los

servidores, sobretodo los espacios que quedan al final, que son invisibles y que presentan molestias en los

programas que validan

Información.

Sintaxis

=ESPACIOS(Texto a corregir)

Page 91: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

91

Función Texto

En algunas ocasiones, necesitamos que los números se ordenen como si fueran un texto y no un número, ya que la ordenarlos como número se acomodan de menor a mayor cuantía, mas no por los

caracteres del texto, y en ocasiones, por ejemplo, necesitamos que el 11 quede debajo del 1. (Ejemplo, el disponible, debajo del 1, Activo). Para esto, podemos usar la función texto, que es muy fácil de usar

como verá a continuación.

Que hace?

Convierte un número en texto.

Se necesita especificar el formato de texto en la función. No está de más indicar que una vez convertido Excel dejará de tratarlo como número, por lo que no podrá hacer cálculos con él

Sintaxis

=TEXTO(Número a Convertir, Formato de Conversión)

Función Valor

Esta función toma un número que está en formato Texto y de manera similar a la función texto, lo

convierte en tipo número.

Ejemplo: En la depuración de archivos planos esta función es de mucha utilidad, como le mostraré a

continuación:

Como puede ver, este segmento de archivo plano está “empaquetado” en la columna A. Mediante la

herramienta Datos – Texto en Columnas, podemos traer el asistente de importación de archivos planos, y hacer la partición del segmento plano, estos es, asignar las rayitas que serán las columnas, así:

Page 92: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

92

En la siguiente sección, observe que los valores crédito van con un “CR”, en ese punto, observe como

continúo haciendo la partición:

En el siguiente paso, le aconsejo que le coloque a todos los datos que son tipo texto, hasta para los que se ven como números. Es mejor, ya que algunos valores numéricos son algo confusos, y Excel nos los

puede traer de manera errada. Posteriormente les daremos el mismo tratamiento que les dimos en el apartado en el cual explicábamos como arreglar estos valores con el buscar y reemplazar. No obstante

hacer este truco, es posible que algunos datos aún se resistan a ser convertidos en valores, entonces,

allí es cuando entra la función valor en acción:

Aprovechando que ya vimos la función =SI(), vamos a usarla para que los valores que tienen un “CR” al

lado, sean multiplicados por -1: Primero vamos a arreglar los valores de la columna C con esta formula:

Si D2 es “CR”, entonces multiplique C2 x menos 1, sino, déjela igual, esto es, coloque C2:

Page 93: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

93

Ahora, como decíamos que es probable que existan números tipo texto que se resisten a convertirse en

datos numéricos, usáramos la función =Valor(); entonces, anidémosla dentro de la formula si:

Observe que si es CR, después del punto y coma hay un signo menos que antecede a la función =Valor().

Casos más difíciles en cuales se necesita extraer el valor de una cadena de texto:

Si el número se encuentra en la mitad de un texto largo, se tendrá que extraer usando otras funciones de texto tales como =HALLAR(), =EXTRAE(), =ENCONTRAR(), =SUSTITUIR(), IZQUIERDA() o

DERECHA()

Caso 1:

En este caso, estamos extrayendo y encontrando con ayuda de la función Hallar, el signo $ pesos que antecede el número que siempre se encontrará a la derecha. La función extrae toma la celda, luego

pide el segundo argumento que es, desde donde le hago la extracción? Le decimos con ayuda de =Hallar() que lo haga desde donde aparezca el signo pesos, y de allí que tome 99 dígitos. Todo es

“encapsulado” o tomado en conjunto por la función valor, que convierte el texto numérico extraído, en un valor.

Page 94: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

94

Caso 2

Este caso es más complicadito que el anterior, pero igual, nada que no sea posible de hacer.

El valor en porcentaje es de una longitud variable, puede ser uno dos o tres dígitos de largo.

La única manera de identificar el valor es el hecho de que siempre termina con el signo %.

No hay forma de identificar el comienzo del valor, lo único es que viene precedido por un espacio.

El principal problema es calcular la longitud del valor a extraer.

Si la extracción asume el largo máximo de tres dígitos y el signo de %, se tendrán errores cuando

el porcentaje se de sólo un dígito de largo, cuando se hallen caracteres alfabéticos adyacentes. Para resolver el problema la función =SUSTITUIR() se utiliza para incrementar el tamaño de los espacios

en el texto. Ahora cuando la extracción tenga lugar cualquier carácter innecesario estará precedido de espacios

los cuales serán ignorados por la función =VALOR() Se recomienda estudiar las funciones de primer y segundo nivel usadas aquí, tales como =HALLAR()=SUSTITUIR() y =EXTRAE()

Page 95: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

95

Función Hallar

Que hace ?

Busca una letra o cadena de caracteres dentro de una pieza de texto y cuando la encuentra, muestra el número de la posición de la letra o primera letra del texto o letra buscado.

Si la letra no está, se indica un error tipo #VALOR

NOTA : Esta fórmula NO diferencia entre mayúsculas y minúsculas.

Sintaxis

=HALLAR(Texto buscado, Texto, Posición inicial) Texto buscado: Es el texto que se desea encontrar. Se puede usar * como carácter comodín; es decir, por ejemplo, para buscar cualquier texto que contenga una parte de las letras "*ola*"

Texto: Es la pieza de texto en la cual se buscará la letra.

Posición inicial: Es opcional, especifica el punto en el cual la búsqueda del texto iniciará.

Formato

No se necesita, el resultado se enseña como un número.

Función Sustituir Si Usted es contador y le ha tocado manejar información exógena que solicita el fisco, le habrá tocado “lidiar” con los caracteres extraños que a veces salen en los archivos importados. Esta función ofrece

una excelente manera de corregirlos.

Que hace ?

Reemplaza una pieza de texto con otra.

Puede reemplazar todas las ocurrencias de texto o una instancia específica.

Considera mayúsculas y minúsculas.

Page 96: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

96

Sintaxis

=SUBSTITUIR(Texto Original, Texto a Remover, Texto a Insertar, Instancia requerida)

La instancia es opcional, Si se omite todas las instancias se sustituyen.

Formato

No se requiere.

Nota

Como esta fórmula distingue Mayúsculas y minúsculas, puede usar otras funciones de texto que aseguren el efecto deseado tales como =MAYUSCULA, =MINUSCULA() o =NOMPROPIO()

Función Mayúscula

Que hace ?

Convierte todos los caracteres de una celda a mayúscula.

Sintaxis

=MAYUSCULA(Texto a Convertir)

Función Minúscula

Que hace ?

Convierte todos los caracteres de un texto a minúscula:

Sintaxis

=MINUSCULA(Texto a convertir)

Page 97: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

97

Función Nompropio

Que hace ?

Esta función convierte las primeras letras de cada palabra en mayúsculas y las demás letras en minúsculas.

Sintaxis

=NOMPROPIO(Texto a Convertir)

Antes de continuar, es posible que usted se esté preguntando como hacer que solo la primera celda quede en mayúscula y las demás en minúscula. Cuando se arman los balances con sus notas, por lo

general, el estilo del texto de los nombres de las cuentas es de esta manera, y para esta tarea, esta

función =NOMPROPIO() sencillamente NO SIRVE.

Que hacer?

Le tengo la solución, anidando las funciones vistas, así:

Esta anidación arranca primero convirtiendo la primera letra de la izquierda en mayúscula, luego, amarra el resultado de esa primera formula o función concatenándola con el ampersand & a la

siguiente función: Minúscula. Y minúscula anida dentro de ella la función Extrae, que, como su nombre lo indica, extrae desde el segundo digito a la derecha hasta 100 dígitos. Al estar anidado dentro de

minúscula, todo lo correspondiente al segundo digito hasta 100 dígitos es convertido a minúscula.

Page 98: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

98

Función Largo

Que hace ?

Cuenta el número de caracteres, incluyendo espacios y números de una celda que contiene texto.

Sintaxis

=LARGO(Texto)

Función BuscarV Probablemente BuscarV sea la función mas utilizada de Excel, con justa causa, por el enorme potencial que ofrece. Sin embargo, combinada con otras funciones ofrece un potencial todavía mayor, por esa

razón nos detendremos un poco más en esta función, para que comience a aguzar su mente y su creatividad.

Que hace ?

Busca un ítem debajo del encabezado de columna indicado, en las filas de esa columna, y cuando lo ubica, se vá por ese renglón de fila atravezando la tabla hacia la derecha, y se detiene en el número de columna indicado, trayendo el valor que requiere el usuario.

Sintaxis

=BUSCARV(Item a Encontrar, Rango o Tabla de Búsqueda, Columna de la que se debe traer,

Ordenado o Desordenado)

El Item a Encontrar es un solo item especificado por el usuario.

El Rango o Tabla de busqueda es el rango de información con títulos en sus encabezados de

columna.

Columna de la que se debe traer es el número de columna contando a partir de la primera que se

Page 99: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

99

utiliza, pues una vez hallado el Item en la fila de la primera columna, se atraviesa la tabla hasta cierto número de columna.

Ordenado o Desordenado se usa cuando los encabezados de columna están ordenados.

VERDADERO o 1 si está ordenado, FALSO o 0 (cero) si no. Con Verdadero, si no encuentra una coincidencia exacta trae la mas parecida, con Falso si no halla la coincidencia exacta, trae un error tipo #N/A

Formato

No se requiere.

Ejemplo 1

Esta tabla es usada para encontrar un valor basado en un mes y nombre específicos.

La función =BUSCARV() se usa para rastrear abajo para encontrar el nombre.

El problema surge cuando una vez encontrado, no sabemos en cual columna de mes detenernos.

Para resolver el problema se obtiene ayuda de la función =COINCIDIR().

La función =COINCIDIR() busca en la lista de nombres para encontrar el mes que se requiere y

calcula la posición del mes en la lista. Pero debido a que la lista de meses no es la misma que

el rango de búsqueda, se le debe adicionar un 1 para compensar.

Con lo anterior, la función =BUSCARV() ahora usa la posición del mes que le entrega la función =COINCIDIR() con lo cual puede cumplir el siguiente paso, que es atravesar la tabla o rango para traer el Item que finalmente se encuentra en la columna del mes.

La función BUSCARV() usa FALSO al final de la función para indicarle a Excel que los encabezados de fila no están ordenados.

Ejemplo 2

Este otro ejemplo muestra como la función =BUSCARV() se usa para traer el costo de un

repuesto de diferentes marcas de carros.

La función =BUSCARV() busca hacia abajo, de los encabezados de fila en la columna F

el repuesto de la columna C.

Cuando lo ubica, =BUSCARV() busca a través de la tabla para encontrar el precio, usando el número de posición que le entrega la función =COINCIDIR() y así ubicar el número de columna para la marca del carro. La función utiliza rangos absolutos indicados por el signo $. Esto asegura que cuando la fórmula es copiada a mas celdas, los rangos de =BUSCARV() y =COINCIDIR() no cambien.

Page 100: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

100

Ejemplo 3

En este otro ejemplo más complejo, un vendedor de materiales de construcción, ofrece descuentos en los pedidos más grandes.

La tabla de costo unitario contiene el costo de 1 unidad de Ladrillo, Madera y Cristal. La tabla de descuentos contiene diferentes descuentos para diferentes cantidades de cada uno de estos productos.

La tabla de órdenes se usa para ingresar las mismas y calcular el total.

Todos los cálculos tienen lugar en la tabla de órdenes.

El nombre del producto se indica en la columna C.

El costo unitario de cada producto se busca en la tabla de costo unitario. La opción FALSO se utiliza al final de la función para indicar que los productos en los encabezados de la tabla costo unitario no se encuentran ordenados. Usando esta opción se indica a la función que busque la coincidencia exacta. Si la coincidencia no se encuentra, la función produce un error.

=BUSCARV(C140;C128:D130;2;FALSO)

Luego el descuento se busca en la tabla de descuentos. Si la cantidad ordenada coincide con el valor del encabezado de la tabla de descuento, la función =BUSCARV()

ubicará en esa columna hacia abajo para seguir buscando el descuento correcto. La opción VERDADERO se utiliza al final de la función para indicar que los valores se encuentran ordenados. Adicionalmente, permite a la función hacer una coincidencia aproximada, lo cual sirve para el propósito planteado, pues si la cantidad ordenada no coincide con ningún valor del encabezado de la tabla de descuentos, el siguiente valor mas cercano pero bajo es escogido.

=BUSCARV(D140;F128:I130;COINCIDIR(C140;G127:I127;0)+1;VERDADERO)

Page 101: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

101

En primera instancia puede parecer complicado, si Usted está suscrito (gratis) en nuestra web, puede

descargar los ejemplos en archivos Excel, de tal manera que le facilite el aprendizaje.

Ejemplo 4

Se muestra como anidar la función =ESPACIOS() dentro de =BUSCARV(), para eliminar la posibilidad de que la fórmula nos muestre un error tipo #N/A, cuando en realidad el Match SI existe. Debe tener sumo cuidado y tener en cuenta que algunos Items puede que se vean iguales pero que es probable que para Excel no lo sean.

De igual forma se muestra como deshacerse del error #N/A cuando se tiene certeza de que en verdad NO aparece

el item buscado.(Solo se quiere descartar el error #N/A,)

Para este fin nos valemos de la funcion =SI() y la función =ESNOD()

Tenga en cuenta que si ha bajado información de un servidor en el cual reside el programa de control, es probable que haya importado información con caracteres extraños, con lo cual Excel también el mostrará un #N/A

Explicación de la anidación de =BUSCARV() con =ESNOD y =SI()

Page 102: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

102

Como usted sabe que la función =SI() toma acción para el caso en el cual sea verdadera o falsa una condición, pues nos valemos de ella y de la función =ESNOD() para realizar la tarea anterior. En primer lugar, ESNOD evalúa si la función BUSCARV muestra un error #N/A. Si no lo es, no pasa nada, pues se pasa a la acción para el caso en que el error sea falso, y esa acción es que se realice la función BuscarV otra vez. Pero SI en verdad ESNOD está arrojando un error tipo #N/A, entonces internamente arrojará un VERDADERO, que será interpretado por la función SI, y en consecuencia, la función SI hará lo que le pedimos en la formula, que es, que emita un mensaje al usuario. (El mensaje se debe colocar entre comillas).

Si desea que aparezca un cero 0, coloque el cero sin las comillas.

Si desea que aparezca NADA, no coloque nada entre las comillas, así: ""

O si desea realizar otra acción mediante otra fórmula, colóquela en esa parte del argumento.

Page 103: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

103

Realizar la búsqueda con =BuscarV() en varias tablas

Vamos a ver este ejemplo, para que vea como es posible, en una misma formula buscarV, realizar la

búsqueda no en una sola tabla, sino en varias tablas. Para lograr este cometido, primero seleccione cada una de las tablas y asígneles un nombre mediante

el cuadro de nombres, (El cuadro de nombres se encuentra encima de la letra A de la columna. Allí

escribe Tab1; luego selecciona la tabla 2 y escribe en el cuadro de nombres Tab2, y así sucesivamente). Luego utilizamos el potencial de la función indirecto para hacer que la función =BUSCARV() agrupe los

rangos definidos

Page 104: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

104

Como hacer un doble =BuscarV () Este es otro ejemplo que le continuará mostrando el potencial de Excel en el tema de formulación. Si

Usted trabaja en Costos, encontrará en Excel a su mejor aliado. En este ejemplo, similar a uno de los vistos mas atrás, veremos como un segundo buscarV, anidado dentro del primero, entrega la posición

de la columna que debe traer, buscándola en una tercera tabla.

Aquí se busca el producto en la tabla de precios del mes, cuando encuentra el producto, busca el número del mes en la tabla de los meses, para saber cual de los precios por mes traer.

Page 105: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

105

Triples, cuádruples BuscarV.

El caso anterior quizás no aplica para el caso en el cual Usted desea buscar un código, y una vez hallado, se realice, dentro de esos códigos, otro subcódigo, y allí si, que nos traiga el valor buscado.

En otras palabras, a veces tenemos la necesidad de buscar en dos rangos, primero una categoría y

dentro de ella, una marca, línea o subcategoría.

Un ejemplo puede ser esta tabla: (Por decir algo, ya sé que no hay autos Kawasaky)….

En ocasiones necesitamos montar una formula que nos ubique primero la categoría y dentro de ella,

ubique el siguiente dato, para traer una tercera información.

Una solución es combinar la función BuscarV o BuscarH con la función Coincidir. (Ya se presentó un ejemplo de estos anteriormente) Primero se debe de reorganizar la tabla de datos, como se muestra a

continuación, dependiendo de la función que utilices:

Page 106: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

106

Complicando más las cosas . . . Bueno, y como se hace la formula que nos traiga un dato, dada la categoría, subcategoría, y otra SUB de la subcategoría ?

Aquí hay un ejemplo, se hace mediante una formula matricial. .. Revise la función en la celda E59:

Tabla Ejemplo:

Para lograr este cometido, de buscar en una Categoría, una subcategoría y luego en una tercera Sub categoría, ya abandonamos la función BuscarV, y nos valemos de otras funciones de búsqueda: Índice

Page 107: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

107

y Coincidir, pero ingresadas como función matricial. Para entender como operan las funciones

matriciales, por favor vaya al apartado que explica el tema, por lo pronto, debe saber que este tipo de

formulas se escriben pero se ingresan NO dando enter, sino, oprimiendo al mismo tiempo, las teclas Control + Shift + Enter.

Complicando TODAVIA más las cosas . . . Si muy buena su solución pero, yo quiero que me traiga la columna que yo quiera… Como se hace ? Aquí hay una variación del caso anterior, para que no diga que no se le trata bien… Con otro coincidir ubica la columna, Info1, Info2 o Info3 . . . Tabla Ejemplo:

Como puede darse cuenta, en temas de búsqueda, no hay tema que sea imposible de sacar adelante con la ayuda de Excel.

Page 108: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

108

Buscando Items Incorrectos o desconocidos entre dos tablas

BuscarV con frecuencia es utilizada para conciliar información. Vamos a ver una solución muy ingeniosa que nos cruza la información entre dos tablas, no solo cruzando el Item como tal, sino también,

cruzando su localización.

Para lograr este cometido, anidaremos =BuscarV() dentro de la función =Eserror() que sirve para

detectar si =BuscarV() devuelve un error #N/A, y la Función =SI() entra en acción para realizar la búsqueda en la localización.

La formula en la región sombreada de azul es la siguiente: =SI(ESERROR(BUSCARV(B13;$C$17:$E$21;2;FALSO));"Id Desconocido

"&B13;SI(BUSCARV(B13;$C$17:$E$21;2;FALSO)<>C13;"Localización Inconsistente";""))

La formula en la región sombreada de azul es la siguiente: =SI(ESERROR(BUSCARV(C21;$B$10:$D$13;2;FALSO));"Id Inconsistente No

"&C21;SI(BUSCARV(C21;$B$10:$D$13;2;FALSO)<>D21;"Localización Inconsistente";""))

Explicación para la formula en la primera tabla:

La formula Si, nos sirve para el evento en el cual =BuscarV() devuelve el error #N/A, el cual solo se presenta si =BuscarV() no encuentra el valor buscado, en ese caso, la función =Eserror() lo detecta y

pasa a enseñar el Texto “Id desconocido” (o el que usted quiera colocar entre comillas). Si no hay error, vuelve y ejecuta la función =BuscarV(), pero en este caso, ahora rastreará la localización.

De manera similar se ha montado la formula en la segunda tabla.

Esta solución es buena, pero la verdad, yo prefiero cruzar los datos con ayuda de las tablas dinámicas

de Excel, es sencillamente REVOLUCIONARIO.

Page 109: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

109

Función Indice

Esta función es similar a BuscarV, pero obviamente tiene sus diferencias.

Que hace ?

Recoge un valor desde un rango de información buscando hacia abajo un número indicado de filas y a través de un número indicado de columnas.

Se puede usar con un solo bloque de datos o bloques de datos separados.

Sintaxis

Hay varias sintaxis para esta función.

Sintaxis 1

=INDICE(Rango en el cual se busca, Coordenada)

Esta sintaxis se usa cuando el Rango en el cual se busca es una sola fila o columna. La Coordenada indica cuantas filas abajo o a través se debe bajar o atravesar el rango para traer los datos que se encuentran en el rango. A diferencia de las funciones =BUSCAR() esta función trae la información que queremos al indicarle el rango y la dirección. Los ejemplos que se muestran a continuación usan la misma sintaxis, pero las coordenadas se refieren a filas cuando el rango es vertical y a Columnas cuando el rango es horizontal.

Page 110: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

110

Sintaxis 2

=INDICE(Rango en el cual se busca, Coordenada de Fila, Coordenada de Columna)

Esta sintaxis se usa cuando el rango está conformado de varias filas y columnas.

Sintaxis 3

=INDICE(Rango en el cual se busca, Coordenada de Fila, Coordenada de Columna, Área de la cual se traerá el dato)

Se usa esta sintaxis cuando el rango a buscar esta conformado de varias áreas. La mejor forma de maneras los rangos de varias áreas es seleccionándolas y dándoles un solo nombre.

El Área de la cual se traerá el dato indica cual de las áreas debe usar la función.

En el siguiente ejemplo los rangos Norte y Sur han sido definidos como un solo rango llamado NorteYSur. Esta operación se ejecuta en el menú Insertar - Nombre - Definir. O bien, puede seleccionar los dos rangos (esto es, selecciona el primer rango con el ratón, oprime la tecla Ctrl y manteniéndola oprimida, selecciona el segundo rango; luego suelta la tecla Ctrl y lleva le puntero del ratón hacia el cuadro de nombres. El cuadro de nombres es la primera casilla de la barra de fórmulas. Allí, escribe NorteYSur. Los rangos que debe nombrar son los que están coloreados de amarillo claro.

Page 111: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

111

Ejemplo

En este ejemplo se usan los nombres de los productos y los trimestres. La función =COINCIDIR() se usa para encontrar la posición de la fila y la columna de los nombres ingresados.

Estas posiciones son usadas por la función =INDICE() para traer la información.

Page 112: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

112

Función Coincidir

Que hace ?

Busca un item en una lista y muestra su posición.

Puede ser usada con texto y números.

Puede traer una coincidencia exacta o una coincidencia aproximada.

Sintaxis

=COINCIDIR(Que es lo que se busca, Donde se busca, Tipo de coincidencia)

El tipo de coincidencia puede ser 0, 1 o -1.

Usando 0 se busca una coincidencia exacta. Si no la hay, el error #N/A aparece.

Usando 1 busca una coincidencia exacta o el siguiente numero mas bajo.

Si no hay ninguno de los dos, se muestra el error #N/A.

La lista de valores a examinar debe estar ordenada para que la función trabaje correctamente.

Usando -1 busca una coincidencia exacta o le siguiente número mas alto.

Si no hay ninguno de los dos, se muestra el error #N/A.

La lista de valores a examinar debe estar ordenada para que la función trabaje correctamente.

Ejemplos

La opción 0 es la mas apropiada para una coincidencia exacta.

Una lista Ascendente da un match exacto.

Un lista Descendente, también. Pero un valor que no existe en la lista no produce una coincidencia exacta, así que el error #N/A aparece.

Page 113: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

113

Ejemplo 2

La opción 1 es apropiada cuando se quiere encontrar la coincidencia exacta o la coincidencia siguiente mas

baja.

Con una lista Ascendente se consigue una coincidencia exacta

Con una lista Descendente se obtiene un error #N/A (Not Available)

Un valor errado se trae la coincidencia siguiente mas baja.

Ejemplo 3

La opción -1 es apropiada para encontrar la coincidencia exacta o la coincidencia siguiente más alta.

Con una lista Ascendente se consigue un error #N/A

Con una lista Descendente se obtiene una coincidencia exacta.

Un valor errado trae la coincidencia siguiente más alta.

Page 114: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

114

Ejemplo 4

Esta tabla la usa una compañía de transportes para asignar los buses con suficientes sillas para los pasajeros.

La lista del tamaño de los buses por sillas se tiene en una lista. El número de pasajeros en el tour se ingresa una casilla para tal fin, y con la función =COINCIDIR() se ubica el

bus correcto con las sillas suficientes. Si el número de pasajeros no coincide exactamente, el siguiente bus mas grande es seleccionado. Después de que la función =COINCIDIR a encontrado la coincidencia exacta, la función =INDICE() se usa para

buscar en la lista otra vez y traer el tamaño de bus requerido.

Ejemplo 5

Esta tabla se usa para calcular el tipo de graduación de los estudiantes.

La lista de graduación se tiene en una lista.

El puntaje de los estudiantes se tiene en otra lista.

El puntaje de los estudiantes se compara contra la lista de graduación. Si no se encuentra una coincidencia exacta, la coincidencia siguiente mas baja es seleccionada. Luego la función =INDICE() busca para en la lista de graduación para encontrar el tipo de graduación.

Page 115: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

115

Sumar.Si Esta función es muy usada, entre otras cosas, en un área contable sirve para totalizar rápidamente los

valores de una cuenta en una hoja anexa. Aquí vamos a ir mas allá en el uso de está función, para que Usted le saque verdaderamente el Jugo.

Que hace?

Adiciona el valor de los items que coincidan con el criterio dado por el usuario.

Sintaxis

=SUMAR.SI(Rango de celdas a ser examinados, Criterio de coincidencia, Rango de Valores a Totalizar)

=SUMAR.SI(C8:C16;"Frenos";E8:E16)

Esta función examina los nombres de los productos en el rango C8:C16. Identifica las celdas que dice "Frenos". Luego, trae los valores para frenos que se encuentran en E8:E16

=SUMAR.SI(E8:E16;">=100")

Esta otra función examina los valores en el rango E8:E16 Si el valor es >=100 el valor es sumado.

Formato

No se requiere.

Page 116: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

116

Ejemplo 1

Usando Sumar.Si para conseguir Subtotales por fecha

Ejemplo 2

Incluyendo o Excluyendo Excepciones

En la siguiente tabla veremos el potencial que le podemos sacar al criterio:

Page 117: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

117

Page 118: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

118

Función SumaProducto

Que hace ?

Utiliza por lo menos 2 columnas de valores. Los valores en la primera columna son multiplicados con el valor correspondiente en la segunda columna.

El total de todos los valores es el resultado del cálculo.

Sintaxis

=SUMAPRODUCTO(Rango1, Rango2, Rango3 hasta el Rango30)

Ejemplo

La siguiente tabla fue utilizada en un estanco (tienda de licores) para controlar las existencias.

El propietario necesita conocer el valor de compra del stock y el valor potencial del mismo si es

vendido, teniendo en cuenta un margen de ventas.

La función =SUMAPRODUCTO() se usa para multiplicar las cajas con el precio por caja para calcular lo que el propietario gastó en comprar este inventario.

La función =SUMAPRODUCTO() también se usa para multiplicar las cajas en stock con las botellas por caja y el precio de venta de las botellas, para calcular el valor potencial del stock en caso de que se venda todo.

Page 119: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

119

Suma como saldo total

Escriba la formula =SUMA($D$11:D11) en la celda E11 y luego cópiela hacia abajo de la tabla.Funciona

como queremos debido a que la primera referencia utiliza el símbolo $ para mantener $D$11 estático

cuando la fórmula es copiada abajo. Cada ocurrencia de la función =SUMA() adiciona todos los números desde la primera celda hacia abajo.

Esta función se puede mejorar para que muestre 0 cero cuando no hay un valor en la celda adyacente

usándola con la función =SI().

Page 120: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

120

Función Suma con Índice y Coincidir Utilizada en un Presupuesto

Observe los siguientes cuadros:

La formula en C27 se copia hacia abajo

=SUMA(C11:INDICE(C11:N11;COINCIDIR($C$25;$C$10:$N$10;0))) Fíjese que la suma arranca en C11: el destino lo da índice y coincidir. Coincidir ubica la posición del mes corriente y pasa el dato a Índice, que ubica el mes para formar el rango de suma.

La formula para D27 se copia hacia abajo

=SUM(B11:M11)

La formula en C25, carga el mes automáticamente, pues se vale de la función =HOY() para actualizar el

cuadro inferior automáticamente. Usted solo tendría que actualizar sus costos reales.

Page 121: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

121

Suma con la Función Desref

Desref es una función que sirve para referenciar celdas o un rango de celdas desde otra celda distante. Lo cual es bueno para esos casos en los cuales se debe copiar y pegar información de otro lado y que

no se dañen los rangos, pues dado que como están definidos desde otra celda, protege que no se dañe la formulación.

Explicado de otra manera, algunas veces es necesario hacer la función suma basada en un grupo de celdas en diferente ubicación. Un ejemplo puede ser cuando se requiere un total de ciertos meses del

año, como los últimos 3 meses en relación con la fecha corriente. Cada mes el rango cambia. Una solución puede ser editar la fórmula cada vez que se ingresa nueva información, pero esto

consume demasiado tiempo y se abre la posibilidad de un error humano.

Una buena forma es indicar un punto de salida y de llegada del rango a calcular usando la función

=DESREF(). Nemotécnicamente hablando, DESREF es una especie de REFerencia DESviada

Hay que aclarar que la función DESREF no devuelve un valor ni hace ningún cálculo; lo que hace es traer un rango de celdas para que la función que la contiene, en este caso la función suma, los utilice

para su cálculo.

=DESREF() trae un rango que se forma por cierto numero de celdas, basándose en un punto base más

cierto número de celdas hacia arriba o abajo y a la derecha o a la izquierda. La ayuda que da esta función es que nos podemos sustraer de hacer lo que muchos llaman "hacer los

amarres", pues no importa que cambien los periodos, porque YA NO se direccionan las celdas de

manera constante, sino que se controla y modifica la longitud de los rangos desde otras celdas.

Para que la función =DESREF opere se necesita darle como mínimo tres parámetros:

1. Una dirección de celda para usar como punto fijo que será la referencia a partir de la cual se calculará la desviación.

2. Desviación en número de filas que inician en el punto fijo.

3. Desviación un número de columnas que inician en el punto fijo.

La función también trae los parámetros Alto y Ancho, que si se omiten, es decir se dejan en CERO, utiliza el número de filas y de columnas dados. Y para el caso contrario, si se deja en cero la desviación

en filas y desviación en columnas, Si se deben llenar los argumentos Alto (en filas) y el Ancho (en

número de columnas).

Los siguientes ejemplos que van de menor a mayor dificultad paso a paso ayudan a comprender mejor como trabaja esta función.

=SUMA(E40:DESREF(E40;0;0))

Este ejemplo usa la celda E40 como punto de referencia, sin filas o columnas de desviación, por lo que

el rango se queda en E40:E40. Fíjese que el segundo E40 requerido por la función =SUMA() está

conformado por =DESREF().

Page 122: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

122

Observe que el separador de la función suma, los dos puntos (resaltados aquí en rojo) es el punto en

donde se ingresa la función DESREF que arma el segundo rango.

En este ejemplo se usa E47 como punto de REFerencia con DESviación de 1 columna para traer la celda F47,con lo que el rango que se forma es E47:F47

En este ejemplo se usa E52 como punto de REFerencia con DESviación de 2 columnas para traer HASTA la celda G52, con lo que se forma el rango E52:G52

Usando DESREF dos veces en una fórmula

Dando alcance a los ejemplos anteriores, vamos avanzando un poco más en complejidad. Los

siguientes ejemplo usan =DESREF() para traer el inicio y el final de un rango que se requiere totalizar.

La celda E63 se utiliza como punto de salida en ambos DESREF y cada uno se desvía 1 columna. El resultado es que solamente se utiliza la celda F63 para armar el rango F63:F63 que es el que calcula la

función =SUMA()

Page 123: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

123

La celda E69 se utiliza como punto de partida en ambos DESREF, el primero de ellos tiene desviación de

una columna y el segundo, dos columnas. El resultado es el rango F69:G69 el cual es el que se totaliza.

La celda E74 es la base de ambos DESREF, el primero con desviación de una columna, y el segundo con

desviación de tres columnas. El resultado es el rango F74:H74 el cual es el que se totaliza.

Ejemplo 1 La siguiente tabla muestra cinco meses de información.

Para calcular el total de un rango específico de meses se utiliza la función =DESREF()

El punto inicial y el punto final se ingresa en las celdas F87 y F88 y se usan para armar la desviación y producir un rango que pueda ser totalizado.

Explicación

A continuación se va "desglosando" lo que la fórmula =DESREF() anterior hace.

Es una representación que le servirá para comprender como actualiza los datos con las celdas que contienen los meses (celdas F87 y F88)

Formula 1 =SUMA(DESREF(D95;0;MES($F$87)):DESREF(D95;0;MES($F$88)))

Esta es la fórmula ingresada. El punto de inicio es la celda en blanco a la derecha de total o a la izquierda de "Enero", Con cero filas de alto y las columnas las da la función =MES()

Formula 2 =SUMA(DESREF(D95;0;MES(2)):DESREF(D95;0;MES(3))) Aquí se muestra como la función =MES() calcula el número del mes.

En el ejemplo los valores de los meses ingresados son 2 y 3 para febrero y marzo. Estos valores son las desviaciones relativas a la celda D95.

Formula 3 =SUMA(DESREF(D95;0;2):DESREF(D95;0;3)) Aquí se muestra como los números de los meses se usan en la función =DESREF().

Formula 4 =SUMA(F95:G95)

Aquí se muestra como =DESREF es eventualmente igual a las direcciones a ser usadas como un rango para la función =SUMA.

Ejemplo 2

Se muestra el primer caso del ejemplo anterior pero con la información en columnas:

Page 124: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

124

En este caso el punto base a partir del cual se arman las referencias de la función suma es la celda

D124; luego, si a la celda D124 le sumamos las posiciones obtenidas por la función MES, tenemos que

para el primer rango se forma D124 + 2 = D126 y consecuentemente el segundo rango nos daría D124 + 3 = D127, Con lo cual la función =SUMA() obtiene los rangos D126:D127.

Ejemplo 3

Se muestra el caso anterior sin usar los meses con formato fecha sino, en letras. Para controlar que se ingrese el mes en letras correcto se usa la herramienta validación de datos. La validación de datos se

explica con más claridad en el anexo correspondiente.

En este ejemplo para conseguir la desviación de los rangos prescindimos de la función =MES() del ejemplo anterior y utilizamos la función =COINCIDIR(); con su ayuda obtenemos la posición del mes

inicial en letras en la tabla de la izquierda.

Ejemplo 4

Se usa el mismo ejemplo anterior pero maximizando la utilidad de la función =DESREF() utilizando los

argumentos Alto y Ancho. La misma función define el rango basado en la celda referencia, que en este nuevo ejemplo es la D171; a partir de allí se le dice : "Baje la posiciones indicadas en el mes inicial";

esta desviación es el segundo argumento; el tercer argumento para este caso, las columnas, se omite,

es decir, se deja en cero. Luego, con la opción Alto, se le indica el número de celdas que deberá tener el rango. Esto se hace restando las posiciones del mes final contra el mes inicial y adicionando un 1. Por

ejemplo, para Marzo que es posición 3 y Febrero que es posición 2, mas 1, obtenemos 2 (3-2+1=2), que es el Alto del rango indicado en mes inicial y mes final. Como estamos trabajando los meses en

Page 125: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

125

letras, hacemos la operación valiéndonos de la función =COINCIDIR(). El último argumento, el Ancho

es 1, pues se tiene una sola columna de ancho.

Ejemplo 5

En este ejemplo vamos mas allá en la utilización de la función DESREF() y ahora controlamos un rango

de información inmerso en una tabla de datos. Nos seguimos valiendo de la función =COINCIDIR() para ubicar las posiciones que necesitamos saber y

así alimentar la fórmula.

El alto se obtiene ubicando con =COINCIDIR() la posición inicial y final del mes, restando las mismas y sumando un uno (1).

El ancho, de la misma forma, pero con los años. Una manera de hacer más manejables las formulas que se van tornando grandes y un poco complicado

leerlas e ingresarlas, es usar la técnica de asignar nombres a los rangos.

Page 126: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

126

Recuerde que estos ejemplos los puede bajar de la web, directamente en Excel, para facilitar su

aprendizaje.

A continuación vienen las funciones de bases de datos que no son muy conocidas, pero que nos

ofrecen una tremenda utilidad cuando las conocemos y las sabemos manejar:

Función BdContar

Qué hace ? Examina una lista de información y cuenta los valores de la columna especificada.

SOLO cuenta valores, texto o celdas en blanco NO se tienen en cuenta.

Sintaxis

=BDCONTAR(RangoDeLaBaseDeDatos,NombreDelCampo,RangoDeCriterio)

El Rango de la base de datos es toda la lista de información que se necesita examinar, incluyendo los

nombres de los encabezados de la parte de arriba de las columnas respectivas. El Nombre del Campo es el nombre, o Celda, de los valores que serán contados, como por ejemplo

"Valor del Stock" o I3 El Rango de Criterio está formado por dos datos.

El primer dato es el nombre o nombres de los campos que forman la base para seleccionar los registros, como por ejemplo, la marca o los watios

El segundo dato es el registro actual, o los registros los cuales serán seleccionados, como por ejemplo,

General Electric como marca o 100 Watios

Page 127: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

127

Formato

No se necesita.

Ejemplos

Page 128: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

128

Función BdContarA

Que hace ? Examina una lista de información y cuenta todas las celdas que no estén en Blanco, en la columna

especificada. Es decir, cuenta valores y texto. Pero las celdas en blanco son Ignoradas.

Sintaxis =BDCONTARA(RangoDeLaBaseDeDatos,NombreDelCampo,RangoDeCriterio)

El Rango de la base de datos es toda la lista de información que se necesita examinar, incluyendo los nombres de los encabezados de la parte de arriba de las columnas respectivas.

El Nombre del Campo es el nombre, o Celda, de los valores que serán contados, como por ejemplo

"Valor del Stock" o I3 El Rango de Criterio está formado por dos datos.

El primer dato es el nombre o nombres de los campos que forman la base para seleccionar los registros, como por ejemplo, la marca o los watios

El segundo dato es el registro actual, o los registros los cuales serán seleccionados, como por ejemplo,

General Electric como marca o 100 Watios

Formato No se necesita.

Ejemplos

Conteo de un producto particular, del cual se desconocen sus horas de vida.

Page 129: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

129

Función BdExtraer

Que hace ?

Examina una lista de información y produce un resultado.

Page 130: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

130

Si más de un registro coincide con el criterio, se enseña el error tipo #NUM

Si ningún registro coincide con el criterio, se muestra el error tipo #VALOR

Sintaxis

=BDEXTRAER(RangoDeLaBaseDeDatos, NombreDelCampo, RangoDeCriterio) El Rango de la base de datos es toda la lista de información que se necesita examinar, incluyendo los

nombres de los encabezados de la parte de arriba de las columnas respectivas.

El Nombre del Campo es el nombre, o Celda, de los valores a extraer, como por ejemplo "Valor del Stock" o I3

El Rango de Criterio está formado por dos datos. El primer dato es el nombre o nombres de los campos que forman la base para seleccionar los

registros, como por ejemplo, la marca o los watios El segundo dato es el registro actual, o los registros los cuales serán seleccionados, como por ejemplo,

General Electric como marca o 100 Watios

Page 131: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

131

Función BdMax

Que hace? Examina una lista de información e informa el valor máximo de una columna específica.

Sintaxis

=BDMAX(RangoDeLaBaseDeDatos, NombreDelCampo, RangoDeCriterio) El Rango de la base de datos es toda la lista de información que se necesita examinar, incluyendo los

nombres de los encabezados de la parte de arriba de las columnas respectivas. El Nombre del Campo es el nombre, o Celda, de los valores para recoger el valor máximo, como por

ejemplo "Valor del Stock" o I3

El Rango de Criterio está formado por dos datos. El primer dato es el nombre o nombres de los campos que forman la base para seleccionar los

registros, como por ejemplo, la marca o los watios El segundo dato es el registro actual, o los registros los cuales serán seleccionados, como por ejemplo,

General Electric como marca o 100 Watios

Formato

No se necesita.

Ejemplos El inventario mas costoso de un producto y marca particular

Page 132: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

132

Esta otra fórmula hace el mismo cálculo pero usando la palabra "Valor del Stock" que aparece en uno de los encabezados de columna, en lugar de la dirección de la celda, I7

El inventario mas costoso de un producto y watio particular

El máximo valor de un producto con watio menor al indicado

Page 133: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

133

Función BdMin

Que hace ?

Examina una lista de información e informa el valor mínimo de una columna específica.

Sintaxis

=BDMIN(RangoDeLaBaseDeDatos,NombreDelCampo,RangoDeCriterio)

El Rango de la base de datos es toda la lista de información que se necesita examinar, incluyendo los nombres de los encabezados de la parte de arriba de las columnas respectivas.

El Nombre del Campo es el nombre, o Celda, de los valores para recoger el valor mínimo, como por ejemplo "Valor del Stock" o I3

El Rango de Criterio está formado por dos datos.

El primer dato es el nombre o nombres de los campos que forman la base para seleccionar los registros, como por ejemplo, la marca o los watios

El segundo dato es el registro actual, o los registros los cuales serán seleccionados, como por ejemplo, General Electric como marca o 100 Watios

Formato

No se necesita.

Ejemplos

El inventario más económico de un producto y marca particular.

Page 134: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

134

Esta otra fórmula hace el mismo cálculo pero usando la palabra "Valor del Stock" que aparece en uno de los encabezados de columna, en lugar de la dirección de la celda, I7.

El inventario mas económico de un producto y watio particular

El mínimo valor de un producto entre dos watios

Page 135: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

135

Función BDSuma

Que hace ? Examina una lista de información e informa el total de una columna específica.

Sintaxis

=BDSUMA(RangoDeLaBaseDeDatos,NombreDelCampo,RangoDeCriterio) El Rango de la base de datos es toda la lista de información que se necesita examinar, incluyendo los

nombres de los encabezados de la parte de arriba de las columnas respectivas.

El Nombre del Campo es el nombre, o Celda, de los valores a totalizar, como por ejemplo "Valor del Stock" o I3

El Rango de Criterio está formado por dos datos. El primer dato es el nombre o nombres de los campos que forman la base para seleccionar los

registros, como por ejemplo, la marca o los watios.

El segundo dato es el registro actual, o los registros los cuales serán seleccionados, como por ejemplo, General Electric como marca o 100 Watios.

Formato

No se necesita.

Ejemplos

El inventario total de un producto y marca particular

Page 136: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

136

Esta otra fórmula hace el mismo cálculo pero usando la palabra "Valor del Stock" que aparece en uno

de los encabezados de columna, en lugar de la dirección de la celda, I7.

El inventario total de un producto y watio particular

El valor total de un producto con watio menor al indicado

Page 137: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

137

BDPromedio

Que hace ?

Examina una lista de información y produce un promedio.

Sintaxis

=BDPROMEDIO(RangoDeLaBaseDeDatos,NombreDelCampo,RangoDeCriterio) El Rango de la base de datos es toda la lista de información que se necesita examinar, incluyendo los

nombres de los encabezados de la parte de arriba de las columnas respectivas. El Nombre del Campo es el nombre, o Celda, de los valores que serán promediados, como por ejemplo

"Costo Unitario" o F3.

El Rango de Criterio está formado por dos datos. El primer dato es el nombre o nombres de los campos que forman la base para seleccionar los

registros, como por ejemplo, la marca o los watios. El segundo dato es el registro actual, o los registros los cuales serán seleccionados, como por ejemplo,

General Electric como marca o 100 Watios.

Formato

No se necesita.

Page 138: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

138

Ejemplos

El costo promedio de un producto en particular o marca particular.

Esta otra fórmula hace el mismo cálculo pero usando la palabra "Costo Unitario" que aparece en uno de

los encabezados de columna, en lugar de la dirección de la celda, F7.

El costo unitario promedio de una bombilla de un watio específico.

El Costo unitario promedio de una bombilla menor al watio especificado.

Page 139: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

139

Función Carácter

Que hace ?

Convierte un número normal a carácter por la configuración ANSI que usa Windows.

Sintaxis

=CARACTER(Numero)

El numero debe estar entre 1 and 255.

Formato El resultado será un carácter sin formato especial. Si aplica un formato especial, el carácter se

convertirá en un símbolo asociado al formato de la fuente.

Ejemplo

La siguiente es la lista de los 255 números y los caracteres que ellos representan. Observe que algunos caracteres no aplican y se muestran como un cuadro pequeño.

Nota El numero 32 corresponde a un espacio

Page 140: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

140

Ejemplo 2

Si cambia el tipo de fuente de ARIAL a Webdings, Wingdings, Wingdings 2, o Wingdings 3 (Fuentes

simbólicas) obtiene una amplia variedad de figuras. En la siguiente lista se cambió a tipo de fuente Wingdings (Los sombreados de rojo).

Ejemplo 3

Estos caracteres pueden utilizarse para hacer marcas de auditoría, e incluso hacer verificaciones lógicas.

Por ejemplo, el carácter 252, con Wingdings, obtiene un "chulito" de visto bueno. Si lo configura dentro de una función =SI(), puede traer dicho símbolo para el caso en que la operación lógica sea correcta, y

la X de error del carácter 251 si resulta incorrecta, así:

Page 141: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

141

Función Elegir

Qué hace ?

Recoge de entre una lista de opciones basada en un Indice de valores dados por el usuario.

Sintaxis =ELEGIR(ValorDelUsuario, Item1, Item2, Item3 hasta 29 Items)

Formato

No se necesita

Ejemplo

La siguiente tabla fue usada para calcular las medallas para los participantes que tomaron parte en una prueba de resistencia. Se toma el tiempo de cada participante.

La función =JERARQUIA() calcula la posición final de cada participante.

Luego la función =ELEGIR() asigna la medalla correcta. La función =SI() se usa como filtro ya que las posiciones más allá de 3 causan que el error de #VALOR

surja dado el hecho de que =ELEGIR operará solo con las tres primeras posiciones.

Detalle de la función Jerarquía en C34:

Page 142: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

142

Caso especial: La falencia de la función =BuscarV

Creo que la función =BuscarV() debe ser la que más intensamente usan los usuarios de Excel. Es buena

cuando uno necesita “montarle” el nombre, la dirección y el teléfono a un informe como por ejemplo, la información exógena o más comúnmente conocida como los “medios magnéticos” para la Dian

(Departamento de impuestos y aduanas nacionales). Para los lectores de otros países, se refiere a la

información en medio magnético que pide el Fisco con la cual, una vez obtenida la info de todo mundo, comienza a cruzar si lo que dice vender fulanito, cruza, estos es, “cuadra” con lo que a su vez

compraron todos los que a su vez están reportando y detectar presuntos evasores de impuestos.

Volviendo al tema: cuando uno arma una función =BuscarV() para bases realmente grandes, y no solo

una sino bastantes =BuscarV(), por ejemplo, un =BuscarV() que me traiga el nombre, otro =BuscarV()

que me traiga la dirección, otro =BuscarV() que me traiga el teléfono, la ciudad, etc, etc, de una base de Nits o de terceros que supere los 100 mil registros, (por no decir el millón, también lo he probado),

la función =BuscarV() literalmente le consume tanto recurso a la máquina computadora, (o al procesador) que es posible que se le quede “pegada”, “muertita”, o “bloqueada” completamente, tanto

que no puede ni siquiera revisar el correo o hacer otra cosa. Una solución es administrar los núcleos de

su procesador, y decirle que use solo dos núcleos para office, y que los otros dos los deje libres para otras actividades de la computadora… pero más que eso, la solución es PRESCINDIR de la función

=BuscarV(), y encontrar otra solución.

BuscarV no es lo “Ultimo en Guarachas”

=BuscarV() es una muy buena función, pero no es la única función de búsqueda que existe o que tiene Excel. Eso debe tenerlo Usted claro. El problema con =BuscarV() es que, cuando usted lo pone a

buscar un número de NIT, o el código del tercero, ya sea un proveedor, un cliente, o un empleado, Esta

función =BuscarV() lo RASTREA, o REVISA a todo lo largo de la base de datos: Quiere decir, que por cada nit que lo ponga a buscar, =BuscarV() lo buscará tantas veces como grande

sea en cantidad de filas su base de terceros, o su base de códigos. Por ejemplo, hará 500.000 mil =BuscarV() para cada nit, y en cada uno de ellos, cuando lo ubique, traerá la columna que usted le

pidió que traiga, si su base tiene 500 mil registros.

En otras palabras, una analogía para que entienda el esfuerzo que estamos poniendo a hacer a Excel,

es algo así como si le dijéramos a un policía que busque el número de identificación o cédula de ciudadanía de “x” tipo, sujeto o individuo en la torre más alta de la ciudad. Por ejemplo la torre de mi

ciudad, La Torre de Cali, que solo tiene 45 pisos, y cada piso muchas oficinas. Entonces, el agente policial, comenzará desde el piso uno, (la fila) registrando todas las oficinas, (columnas) si en ellas está

el individuo o sujeto que tenga el mismo número de identificación que el que le dimos. Como se dará

cuenta, es una tarea muy larga que consume mucho tiempo, y si le damos al policía una relación de cédulas a buscar? Se demorará todavía más!

Como podrá intuir o presumir, esto parece innecesario, lógicamente “desgastante” hasta para el súper

Excel 2007, porque una vez que Excel ha encontrado la FILA correcta, podrá usarla para traer la

columna especificada de la fila.

Hay una función llamada =Coincidir(). Vimos ejemplos de esta función dentro del tema de las funciones

de uso frecuente. Trabaja como =BuscarV(), pero en lugar de traer un dato de la tabla de búsqueda,

Page 143: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

143

TRAE EL NUMERO DE LA FILA, esto es LA POSICION dentro del rango que Coincide con el valor

buscado.

La primera vez que vi la función =Coincidir() la desprecié. Me pareció una bobada, ¿para qué iba a

querer yo, traer el numero de la fila en la cual está el dato que busco, si lo que necesito es que me traiga el dato como tal, no el numero de la fila….? Se me antojaba una bobada…y por mucho tiempo,

no le presté atención, hasta que, me encontré con el problemita que me comenzaba a presentar la

función =BuscarV()…. El equipo se quedaba “calculando celdas” demasiado tiempo….Lo primero que dije fue “Ah!! Este computador me quedó pequeño, necesito un procesador más rápido!” Cuando por

fin tuve una supermáquina, la última del mercado que en ese momento era el Intel Core Quad Duo (4 procesadores y 8 gigas de memoria), me seguía sucediendo lo mismo, me di cuenta que no era posible

que no hubiera otra solución, que debía existir otra manera de hacer esta operación más rápido y sin esforzar tanto el PC.

La clave era esta función =Coincidir()…. Como le mencionaba, la función =BuscarV() hace demasiadas búsquedas, si tan solo se le indicara en que fila buscar, seguramente se le simplificaría la tarea. Pero

Coincidir funciona MUCHISIMO MEJOR que =BuscarV() cuando la combina con la función =INDICE(). Como su nombre lo Indica, la función Indice toma la tabla de búsqueda, y te pide el numero de la fila y

el numero de la columna en donde se halla el valor que quieres traer.

De igual forma, cuando conocí la función =INDICE(), también la desprecié, pues precisamente lo que

yo necesitaba es que me ayudara a Buscar y traer el dato que necesito, pero si a esta función =Indice() le tengo que decir en que fila y en que columna está el dato…. Entonces ¿Qué es lo que

busca si yo le tengo que decir en donde está el dato?... Nuevamente ¡Que bobada!... Ah, pero es que la cosa cambia cuando ANIDAS o combinas la función =INDICE() con =Coincidir(), usando =Coincidir()

como segundo argumento de la función =INDICE(). ¡La función =Coincidir() le puede decir en que fila

está el dato que estoy buscando!!

Es como si al agente policivo simplemente se comunica con la gente de seguridad de cada piso del edificio y les pregunta que si allí está el sujeto “x”; entonces, el agente de seguridad que lo tenga

registrado le dirá “Señor Policía, el tipo que busca está en el piso 38”; con lo cual, el policía solo tendrá

que ir hasta el piso 38 y buscar al sujeto solo en las oficinas ese piso, es decir en las columnas de esa fila. Haga de cuenta que los de seguridad son la función =Coincidir().

Una cosa que debe saber, tratándose de formulas anidadas, es que Excel comienza por hacer los

cálculos de las funciones “de más adentro”, las mas internas, y los valores hallados los entrega a la siguiente función que anida a la otra, es decir, la que “cobija” o “encapsula” o “Contiene” a la otra. La

de más adentro le entrega el cálculo a la que la anida, y así sucesivamente. Es por eso que en estos

casos, Excel no pierde tiempo rastreando a todo lo largo, lo primero que hace al usar la función =Coincidir() es UBICAR la posición del dato buscado en la fila de la superbase de datos, le entrega la

posición hallada a =Indice(), de tal manera que, =Indice() no pierde tiempo y va AL GRANO, ya puso el ojo, ahora, pone la bala, en lugar de “disparar” a todos los datos en todas las filas y columnas como si

lo hace =BuscarV()

La ventaja? =BuscarV() es un procesador reintenso. Pero si le entregas de una vez la fila en la cual

debe de trabajar la función =Indice(), la función hace un solo Buscar en lugar de buscar a todo lo largo y ancho de la tabla, el tiempo de cálculo DESCENDERÁ DRAMATICAMENTE, TANTO QUE SE

SORPRENDERÁ COMO ME SORPRENDI YO LA PRIMERA VEZ.

Ejemplo: recordando la función =BuscarV():

Page 144: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

144

Mismo caso pero Usando =Indice() con =Coincidir() como segundo argumento de la

función:

Tratándose de archivos con bases grandes, le recomiendo que se monte la función Indice con Coincidir. Coincidir le ahorra el trabajo a Indice diciéndole en que columna buscar. Cuando el cálculo se le tarde

varios minutos, verá como con esta función la cosa se le reduce a unos cuantos SEGUNDOS, o por lo

menos, en lugar de bloquearse el computador, si le saca adelante la búsqueda.

Page 145: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

145

Funciones o Formulas Matriciales

Las formulas matriciales son otras de LAS MEJORES POTENCIALIDADES DE EXCEL. Le recomiendo que las estudie, pues la solución, la mano que nos da en ciertos momentos, sencillamente es una maravilla.

Una formula matricial es una formula que trabaja con una matriz, o una serie de datos. Hay dos tipos

de formula matricial: las que al trabajar con una matriz, devuelven un solo valor en una sola celda.

Algunas funciones que pueden trabajar de esta manera son por ejemplo: =Suma(), =Contar() o =Promedio().

El otro tipo de fórmulas matriciales son las que devuelven valores en una matriz de por lo menos dos celdas.

Formulas que devuelven un solo valor

Por ejemplo, en una forma simple, la formula =FILA(A1:A10) arroja como resultado (o devuelve) el

numero 1, el cual es el número de la celda de la primera fila en el rango A1:A10. Sin embargo, si se ingresa como matricial, devuelve una serie de números, cada uno de los cuales es el numero de la

celda de cada una de las filas en el rango A1:A10; es decir, en lugar de devolver 1, devuelve una matriz

con los números {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. En la notación estándar, cuando se escribe una formula matricial, aparecen dos llaves tipo {}. Cuando

se usa una función matricial, por lo general es contenida en una formula tal como =Suma() o =Contar() para generar la matriz de un solo numero como resultado. Siguiendo con el ejemplo anterior, si se

ingresa la formula =Suma(Fila(A1:A10)) normalmente devuelve el valor de 1. Esto sucede porque en

modo normal, =Fila(A1:A10) devuelve un solo numero,1, y la Suma solo suma un solo valor. Sin embargo, si la fórmula se ingresa como una fórmula matricial, tendríamos{=Fila(A1:A10)} y nos

devolvería la matriz de los números de las filas y la =Suma adicionará los elementos de la matriz dando como resultado 55, que es (1 + 2 + 3 + 4 + . . . + 10).

Para ingresar una formula matricial:

Escriba la formula en la celda y presione Ctrl+Shift+Enter al mismo tiempo. NO se da solo enter, se presiona todo el conjunto de teclas al mismo tiempo. Si lo hizo correctamente, verá como Excel acepta

la formula porque verá las dos llaves {} que rodean la formula. Si no lo hace correctamente, obtendrá

un valor errado o un error tipo #¡VALOR!

Page 146: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

146

Como se forma la matriz de información

La función =SI() puede ser usada en una formula matricial para evaluar el resultado de múltiples evaluaciones al mismo tiempo. Por ejemplo, se podría querer sacar el promedio de los valores del rango

A1:A5, pero excluir los números que son menores que o iguales a cero. Para lograr esto, puede utilizar una formula matricial con la función =Si() para evaluar los valores de las celdas y la función

=Promedio() agregarse al resultado. La siguiente formula haría exactamente ese trabajo:

La formula trabaja evaluando si cada celda en el rango A1:A5 es mayor a 0 ( > 0 ). Lo cual devuelve una matriz de valores booleanos tales como por ejemplo {Verdadero; Verdadero; Falso; Falso;

Verdadero}.

Un valor booleano es un tipo de información que contiene el valor Verdadero o el valor Falso. Cuando

se usan en una operación aritmética, Verdadero equivale a 1 y Falso a 0. La mayoría de las funciones matemáticas como =Suma() y =Promedio() ignoran los valores booleanos, así que deben ser

convertidos a valores numéricos antes de pasar a =Suma() y =Promedio().

La función =Si() evalúa cada uno de los resultados individualmente, y devuelve el valor correspondiente desde el rango A1:A5 esto es Verdadero o Falso. Desglosando como trabajaría la

formula, es algo así como:

=Promedio(Si({Verdadero,Verdadero,Falso,Falso,Verdadero},{A1,A2,A3,A4,A5},{Falso,Falso,Falso,Falso,

Falso})

Note que el Falso del final de la formula {=Promedio(Si(A1:A5>0;A1:A5;Falso))} se expande al tamaño

apropiado del rango de la matriz A1:A5. En las formulas matriciales, todas las matrices deben tener el mismo tamaño. Excel expande los elementos únicos tanto como sea necesario, pero no redefine la

matriz con más de un elemento de otro tamaño. Si la matriz no tiene el mismo tamaño obtendrá errores tipo #¡VALOR!, o #N/A.

Cuando la función =Si() realiza la evaluación, se forma la siguiente matriz intermedia:

{A1,A2,Falso,Falso,A5}.

Observe que los valores verdaderos del primer argumento se reemplazaron con los valores del rango A1:A5. Puesto que La función =Promedio() se diseñó para ignorar valores booleanos, promediará sólo

los valores de A1, A2 y A5, ignorando los valores Verdadero y Falso. Observe que Falso no se convirtió

a cero, por lo que será ignorado completamente por la función =Promedio().

Las funciones matriciales son ideales para contar o sumar celdas basadas en criterios múltiples. Considere la tabla de la derecha; lista el numero de productos (Columna I) en diferentes categorías

(Columna G) vendidas por diferentes representantes (Columna H). Para calcular el número de Fax

vendidos por Brown, podemos usar la siguiente formula:

Page 147: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

147

Resumen de ventas: Fax Vendidos por Brown

Esta función arma tres matrices. La primera matriz es una serie de valores VERDADERO o FALSO, los cuales son el resultado de comparar el rango G73:G81 con la palabra "Fax". (Recuerde que Excel

expandirá el elemento "Fax" en una matriz de ítems, todos los cuales son "Fax"). La segunda matriz también es una serie de valores "VERDADERO" o "FALSO", resultado de comparar H73:H81 con

"Brown" (Este solo elemento "Brown" también se expande al tamaño requerido de la matriz). La tercera

matriz abarca el número de unidades vendidas en el rango I73:I81. Estas tres matrices se multiplican juntas.

Cuando se multiplican dos matrices, el resultado es una matriz en si misma, en la cual cada uno de sus elementos es el producto de los correspondientes elementos de las dos matrices que fueron

multiplicadas. Por ejemplo, { 1 , 2 , 3 } veces { 4 , 5 , 6 } es { 1 * 4 , 2 * 5 , 3 * 6 } = { 4 , 10 , 18 }.

Cuando los valores VERDADERO y FALSO se utilizan en cualquier operación matemática, asumen el valor 1 y 0 respectivamente. De tal manera que la formula de arriba, Excel la expande en tres matrices

:

La primera : (G78:G86="Fax") ---> {Verdadero, falso, verdadero, verdadero, falso, falso, verdadero, falso, falso}

La segunda: (H78:H86="Brown")-----> {Verdadero, falso, falso, falso, falso, falso, verdadero, falso,

falso} La tercera: (I78:I86) -----> { 1 , 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 }

Cuando estas matrices se multiplican, verdadero es 1 y falso 0, con lo que la matriz queda:

{ 1 , 0 , 0 , 0 , 0 , 0 , 60 , 0 , 0 }

Lo cual muestra que Brown hizo dos Ventas. La función =Suma() simplemente cumple su propósito con la matriz resultante y devuelve 61, la cantidad de maquinas Fax que vendió Brown.

Habrá notado que la lógica de la formula que evalúa los productos iguales a "Fax" Y el representante de

ventas igual a "Brown", NO USA LA FUNCION =Y(). En su lugar, se usa la multiplicación * que actúa como el valor lógico Y.

La multiplicación sigue las mismas reglas que el operador Y, pues también devuelve Verdadero o 1 sólo

cuando ambos parámetros son Verdaderos ( o <> 0 ). Si uno, o ambos parámetros son Falsos ( o 0 ), el resultado es Falso ( o 0 ).

Page 148: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

148

Operaciones Lógicas con Formulas Matriciales Así como se indicaba hace un momento que el multiplicador es equivalente a la función =Y(), otras

operaciones lógicas pueden ser llevadas a cabo.

La operación Lógica O puede ser realizada con la Adición. Siguiendo con el cuadro ejemplo,

Lógica O (Fax O Jones):

Cuenta el numero de ventas (no el numero de unidades vendidas) en la cual el producto fue "Fax" O el

representante de ventas fue "Jones" (O Ambos). La adición Actúa como O porque el resultado Verdadero (o <>0) si uno o ambos elementos son Verdadero (<>0). Es Falso, sólo cuando ambos

elementos son Falsos (o 0).

Esta formula monta dos matrices: El resultado de comparar G73:G81 con "Fax", y el resultado de comparar H73:H81 con "Jones". Entonces suma las dos matrices. Cuando sucede esto, el resultado es

otra matriz en la cual cada uno de los elementos es la suma de las correspondientes matrices originales. Por ejemplo, { 1 , 2 , 3 } + { 4 , 5 , 6 } = { 1 + 4 , 2 + 5 , 3 + 6 } = { 5 , 7 , 9 } Para

cada elemento en la matriz suma (G73:G81="Fax")+(H73:H81="Jones"), si el elemento es mayor a cero, traerá 1, de otra forma traerá 0. Finalmente la Suma totaliza la matriz.

Un Exclusivo "O" es una comparación que devuelve Verdadero cuando SOLO UNO de los dos elementos es Verdadero.

Un Exclusivo "O" es Falso cuando ambos elementos son Verdaderos o Falsos. Matemáticamente podemos utilizar la función =RESIDUO() para simular esta operación Lógica. Por ejemplo, para contar el

número de ventas en la cual el producto fue "Fax" o el representante fue "Jones" (Excluyendo los Fax

vendidos por Jones), podemos usar la siguiente formula:

Un "negativo Y" es una comparación que devuelve Verdadero cuando ninguno o exactamente uno de

los elementos es verdadero, pero devuelve Falso si ambos elementos son Verdaderos. Por ejemplo, podemos contar el numero de ventas EXCEPTO aquellas en las cuales "Jones" vendió un "Fax" con la

formula

Page 149: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

149

Por último, la operación Lógica Y puede ser realizada con la Multiplicación. Siguiendo con el cuadro

ejemplo,

Armando una matriz para funciones que no trabajan como matriciales

Cuando Usted está construyendo algunos tipos de formulas matriciales, Usted necesita crear una

secuencia de números para que una función la procese como una Matriz. Por ejemplo, considere una formula matricial que compute el promedio de nNúmeros mas grandes en un rango. Para hacer esto,

utilizamos la función K.Esimo.Mayor para conseguir los números mas grandes, y entonces pasar estos

números como matriz a la función Promedio para calcular el mismo. Normalmente, la función K.Esimo.Mayor toma como parámetro un rango para procesar y un número

que le indica cual número mas grande traer (1 el mas grande, 2 el segundo mas grande, etc.) Pero K.Esimo.Mayor NO trabaja con Matrices en su segundo parámetro. Usted podría intentar escribir la

matriz en la formula: =K.esimo.mayor ( A1:A10 ; { 1 , 2 , 3 } ). El hecho de indexar esto, es un trabajo tedioso.

En vez de eso, Usted puede usar la función =Fila() para obtener la secuencia de números. Usada en una formula matricial, la función =Fila(m:n) devuelve una matriz de enteros desde m hasta n. Por

consiguiente, podemos usar =Fila() para crear la matriz y pasarla a K.Esimo.Mayor. Esto cambia nuestra formula matriz en a =K.Esimo.Mayor ( A1:A10;Fila ( 1:3 ) )

Esto nos lleva por un buen camino, pero quedan dos cositas pendientes:

Primero, si Usted inserta una fila entre los rangos 1 al 3, Excel cambiará la referencia 1 : 3 y por lo

tanto la formula promediará valores errados. Segundo, la formula se circunscribe solo a los 3 valores mas grandes. Podemos hacerla mas flexible haciendo que el número de elementos a promediar tengan

una celda de referencia que sea fácil de cambiar. Por ejemplo, podemos especificar que la celda C1 contenga el tamaño de la matriz para pasarla a

=K.Esimo.Mayor.

Esta tarea se completa con la función =Indirecto(). (La función indirecto convierte una cadena de texto que representa una referencia de celda en una referencia de celda real. La subformula =Fila (

Indirecto( " 1 :" & C1 ) ) devuelve una matriz de números entre 1 y el valor en la celda C1. Ahora, vienen junto a la formula Promedio los n Números más grandes en A1:A10

Así:

Page 150: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

150

Formulas que a su vez devuelven una Matriz

El otro tipo de formula matricial son las que devuelven una matriz de números como resultado. Estas organizan una matriz de formulas que se ingresan en varias celdas como grupo. Por ejemplo, considere

la formula =Fila(A1:A10). Si se ingresa en una solo celda como una formula normal, o como celda matricial, el resultado será 1 en esta sola celda. Sin embargo, si la ingresa en una rango de celdas,

cada celda contendrá un elemento de la matriz. Para hacer esto, primero debe seleccionar el rango de celdas en las cuales la matriz debe escribirse, marque C1:C10 y escriba la formula =Fila(A1:A10) y

presione las teclas Ctrl+Shift+Enter. Los elementos de la matriz { 1,2, . . . . . , 10 } se escribirán en el

rango de celdas, con un elemento de la matriz en cada celda. Cuando realice cambios, debe seleccionar el rango entero nuevamente, editar la formula y volver a dar Ctrl+Shift+Enter. No trate de cambiar un

solo elemento de la matriz.

Algunas funciones propias de Excel devuelven una matriz de valores. Estas formulas deben ser

ingresadas en una matriz (o grupo) de celdas. Por ejemplo, la función =Minversa() devuelve la matriz inversa con un numero igual de filas y de columnas como la matriz invertida. Por lo tanto, si su matriz

está en las celdas A1:B2 (dos filas y dos columnas), debe seleccionar un rango del mismo tamaño, escribir la formula =Minversa(A1:B2) y presionar Ctrl+Shift+Enter. Esta acción ingresa la formula como

una formula matricial en las celdas seleccionadas. Si usa la función Minversa en una sola celda, solo la celda superior izquierda de la matriz invertida será devuelta.

Algunas Funciones Matriciales de Utilidad

Las formulas matriciales pueden hacer variedad de tareas. Algunas formulas misceláneas se muestran aquí.

Sumar ignorando errores Normalmente si hay un error en una celda, la función =Suma() devuelve un error. Esta formula

ignorará esos valores de error. =Suma(Si(Eserror(A1:A10);0;A1:A10))

Promedio ignorando errores

Ignora errores cuando se promedia un rango

=Promedio(Si(Eserror(A1:A10);Falso;Si(A1:A10="";Falso;A1:A10)))

Promedio ignorando ceros =Promedio(Si(A1:A10<>0;A1:A10;Falso))

Suma de valores absolutos Puede sumar un rango de números considerándolos todos positivos usando la función ABS

=Suma(ABS(A1:A10))

Suma de la parte entera solamente

La parte fraccionaria es descartada =Suma(Truncar(A1:A5))

El texto más largo en una celda

=Desref(A1;Coincidir(Max(Largo(A1:A10));Largo(A1:A10);0)-1;0;1;1)

Page 151: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

151

Formulas Matriciales Vs Formulas Normales

Hay una diferencia considerable entre lo que se puede hacer con formulas matriciales y las funciones propias de Excel, tales como =Bdsuma(), =BdContar() y muchas otras. Es claro que las funciones o

formulas normales son mucho mas rápidas que una formula matricial; ya se vio todo el análisis que arman para emitir un resultado. Si tiene un libro grande y complejo, notará que los cálculos tardan más

tiempo que si tuviera sus formulas montadas como funciones normales.

Las principales diferencias son:

Las funciones propias de Excel son más rápidas.

El criterio de selección de las funciones normales o propias reside en las celdas. Las formulas

matriciales pueden montar el criterio de selección directamente en la formula.

Las funciones normales devuelven un solo valor en una celda. Las matriciales pueden devolver

una matriz en varias celdas.

Page 152: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

152

Ejemplo práctico de formulas matriciales sobre una base de datos de mascotas

En este ejemplo (que en realidad puede ser cualquier otra cosa, datos de un Kardex, repuestos, o un informe de ventas) se presentan algunas formulas matriciales que Usted podrá aplicar a su día a día

contable.

En la siguiente imagen verá cada una de las funciones matriciales que se pueden montar:

Page 153: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

153

Page 154: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

154

Pasar los datos de un libro diario a libro mayor

El siguiente es un ejemplo de libro diario

Mediante una formula matricial es posible mayorizar las cuentas AUTOMATICAMENTE, es decir, EN LINEA, INSTANTANEAMENTE en otra hoja de Excel:

(Este ejemplo es revolucionario….Pequeñas contabilidades se pueden JACTAR de tener constantemente sus estados financieros al ir ingresando información en la hoja diario)

Page 155: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

155

Puede ver que se sigue el mismo esquema de la tienda de mascotas, aplicado a un caso contable.

La formula se monta en la columna de acuerdo a su naturaleza, así, si una cuenta arroja saldo negativo sabrá que está en contra de su naturaleza.

Este cuadro de Libro Mayor no tiene que volver a tocarlo, salvo que exista una cuenta nueva, o necesite ampliar el rango. (Ojo con eso). Salvo lo anterior, siempre se le actualizará automáticamente.

Que hace esta formula: Puede ver que hay dos condiciones Si. (Se colorean para que las pueda ver fácilmente)

(Se asume que Usted ya leyó la parte teórica que explica como se forma la matriz de información).

El primer Si evalúa si el mes de la columna del mes del libro diario coincide con el mes del libro mayor. Puede ver que el mes del libro mayor es $B$17. Observe que dentro de ella se usa la función =Mes()

que extrae el número de mes tanto del diario como del mayor. Si esta condición se cumple, indicamos

1, sino, 0.

Recuerde que el * multiplicador hace las veces del Y. (Y uno es equivalente a verdadero y cero, es equivalente a falso)

El segundo Si, compara el numero de cuenta de la columna diario contra la celda que lo contiene en el mayor. Esta celda es móvil, es decir, no está amarrada con $, (como es el caso del mes), pues en cada

renglón necesitamos que haga la evaluación en la cuenta siguiente. Si esta segunda condición se cumple, indicamos 1, sino, 0.

Si los parámetros anteriores son ciertos, pasará para cada uno de los casos evaluados de la matriz un 1

x 1 = 1, (Un 1 de la matriz del primer Si, y un 1 de la matriz del segundo Si) y los casos en que sean 1,

se multiplicarán por la columna Débitos menos la columna Créditos. Los casos evaluados en los que el resultado sea un cero, no traerá ningún valor, pues recuerde que todo numero multiplicado por cero es

cero. Utilizar nombres en lugar de Rangos facilita el manejo, pero considero que es mejor que mientras

aprende, visualice los rangos como tal.

Recomendación: Siempre que compare un criterio entre tablas o bases de datos, asegúrese de que son

los mismos. No es lo mismo una cuenta 111005 en formato número que en formato texto. Tampoco si una de ellas

tiene un espacio o un punto intermedio. Depure todo eso antes y asegúrese que no tendrá problemas

por esta causa. Haga pruebas por su propia cuenta, y familiarícese con este tipo de formula matricial. La primera vez que yo la escribí, escribí las llaves por no detenerme un momento y leer que después de

escribirla, debía dar Ctrl+Shift+Enter al mismo tiempo. Sobra decir que el mes también debe ser consistente en ambos lados. Observe muy bien la colocación

de los paréntesis y tenga paciencia si no le sale como espera después del primer intento. Analice que está haciendo y verifique.

Las formulas matriciales son simplemente Fantásticas. Siguiendo este procedimiento puede montar

Informes de todo tipo, y para todo tipo de área de la organización. Solo HECHE MANO DE SU RECURSIVIDAD Y APLIQUE los conceptos dados a su vida profesional.

Pero, Siempre hay un pero, como las formulas matriciales realizan muchos cálculos, pueden volver lento

su equipo. Y esta verdad si que era terrible en la época en que se escribían en computadoras con

procesadores “Lentium” de 500 Mhz. Una ventaja ahora es la tremenda velocidad de los procesadores, y que seguirá en aumento. Pero no abuse de las matriciales. Si la maquina computadora tiene poca

memoria, el cálculo le podría presentar un resultado que NO ES VERDAD. Y esto, puede ser hasta la causa de su despido por presentar a su jefe datos errados. Sea Escéptico y metodológico

SIEMPRE.

Page 156: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

156

A continuación hay otro caso de esta misma naturaleza que estoy seguro se estará preguntando como

realizar.

El valor de la celda F89 totaliza todas las cuentas que tienen por raíz 110. Para eso nos valemos de las funciones Valor e Izquierda. Izquierda extrae los 4 primeros dígitos, y dado que al extraerlos los deja

con formato texto, con la función valor los convertimos en un dato numérico, para que pueda ser sumado a todo lo largo de la matriz. Esta función es muy similar a =Sumar.Si(), pero con la ayuda de

estas otras dos funciones, se salva esta dificultad.

Puede seguir anidando sumas condicionales para le caso de que desee sumar ciertos centros de costo,

y después ciertos números de Nit, o todos los criterios que necesite; con este tipo de formulas puede montar los informes que su imaginación “a bien tenga”: Cuadros de mando, Reportes gerenciales,

reportes de costos, verificación de saldos, cedulas sumarias, etc.

Page 157: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

157

Usando formulas matriciales para hacer la explosión de producción.

Las formulas matriciales son una solución para esta tareíta relativamente compleja de hacer a la que se

enfrentan algunos Contadores cuando para el mes de noviembre deben de tener listo el presupuesto del año siguiente de la Compañía.

Lo primero que le recomiendo, si usted es el Contador a cargo, es que se asegure y REVISE que los

códigos de materiales, de materias primas, de productos terminados del sistema contable, SON LOS MISMOS que se manejan para las áreas de compras, producción, planeación y contabilidad. El que

“manda la parada” debería ser el código como está creado en el sistema contable. (Aunque a veces prefiero la definición o nombre que da el proveedor-fabricante del insumo, pues se supone que ellos

saben más de eso que la empresa que es el cliente). He visto como la gente de planeación tiene un

nombre similar para ciertos insumos, los de compras por lo general se refieren al mismo de igual forma como lo llaman los proveedores, los jefes de producción apelando a su experiencia de varios años los

llaman de otra forma… En fin, uno se encuentra con varios nombres para el mismo insumo. Esto es un problema grave. Pues al Contador, los de compras le pasan los precios negociados de los insumos con

los proveedores con “sus nombres”, los de planeación pasan el dato de lo que esperan vender y por lo

tanto producir, también con sus “nombres” y el contador en medio de ellos, debe de hacer que los códigos primero que todo sean consistentes con los Ítems del inventario para poder hacer la explosión.

Porque? Porque recuerde que hay un inventario inicial de insumos, y este inventario lo da el sistema. Así que si los códigos y descripciones no concuerdan, tendrá un “Sancocho” de códigos de insumos en

su inventario, y muchos de ellos se refieren a la misma cosa.

Entonces, es mucho el tiempo que se pierde haciendo estas equivalencias, porque para la señora o el señor de compras el Ítem se llama de una manera, para el señor o señora de planeación de otra, y en

el sistema el código, para completar el moño, también es distinto. Y el contador allí, tratando de agarrar ese trompo con la uña y unificar a todo mundo, finalmente trabajando el doble o el triple.

La idea es que como verdadero administrador de la información, con ayuda del señor de sistemas, si lo

hay, pongan a todo mundo hablar el mismo lenguaje de códigos de Ítems o de Insumos.

Una vez salvado lo anterior, la explosión de producción será cosa de montar una formulita matricial.

Cuál es la base de la explosión de la producción? La tarjeta estándar de producción. La que contiene

cuanta materia prima, materiales, mano de obra y otros costos y gastos indirectos consume hacer una unidad de producto terminado.

Por ejemplo, si en el garaje o patio o solar de mi casa preparo una especie de bebida espirituosa, debería tener una relación de Ítems o insumos que necesito para que una unidad de mi bebida quede

perfecta. Un ejemplo puede ser la siguiente información en Excel:

Page 158: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

158

Esto básicamente es la misma cosa ya sea que se trate de una cerveza, una bebida hidratante o un té.

Al comienzo del libro le comenté acerca de organizar la info en forma de base de datos no? Porque así como está esa lista, no le facilita mucho las cosas a Excel. Entonces, esa info se organiza y se deja así:

Así sucesivamente para los 500 o 1000 productos de su compañía. Arma la superbase de datos.

Entonces, mi Gerente de Ventas habiendo estudiado el mercado y toda la cosa, me pasa una hoja en

Excel con la lista de todas las ventas que planea hacer y me dice que para el año entrante planea vender 50.000 botellas de mi exclusivo Chirrinche panela 250, así como de mis demás presentaciones y

me pasa una hojita en Excel así:

Entonces, a la pregunta, Cuantos insumos necesito tener para satisfacer las expectativas de venta de todos mis productos, monto la explosión de producción con una formula matricial así:

Page 159: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

159

La formula en F2 es: {=SUMA(SI($A$14:$A$17=A2;1;0)*($B$14:$B$17)*E2)}

Como ve, es la misma fórmula matricial que siempre se viene usando en los demás ejemplos vistos.

Por supuesto, también se puede escribir así: {=SUMA(SI($A$14:$A$17=A2;($B$14:$B$17)*E2))}

Supongamos que la info de ventas está dividida en meses, y debemos obtener las cantidades

requeridas por mes:

Entonces anidamos otra condición, la del mes, así:

Page 160: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

160

La formula en F2 es esta que le muestro aquí arriba: analice los rangos, vea como el rango que multiplica la cantidad unitaria del insumo, se multiplica por un rango que lo conforma TODO EL BLOQUE

de cantidades de producto terminado a Vender:

Esta es la manera en que puede ir anidando más Sís, en caso de que apareciera otra variable.

Después de esta explosión, por lo general viene la de las compras. Teniendo ya las cantidades que necesita comprar, ahora necesitaría CUANTIFICAR el costo de esos insumos, para eso, tendrá que

hacer algo similar, pero ya no contra el presupuesto de ventas, sino por la lista de Insumos POR

PROVEEDOR. Estos proveedores también puede que hayan informado que los incrementos los harán en Marzo y en Septiembre por ejemplo. Veamos cómo sería en el ejemplo que me inventé de mi

Aguapanela Chirrinche:

Page 161: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

161

Ok, ahora lo vamos complicando mas (ósea, ahora le ponemos los incrementos por proveedor en el mes que ellos hayan informado). (Ojo, los proveedores por lo general indican el precio por mil, diez mil

unidades, DEBE de calcular el precio de una unidad.) Por ahora, tenemos que esas cantidades requeridas que ya armamos en una sola formula, necesitamos multiplicarlas por el precio de venta de

estos proveedores.

Pero si se fija, observe que algunos proveedores ofrecen un precio más competitivo, como es el caso de

Panelas del Cauca, me vende 1.000 por 28.000 en lugar de los 30.000 que me cobra Panelas del Valle. Ya sea que Usted considere siempre el mayor o menor precio, puede Usar nuevamente una función

matricial basada en la Función =MAX() que le devuelve el valor máximo de una lista, o =MIN(), que le

devuelve el más económico. Para eso, se sigue la misma metodología y le metemos otro sí, que según sea el proveedor, busque el más alto y multiplique por la unidad.

Por ejemplo, la sola función matricial =MAX() quedaría así:

Bueno, con el ánimo de que vea la imagen lo más completa posible, la verá en la siguiente página:

Page 162: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

162

Observe que nos devuelve el precio Máximo de la lista de proveedores. Lo único que necesita es unir

esta fórmula matricial con la otra, con lo cual, las 417 unidades de Aguapanela que necesitará en Enero deberán costar $12.500. La formula quedaría así:

La función en F2 es:

{=SUMA(SI($A$14:$A$17=$A2;SI($B$13:$M$13=F$1;($B$14:$M$17)*$E2)))*MAX(SI($A$21:$A$34=C

2;$D$21:$D$34))}

Visualizar todo el rango ayuda a comprender como es que se relaciona la formula matricial con las tablas ventas y proveedores. Para efectos pedagógicos, se han colocado las pequeñas tablas en la

misma hoja de cálculo, para facilitar la comprensión de cómo es que se monta, y para que me ocupara

en un solo gráfico, oculté algunas filas, para que se pudiera ver todo el rango del nuevo cuadro proveedor, además, le dí F2 Modo Edición a la celda para que los colores faciliten la apreciación de los

rangos de la función:

Page 163: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

163

Solo debe tener en cuenta la ultima parte de la función, desde donde comienza =MAX(). La parte anterior, ya vimos como es que se montó.

De manera similar, si tiene el dato de CUANDO es el MES que los proveedores harán el incremento,

podrá anidarlo de manera similar a como tuvimos en cuenta el mes en las ventas: Para que vea bien el cambio, la hoja de los proveedores la presentarían mes a mes así:

(solo voy a poner dos meses para no extenderme mucho en el gráfico):

Entonces, la formula MAXIMO, tiene ahora que encontrar el máximo del mes, no de todo en general. Si no considera el mes, le calculará que para enero, usara el valor máximo de la aguapanela, que es de

50.000, que es el precio pero de MARZO. Si se fija, le hice incrementos TREMENDOS, para que vea el efecto en los meses, en los dos primeros Insumos:

Page 164: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

164

Esta otra imagen le muestra cómo es que ya se pone a “jugar” el rango mes del proveedor, puede ver que como no se han definido los precios de los demás meses de los demás insumos, la función

devuelve cero.

Espero que esta técnica le sea de utilidad, Es una manera de trabajar. Pero como le advertí

anteriormente, cuando se arma la función, y la copias para miles de productos, te recomiendo que tengas una muy buena computadora, pues estas funciones consumen mucha memoria, y a tu compu le

puede dar una “Embolia” Cerebral, pues los cálculos pueden ser demasiados, y en lugar de blanquear

los ojos, como un humano, blanqueará la pantalla de tu computador.

Page 165: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

165

Como corregir las fechas, de texto a Excel y de Excel a Texto

Si usted trabaja con Excel, tarde o temprano encontrará problemas con las fechas; particularmente si dichas fechas han sido bajadas de otro programa.

De Fecha Texto a Fecha Excel

Hay dos métodos para arreglar estas fechas: con formulas y con la herramienta Datos - Texto a

Columnas

Arreglando las fechas mediante formulas:

Para arreglar estas fechas, vamos a usar algunas formulas de texto que nos harán este gran favor:

En fecha texto vamos a indicar la misma fecha, pero con diferente orden en cuanto dia,mes y año; para que observe como la misma formula usada se adapta a este orden cronológico cambiando el orden de

las formulas internas. A la nueva fecha (que tiene la formula incluida) se le aplica el formato de fecha que usted quiera.

Fíjese que las formulas buscan extraer primero el día, luego el mes y por ultimo el año. Una vez la vieja fecha esté corregida, puede copiarla y pegarla con pegado especial solo valores, para

que quede el

Numero que Sí es aceptado por Excel como fecha. (No está de más indicar que Excel maneja las fechas como un número, que va

desde el 1 de enero de 1900 (numero 1) hasta el 31 de diciembre de 2100 (numero 73415)).

Arreglando las fechas mediante la herramienta Texto a Columnas:

Ubicado en la fecha a corregir, vaya al menú Datos, Texto en columnas.

Hace Clic en Siguiente DOS veces mas, hasta que llegue al paso en el cual se asigna el formato. Como este caso que tenemos es MES, DIA, AÑO, pues selecciona MDA. Y Clic en Finalizar, y listo.

Page 166: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

166

De Fecha Excel a Fecha Texto:

Hay que tomar la fecha e irle extractando el dia,el mes y el año; insertando un condicional para aquellos casos en los que el día o el mes son menores a 10, caso en el cual se debe indicar que incluya

un carácter "0".

Dependiendo del lugar del mes, día, año, deberá acomodar su formula. Se indica un segundo caso en el cual se necesita dejar solo los dos últimos dígitos del año.

Page 167: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

167

Técnicas que conviene saber

Copiar una hoja

Aparentemente puede parecer que copiar una hoja es una cosa sencilla, pero a veces cuando la

copiamos algunas cosas no nos quedan como quisiéramos, ya que una hoja de trabajo contiene más

que los datos y las fórmulas. Están los datos de la configuración de la página; los anchos de columna, etc. Cuándo se copian las celdas de una hoja de trabajo a una nueva hoja de trabajo, solo se copia el

contenido de la celda, pero no se copian los Metadatos (información de configuración) de la hoja.

Hay varias variaciones al copiar o mover una Hoja.

Como hacer la copia:

1) Si va a hacer una copia de una hoja en el mismo libro, simplemente presione la tecla Control y con el puntero del ratón arrastre la hoja a una nueva posición.

2) La nueva hoja tendrá un nuevo nombre que para distinguirse de la original, tendrá al final un (2), si esta hoja copiada (2) la vuelve a copiar, su nombre se distinguirá con un (3), etc.

3) Para acceder a las opciones del comando mover o copiar, seleccione la hoja y haga clic con el

botón derecho, verá un menú emergente aparecer, en cuanto aparezca, seleccione “Mover o Copiar”:

4) En cuanto haga clic en mover o copiar, aparecerá la configuración por defecto, si escoge mover, Excel cambiará la hoja a la nueva ubicación en el libro. Esto es innecesario, puesto que

simplemente lo puede hacer al seleccionar la hoja y arrastrarla a la nueva localización.

5) Al escoger Crear una copia, Excel hará una copia exacta de la hoja:

Page 168: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

168

6) Finalmente, utilice la lista desplegable. Si usted quiere hacer una copia del libro en un nuevo

libro o copiarla en un libro abierto:

Usar el comando ofrece algunas ventajas, que si utilizara la opción de copiar y pegar celdas:

Excel copiará:

Anchos de filas y altos de columnas

Formato de celdas

Información de la configuración de la impresión, tal como encabezados y pies

La configuración de los escenarios

Page 169: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

169

Mostrando los números en formato de miles

Esta técnica es útil cuando se requiere revisar cifras, pero queremos verlas en miles o millones.

Debe de colocarle un formato personalizado. Seleccione botón derecho y en el menú emergente escoja

formato de celdas, o bien presione la combinación de celdas Control + 1, de esta manera aparecerá el

cuadro de diálogo relacionado con el formato de celdas:

En la categoría vaya a “Moneda” y coloque CERO decimales:

Ahora, NO HAGA clic en Aceptar, vaya a la última opción, “Personalizada”. Observe que está iniciando

con un formato de moneda; “$#,##0#”. Ese es el formato que Excel utiliza para mostrarle el número en formato moneda con cero decimales:

Page 170: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

170

Ubíquese debajo de Tipo, y después del signo # coloque un punto. Si no le funciona, revise como es el punto separador de miles y de decimales en su computadora:

Si desea que le salga el separador de miles, agregue un signo numero, un punto y dos signos de

número, como se muestra a continuación.

Page 171: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

171

De esta manera, no tendrá que ponerse a dividir las celdas por mil en una columna anexa.

También puede colocar la letra “M” de miles directamente en el formato condicional:

Solo agregue entre comillas la letra M, así:

Ahora, si la cifra que tenemos aquí la desea reducir a Millón, adicione un punto adicional (si en su caso no funciona el punto, ensaye la coma, como le dije, fíjese en la configuración numérica de su equipo)

Y colocarle una doble M para indicar que está viendo cifras de millón, hace lo mismo que cuando

colocamos la M anterior:

Ahora solo le resta copiar y pegar el formato a las demás celdas en donde desea que el surta efecto el

formato que acaba de personalizar:

Page 172: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

172

Cada punto al final del formato personalizado del número causará que se muestre el número dividido por otro mil. Para mostrar los números redondeados al cien mil más cercano, es válido combinar una

posición decimal seguida por dos puntos:

Si quiere que no se vea 10,3 millones, sino 10,38 millones, coloque otro cero:

Le recomiendo que haga algunas pruebas en su Excel para que coja dominio de la técnica y no la olvide

tan fácilmente.

Page 173: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

173

Montando Subtotales

Los Subtotales son muy útiles, y más de uno los sabe hacer. Sin embargo se incluyen aquí para aquellos que todavía no los conocen:

Como su nombre lo indica, el subtotal es una herramienta que hace precisamente eso, le inserta

subtotales en donde Usted así lo indique al cuadro de dialogo. Por ejemplo:

Uno pudiera desear saber, cuanto son los salarios (la columna que aquí se ve como “Basic Salary”),

pero totalizados por la columna A “Área”.

Para lograr eso, ubíquese dentro de cualquier lugar de la tabla, preferiblemente en la celda A1.

Primero que todo ordene la información, de manera tal que las agrupaciones le queden consistentes.

Para el caso del ejemplo, Primero se ordenan las áreas (Columna A), luego por el Cargo (Columna C, “Designation”). Si no se asegura de que la clasificación de los datos siga el orden necesario, Subtotales

hará un efecto completamente distinto al que queremos.

Después de ordenar la info, en Excel 2007, vaya por el menú DATOS:

Allí, vaya a la sección de la derecha ESQUEMA, escoja Subtotal:

Page 174: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

174

Si estas en Excel 2003, ve por el menú Datos, Subtotales:

En cuanto haga clic allí, le saldrá este cuadro de diálogo: Es el mismo para ambas versiones:

Entonces, “Para cada cambio en:” hay una pestañita que se puede DESPLEGAR, allí están todos los Rótulos o Títulos de Columna. Se despliega y se escoge POR CUAL COLUMNA queremos Subtotalizar.

En Usar función, por lo general se totaliza con Suma, pero también se puede usar las funciones Contar, promedio, máximo, mínimo, producto, contar números, desviación estándar, entre otras.

Seguidamente, ACTIVAMOS las casillas de verificación en los campos que deseamos, para el caso,

queremos Subtotalizar por la columna “Basic Salary” (Salario Básico):

Page 175: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

175

Así quedaría para el cuadro de la imagen, la selección. En cuanto se hace clic en OK, nos queda la info así:

Ya puedes ver lo maravillosa que esta opción. Excel automáticamente le inserta una nueva fila entre

cada AREA. Y entre cada área, se incluye una función llamada Subtotal.

Page 176: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

176

Observe que Excel “montó” tres botoncitos pequeños en la esquina superior izquierda:

Si presionas el botón 2, Excel solo le muestra las filas de los subtotales.

Puesto que se muestran solo los subtotales, puede ser bueno, poder copiar solo los subtotales en un

libro nuevo, PERO, si seleccionas las celdas, las copias y luego las pegas, verás que IGUAL, te copia todo, hasta lo que está oculto….

Para que le copie solo los subtotales, haga esto:

Seleccione desde Gran total hacia arriba:

Page 177: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

177

En Excel 2003 vaya por el menú Edición – Ir A. En la ventana que le salga, haga clic en ESPECIAL.

En Excel 2007 Escoja la Ficha INICIO – EDICION – BUSCAR Y REEMPLAZAR – IR A ESPECIAL:

En el siguiente cuadro, escoja Solo celdas visibles y presione OK.

El resultado será que Excel escogerá solo las filas visibles. Ahora, al copiar, podrá ver como Excel solo

selecciona las celdas visibles:

Page 178: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

178

Y solo pega lo que seleccionó, así:

Page 179: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

179

Como se quitan los Subtotales

Para quitar los subtotales, te ubicas dentro de zona o región de la hoja de cálculo en donde se

encuentran los subtotales y nuevamente seleccionas la opción Subtotales, una vez que te salga el cuadro de diálogo, haces clic en el botón “Quitar Todos”.

Adicionando un segundo nivel de subtotales

En el ejemplo en el cual vengo ilustrándole el tema, se podría desear tener otro subtotal dentro del que

ya hicimos, por ejemplo, tener también los totales por Cargo (“Designation”).

Ubíquese dentro de los Subtotales. Nuevamente seleccione la herramienta Subtotales. En esta ocasión,

seleccione la casilla “Designation” y ADEMAS DESACTIVE la opción “Reemplazar subtotales actuales”, así:

Haga clic en aceptar: Le quedará el Subtotal INTERNO que le suma además los totales por cargo.

Observa la imagen en la siguiente imagen:

Page 180: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

180

Ahora, si en la esquina presionas el botoncito 1, se comprime todo y te queda así:

Si oprimes el botoncito 2:

Si oprimes el botoncito 3:

Page 181: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

181

Y si oprimes el botoncito 4:

Y así, sucesivamente… si hubiera necesidad de mas subtotales Internos o anidados, esta es la manera de hacerlos, y de usarlos.

Page 182: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

182

Una forma de revisar los números consecutivos

Este es un tema que inicialmente iba a ser el ejemplo 4 de la función Sí. Pero me pareció mejor sacarlo como tema aparte. Mediante la función Si, podemos revisar si los números consecutivos no presentan

saltos o números faltantes. Una tareíta que hay que hacer frecuentemente en una auditoría. Supongamos que ya tenemos la información y la tenemos así:

En este ejemplo, la primer columna se refiere al código del tipo de comprobante, la segunda columna,

la B, el número. Pero si se fija que todas las celdas tienen una pestañita verde, señal inequívoca que

indica que Excel ha detectado que en esas celdas hay un número pero se le está dando tratamiento de Texto. En la tercer columna está la fecha.

La revisión de los consecutivos la hacemos sobre el principio de que si un número consecutivo es

correcto, la diferencia de los dos debe ser igual a 1. Pero, antes de hacer la formula, se debe de poder

trabajar el numero consecutivo como un número, así que primero que todo, en la columna D, transformamos o convertimos el número del consecutivo en un dato que de verdad sea numérico,

habilitado para que Excel pueda hacer cálculos. Entonces, en la columna D, usamos la función =Valor() y la direccionamos hacia la celda que contiene el número consecutivo, así:

Page 183: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

183

Hacemos la fórmula y la copiamos a todo lo largo. Solo para efectos didácticos, en la columna E, le

estoy mostrando cómo es que se escribe la formula que está en D2.

Ok. En la columna E, vamos a montar esta verdad: El número consecutivo de la siguiente fila, menos el

número de la fila actual, es igual a uno:

Como en este caso, 357894 menos 357892, es una VIL MENTIRA, (je-je) pues Excel nos devuelve

Falso:

Sobre esta Prueba lógica comenzamos a montar la formula que nos revisará los números consecutivos, y la mejoramos, con la función Si, Así:

=Si(Celda siguiente menos celda actual igual a Uno; no me indique nada, si no es igual a uno, dígame

que hay un salto de consecutivo)

Este rollo quedaría así:

Page 184: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

184

La formula en E2 es:

=SI(+D3-D2=1;"";"Hay un salto en el número consecutivo")

Que cumple a cabalidad lo que queremos. La prueba lógica es +D3-D2=1 si es verdadero, no colocará

nada, esto se indica con las dobles comillas “” sin espacio intermedio entre ellas. Si es falso, se coloca el mensaje entre comillas “Hay un salto en el número consecutivo”. La formula se copiaría hacia abajo,

y pues allí ya se cumpliría el cometido. Sin embargo, la función se puede mejorar, pues en la diferencia

entre 357892 y 357894 que es DOS, falta el 357893. Podemos usar el prefijo concatenador & (Ampersand) que por lo general está en su teclado en la tecla 6, y amarrar el valor de la celda, sumarle

un uno, e incorporar el número faltante al mensaje. Y esto se puede indicar en la función, así:

=SI(+D3-D2=1;"";SI(D3-D2=2;"Falta el número "&D2+1;""))

Sin embargo la cosa no para allí, pues habrán más casos en los cuales la diferencia no será un solo salto en el consecutivo, sino varios consecutivos. Siguiendo la misma técnica, podemos hacer que el

mensaje nos diga cuales son los números que hacen falta, así:

La formula se mejora mediante otro Sí:

=SI(D6-D5=1;"";SI(D6-D5=2;"Falta el Numero "&D5+1;SI(D6-D5>2;"Falta desde el Numero "&D5+1&" Hasta el Numero "&D6-1;"")))

Page 185: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

185

Una vez montada la formula, solo necesita, mediante un filtro excluir las celdas en blanco, y ya sabría cuales son los saltos en los consecutivos.

Otras maneras de encontrar los números consecutivos faltantes, pueden hacerse también con la ayuda

de la tabla dinámica, enfrentando o cruzando una serie completa que uno mismo confeccionaría, contra

la serie de consecutivos que nos están pasando. Así, la tabla dinámica nos mostraría que el número solo existe en nuestra serie completa, y que falta en la serie real.

Pero para hacerlo mediante tabla dinámica tiene que aprenderla a manejar, y eso lo veremos más adelante.

Page 186: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

186

Asignar nombres a tablas, celdas o rango de celdas.

Una manera de simplificar la escritura de las formulas es asignándoles un nombre a las celdas o a los rangos, o a un grupo de celdas o incluso una tabla de datos.

Por ejemplo, en lugar de tener que referirnos a un rango como A1:A5, podemos “bautizar” ese rango

con un nombre, por ejemplo ponerle “Nombres”:

De tal manera que, si hacemos una fórmula que se refiera a ese rango, ya no tendremos que escribir A1:A5, si no nombres.

El cuadro de nombres está ubicado en donde dice A1.

Si allí, escribe nombres, Excel reconocerá en adelante que ese

rango se denomina “nombres”

Cualquier rango, ya sea numérico, de texto, una tabla de datos, se puede nombrar, y en las formulas

que introduzcamos, podemos usarlos, y así, queda mucho más fácil saber de qué es que se trata una formula. Es normal que pase el tiempo y se dificulte la lectura, mas, si en lugar de ello, se usan los

nombres pues es mucho más fácil.

Page 187: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

187

Formato Condicional Formato se refiere a la estructura, patrón, diseño, organización de las celdas.

En Excel las celdas se pueden combinar, (si tienes un texto o un título muy largo, y quieres que cubra

varias celdas las puedes FUSIONAR, como si fueran una sola), se pueden colorear, se les pueden colocar patrones de textura, se les pueden colocar bordes, lo que contienen se puede formatear

también, colocándole un color al tipo de letra, cambiar el tipo de fuente (estilo de la letra) repintarla

(ponerla en negrita o negrilla), inclinarla (Cursiva), colocarle una rayita debajo, (subrayado).

El formato condicional ES: dependiendo del contenido de la celda, hacer que Excel Automáticamente le ponga un formato.

POR EJEMPLO:

Supongamos que tenemos un MONTON de transacciones. Queremos UBICAR rápidamente las que están fuera de lo normal, por ejemplo, encontrar las más grandes, las más pequeñas o las que se

encuentran por encima del promedio.

Formato condicional en Excel 2007

Una de las TREMENDAS MEJORAS que le hicieron al nuevo Excel, incluyeron este tema. La facilidad para APLICAR el formato condicional con las funciones de ORDENAR POR COLOR es Espectacular.

Para ubicar los valores más grandes en un rango, seleccione un rango de datos NUMERICOS.

1. En la Ficha INICIO Escoja el grupo ESTILOS. Despliegue la pestaña:

Page 188: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

188

2. Vamos a escoger 10% mejores. Si no le gusta el estilo que Excel le trae por defecto, puede

armar el que a bien tenga:

Tan pronto escoja 10% le resaltará automáticamente el valor que cumple la condición. Al

desplegar la pestaña, obtiene estás opciones:

Si da clic en Formato personalizado, podrá CUADRAR a su gusto el formato condicional.

Page 189: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

189

Encontrando las transacciones de la ÚLTIMA SEMANA

Si una de las columnas contiene fechas, el formato condicional en Excel 2007 puede encontrar fácilmente fechas que cuadran en un rango de fechas. Siga los siguientes pasos:

1. Seleccione un rango de fechas

2. Clic en formato condicional

3. Seleccione RESALTAR REGLAS DE CELDAS 4. Seleccione Una fecha:

5. En la siguiente ventana de diálogo despliegue la pestaña donde puede escoger el periodo

de ocurrencia, tal como ayer, esta semana, siguiente mes. Los rangos se reevalúan cada

vez que el libro se abre. Si configura “HOY” verá diferentes celdas resaltadas, dependiendo de la fecha en el reloj del sistema.

Page 190: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

190

Usando Íconos para marcar valores

Los íconos son una nueva funcionalidad en Excel 2007.

1. Seleccione nuevamente el rango de valores. En el formato condicional, escoja conjunto de

íconos. Luego, más reglas:

2. En el cuadro de diálogo primero escoja un estilo de íconos, a medida que vaya escogiendo un estilo, verá cómo van apareciendo los mismos al lado de los valores sobre el rango

seleccionado, observe:

Page 191: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

191

3. Si hace clic en MAS REGLAS (no administrar reglas, MAS REGLAS, las de la imagen anterior a esta) puede definir 3, 4, o 5 categorías. Luego use la cajita de valores para definir los

porcentajes:

Page 192: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

192

Usando el estilo escogido el rango de valores nos queda:

Estos semáforos son muy útiles para que Excel nos coloque alertas de auditoría o para cumplimiento

de metas.

Nosotros que nos la pasamos mirando numeritos, esta es una excelente ayuda para CLAVAR EL OJO en

donde necesitamos sin necesitar de revisar los valores UNO A UNO.

Page 193: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

193

Barras de datos

Otra característica NOVEDOSA de Excel 2007, son las barras de datos. Nuevamente seleccione Formato

condicional

A medida que va seleccionando un estilo, se va formateando la celda con una escala de color relativa al

tamaño de cada número.

El formato Condicional en Excel 2007 es sencillamente ELEGANTE.

A continuación, en la página siguiente, otra imagen:

Page 194: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

194

Tenga en cuenta NO INCLUIR en el rango el total del mismo. El valor más grande tomará automáticamente la barra más larga, y hará que el resto de las barras se vean insignificantes.

Las escalas de color funcionan de manera similar a las barras, aquí una imagen:

Ahora, en la opción MAS REGLAS, podemos cuadrar las opciones a nuestro gusto y necesidad:

Page 195: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

195

Aquí, se ha personalizado la barra, con la base de 10 y 90% respectivamente para la barra más corta y

la más larga. Como puede ver, hay varios tipos de reglas en formato condicional que se pueden aplicar.

Montando ICONOS solo al 10% MEJOR

Cuando se aplican los íconos a un rango, uno de los inconvenientes es que a cada celda se le asigna un

ícono, así que se forma una MEZCOLANZA de Íconos:

Sería mucho mejor si solo se le colocan íconos al 10% mejor. Para configurar este formato condicional hay que decirle a Excel que

1. Primero seleccione un juego de Íconos.

Page 196: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

196

2. Luego vaya a Formato condicional, Administrar reglas

3. En administrar reglas, escoja Conjunto de Íconos y haga clic en NUEVA regla:

4. Configure la regla similar a la figura que le presento a continuación:

Escoja aplicar formato únicamente a los valores con rango inferior o superior. En la lista

seleccione INFERIOR. Escriba 90. Dele clic a la casilla de verificación “% del rango seleccionado”

Page 197: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

197

5. Clic en Aceptar, y active la casilla de verificación “Detener si es verdad”:

6. Clic en Aceptar.

En la siguiente imagen, ahora sí, verá que SOLO SE MONTA ÍCONO a los mejores 10%:

Page 198: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

198

Se puede usar una metodología similar para aplicarle una barra verde a los mejores 33% y una barra

roja al 33% de los registros más bajos.

Usando Formato Condicional en Excel 2003

El formato condicional en Excel 2003 comparado con las nuevas características de Excel 2007 no es tan

bueno. No ofrece juego de íconos, barras ni escalas de color.

El formato condicional lo encuentra por el menú Formato – Formato condicional. En esa opción puede

resaltar las celdas que son más grandes que un valor particular:

Page 199: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

199

Haciendo clic en Formato, puede definir el formato deseado:

Para lograr resaltar las celdas mayores al 92% en Excel 2003, Tendrá que llevar a cabo estos pasos:

1. Seleccione un rango de números

2. Escoja Formato, formato condicional 3. En la lista desplegable, seleccione FORMULA

4. Escriba una formula tal como : =D2> 5. Coloque un formato

6. Clic Aceptar

Page 200: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

200

7. El formato condicional que acaba de colocar a la CELDA B2, debe de copiarlo, con COPIAR FORMATO al resto de las celdas de RANGO.

Expertos de Excel pueden montar formulas como esta, pero la mayoría no tiene tiempo para armarla o

investigarla, Excel 2007 es mucho más fácil.

Page 201: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

201

Encontrando valores duplicados o valores únicos.

En Excel 2007 la cosa es SUPERFACIL. Seleccione el rango en donde quiere DETECTAR los registros duplicados, va por Formato condicional – Resaltar reglas de celdas – Duplicar valores.

Tan pronto seleccione la opción Excel detecta automáticamente los registros repetidos.

Page 202: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

202

Al desplegar la opción de relleno, puede seleccionar uno de los tipos de formatos preestablecidos, o

crear uno:

Otra opción BUENA que trae Excel 2007 es que puede seleccionar una de las celdas que quedaron

formateadas y que son duplicados, y hacer clic derecho. En el menú emergente, escoger:

Verá como le quedan ordenados en la parte superior:

Page 203: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

203

Nota: para remover el formato condicional:

De manera similar, en lugar de seleccionar los valores duplicados, puede escoger los valores UNICOS:

Page 204: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

204

Encontrando duplicados en Excel 97-2003

En las versiones anteriores nos toca montar una formula, en una columna adyacente o montar la formula en el formato condicional. La fórmula que normalmente se usa es =Contar.Si()

Monta la formula y la copia:

Cualquier valor superior a 1 quiere decir que tiene un par duplicado.

Page 205: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

205

La formula la puede montar en el formato condicional así:

Recuerde que una vez ingrese la formula en C2, debe de COPIAR EL FORMATO CONDICIONAL al resto

de las celdas del rango.

Page 206: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

206

Encontrando valores UNICOS en Excel 2003

Hay muchas maneras de encontrar los valores que son únicos en Excel. Se puede montar una formula en una columna adyacente; se puede usar filtro avanzado o hacer una tabla dinámica. En Excel 2007 se

pude usar, con mucho cuidado, la opción que viene en la ficha DATOS, remover duplicados.

Usando una fórmula para identificar los valores únicos

La formula en la imagen RASTREA la SEGUNDA OCURRENCIA. Los que son únicos, quedan con un CERO.

El truquito radica en que el rango comienza en la celda $A$1 AMARRADO completamente con signo pesos, y se extiende con un amarre relativo a la columna A. Así, el rango en la fila 3 se va extendiendo.

Preste mucha atención a los amarres o si no, no le funcionará. También debe de ordenar la información por la columna que va a analizar.

Page 207: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

207

Usando filtro avanzado para encontrar valores únicos.

Uno puede usar filtro avanzado para sacar los registros únicos:.

Antes de aplicar el filtro avanzado, debe de incluir en una celda APARTE, un encabezado correspondiente a los valores únicos.

Aunque se seleccione una sola celda, Excel expande la selección para incluir la región entera de

información como rango de lista.

Active la opción “Copiar a otro lugar”, para que se active la otra opción “Copiar a:” Debe de indicar la celda APARTE que tiene EL MISMO ENCABEZADO de la columna que se va a evaluar.

Active la casilla de verificación correspondiente a “Solo registros únicos”

Si así lo hace, Excel le proveerá una lista única de Documentos, ordenados en la misma secuencia de la base original.

Usando una tabla dinámica para encontrar registros únicos.

Es raro que se use una tabla dinámica para hacer esta acción, más de uno no se imagina que la tabla

dinámica le puede sacar la lista de los únicos sin “necesidad de voltear tanto” En Excel 2003, Simplemente, seleccione una celda de la tabla. Vaya a Herramientas – Datos – Tablas

dinámicas, siguiente – siguiente – finalizar. En cuanto le salga la opción de arrastrar campos, arrastre el campo que quiere identificar como único al área de las filas:

Page 208: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

208

Arrastre el campo Documento al área de filas, o use la lista, seleccionando documento y con el botón

Agregar a, al Área de filas:

En Excel 2007, siga los siguientes pasos:

1. Seleccione una celda de la tabla de datos. 2. En la ficha Insertar, seleccione Tabla dinámica

3. Clic en Aceptar 4. En la lista de tabla dinámica active la casilla Documento. (Para el caso de la imagen). La

columna A contendrá la lista de los documentos UNICOS como se muestra en la siguiente

imagen:

Page 209: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

209

En realidad, uno no monta ninguna tabla dinámica, pero es muy efectivo para sacar la lista de los

UNICOS. Luego, puede copiar la lista y usando pegado especial – solo valores, para pegar la lista y DESBARATAR la tabla dinámica.

Utilizando la herramienta REMOVER DUPLICADOS en Excel 2007 para encontrar los

registros UNICOS

Una de las novedades del Excel 2007 es que trae un botón que nos permite ELIMINAR o REMOVER los duplicados, y suena bacanisimo, pero es un comando que se debe de usar con mucha

PRECAUCION. Antes de usar la opción, asegúrese de hacer una copia de la hoja, o del rango de datos, y use el comando en la información copiada.

De la información que estamos trabajando, una vez seleccione la opción, tendrá:

Page 210: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

210

Para el caso, como sabemos que los duplicados están en la columna del documento, y que el

encabezado describe la columna, activamos la casilla de verificación “Mis datos tienen encabezados”. Active la casilla de la columna que sabe contiene los duplicados. En cuanto haga clic en Aceptar:

Los valores duplicados se remueven de la base de datos.

Page 211: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

211

Nota:

Esta opción es muy buena para arreglar los archivos planos del kardex del Cg1, pues estos archivos

planos al bajarse a Excel, duplica las primeras líneas de los encabezados correspondientes a los bloques de inicio de un nuevo Ítem, la primera vez que arreglé un archivo plano de kardex me encontré con

esta sorpresita, pero ya sea con la formula contar.si o con remover los duplicados, podemos remover las líneas repetidas.

Porque el archivo tiene estas líneas repetidas? Porque el archivo es un archivo que está destinado a impresión, NO A BAJARSE EN EXCEL. Como estaba destinado a impresión, sucedía que se necesitaba

IMPRIMIR EN NEGRITA, REPINTAR ESOS INICIOS DE BLOQUE. Lo que hace el sistema es HACER que la impresora de punto ESCRIBA UNA VEZ MÁS LA MISMA LINEA…. Por eso, al bajarse el listado como

archivo plano a Excel, vemos esas líneas repetidas.

Page 212: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

212

Más de formato condicional

Duplicados Primera ocurrencia

En internet hay ejemplos muy buenos que algunos “Duros” de Excel ponen gratis. En la página de David McRitchie (una de las más viejas) un par de chicos hace MUUUCHOS años colocaron una solución

muy buena, en esa época estaba montada en Excel 97. En Excel 2003 es casi la misma cosa, en 2007, solo es saber la ruta por donde se introduce la fórmula del formato condicional, ya lo veremos:

Además de colocar el formato condicional, anidaron la formula en una celda adyacente para que, además de indicar que hay una duplicidad, INFORMARA en cual celda esta EL OTRO REGISTRO

DUPLICADO:

Es decir: en este caso se encuentra la primera ocurrencia duplicada. Si un nombre o número existe dos veces, no señala los dos, SOLO la primera ocurrencia y a través de una fórmula anexa indican en donde

más existe ese número o nombre.

Para colocar el formato condicional en Excel 2003:

Selecciona B15, Formato condicional, formula, escriba =CONTAR.SI($B$15:B15;B15)>1 Preste atención a los amarres, al posicionamiento de los signos $. Copie y pegue el formato a lo largo de la

columna.

La fórmula del Señor Leo Hauser Ubicada en C15, es:

=SI(CONTAR.SI($B$15:B15;B15)>1;"Nombre existe en la fila "&COINCIDIR(B15;$B$1:B15;0);"")

La fórmula del Señor Sjoblom ubicada en D15, es: =SI(CONTAR.SI($B$15:B15;B15)>1;"Nombre existe en la celda "&DIRECCION(COINCIDIR(B15;$B$1:B15;0);COLUMNA(B15);4);"")

Page 213: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

213

Duplicados Primera ocurrencia en Excel 2007:

A esta TABLITA, selecciono la Celda A2. Me voy por Formato condicional – Nueva regla:

En nueva regla, seleccionamos ESTA OPCION:

Una fórmula que determina las celdas para aplicar formato.

Page 214: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

214

Ingrese la formula, no olvide copiar el formato al resto de las celdas de la columna, tendrá este efecto:

Por otra parte, la formula en B5 es: =SI(CONTAR.SI($A$2:A5;A5)>1;"Nombre existe en la celda "&DIRECCION(COINCIDIR(A5;$A$1:A5;0);COLUMNA(A5);4);"")

Page 215: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

215

Duplicados todas las ocurrencias

Aquí hay una solución de formato condicional para cuando deseemos colocar UN COLOR para la primera ocurrencia de duplicado, y OTRO COLOR para la segunda ocurrencia de duplicado:

En Excel 2003:

La primera formula es: =SI(CONTAR.SI($A$2:$A$21;$A2)>1;CONTAR.SI($A$2:$A2;$A2)=1)

La segunda fórmula es: =SI(CONTAR.SI($A$2:$A$21;$A2)>1;CONTAR.SI($A$2:$A2;$A2)>1)

La segunda, al final no es igual, es MAYOR a 1

En Excel 2007:

De manera similar al caso anterior, se va por Formato condicional – Nueva regla. Escoge aplicar una formula, escribe la primera formula y le da enter.

Page 216: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

216

Para ingresar la SEGUNDA FORMULA, se va por :

Administrar reglas:

Page 217: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

217

NUEVA REGLA: Ingresas la nueva regla

Le das aceptar, no olvides copiar el formato de la celda, al resto de las celdas:

Page 218: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

218

Más de formato condicional:

Montando un Formato condicional que nos coloree la celda QUE CRUZA CON OTRA TABLA:

Esta técnica es una maravilla…. Pues así como podemos hacer que Excel detecte duplicados, podemos hacer que nos muestre si un valor cruza en otro lado:

El ejemplo sería el siguiente:

Aquí el formato condicional nos marca que los que están en verde están en la otra tabla.

Para lograr esto, en Excel 2003, la fórmula del formato condicional en A2, es la siguiente:

La formula en B2, es la siguiente:

Page 219: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

219

En Excel 2007, ya sabe como ingresar las formulas. Pero como ya estamos manejando más de un

millón de filas, NO JUSTIFICA que para un pequeño rango, pongamos a Excel a verificar la columna entera. OJO CON ESO. Es mejor que seleccione el rango.

El secreto de estos formatos condicionales es saber montar las formulas, como el asunto no es nada fácil, le traigo la solución, pues para hacer pruebas de auditoría es sumamente UTIL.

Como ve, Obtener lo que Cruza, para Excel es cuestión de segundos.

No puedo dejar de recordarle el proverbio del último gran Filósofo Griego, Epicuro (ojo con la pronunciación! Jejeje…):

"Nada produce tanto regocijo como el no cumplir muchos cometidos ni emprender asuntos engorrosos ni violentar nuestra capacidad más allá de sus fuerzas, pues todo esto provoca perturbaciones a nuestra naturaleza."

Un Viejo de verdad Sabio, sus palabras recorren a través de los milenios.

Page 220: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

220

Más de formato condicional:

Comparar la celda correspondiente con otra hoja

Cuando ya era fanático de Excel desde hace ya bastante, alguna vez una compañera me comentó que tenía un informe, un cuadro en Excel que enviaba a cierta dependencia, y que esa área, se lo devolvía

con cambios. Entonces me dijo que si yo sabía cómo hacer que Excel “colocara un colorcito en donde la

celda fuera diferente” ….como decimos en Colombia, ME CORCHÓ. El termino que se usa para cuando uno no sabe o no conoce.

Como siempre, la pregunta no dejó de “MORTIFICARME” hasta que una vez, en Internet, encontré una

solución, la cual adapté para el caso.

Supongamos que tenemos dos hojas, aparentemente idénticas, pero para no DESGASTAR los ojitos

mirando CELDA A CELDA, podemos montar una fórmula que lo haga, la cosa es así:

En primera instancia el formato condicional no permite hacer referencias a otras hojas. Sin embargo hay una forma y es definiendo nombres y usando la función =DESREF

Estos dos temas definir nombres y la función DESREF, se trata con detenimiento en el libro, conviene que los revise si no los comprende aún para que entienda mejor la solución que se le ofrece.

Tendríamos esta primera tabla:

En la Hoja2 tendríamos:

La formula de formato condicional que tenemos montada en la primera Hoja1, en la celda A2 es la

siguiente:

Page 221: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

221

=A2<>DESREF(comparar;COINCIDIR(A2;A$1:A$6;0)-1;COINCIDIR(A2;$A2:$D2;0)-1)

El formato se copia en el resto de celdas, la celda que sea diferente, se resaltará.

Antes de ingresar la formula, tenga presente, pues aquí nos valemos de un recurso nuevo para lograr el efecto:

Muchas veces tenemos una hoja original y otra que ha tenido otra persona, que a su vez nos la retorna.

Por x ó y motivo, necesitamos saber si ambas hojas siguen siendo las mismas; un método rápido es

usar el formato condicional para este fin.

Se sabe que en el formato condicional cuando se arma una fórmula que referencia otra hoja, nos sale un mensaje que no nos permite hacerlo.

Sin embargo, sabemos que si definimos una celda de otra hoja como un nombre, Excel hace el trabajo

sin problemas.

Primero que todo, partimos del hecho de que ambas hojas son idénticas y están posicionadas iguales

en su comienzo en cuanto a primera fila y primera columna. En la OTRA hoja "Gemela" seleccione la primera celda que da comienzo al cuadro o informe. En este

caso es la celda que dice "Ítem 1".

(En este ejemplo hemos creado una hoja anexa con el mismo nombre pero distinguiéndose por un

numero 2).

Con la celda seleccionada, En Excel 2003, vaya al cuadro de nombres a la izquierda de la barra de formulas.

Si no lo ve fácilmente, se lo muestro: vaya a esta zona de su Excel

y haga clic adentro ----->

(Es justo arriba a la izquierda del encabezado de la columna A)

Escriba un nombre para esa celda. En este ejercicio la celda que dice Ítem 1 en la hoja Comparar con

otra hoja (2) tiene por nombre "comparar". Puede comprobarlo mirando los nombres que tiene este archivo en la siguiente imagen, entre ellos verá el nombre comparar".

Page 222: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

222

Listo, esa es la primera parte.

La segunda es volver a la hoja original, (La hoja1), ubicarse en la celda que dice Ítem 1, ir a Formato - Formato condicional - formula, e ingresar esta fórmula: Preste MUCHA atención a los amarres. Esta es

la formula en la celda A2, en la Hoja1 en la hoja2 no se mete NINGUN FORMATO CONDICIONAL

Escoger un formato. Para este ejemplo, escogí el amarillo. Acto seguido, copiar y pegar el formato en el

rango donde se quiere que aplique.

Intencionalmente se cambiaron dos datos en la otra hoja, que son los que se pintaron

AUTOMATICAMENTE, gracias al formato condicional, de amarillo.

La formula lo que dice es que si la celda es diferente de la misma celda que está en la otra hoja, la

pinte o coloree de amarillo. Más concretamente, el primer argumento es la celda que tiene por nombre "comparar" que es la base

del DESREF. El segundo argumento es cuantas filas. Para ubicar la fila, usamos la función =COINCIDIR() y le

restamos 1, porque esta fórmula solita nos dirá 1 para Ítem 1, siendo que esa posición es cero. El tercer argumento es cuantas columnas, también usamos =COINCIDIR() y se resta 1.

Como se monta en Excel 2007:

Primero que todo, las dos hojas deben de estar en la misma ubicación. Comenzar en la misma columna y fila.

La celda superior-izquierda de la segunda hoja, la denomina “comparar”. Se va por formato condicional, nueva regla, escoge formula, e ingresa la formula. Copia y pega el formato al resto de las hojas:

Page 223: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

223

Este es el resultado:

Page 224: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

224

Más de formato condicional

Máximos en fila y en columna

Este ejemplo muestra ROJO si el valor máximo está tanto en Fila como en Columna; de otra forma, VERDE si es el valor máximo en Columna, o AZUL si es máximo en Fila.

Observe la siguiente tabla:

La idea es montar un formato condicional que nos señale el valor máximo de cada tienda a lo largo de los meses, y cual tienda fue la mejor por mes…. Jejeje… de un solo PLUMAZO resolvemos eso: La fórmula que debe de ingresar en la columna B3 es la siguiente: (el color de la condición 1 es rojo, el

de la condición 2 es verde, y el de la condición 3 es azul)

Aplicado el formato condicional la cosa queda así:

Page 225: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

225

En Excel 2007, ya sabe, debe de ir por la Ficha Inicio - Formato condicional – nueva regla – utilizar formula – escribe la formula, aceptar. Vuelve y llama ADMINISTRAR REGLAS e ingresa la otra fórmula,

y así con la otra, al final le quedan:

Page 226: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

226

Validación de Datos

La validación de datos sirve para controlar que llenen la información de las hojas de cálculo de acuerdo a parámetros correctos. Por ejemplo, nombres, valores, valores que no pueden exceder ciertos límites,

etc. Todo esto permite que cuando se trabaje con esa información, (por ejemplo hacer tablas dinámicas o adicionar la info recolectada a una base de datos) no se presenten inconsistencias. Por ejemplo, si

usted deja que un empleado llene el campo por decir algo, "ciudad"; algunos escribirán Cali, (Cali-

Colombia es mi ciudad natal) otros Santiago de Cali, o Cali con un espacio antes o después... Cosas así, que al momento de usar dicha data, retrasarán la labor de análisis porque Usted tendrá que ponerse a

depurar la información, antes de poderla trabajar. Para acceder a este recurso de Excel, en Excel 2003 usted entra por el menú Datos - Validación.

En Excel 2007, está en la ficha datos, herramientas de datos:

Una vez seleccionado verá la opción Configuración, y allí hay varias opciones, cada una de las cuales

vamos a ver ahora.

Page 227: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

227

Validación básica

Ok. Como mencionaba hace un momento, la validación de datos sirve para controlar o restringir que los usuarios ingresen datos no deseados en las celdas. Por ejemplo, si en la celda A1 de Excel, NO

QUEREMOS QUE DIGITEN NUMEROS DISTINTOS ENTRE EL UNO Y EL DIEZ, lo que podemos hacer para evitar que el usuario de la hoja de cálculo lo haga es colocarle una validación de datos.

Para lograr este cometido, sobre la celda en la cual queremos colocar la restricción, llamamos la opción validación de datos y en la opción permitir, seleccionamos Número entero, como se ve aquí:

Y en DATOS, seleccionamos ENTRE. Valor Mínimo colocamos el 1 y en el valor máximo el 10. También podemos hacer, que en cuanto el usuario ubique el cursor en la celda que contiene el formato

condicional, APAREZCA UN MENSAJE INFORMATIVO, y si el usuario es TERQUITO, y nos ingresa un

valor diferente al establecido, podemos hacer que aparezca un mensaje de ERROR. Ese par de mensajes se configuran en las otras dos opciones que se ven aquí: MENSAJE DE ENTRADA y MENSAJE

DE ERROR.

Page 228: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

228

Esta es la configuración del mensaje de error:

Ejemplo de Validación de un número decimal mayor a 2,5:

De manera similar al anterior, se cuadran los mensajes de entrada y mensajes de error.

Page 229: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

229

Validación de datos de Lista.

Esta es una de las validaciones que creo que más se usan, es la manera de hacer que en la celda, Excel coloque una pestañita que al desplegarse aparezca una lista, la cual se despliega en cuanto se hace clic

en la pestaña de la lista de tal manera que podemos seleccionar una de las opciones.

La lista puede estar “amarrada” o direccionada a un rango de datos de lista que se encuentra

almacenada en alguna parte de la hoja de cálculo, o también dicho rango puede estar en otra hoja, o incluir la lista dentro del mismo cuadro de diálogo lista:

Por ejemplo, en este caso se están colocando las opciones Si, No, quizás, separadas por una coma, así:

En este segundo caso, se indica un rango de la hoja de cálculo que contiene la lista.

Page 230: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

230

Lista desplegable desde otra hoja de cálculo

Normalmente Excel no permite usar la opción LISTA desde otra hoja de cálculo. Lo que normalmente se hace es tener la lista lo más lejos posible de la zona en la cual se hacen los

cálculos como la extrema derecha o la extrema derecha inferior. Pero la lista ubicada en cualquier parte de la hoja puede sufrir el inconveniente de ser borrada

accidentalmente.

Lo mejor, para no tener que ni siquiera considerar esa posibilidad, es ubicar la lista en otra hoja de cálculo y ocultar la hoja.

Hay dos métodos para traer la información desde otra hoja:

1: Definir un nombre para el rango de la lista que existe en la otra hoja de cálculo y referenciarlo en la configuración de la lista fuente. Para más información revise el tema “Asignar nombres a los rangos, celdas o rango de celdas”. La cosa es sencilla, el rango que está en una hoja aparte y que contiene la lista de nombres, lo selecciona y en el cuadro de nombres le coloca un nombre, por ejemplo “Lista”. Entonces, en lugar de definir el rango, llama la lista, así:

2: Colocar la fuente referenciada dentro de la función =INDIRECTO(). La función indirecto es la que nos sirve para que un nombre dado, Excel lo reconozca como una

referencia de una hoja. Se escribe así:

=INDIRECTO("'Hoja2'!A1:A9")

En este caso, el rango se encuentra en la hoja2, que se escribe entre comillas simples, después va el

signo de admiración, el rango para el caso es A1:A9, y todo de encierra entre dos comillas y paréntesis. Observe la siguiente imagen:

Page 231: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

231

Como puede ver, es más sencillo el método del nombre.

Una doble lista desplegable.

Es posible seleccionar una lista, y con base en ella seleccionar una SUBLISTA? Si, se puede. Por ejemplo, podemos tener una lista de secciones de un supermercado, tal como Frutas,

Vegetales, Cárnicos, y Lácteos (yo lo he usado para definir los nombres de un grupo de compañías y que a su vez me aparezca el plan de cuentas de la compañía que elegí).

Primero que todo, monte Usted la información de manera similar a como se presenta aquí:

Por ejemplo, en lugar de categorías puede poner marcas de repuestos, y en las subcategorias, los

repuestos como tal.

Ahora siga estas instrucciones:

1. El rango de Categorías que se encuentra en B12 a B15 se ha marcado y se le ha definido el nombre

de Categorías. (Recuerde, el tema de asignar nombres a los rangos…)

Page 232: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

232

2. Cada una de las listas Subcategorías, también se le ha seleccionado el rango y se le ha definido el

mismo nombre de su encabezado que es íntegramente IGUAL a cada una de las categorías.

3. Una forma rápida de colocar el nombre a un rango es Seleccionarlo con todo y encabezado, luego ir al menú Insertar - Nombre - Crear. Asegúrese que el nombre del rango que no incluye el rótulo o

encabezado, tiene ese mismo nombre del encabezado y dele clic a OK. Si el titulo encabezado estuviera compuesto por dos palabras, por ejemplo "Materiales Construcción", tendría que colocarle un símbolo

"underscore" entre palabras, así: "Materiales_Construcción". Es requisito indispensable que los nombres

NO DEBEN CONTENER ESPACIOS. 4. La función =INDIRECTO() se usa en la opción lista para FORZAR a EXCEL a que vea cualquier texto

NOMBRE DE RANGO y no como simple Texto. 5. La función =SUSTITUIR() también se utiliza en la validación para reemplazar cualquier espacio con el

Underscore (_).

Veamos cómo es que queda la validación para la categoría:

Y esta es la validación de la Subcategoria:

Page 233: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

233

Este y todos los demás ejemplos de validación los puede descargar de la pagina web, en el archivo

plano llamado “Excel_Maquial_Validacion.xls”, de una vez en Excel para que le facilite su implementación en sus propios ejemplos.

Page 234: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

234

Validación de fecha.

El ejemplo es el siguiente:

Validación de una hora que no esté dentro del rango restringido:

Page 235: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

235

Validación de longitud de texto:

Validación de datos Personalizada:

Este tipo de evaluación lleva implícita una fórmula que evalúa si los datos entrados son correctos o no.

(Verdadero o Falso). De igual forma que el caso anterior, seleccione Datos - Validación para aprender la configuración. La formula se indica un lado para que visualice su resultado. Y una imagen del cuadro

validación que se ha configurado en el ejemplo. Recuerde que el mensaje entrante y el mensaje de error también deben realizarse.

Page 236: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

236

Ejemplo 2.

La información no puede ingresarse en las celdas a menos que esté formateada como 0.00% y solo

números entre 0 a 100. En este caso, en la celda B43, se ha montado la formula que TAMBIEN está en la validación de datos de las celdas B41, B42, C41 y C42.

Esta es la validación que también contiene la formula que controla el fin del ejemplo 2:

Esta solución utiliza el potencial de la función =Celda() que puede traer la ubicación, el contenido o el

formato. En este caso con la función =Y() se exigen dos cosas, el formato de celda con =CELDA() y que el numero sea mayor a 0 y menor a 1 con =ESNUMERO().

CELDA("Format";B41)="P2" ---> Esta fórmula dice que "El formato de la celda B41 debe ser Porcentaje con 2 decimales"

Page 237: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

237

Ejemplo 3:

Validación para prevenir registros duplicados:

Ejemplo 4: Para prevenir que se llenen los registros fuera de cada fila. Es decir, se debe ingresar un nombre y un

área de la organización.

La función es la siguiente:

=Y(CONTARA($B$95:$B95)=CONTARA($C$95:$C95);CONTAR.BLANCO($B$95:$B95)=CONTAR.BLANCO($C$95:$C95))

Page 238: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

238

Ejemplo 5 y 6

Controlar para que ingresen solo números y controlar para que ingresen solo texto

Page 239: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

239

Ejemplo 7

Controlar que no dejen casillas en blanco entre celda y celda ingresada

Espero que estos ejemplos le permitan aprovechar esta herramienta de Excel, ya puede ver el potencial

que también tienen. Hay muchos más ejemplos de validación que se pueden encontrar en Internet.

Page 240: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

240

Analizando información con Tablas Dinámicas

La herramienta más poderosa de Excel tiene un nombre propio: Tablas dinámicas. Porque? Con una tabla dinámica fácilmente se pueden totalizar más de 500.000 mil filas de información, con

solo unos pocos clics de ratón. Además de esto, se puede reconfigurar la información para totalizar por diferentes criterios. Esta característica es la que hace que la tabla sea llamada así, dinámica, en

contraposición a “Estático”. Por otra parte, al hacer clic en los campos totalizados, Excel extrae de la

base de datos fuente, la porción de información y la monta automáticamente en una nueva hoja de Excel, con lo cual se puede, de una vez, analizar esa información, o mirar en detalle, o con base en ella

armar otra tabla dinámica. Las tablas dinámicas permiten agrupar, comparar, o cruzar datos.

Como se necesita tener la información para armar una tabla dinámica

La fuente debe ser una base de datos de información TRANSACCIONAL. Por lo general la información transaccional trae campos numéricos de cantidad, ingresos, costos, etc. También trae campos de

fecha, cliente, producto, documento, zona, referencias adicionales, etc. Cada campo de estos debe ir en una Columna. Si una columna contiene cantidades, no debe haber NADA distinto a cantidades en ESA

columna, excepto por el encabezado DESCRIPTIVO de la columna.

Este ejemplo es perfecto para armar una tabla dinámica, cada fila representa una SOLA venta de un

producto a un cliente en una fecha específica.

La información presentada como se ve aquí arriba, no es apropiada para montar una tabla dinámica.

Los meses NO PUEDEN estar en varias columnas. La columna D contiene Cantidad, Ingreso, Costo y

Page 241: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

241

Utilidad. Tiene celdas en blanco que “SE PRESUME” que son del mismo cliente de la celda A2. Excel no

puede trabajar la información así.

Si Usted tiene información por este estilo, vaya al área de sistemas para ver si ellos le pueden generar

la materia prima de información transaccional que se usó para crear este resumen.

Creando un resumen con Tabla Dinámica

Supongamos por ejemplo que usted tiene 500000 filas de información que representan las ventas de 10

años.

Las tablas dinámicas le ofrecen un increíble poder de análisis en una gran variedad de resúmenes, y es

la herramienta que todo Auditor y Contador TIENE que saber manejar. Entre otros, es posible conocer:

Los productos que se están vendiendo

Los clientes que están comprando productos

Que productos están siendo comprados por cuales clientes

La tendencia de ventas de productos a través del periodo.

Armando una tabla dinámica en Excel 97-2003

Tomemos un ejemplo inventado por mí de unos productos ficticios. Este es el ejemplo del archivo que

se puede bajar del grupo de Excel en Facebook, o la pagina web Www.ExcelMaquial.CoM

Primero que todo, asegúrese de que la información contiene una celda única en el encabezado que describe cada columna. En el menú de Excel 97-2003 vaya por Datos-Informe de tablas y gráficos

dinámicos.

Vaya al menú Datos - Informe de Tablas y Datos Dinámicos.

Page 242: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

242

En Excel 2003 le aparecerá este cuadro que es el asistente:

En este paso, acepte la selección por defecto SI su información está en Excel y SI va a crear una tabla

dinámica.

Page 243: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

243

En el paso 2, confirme que Excel ha escogido el rango correcto de la fuente de información.

En el paso 3, escoga la opción DISEÑO.

Nota: en el Excel 97 y anteriores, el asistente TIENE 4 pasos. Excel 2003 pide que haga estos pasos en la opción diseño.

La opción diseño le permite construir el reporte arrastrando y soltando. Puede ver que la presentación

está en blanco y que la lista de los campos está al lado derecho. Al lado izquierdo hay cuatro áreas, en

las cuales puede arrastrar los campos:

Si lee con atención lo que aquí dice, verá que cada uno de los encabezados de columna de la tabla

dinámica del ejemplo se ven como botones, los cuales se pueden arrastrar a cada una de las áreas del

reporte dinámico; es decir se pueden arrastrar los botones a las zonas donde dice "pagina", "Fila", "Columna" y "Datos". Si vamos a crear una tabla dinámica que nos dé el total por producto, los botones

quedarán posicionados así:

Page 244: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

244

El producto lo llevas al área de las filas y el Total lo llevas al área de datos. En esta área vas a colocar

los botones que por lo general representan valores que necesitan ser resumidos, sumados, promediados o contados. Si en este momento das clic en aceptar, retornarás a esta ventana:

Y aquí, cambiamos el punto negro que está en Hoja de cálculo nueva a Hoja de cálculo existente, Se

puede ubicar en una nueva hoja, esto es discrecional. Señalaremos la Celda en la cual se posicionará la tabla dinámica. Es decir, así:

Page 245: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

245

Al hacer clic en finalizar te saldrá este informe:

EN SEGUNDOS el reporte le presenta un resumen.

Cuando usted selecciona una celda DENTRO de la tabla dinámica, la lista de campos de tabla dinámica aparece. Es un tanto diferente en cada versión de Excel.

En las primeras versiones de Excel, formaba parte de la barra de herramientas Tabla dinámica.

Después, la dejaron como un PANEL FLOTANTE. Si la lista de campos desaparece, es porque ha

seleccionado una celda FUERA de la tabla dinámica. Seleccione una celda DENTRO de la tabla dinámica para que vuelva a aparecer. Ahora, si se siente mejor, manejando el cuadro de dialogo del asistente en

Page 246: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

246

el cual cambiaba la tabla dinámica, lo puede traer haciendo clic en la lista desplegable de la barra de

herramientas tabla dinámica:

Armando la tabla dinámica en Excel 2007

Cuando salió Excel 2007, no había manuales de Excel 2007 en nuestro medio. Aún en el año 2.010, fecha en la cual sale este libro muchas áreas apenas están implementando Excel 2007. Otras siguen en

la antigua Versión. Y ya Microsoft tiene listo el Office 2010… La única salida era usar la tecla F1 de

ayuda y leer. Pero la ayuda no es tan didáctica como un Libro o manual… Tardé un momento en darme cuenta que las tablas dinámicas las habían sacado del menú DATOS y las habían pasado al menú

INSERTAR, Junto la opción TABLA:

Page 247: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

247

Para crear una tabla dinámica similar en Excel 2007, siga estos pasos:

Seleccione una celda en la tabla base de datos

En la ficha Insertar, escoja el ícono Tabla dinámica

Escoja Tabla Dinámica

Al hacer clic allí se tomará por defecto el rango de su tabla fuente o tabla base:

Haga clic en Aceptar

Page 248: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

248

Como puede ver, la evolución del asistente de tablas dinámicas es notable. De una sola vez te lleva por defecto a una nueva hoja y el panel de lista incluye los cuatro sectores, Filtro de reporte, Campos de

Columna, Campos de Fila y Campos de Valor.

Solo necesita seleccionar, colocando un clic en la lista de campos, Excel los lleva por defecto a la zona

de filas. Aquí no se arrastra hacia la hoja de cálculo. Se arrastra hacia la parte de abajo, como dice esa región:

Page 249: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

249

Page 250: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

250

Cambiando la tabla dinámica usando el botón “Agregar a” en Excel 97-2003

Cuando salió Excel 2002, se adicionó un nuevo botón a la lista de campos llamado “Agregar a”, de tal manera que si Usted quería mover el campo producto, hacia la parte de arriba del reporte, se pudiera

hacer usando el botón “Agregar A”:

Para mover el campo producto, de filas a columnas, para el caso que nos ocupa en la imagen,

seleccionaríamos el ítem producto. Luego utilice la lista desplegable para cambiarlo de Área de filas, a Área de columnas. Una vez lo haya seleccionado, en cuanto haga clic en el botón “Agregar A”, el

reporte cambiará para mostrar los productos a través del encabezado del reporte:

También puede usar esta metodología para adicionar nuevos campos al reporte, por ejemplo, el campo “vendedor” lo puede adicionar en el reporte a la zona de filas. Entonces tendrá un reporte con

vendedores en las filas y los productos en las columnas:

Page 251: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

251

En Excel 2003, puede arrastrar los campos deseados desde la lista de campos hacia el área deseada,

directamente en la tabla dinámica, sin necesidad de usar el botón “Agregar a”.

Page 252: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

252

Modificando la tabla dinámica en Excel 2007

En Excel 2007 los campos se pueden arrastrar directamente en la lista de campos. Para adicionar un campo simplemente haga clic en la casilla de verificación:

Este “Panel” de lista de campos también lo puede sacar de ese lado, (seleccionándolo y arrastrándolo) y

llevarlo a la zona que desee. En la imagen que vemos aquí, para pasar el campo vendedor a la zona de

columnas, para que quede similar al que acabamos de armar en Excel 2003, simplemente seleccione el campo vendedor, haga clic izquierdo sostenido y mientras lo sostiene, arrástrelo a la zona que dice

“Rótulos de columna”.

Page 253: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

253

Cambiando las celdas que se ven en blanco por ceros

Si se fija en la imagen, podrá ver que por defecto, si un vendedor, como el caso de julio, no tiene productos vendidos, verá que la tabla dinámica asigna un espacio en blanco.

En realidad debería haber un cero, en lugar de espacios en blanco. Excel en cada una de sus versiones

tiene la opción de poder asignar un cero en lugar de los espacios en blanco. En Excel 2003, en la barra tabla dinámica, escoja opciones de tabla. En Excel 2007, la barra tabla dinámica se activa en una nueva

ficha SOLO cuando selecciona una de las celdas de la tabla dinámica, en esos casos, EMERGE de la

nada una ficha, la ficha “Herramientas de Tabla dinámica”:

Haga clic en Opciones, y dentro de toda la gama de Opciones, seleccione, Opciones otra vez.

Esta es la imagen por donde trae las opciones de la tabla en Excel 2003:

Page 254: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

254

En estas opciones, active la casilla de verificación de la opción Para celdas vacías, mostrar:

En Excel 2007, en cuanto haga clic en opciones, llegará a esta ventana:

Page 255: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

255

En el combo Formato, active la casilla de verificación Para celdas vacías, mostrar cero, de manera

similar a como se ve en Excel 2003.

Cambiando la tabla dinámica en Excel 2007 arrastrando los campos de manera similar a como lo hacía en Excel 2003:

Los usuarios veteranos acostumbrados a usar la tabla dinámica de Excel 2003, encontraban que era muy fácil cambiar la tabla dinámica simplemente arrastrando los campos en el reporte. Esta opción es

automática en Excel 2007-2003, pero está oculta en Excel 2007. Para activarla en Excel 2007, vaya a Opciones de tabla dinámica, haga clic en la ficha MOSTRAR, y allí, active la casilla de verificación

“Diseño de tabla dinámica clásica” (permite arrastrar campos en la cuadrícula).

Observe la opción en la siguiente imagen:

Page 256: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

256

Con esta opción activada, se pueden seleccionar directamente en la tabla dinámica los campos de tabla

de color gris y arrastrarlos hacia una nueva locación, por ejemplo, pasar campos del lado de filas a

columnas, simplemente arrastrándolos. La ventaja de esto es que se puede ver como se mueve el campo al ser arrastrado, y cuando lo lleva a una intersección de la tabla, la línea divisoria de inserción

se resalta, lo cual facilita su reubicación.

Mostrando dos o más campos en la zona de datos

En el ejemplo que venimos trabajando, llevamos nuestra tabla dinámica así:

Vamos a mostrar la zona y la fecha. Si activó la opción de arrastrar al viejo estilo de Excel 2003, puede

llevar los campos directamente sobre la tabla dinámica, sino, simplemente llévelos en la zona del panel lista:

Page 257: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

257

Para que el informe nos quedara así como se ve aquí los campos se trasladaron a estas áreas, como se ve en el panel lista:

Ahora, si queremos quitar esos subtotales, por ejemplo esos que dicen “Total Krokanticos”, simplemente nos ubicamos en esa columna, damos clic derecho con el ratón y en el menú emergente,

DESACTIVAMOS la opción Subtotal, como se ve en la siguiente imagen:

Page 258: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

258

Puede colocar o quitar subtotales de la misma manera.

Agrupando campos de fecha

Ok. Ahora vamos a reorganizar la presentación de nuestro reporte dinámico, primero que todo por FECHA. Para tal efecto, selecciono y arrastro el campo fecha que se encontraba en tercer lugar, al

primer lugar, es decir, lo subo y lo suelto encima de todos, lo dejo así como se ve aquí:

Listo, ahora llamamos el menú emergente ubicándonos SOBRE la tabla dinámica en la columna FECHA:

Page 259: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

259

Escoja Agrupar:

En cuanto presione allí, le saldrá esta ventana:

Para el caso que presento aquí, solo tenemos ocho días, si lo dejo así como está que me agrupe por

meses, el reporte quedaría así:

Page 260: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

260

Si cambio la agrupación a días, quedaría así:

De igual manera, puede agrupar por meses y años. Lo invito a que ensaye y haga pruebas.

Removiendo los campos de la tabla dinámica

Así como arrastró los campos hacia la tabla dinámica, o los activó mediante la casilla de verificación, de igual forma puede sacarlos o quitarlos del reporte tabla dinámica.

Page 261: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

261

Creando un Reporte Específico usando el cuarto elemento del panel: El filtro de Reporte

En Excel 2003 se denomina Área de Pagina, en Excel 2007, Filtro de reporte. Simplemente arrastre uno de los elementos hacia esa área del panel. Por ejemplo, podemos arrastrar el campo ZONA, y tener un

reporte todavía más personalizado:

Si hago clic con el puntero del ratón en la pestaña que dice Zona (todas):

Puede seleccionar las que desee, dos o más, usando activando la casilla de verificación “Seleccionar

varios elementos”, y escogiendo, por ejemplo como en este caso, dos de ellas:

Page 262: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

262

La tabla le quedaría así:

Recuerde volver a mostrar todos los elementos que seleccionó. De igual forma, puede arrastrar al filtro de reporte, mas campos.

Page 263: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

263

Mostrando el TOP de los 10 mejores

Ok, He reacomodado los campos así: haciendo clic en la pestaña vendedor,

Como ve en la gráfica, clic en filtros de valor, y allí clic en DIEZ MEJORES:

Page 264: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

264

Como en mi ejemplo solo tengo 6 vendedores, pues digamos que quiero ver los tres mejores:

La tabla dinámica me muestra los tres mejores, (sin necesidad de desgastar mis ojos, mirando manualmente quienes son los tres mejores) me queda así:

Observe que Excel los organiza en orden alfabético.

Page 265: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

265

Como se sacan los 10 mejores en Excel 2003:

Tenemos la misma tabla dinámica, esta vez en Excel 2003, entonces, vamos por la barra de

herramientas tabla dinámica, desplegamos la lista desplegable o la pestaña que dice tabla dinámica. Allí, escogemos la opción “Ordenar y las 10 mejores”.

Page 266: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

266

Recuerde que para que le salga ACTIVA la opción DEBE de estar POSICIONADO sobre la tabla dinámica

en uno de los campos del AREA DE FILAS. Cuando haga clic en Ordenar y las 10 mejores, le saldrá esta

ventana:

Observe que ya le “cuadré” las opciones que necesito: Auto Ordenar Descendente, en diez mejores,

Activadas y que me muestre las 3 superiores. Entonces, al dar aceptar, la tabla queda así:

Como lo ordenamos por el campo valor, pues ese es el criterio que finalmente nos queda.

Si se fija, no queda ninguna señal de filtro, cosa que mejoraron en Excel 2007:

Page 267: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

267

Ordenar y Filtrar en Excel 2007 es todavía más fácil.

La misma configuración en Excel 2007 se ve así, y en el panel lateral, podemos ver un embudo, ícono

utilizado para indicar que el campo tiene un filtro:

Si hace clic en vendedor en donde está el embudito, verá que le aparece una opción:

Si hace clic allí, llega a la lista que ya nos es familiar en Excel 2003:

Pero es más fácil llegar a esta opción si simplemente hace clic en el embudito de la tabla dinámica.

Page 268: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

268

Haciendo clic en “Más opciones de auto ordenación”:

Cuadra las opciones, y la tabla dinámica le quedaría:

Page 269: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

269

Extractando información detallada de los campos de la tabla dinámica (Drilling Down)

Drill down es una palabra técnica que usan los creadores de Excel para describir la operación, la acción y el efecto que se produce en la tabla dinámica cuando sobre uno de los campos de valor, del área de

datos, se hace un doble clic. Cuando esto sucede, Excel recolecta, extrae y posiciona en una nueva hoja de cálculo los datos de la hoja base que conforman dicho resultado que se observa en la tabla

dinámica.

La palabra Drill Down en su traducción más apropiada se refiere como El acto de usar un taladro o de taladrar; material extraído o excavado por un taladro. Por su parte el famoso traductor Babylon indica que Drill down es “"Cambio rápido", la posibilidad de pasar rápidamente entre diferentes programas de carpetas secundarias”

Y en efecto, estas dos situaciones son las que ocurren, como le mencionaba en el comienzo de este

tema.

Por ejemplo, cuando uno se encuentra analizando la información de la tabla dinámica, en algún momento puede ocurrir que un resultado se vea sospechoso, o llame nuestra atención, y queramos ver

en detalle QUE RAYOS es lo que compone dicho valor.

Por ejemplo, en esta tabla ficticia, llama la atención el producto MegaAcido, este producto, con 576 mil

en ventas, quisiéramos verlo en detalle que es lo que lo conforma. Pues bien, solo con hacer DOBLE CLIC en esos 576000, Excel crea una nueva hoja SOLO con los datos que conforman la sumatoria del

producto MegaAcido:

Lo cual como se podrá dar cuenta, es sencillamente ESPECTACULAR. Pues con esta DATA en una nueva

hoja, se puede volver a analizar la info haciendo otra tabla dinámica, o montar unos subtotales o hacer los cálculos que a bien tengamos.

Page 270: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

270

Tablas dinámicas y el recalculo de información.

Debe tener en cuenta que si se cambian los valores en la base de datos que es la fuente de la tabla

dinámica, la tabla dinámica NO SE ACTUALIZA. Esto sucede porque Excel copia la base fuente en

memoria (el famoso Pívot caché) “caché: zona de almacenamiento que incluye datos que el ordenador –computador- necesitará en poco tiempo, es un mecanismo de almacenaje de alta velocidad” con el fin

de permitir que la tabla, al reorganizar los campos pueda calcular SUPER RÁPIDO.

Entonces, si usted hace cambios en la fuente de información, debe de FORZAR a que Excel los Re-lea otra vez, esto se hace en Excel 2003, usando en la barra de herramientas Tabla dinámica el botoncito

que es un signo de exclamación rojo:

Mientras que en Excel 2007, en la ficha Herramientas de Tabla Dinámica,

Page 271: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

271

Limitaciones de las tablas dinámicas

Las tablas dinámicas son un REPORTEADOR que nos ayudan TREMENDAMENTE analizando información. Sin embargo tiene algunas limitaciones; por ejemplo, no se pueden insertar filas o

columnas en la mitad de una tabla dinámica. Si lo trata de hacer, le saldrá este mensaje:

Esto puede ser un inconveniente, pues muchas veces quisiéramos quedarnos con esa información y poder trabajarla, por lo tanto, la información debe volverse de dinámica, estática, solo valores.

La solución es seleccionar TODA la tabla dinámica, sino se deja tomar, seleccione INCLUIDAS LAS

CELDAS ADYACENTES QUE LA CONTIENEN, copiarla con Control + C, y pegarla en otro lado con la

opción PEGAR VALORES:

Pero supongamos que quisiéramos que el reporte de la tabla dinámica pegada sea otra vez una tabla

de datos. Entonces, pegue la info pero primero quítele los subtotales (que ya sabe cómo hacerlo), y recuerde la técnica de rellenar celdas en blanco que le expliqué en los temas del principio. (Ir a especial

– celdas en blanco, + la celda de arriba y Control + Enter)

Page 272: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

272

Más de tablas dinámicas:

Operaciones diferentes a Suma

Es posible volver a arrastrar el campo de valor, y hacer que la tabla dinámica en lugar de sumar, nos saque un promedio, o haga un conteo:

En Excel 2003, lo haríamos, ya sea usando el panel o arrastrando OTRA VEZ, el campo Valor total al área de DATOS:

En Excel 2007, simplemente arrastre en el panel a la zona de datos, nuevamente el Valor total. O si activó la opción de arrastrar al estilo de Excel 2003, arrástrelo dentro de la misma tabla dinámica:

Page 273: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

273

En Excel 2003 quedaría así:

En Excel 2007 quedaría así:

En Excel 2003, debe de reubicar Valor Total 2 al área de columnas, (Excel 2007 lo acomoda de una

vez.) Arrastre el botón Datos al área de columnas, de tal manera que le quede así:

En Excel 2003 vaya al asistente de tablas dinámicas, vaya por la opción de diseño:

Haga doble clic en Suma de Vr Total2.

Page 274: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

274

Verá que en este segundo botón, puede cambiar la operación de suma, por CUENTA. Seleccione Cuenta

y a continuación, Aceptar, Aceptar y Finalizar. La tabla dinámica le quedará así:

Mirando con detalle, este Cuenta de valor total2, para el caso, vienen a ser como la cantidad de

negocios que efectuó la “SALES FORCE” (fuerza de ventas): (Fíjese que en la tabla base, Julio hizo dos

negocios):

Si se va de nuevo por la opción de diseño,

Page 275: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

275

Y hace doble clic en Cuenta de valor total, puede cambiar el nombre de ese campo:

Aceptar, Aceptar y finalizar. A la tabla dinámica le cambiará el nombre por el que le haya personalizado:

Ahora, si se fija, en la ventana objeto que se refiere al campo de la tabla dinámica, puede ver que hay más opciones, una de ellas es Número. A través de Esta opción, puede darle Formato al mismo.

Page 276: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

276

En Excel 2007, la esta acción se hace en el panel lista, campo valores, despliega la lista desplegable o la

pestaña, tal como se ve aquí. Le saldrá un menú y en él, haga clic en Configuración de campo de Valor.

Seleccione la operación CUENTA. Allí abajo puede ver que está el botón FORMATO de NÚMERO. Por allí

puede cambiar el formato. Clic en Aceptar.

Page 277: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

277

La tabla dinámica en Excel 2007, le quedará así:

Puede ver que YO LE formatié el numero de negocios y le puse decimales….(que bruto Je). Ya sabe como corregir ese error, nuevamente vaya por la opción Configuración de campo de valor, Formato de

Número, Aceptar y Listo.

Llevando más campos a la tabla dinámica:

Este reporte se puede enriquecer arrastrando más campos, al área que deseemos. Es bueno probar que

pasa si lo lleva a la zona de columnas, o de filtro de reporte, para que observe el efecto y cuál de ellos es el que visualmente tiene mejor presentación. Por ejemplo, llevando el campo PRODUCTO al campo

de filas, el reporte nos queda así:

En Excel 2007:

En Excel 2003:

Page 278: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

278

Si arrastramos el campo Zona, la cosa nos queda así:

En Excel 2007:

En Excel 2003:

Como vimos, el ejemplo tiene datos por días, revisemos cuales fueron los días en los que se vendió

menos: En Excel 2003, reorganice la info así:

En Excel 2007, así:

Ok, las tablas en ambos sistemas, le quedarán como le muestro a continuación en la siguiente página:

Page 279: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

279

Excel 2003:

Excel 2007:

Podemos cuadrar el formato de fecha PERSONALIZADO, para poder ver el día de la semana, colocando

dddd;@ así:

Ok, las tablas dinámicas le quedarán así:

Page 280: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

280

Excel 2003:

Excel 2007:

Podemos ver que el día más malo fue el miércoles. Elimine el campo Zona, y con esa info, resultante hacer un gráfico, solo llame el botón de gráficos y señale el área comprendida entre los días en letras y

los totales. La siguiente imagen es en Excel 2003:

En Excel 2007, para armar un gráfico, vaya por la ficha Insertar:

Page 281: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

281

Escoja el estilo que desee, aquí, voy a escoger Columna;

En cuanto escoja el tipo de grafico de columna,

aparecerá dentro de las barras de herramientas, una nueva, Herramientas de Gráfico:

En esa ficha, seleccione el grupo DATOS:

Seleccione los datos:

Page 282: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

282

Si en la tabla dinámica, en Excel 2007, llevamos el campo Zona, podemos ver que:

El único distrito que vendió el miércoles fue el SUR. Como puede ver, las tablas dinámicas nos ayudan a

ver rápidamente situaciones que sin ellas tendríamos más dificultad.

Page 283: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

283

Más de tablas dinámicas:

Porcentajes de Participación

Vamos a sacar el porcentaje de participación de cada vendedor respecto del total:

Para esto, vuelva y arrastre el campo Vr total, de manera similar a como ya lo hicimos hace un rato,

pero en esta ocasión, vamos a usar una opción que está por allí y que no hemos explorado todavía:

En Excel 2007, vamos por configuración de campo de valor en el campo Suma de Vr Total2:

Escoja la ficha Mostrar valores como, despliegue las opciones y con la barra de desplazamiento vertical,

baje y busque la que dice % del Total.

En Excel 2003, por diseño, escoja dentro del área DATOS, Suma de Vr total2 y haga doble clic. Llegará

a esta ventana objeto, similar a la que acabamos de ver:

Page 284: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

284

Haga clic en Opciones para que se despliegue la parte inferior que se ve aquí y escoja la opción % del total. Haga clic en Aceptar. La cosa queda en cada versión así:

En Excel 2003:

En Excel 2007:

Recuerde que esos nombres feos que se ven allí, (no me refiero a los de los vendedores, me refiero a

esos nombres Suma de Vr Total y Suma de Vr Total2) se pueden cambiar configurando el campo, como le mostraba más arriba.

Page 285: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

285

Más de tablas dinámicas:

Acumulados

Continuando con el ejemplo de la base ficticia que venimos ilustrando, vamos a usar la técnica de acumulados para sacar los totales diarios, pero también poder ver la acumulación de los mismos en el

día a día. Para esto vamos a meternos por LA MISMA OPCIÓN, solo que en lugar de escoger % del

Total, vamos a escoger “Total en” y escogemos como campo base, fecha. En Excel 2007, la opción es por acá:

En Excel 2003, la opción es por acá:

Recuerde que debe llamar la opción diseño, dar doble clic en Suma de Vr Total2:

Ok. La tabla dinámica nos queda en cada una de las versiones así:

Page 286: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

286

En Excel 2003:

En Excel 2007:

Participación porcentual

Esta opción nos permite conocer el porcentaje de participación con relación al producto en el día a día y

al total general. Sale cuando escoges % de la fila, así, si en el ejemplo anterior, hacemos el cambio respectivo obtenemos este resultado:

En Excel 2003:

En Excel 2007:

Vemos que no nos dice nada…. Pero si le arrastras el campo fecha al área de columnas, y le quitas la suma de valor total (ojo, lo quito solo para propósitos de que se pueda visualizar el efecto en un

pequeño gráfico, pero se pueden dejar los dos, no faltaba más) sucede esto:

Voy a enseñar cómo queda en 2007, ya sabe que en 2003 queda parecido:

Ahora, si, observe y saque conclusiones…

Page 287: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

287

Crecimiento en Valor y en Porcentaje

Para ver el crecimiento o decrecimiento de un día respecto al anterior por producto, tendríamos que sacar la diferencia entre ambos. Esta opción también está allí, seleccione, en lugar de “% de la fila”,

“Diferencia de”. La cosa queda así. Por espacio, solo muestro una porción de días, y edité el nombre de los campos:

Puede ver que el GUTIS decreció 40.000. Si en lugar de Diferencia de, escoge Porcentaje de la diferencia de, obtendrá el crecimiento porcentual.

Más de Tablas Dinámicas:

Campos Calculados

Considere la siguiente información:

La tabla dinámica también nos puede efectuar la diferencia entre los dos años. Estos años pueden ser

el año real vs el presupuesto, o la variación de los saldos de balance de un año a otro. Esto se realiza con la ayuda de un campo calculado, que haga la resta de un campo a otro.

Para lograr esto, en Excel 2003, siga los siguientes pasos:

Page 288: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

288

Realice los pasos conocidos de tabla dinámica, en el campo diseño, organice la info así:

Tendrá este resultado:

Arrastre el campo datos a la zona de columnas, para que le quede así:

Ahora, UBICADO en el área de los TOTALES, vaya por la barra tabla dinámica, formulas, campo calculado:

Page 289: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

289

Llegará a esta ventana Objeto:

El nombre que le ponga, es el que le saldrá en la tabla dinámica. Ahora, para la formula, escoja Último

año, clic en insertar campo, coloca el signo menos en formula, selecciona el campo Año anterior, y le da SUMAR: Cuando le dé sumar, el campo calculado quedará junto con los demás campos:

Page 290: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

290

Luego haga clic en Aceptar:

Listo…. Ya tiene la variación. Estas formulas son simples, no las confunda con las funciones de Excel.

Page 291: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

291

Ahora vamos a ver como es el asunto en Excel 2007:

Armamos la tabla dinámica:

Ahora nos vamos por Opciones de Herramientas de tabla dinámica, Formulas, Campo calculado:

Page 292: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

292

Llegamos a la misma ventana que acabamos de Explicar en Excel 2003. Como verá, es la misma cosa. Clic en aceptar y listo:

Así se hacen los campos calculados. Lo invito a que experimente y arme sus campos calculados, se pueden armar formulitas mas complejitas, si mal no recuerdo hace años, efectuaba la diferencia entre

un presupuesto versus el real, para obtener el cumplimiento del presupuesto en valores, a su vez

dividido por el año anterior para obtener el porcentaje, bueno, la idea es esa… Igual eso está en los libros o en el todopoderoso Google.

Page 293: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

293

Más de Tablas Dinámicas:

Elementos Calculados

La diferencia entre el elemento calculado y el campo calculado, reside en que el campo calculado actúa

sobre los campos que se llevan al área de datos en el cual se harán las operaciones, mientras que el elemento calculado actúa sobre los campos que se ubican en las otras áreas tales como el área de filas

y de columnas.

En el caso que veíamos anteriormente, si quisiéramos armar un elemento calculado, no podríamos,

Sencillamente porque los elementos calculados no están disponibles en los campos del área de datos,

los campos que están siendo sumariados no pueden usarse para hacer elementos calculados, solo para CAMPOS calculados.

Pero fíjese que si selecciona una celda del área de las filas, SÍ se activa ELEMENTOS CALCULADOS, y esta opción es muy útil si quisiéramos sacar la diferencia entre dos elementos, por ejemplo, en la

imagen por decir algo, obtener la diferencia entre el área de Auditoría y Dirección administrativa.

De manera similar, primero ubique y seleccione una celda de la región de las filas, esto es cualquiera de

las áreas. Verá que el elemento calculado aparece ACTIVADO. En la ventana objeto, de manera similar a como montó la formula en campo calculado, dele un nombre al elemento, y seleccione los elementos.

Por ejemplo, aquí voy a hacer la diferencia entre Auditoría y Dirección administrativa:

Page 294: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

294

Ok, una vez armada la fórmula, haga clic en sumar, y luego en aceptar, verá como le aparece al final de la tabla dinámica. Solo le falta que seleccione el campo y lo ubique debajo de Auditoría y Dirección

administrativa:

Los elementos calculados también son útiles para obtener la diferencia entre el último año y el año anterior, cuando la información NO NOS LA PASAN de esa manera, sino que Digamos que nos la pasan

así:

Page 295: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

295

Que es como el caso más común. En este caso, arme la tabla dinámica así:

La tabla le quedará así:

Nota: Acuérdese que para sacar la diferencia entre los años no necesita hacer un elemento calculado, lo puede hacer con la opción “Diferencia de”, que vimos en el apartado anterior.

Entonces, ahora ubíquense en la región de filas, sobre una de las áreas, llame la ventana objeto de

Elementos calculados, seleccione el campo año, y verá que tiene disponibles los elementos Año Anterior y Ultimo año. Con ellos, arme la formula, así:

Page 296: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

296

Ahora, si da clic en Sumar, TE SALDRÁ que Excel no puede hacer la fórmula con esos elementos, porque

Y si se fija, en la tabla dinámica el campo AÑO, está quedando dentro del AREA DATOS.

Entonces, QUE HACER ?

Pues ayudarle a Excel, creando un nuevo elemento dentro de la tabla, que se pueda usar en el área de

las filas, tendrás que editarla, así:

Page 297: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

297

No lleves datos al área de Columna, llévalos al área de las filas

La tabla te quedará así:

Page 298: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

298

Ahora, vaya por elemento calculado y configure la información así:

OJO SI VAS A HACER UN ELEMENTO CALCULADO TIENES QUE ESTAR UBICADO EN LA TABLA

DINAMICA SOBRE EL ELEMENTO. YO DESEO HACER UN ELEMENTO CALCULADO EN EL ELEMENTO GRUPO, LUEGO ME UBICO EN ESA CELDA ANTES DE LLAMAR LA VENTANA (ESTA) EN LA CUAL

CONFIGURO LA FORMULA. No hacer bien el paso puede generar mensajes de error de Excel con lo cual al tercer intento, perdemos la paciencia, dejamos la cosa así y no logramos crear el elemento

calculado.

Page 299: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

299

Ahora, si llevo el campo Año, al área de columnas, tendré la información visiblemente más amigable:

Page 300: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

300

Si hago clic en Grupo,

Me puedo quedar con el dato solo de la diferencia:

Finalmente, si nos pasan la info así:

Page 301: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

301

Podemos llegar con ELEMENTOS calculados a esto:

Si nos pasan la info así:

Con CAMPOS CALCULADOS Podemos llegar a esto:

Page 302: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

302

Más de tablas dinámicas:

Cruces de información. Auditoría o Contabilidad, Costos, Producción o cualquier profesional que necesite comparar dos bases,

siempre tendrá necesidad de cruzar información.

Los elementos y campos calculados nos pueden ayudar con esta tarea, sin embargo, es mí deber

comentarle que es una gran ayuda tener un nuevo Excel con capacidad para manejar más de un millón de registros pero, cuando usted monta elementos o campos calculados en un par de bases que le

midan más de 500 mil registros, el Excel de su máquina, se le puede quedar literalmente MUERTO. Esto es debido al enorme esfuerzo que comienza a efectuar el aplicativo haciendo la operación campo por

campo. Incluso con un Computador con las mejores especificaciones pasa.

Qué hacer entonces?

Pues ayudarle a Excel evitando que se esfuerce tanto. Cómo? NO utilizando ni campos ni elementos

calculados. Lo que Excel si hace MUY RAPIDAMENTE, es la Suma total, por filas y por columnas. Entonces, el truco radica en cambiar el signo al campo valor en una de las bases o una de las tablas.

Supongamos que tenemos un Extracto bancario, que lo hemos podido descargar de internet, gracias a los servicios del banco. Este puede ser un ejemplo:

Para el caso, sirve. (Es un ejemplo inventado por mí, el propósito es transmitirle la idea…).

Ahora, en otra hoja de cálculo Usted tiene el libro auxiliar en archivo plano, y ya lo ha logrado depurar,

esto es Limpiarle la basura de los encabezados, o a lo mejor su aplicativo contable exporta los datos de una sola vez a Excel, y digamos que tiene la info así:

Page 303: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

303

Para cruzar la información, lo que le sugiero es:

1. Unifique las dos bases de datos, una debajo de la otra. 2. Identifíquelas. Esto es, coloque un nombre en la columna A, a cada una de las tablas, cosa que

le permita a Excel distinguir que la tabla de arriba es el Extracto y la tabla de abajo es la

contabilidad. 3. Si puede identificar más cosas en común, inserte una nueva columna y coloque el mismo

nombre. Por ejemplo, por decir algo, las transferencias recibidas pueden ser equivalentes a las consignaciones. Entonces, a esos dos conceptos, transferencias y consignaciones, llámelos de la

misma manera. 4. Cámbiele el signo a una de las tablas, en una nueva columna de Valor.

Mire que aquí, en la columna A, e identificado que el bloque superior es el extracto bancario y el inferior el libro auxiliar de contabilidad. También, en la columna REF2, unifiqué el criterio de que lo que es

similar en ambas tablas. Finalmente, dupliqué la columna de Valor en Valor2, y le cambié el signo a la

tabla de arriba.

Con la información organizada de esta manera, Excel no tiene que calcular nada, salvo hacer la operación de suma. La idea de esto es, que si existen 100 pesos en una de las tablas, y esos 100 pesos

existen en la otra tabla, pero negativos (porque le cambiamos el signo), Excel sumará +100 -100 = 0.

Entonces, TOOODO lo que nos dé CERO, significará que está cuadrado. (Ojo, En principio, pues te puede ocurrir que hayan varios valores de 100!!). Organice la tabla dinámica así:

Page 304: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

304

La tabla dinámica le quedará así:

Como puede ver, aquí está la conciliación…. Hay unos casos que le llegan a uno en los cuales a veces

es muy difícil hacer un match (match = coincidencia), y no hay una llave (campo clave) sobre el cual efectuar la conciliación. Entonces, una salida, puede ser, CRUZAR EL MISMO VALOR.

Como los valores son positivos en ambas BASES, pues vamos a rastrear o cruzar a nivel del mismo valor, ASI:

La tabla dinámica nos mostrará esto:

Page 305: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

305

Ahora, podemos cruzar por fechas a ver qué pasa:

Obtenemos esto:

Podemos ver que en los abonos y en los pagos hay dos valores que cuadran. Y que la diferencia total de 3.033 viene de 330 pesos en abonos y 2703 en pagos, y cada uno de ellos, son de una

inconsistencia en valores, por ejemplo, el auxiliar dice tener 801.980,37 y el extracto dice que tiene 801.680. Un error de digitar un 980 en lugar de un 680, además de otros dos casos.

Page 306: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

306

Cruzar la información de esta manera es sumamente VELOZ para Excel, mientras que si lo pones a

hacer campos o elementos calculados, tu computadora se esfuerza más.

Más de Tablas dinámicas: Desactivar la opción GETPIVOTDATA.

Estoy seguro, que habrá notado que cuando se desean hacer cálculos u operaciones sobre los datos de

la tabla dinámica, Excel crea una formula RARISIMA, incluso para una SIMPLE DIFERENCIA DE CELDAS.

Hagamos nuevamente un ejemplo con cruces de información. Supongamos que tenemos un par de rangos, cada uno de ellos con el Forecast por cliente de la semana actual versus la semana anterior.

Bueno, de manera similar a como se acaba de explicar, se unen las dos tablas y en una nueva columna

se identifica cada una de ellas, así:

Page 307: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

307

Con la INFO organizada, comienza a construir la tabla dinámica y dispone los campos así:

Por la opción Diseño de tabla dinámica, desactiva los totales de columna, así:

Page 308: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

308

Verá como se quita ese total. Ahora viene el problemita que le comentaba: Si se quisiera restar la

columna Forecast Esta semana MENOS Forecast semana pasada, nos sale una fórmula que nada tiene que ver con la tradicional, además, si probamos a copiarla, veremos cómo NO FUNCIONA:

Como QUITAR esto? ASI:

En Excel 2007, Vaya por el ícono de Office en el extremo superior izquierdo:

Haga Clic en ese ICONO, luego vaya por OPCIONES DE EXCEL:

Page 309: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

309

En opciones de Excel, escoja PERSONALIZAR, y en comandos más utilizados, escoja TODOS LOS COMANDOS, y en ellos, dé Adjuntar el botón GENERAR GETPIVOTDATA:

La opción le quedará Disponible en los botones de acceso rápido:

Si desactiva la opción, podrá hacer operaciones SOBRE la tabla dinámica:

Page 310: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

310

Y copiar la formula hacia abajo:

Page 311: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

311

Como activar la opción en Excel 2003:

Vaya por la opción Herramientas – Personalizar:

En la ventana, seleccione la ficha Comandos, y dentro de ella, DATOS, Generar GetPivotData. Arrastre

el botón hacia la barra de herramientas:

Ok, es una forma que incluso es más sencilla que ponerse a cambiar el signo a una de las tablas fuente.

A veces es mejor ser práctico que sofisticado. No lo cree?

Page 312: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

312

Armando tablas dinámicas que leen más de 1.048.576 filas

En varias partes del libro he mencionado que, pasar de 65 mil filas al millón y pico de filas en el nuevo Excel me hizo muy feliz, y es verdad, pero cada vez que te enfrentas a mayores retos, te puedes

encontrar que incluso el millón de filas puede no ser suficiente. Ya me ha pasado. Tuve que analizar Kardex demasiado grandes y te cuento que la cosa se me complicó un poco. Hasta que me acordé de la

aplicación hermanita de Excel: El Todopoderoso Access.

La cosa fue así: baje el kardex de todo un año en archivo plano. La idea era cruzarlo con el auxiliar de

la cuenta de inventarios y en un dos por tres saber cuáles eran las transacciones problema. Lo abrí en Excel 2007. Qué pasó? Excel NO LO ABRIO COMPLETAMENTE.

Como le mencionaba en los primeros temas del libro, en el apartado relacionado con arreglar los

archivos planos con la opción Ordenar los datos, el 1.048.576 filas de Excel corresponde a una hoja de

papel VIRTUAL de 5 kilómetros de largo. Por eso, en principio, se me hace difícil creer que haya un volumen mayor de datos… pero, como se dice, “De todo se ve en la viña del Señor”. Entonces, pues

nada, generé el listado en bloques de 6 meses, lo cual pues también es aceptable, los volví base de datos e intenté unirlos. Y qué pasó? No pude! Al unirlos, sobrepasaban el 1.048.576 filas….

RAYOS. Entonces? Necesitaba presentar la conciliación que contuviera un año. No me servía presentar

6 meses…. Solución?

Utilizando Microsoft Access para crear una sola base de datos.

Lo que hice fue UNIFICAR los dos archivos en uno solo, con la ayuda de Microsoft Access. Cómo? Así:

1) Usted ya tiene los dos archivos que corresponden a las dos bases de datos en Excel. Ojo,

Deben ser IDENTICOS EN ESTRUCTURA. 2) Abre el Access.

3) Abre una nueva base de datos en blanco, clic en crear. 4) Clic en Ficha, datos Externos, Excel:

Page 313: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

313

5) Te saldrá este cuadro de diálogo:

6) En el botón examinar, que es una especie de EXPLORADOR, busque la primera de las bases de

datos EXCEL:

Page 314: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

314

7) Seleccione uno de los archivos que corresponden a la primera parte de uno de los años del

kardex, y haga clic en abrir. Regresará al momento anterior que veíamos en Access, (la imagen

anterior a esta) clic en aceptar. Access comenzará a importar el archivo. Al finalizar tendrá algo así:

8) Siga las instrucciones, acepte las sugerencias de Access hasta llegar a la opción finalizar:

Page 315: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

315

9) En el último paso, clic en cerrar. Nuevamente importe la otra tabla cuidando que quede

formando parte de la tabla que acabó de importar:

10) Cuando ya tenga ambas tablas unidas, guarde el archivo en Access. Es decir, como un archivo

Access… o sea un archivo con extensión .accdb

11) Cierre la aplicación Access y abra Excel. 12) En un libro nuevo, vaya por la ficha insertar y escoja tabla dinámica:

Page 316: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

316

13) En crear tabla dinámica, vaya por la opción Elegir fuente de datos externa:

14) Haga clic en elegir conexión

Page 317: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

317

15) Clic en “Examinar en busca de mas” y busque el archivo que unificó con la ayuda de Access,

dele Abrir:

16) Una vez seleccionado el archivo, haga clic en aceptar:

Page 318: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

318

La tabla dinámica comenzará a leer los datos, podrá ver como supera sin problema el

1.048.576 filas, y podrá armar la tabla dinámica a su conveniencia:

Tenga en cuenta que está manejando una cantidad impresionante de datos, así que tenga paciencia si

su equipo se pone RELENTO. Paciencia, mientras se compra un equipo de cómputo mejor.

Page 319: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

319

Ahora, si quiere hacer el cruce de información, del kardex y el auxiliar, acuérdese de cómo realizar el

cruce de información que le explique en uno de los temas de tablas dinámicas, concretamente como

organizar las dos tablas y únalas en un archivo MADRE con la ayuda de Access. En cuanto comience a montar la tabla dinámica, verá que cuenta con el campo “origen”, que es el que identifica cada una de

las bases unidas y tendrá que la tabla dinámica le hará la SUPERCONCILIACION, basada en el archivo externo de Access.

De manera similar, la tabla dinámica puede leer cualquier fuente de datos, Oracle, SQL, Fox Pro, etc. No necesita cargar en Excel la supertabla o base entera, puede hacer que Excel la lea de manera

Externa, y de esta manera no se verá detenido por la limitante del 1.048.576 filas.

Si tiene dificultades, pídale ayuda al Ingeniero de sistemas, ellos están muy familiarizados con el manejo de tablas en SQL, Oracle, Fox o aún el viejo Débase.

Page 320: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

320

Automatizando las tareas con Excel VBA

No está de más recordarle que el Excel 2007 trae más de UN MILLON CUARENTA MIL FILAS. Le cuento, por experiencia propia, que hasta movimientos contables mensuales de empresas grandes se pueden

manejar con este nuevo Excel. …Es que uno siempre quedaba limitado por las viejas 65 mil filas de Excel 2003, solo con esta mejora, me hicieron muy feliz. Ya sabe, si leyó el tema anterior, que incluso

Excel puede trabajar directamente en las bases de datos con lo cual puede trascender el límite del

millón cuarenta mil filas…

En números: Diferencias entre Excel 2003 versus Excel 2007: 2003 2007 Numero de Filas 65.536 1.048.576

Numero de Columnas 256 16.384

Cantidad de memoria usada 1 Giga El Limite es fijado por Windows

Numero de colores 256 4.3 Billones

Numero de formatos condicionales por celda

3 Ilimitados

Numero de niveles al ordenar 3 64

Numero de niveles para deshacer 16 100

Numero de ítems que se muestran en el autofiltro

1.000 10.000

Numero de caracteres que se puede mostrar en una celda

1.000 32.000

Numero de estilos únicos en un libro

4.000 64.000

Máximo número de caracteres en una formula

1.000 8.000

Numero de anidaciones en una formula

7 64

Numero máximo de argumentos en una formula

30 255

Fuente: pulse el botón F1 de ayuda de su Excel 2007

El tema de las macros es pletórico. Esta parte pretende enseñarle lo mínimo necesario para que pueda crear macros por lo menos funcionales. Pero muchos temas se quedan por fuera, si le gusta el tema,

deberá comprar libros especializados en el tema. Si después de esto, le coge gusto, estoy seguro que no será tan difícil abordar libros técnicos especializados.

Yo creo que, si Usted leyó el tema relacionado con “como rellenar los espacios en blanco”, allá tuvo que ver como con una pequeña macro, nos podemos deshacer de una gran cantidad de trabajo EN

SEGUNDOS!!! Es una cosa INCREIBLE, MONTAÑAS de trabajo pueden ser evacuadas EN SEGUNDOS!!! Razón más que suficiente para aprender el tema.

Quiero que sea consiente de como en este siglo XXI, el concepto angular de la dificultad se vuelve al

revés. Por el momento es al nivel Informático de Bytes. Pronto también será realidad a nivel atómico y

con ello me refiero a los tremendos adelantos que se llevan a cabo en la manufactura molecular. El planeta avanza a pasos agigantados, no pierda de vista los adelantos y no se resista al desarrollo

tecnológico, o será arrasado de la arena profesional. “una palanca y moveré al mundo”, decía aquel sabio griego.

Page 321: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

321

Otorgando el permiso necesario para que el código de las macros corran o se ejecuten en

su computadora

El primer paso antes de usar macros es activar el Visual Basic en el Excel de su máquina computadora.

En Excel 2000-2003, utilice la ruta Herramientas – Macro – Seguridad y ajuste la seguridad a MEDIO.

Cuando se da clic en Seguridad, como se ve en la imagen, aparece el cuadro de dialogo de seguridad:

Ok. Ahora, en Excel 2007, vaya por el icono de Office que se encuentra en el extremo superior izquierdo:

Page 322: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

322

Osea, al hacer clic allí, se desplegará esto:

Aquí, hace clic en Opciones de Excel, y allí, en centro de confianza. Llegará aquí:

Page 323: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

323

De clic en configuración de centro de confianza. Llegará aquí:

Si no llega, vaya por la ficha programador

Page 324: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

324

Haga clic en seguridad de macros:

Deberá llegar a la ventana que le acabo de mostrar, allí, escoja la opción Deshabilitar todas las macros

con notificación.

Recuerde que si está usando macros en Excel 2007 deberá guardar los libros como libro habilitado para macros, con extensión .xlsm

Page 325: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

325

Insertando el modulo VBA en su libro de trabajo

Las macros normalmente se escriben en un modulo VBA de su libro de trabajo. Un libro puede contener muchas hojas de calculo así como hojas de gráficos, también puede contener muchos módulos VBA.

En un proyecto complejo, es recomendable colocar las macros que crean reportes en un modulo y las

que se refieren a seguridad o captura de info en otro modulo. Cada módulo puede contener muchas

macros.

Pero macros pequeñas y sencillas se pueden guardar en un solo módulo.

En la macro copiar vimos un poco de esto, pero no está de mas recordar la ruta para insertar un modulo: Ficha programador – Visual basic. Una vez allí, Menú insertar – módulo.

En Excel 2003 la cosa es muy similar: Herramientas – Macro - Visual basic Editor. Una vez allí, Menú

insertar – módulo.

Page 326: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

326

Escribiendo y corriendo una macro

Una vez que inserte el modulo, verá un panel blanco al lado derecho, el cual se llama Panel de Código. Allí es en donde se escriben las macros.

Para comenzar a escribir una macro, escriba la palabra Sub, un espacio, un nombre para la macro y un

par de paréntesis, uno que abre y otro que cierra. Por ejemplo:

Sub Probando()

Cuando escriba esta línea, presione ENTER. Excel crea una nueva macro llamada Probando. Visual Basic

adiciona una línea en blanco, y la línea final de la macro con la palabra End Sub.

Cualquier instrucción que escriba entre las líneas Sub y End Sub se ejecutan cuando usted corre la

macro.

Haga clic en la línea en blanco entre Sub y End Sub, y escriba esta línea:

Msgbox “Esta es una prueba”

Haga clic en el ícono de Excel y regrese a la hoja de cálculo de Excel. Si está siguiendo estas instrucciones paso a paso, ahora va a probar si la macro funciona.

Una manera de correr una macro es llamar las macros disponibles, lo cual puede hacer presionando Alt+F8 en cualquier versión de Excel. En Excel 2007 las puede llamar a través de la ficha programador.

En las versiones anteriores, yendo por el menú Herramientas – Macro – Macros.

Tal como se muestra en la siguiente imagen, el cuadro de dialogo de las macros lista todas las macros

disponibles en su libro. Haga clic en la macro y presione el botón ejecutar:

Page 327: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

327

Esta macro sencillita le muestra el texto en una caja de mensajes:

Puede no ser muy efectivo tener que traer la ventana de las macros, sobretodo si se tiene que ejecutar periódicamente. Es mejor asignar la macro a un atajo de teclado, una combinación de letras que al

oprimirlas simultáneamente, ejecuten la macro.

Para asignar una combinación de letras que sirva para correr la macro, haga lo siguiente:

1. Llame las macros.

2. Haga clic en una de las macros.

3. Escoja el botón Opciones 4. En la ventana de las opciones de macro, escriba una combinación de teclas. Ctrl+J y Ctrl+K son

buenas opciones, pues no hay comandos de Excel asignados a esta combinación de teclas.

Page 328: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

328

5. Haga clic en Aceptar para cerrar la ventana opciones de macro. (esta que ve aquí)

6. Clic en Cancelar para cerrar LA OTRA ventana de Macros.

Ahora puede correr la macro si presiona Ctrl+J al mismo tiempo.

Page 329: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

329

Una macro que recorra todos los registros de la hoja de Excel

Por lo general, una macro sigue la siguiente estructura:

Comienza en el primer renglón de información de la hoja de cálculo. Examina un valor en una de las columnas.

Basado en este valor, decide hacer algo.

Se mueve al siguiente renglón en el rango de datos y repite.

Para crear esta estructura de macro siga los siguientes pasos:

1. En su Excel, identifique la primera fila con información. También identifique la última fila de información.

2. Llame el Editor de Visual Basic con Alt+F11

3. Si no está listo el modulo en el cual escribir la macro, insértelo usando el menú Insertar-Modulo.

4. Escriba la palabra Sub, dele un nombre a su macro y después un doble paréntesis de estos: (). En este ejemplo estoy denominando la macro así:

Sub EjemploRecorrido()

5. El comando para un recorrido es la palabra “For” seguido de un nombre variable. Los nombres

variables pueden ser I o X, o nombres tales como This row (Esta fila) Usted debe especificar la primera y la ultima fila del recorrido, para el ejemplo el recorrido será

especificado así: (Para EstaFila = 2 a 59, saltando de a uno)

For ThisRow = 2 to 59 Step 1

6. En la siguiente línea o renglón escriba un apostrofo y las palabras “Hacer algo”

7. En la siguiente línea, finalice el recorrido o Loop con el comando Next ThisRow.

Esta macro recorrerá todos los registros de información de su hoja de calculo “Step 1” (paso 1) significa

que la macro revisará cada fila. Si se usa “Step 2” revisará la segunda fila distinta a la actual. En este momento, la macro no hará nada aparte de recorrer la hoja de cálculo, pues la instrucción se

indica en donde colocamos el comentario del apostrofo “Hacer algo”. Seguidamente le diremos que

haga o ejecute alguna cosa, con lo cual le dará una idea de lo que la macro puede hacer.

Page 330: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

330

Como referenciar las celdas en el recorrido

Uno puede referirse a una celda de una fila y columna particular usando el comando

CELLS(Row, Column) quiere decir CELDA(Fila, Columna)

Por ejemplo, la celda J2 esta en la segunda fila y la décima columna (si verifica que numero de columna

es la columna J, se dará cuenta que es la número 10), entonces CELLS(2,10) se refiere a la celda J2.

Nota: Es importante indicar que el grabador de macros generaría en lugar de Cells(2,10), la celda J2,

esta otra notación que es igualmente válida, aunque fija, lo cual es una desventaja como veremos a continuación:

Range(“J2”).Select

Lo bueno de referirse a las celdas mediante la técnica CELLS(Fila,Columna), es que las

coordenadas de la celda pueden ser una variable, o sea, no tienen que definirse fijamente sino que pueden ser cambiantes. Por ejemplo, para referirnos a la columna D en la fila corriente de la hoja de

cálculo, puede utilizar CELLS(ThisRow, 4). Para referirse a la columna A en la fila corriente de la hoja de calculo, puede usar CELLS(ThisRow, 1). Para referirse a la columna E en la fila anterior de la hoja de

calculo, puede utilizar CELLS(ThisRow -1, 5).

Referenciar la fila completa usando CELLS En algunas ocasiones, mientras la macro hace el recorrido uno puede necesitar referirse a la fila entera

de la hoja de cálculo. Por ejemplo, ocultarla o colorearla. Utilice el comando .EntireRow

(Fila entera). Cualquiera de estos comandos ocultarán la fila corriente en el recorrido:

CELLS(ThisRow, 5)EntireRow.Visible = False

CELLS(ThisRow, 1)EntireRow.Visible = False

Page 331: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

331

Referenciar un rango rectangular usando CELLS

Si quisiéramos aplicar un color o un formato negrita, podemos hacerlo a un rango. Podemos hacerlo por ejemplo, a 6 columnas, no a la fila entera.

El comando .RESIZE(#Rows,#Columns) hace que el comando CELLS que se refiere a una sola celda, se refiera a un rango rectangular comenzando por la Celda como el comienzo de la esquina superior

izquierda.

Nota: Resize significa cambiar la medida o cambiar el tamaño Rows Filas, Columns Columnas Por ejemplo, para referirse a un rango de una fila por seis columnas, puede usar:

CELLS(ThisRow, 1).RESIZE(1, 6)

Este otro comando colorea las columnas A hasta la F en la fila actual en rojo:

CELLS(ThisRow, 1).RESIZE(1, 6).Interior.ColorIndex = 3

Macro que nos colorea cada tercera fila de rojo

Bueno, con lo visto anteriormente ya podemos montar una macro que recorra nuestra hoja de calculo,

y cambiando el comando STEP para que haga el paso cada tercera fila. En la macro que estábamos

escribiendo, en lugar del “Hacer Algo” vamos a cambiar el color de las primeras seis columnas en esa fila a rojo.

La macro que se muestra a continuación corre un pocos segundos (o milisegundos) y es mucho mas rápida que si se creara un nuevo estilo de tabla o formato condicional.

Page 332: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

332

Tomando decisiones basados en los valores hallados en la fila

Avanzando un poco mas en las técnicas vistas, podemos hacer que dependiendo del valor de la celda, se ejecute una acción o no. Si Usted conoce la función Si, esta estructura le será mas fácil de entender.

Se puede hacer que una macro tome una acción o decisión con la estructura IF…..THEN….ELSE….END IF (Sí Talcosa….Entonces, Sinó, FinSi) Por ejemplo, este código revisa cada registro de la columna E. Si

esta columna contiene la palabra “Servicios”, entonces el valor de la columna F se copia a la columna G

y de una vez, la fila la podemos colorear de verde. En caso contrario, haremos que la pinte de color rojo.

Recuerde que se pueden comentar los pasos de la macro anteponiendo un apóstrofo Sub SeparandoServicios()

„Esta macro mueve los ingresos por servicios de la columna F a la G

„Pinta las filas de los ingresos por servicios de Verde

„Pinta las filas de los ingresos por productos de Rojo

For ThisRow = 2 To 16171 Step 1

If Cells(ThisRow, 5) = “Servicios” Then

„Movemos el valor de la columna 6 a la columna 7

Cells(ThisRow, 7).Value = Cells(ThisRow, 6).Value

„Ponemos un Cero en la columna 6

Cells(ThisRow, 6).Value = 0

„Coloreamos la fila de Verde

Cells(ThisRow, 1).Resize(1, 7).Interior.ColorIndex = 4

Else

„Ponemos un cero en la columna 7

Cells(ThisRow, 7).Value = 0

„Pintamos la fila de rojo

Cells(ThisRow, 1).Resize(1, 7).Interior.ColorIndex = 3

End If

Next ThisRow

End Sub

En SEGUNDOS, esta macro analiza más de 16 mil registros en Excel, reorganiza los valores, y les aplica

un color como se muestra en la siguiente imagen

Page 333: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

333

Ojo, bajo esta técnica CELLS tenga cuidado cuando se eliminen filas

Bueno, y que si queremos en lugar de copiar una celda, eliminar la fila completa? Pues aquí hay una ocurrencia extraña que pasa cuando en un recorrido (Loop) se elimina la fila. La fila que esta abajo y se

elimina no se evalúa….

Supongamos que tenemos una macro que recorre desde la fila 1 a la 10

Digamos que de acuerdo al contenido de la celda, la cuarta fila se borra. Según lo que hemos visto, se haría con este código de macro:

Cells(ThisRow, 1).EntireRow.Delete

Recuerde que Entirerow.Delete significa eliminar o borrar la fila entera Resulta que al eliminar la fila 4 en Excel, toda la información de la fila 5 se mueve y pasa a ser la fila 4.

Sin embargo, en el próximo registro revisará la fila 5, que era la 6. Como el tema se enreda, lo importante es que se soluciona haciendo que la macro corra de atrás para adelante. O mejor dicho,

desde abajo hacia arriba, empezando por el último registro. Esto se haría reversando el orden de las

Page 334: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

334

filas en la declaración FOR, y especificando que el Paso (Step) es -1. Recuerde que con Step 1, va

bajando de a un registro. Pues con Step -1, va subiendo de a un registro.

El Código podría ser:

Sub BorrarFilasQueNoMegustan()

„Borro las filas que contienen Q4

For ThisRow = 16171 To 2 Step -1

If Cells(ThisRow, 4) = “Q4” Then

Cells(ThisRow, 1).EntireRow.Delete

End If

Next ThisRow

End Sub

Trabajando con un número desconocido de Filas

Resulta que no todas las veces el archivo sobre el cual corre la macro tiene la misma cantidad de

filas…. Seria “muy de buenas”….. en la realidad, esto no ocurre. Por lo general los reportes varían en cantidad de registros, y tener que estar cambiando el código

For ThisRow = 2 To 16171 Step 1

Hasta la fila “To 25645”, por decir algo, seria una cosa muy aburridora, además de que no tiene presentación ni sentido.

Hay un truquito que se puede usar para trabajar en diferentes cantidades de registros según los archivos. Imagine que usted va hasta la última fila de la columna A. Es decir, si está en Excel 2003, se

ubicaría en la celda A65536. Si está en 2007 se ubicaría en la celda A1048576. Estando allí, Presione la tecla END, y luego la flecha hacia arriba. Excel sale disparado y se “estrella” contra el último registro.

Esta acción se puede grabar en una macro de varias formas, y la última celda hacer que Excel “La tenga presente”, es decir, “Que no la olvide”, guardando la dirección de esa ultima celda en una

variable, así:

En Excel 2003 podría usar:

UltimaFila = Cells(65536, 1).End(xlUp).Row

En Excel 2007 podría usar:

UltimaFila = Cells(1048576, 1).End(xlUp).Row

Si no sabe en que versión de Excel correrá la macro, puede colocar este código:

UltimaFila = Cells(Application.Rows.Count, 1)End(xlUp).Row

Page 335: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

335

Trabajando con Otras Hojas de Cálculo

Por lo general las macros corren sobre una hoja de cálculo activa; sin embargo, algunas veces se necesita mover información desde la hoja de cálculo activa hacia otra hoja.

Digamos que usted tiene cuatro hojas de cálculo adicionales en las cuales quiere guardar la información

por trimestres, en hojas separadas, que se llaman Trim1, Trim2, Trim3, Trim4. Si se quiere revisar cada registro de la hoja activa y copiarlo hacia la hoja del trimestre correspondiente.

Para referirse a la celda J2 en una hoja llamada hoja3, puede utilizar:

Worksheets(“hoja3”).Cells(2, 10)

Si el nombre de su hoja, está guardada en una variable llamada ThisTrim, puede utilizar algo así como

esto:

Worksheets(ThisTrim).Cells(2, 10)

Ok. La siguiente macro revisará cada registro de la cuarta columna y chequeará a que trimestre corresponde. Le asigna el periodo a una variable llamada ThisTrim. La macro buscará en la siguiente

fila en la hoja del trimestre apropiada y copiará el registro en esa hoja.

Page 336: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

336

Sub CopiandoHaciaOtrasHojas()

FinalRow = Cells(Application.Rows.Count, 1).End(xlUp).Row

For ThisRow = 2 To FinalRow Step 1

ThisTrim = Cells(ThisRow, 4)

NextRow = Worksheets(ThisTrim).Cells(65536, 1).End(xlUp).Row + 1

Cells(ThisRow, 1).Resize(1, 6).Copy

Destination:=Worksheets(ThisTrim).Cells(NextRow, 1)

Next ThisRow

End Sub

Recorriendo todas las hojas de cálculo

Hay una clase especial de recorrido o Loop conocida como “For Each” Un libro por lo general tiene una

colección de hojas. Una hoja contiene una colección de filas. Las filas pueden contener una colección de cuentas.

Para recorrer todos los objetos de la colección, puede usar algo como esto:

For Each VariableName in Collection

„Hacer algo

Next VariableName

Por ejemplo, si le queremos aplicar un formato a las filas de todas las hojas de cálculo, rojo, blanco,

blanco, del libro podría usarse un código como este:

Sub ColoreandoTodasLasHojas()

For Each ws In ActiveWorkbook.Worksheets

ws.Select

FinalRow = Cells(65536, 1).End(xlUp).Row

For ThisRow = 2 To FinalRow Step 3

Cells(ThisRow, 1).Resize(1, 6).Interior.ColorIndex = 3

Next ThisRow

Next ws

End Sub

Page 337: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

337

Usando el grabador de macros para aprender otro código

Hemos visto como colorear las filas de verde o de rojo….Pero y si se quisiera pintar las celdas de azul,

ponerle negrilla, tipo de letra tahoma, de tamaño 14? Yo no conozco el código para hacer eso. Usted

tampoco. ¡La mayoría de los programadores tampoco lo conoce! Pero como se hace?

Prenda el grabador de macros, en Excel, dele el formato deseado a una celda. Detenga la grabación de la macro, y examine el código…

Haga lo siguiente:

1. Ya sabe que si se encuentra en Excel 2003 va por el menú Herramientas – Macro – grabar

nueva macro. Si es 2007, Ficha Programador – Código – Grabar Macro. 2. La ventana de diálogo de la macro le pedirá un nombre, una combinación de letras y

descripción. Para lo que buscamos, no hace falta, porque no estamos armando una macro

como tal, solo queremos que el grabador de macros escriba el código que no conocemos y que necesitamos ver.

3. Use los comandos de formato para cambiar la celda corriente en negrilla, azul, tahoma, 14. 4. Detenga el grabador de macros.

En Excel 97-2003: Presione el botón Stop en la mini barra flotante. En Excel 2007: Haga clic en la barra de estatus o deténgala con el botón Stop Recording en la

ficha Programador.

5. Llame el editor de Visual Basic con Alt + F11 6. Excel siempre coloca el código en un modulo nuevo. En el panel de proyectos, verá un nuevo

modulo, de doble clic allí para abrir el panel de código. Allí verá que un código de la macro similar a esto:

Page 338: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

338

Ahora que conoce el código de la macro grabada, puede cortar y pegar esta sección e incorporarla en la macro que esté armando.

Algo que debe tener en cuenta es que el grabador de macros siempre trabaja haciendo una selección fija de cada celda. En la vida real las macros corren mucho más rápido si no las obliga a seleccionar

cada fila. Cambie la Selección de la sintaxis del comando CELLS, como se muestra a continuación:

Page 339: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

339

Sub PintandoAzulNegrillaTahoma()

For ThisRow = 2 To 16171 Step 1

If Cells(ThisRow, 4) = "Trim1" Then

Cells(ThisRow, 1).Resize(1, 6).Font.Bold = True

With Cells(ThisRow, 1).Resize(1, 6).Font

.Name = "Tahoma"

.Size = 14

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlUnderlineStyleNone

.Color = -65536

.TintAndShade = 0

.ThemeFont = xlThemeFontNone

End With

End If

Next ThisRow

End Sub

Lo que hay que tener en cuenta del grabador de macros

El grabador de macros es muy útil para ver como es que se escribe el código que necesitamos. Sin

embargo, la cosa tampoco es cuestión de prender el grabador de macros, hacer todo lo que se suele

Page 340: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

340

hacer en la hoja de cálculo, apagar el grabador, abrir un archivo en donde queremos repetir todo otra

vez, ejecutar la macro grabada y esperar que todo salga bien.

Como se le indicaba hace un momento, (en el apartado anterior), cuando usted selecciona, por

ejemplo, la ultima celda en su hoja de calculo, el Visual Basic graba que seleccionó esa celda de manera fija, (por ejemplo la ultima celda de la columna A en un archivo puede ser la A22356, y en otro archivo

puede estar mas abajo, en la celda A34750) y usted probablemente necesite es que se vaya hasta la

ultima celda, PERO de la hoja actual, de la hoja en la cual está corriendo la macro, no del archivo sobre el cual grabó la macro.

Ir hasta la última celda con información:

Lo que tiene que tener presente es, que siempre que necesite ubicarse en la última celda de su hoja, utilice el código que se le enseñó en el apartado anterior For Next:

UltimaFila = Cells(Application.Rows.Count, 1).End(xlUp).Row

En este caso, de una vez, se le dice a Excel que tenga en cuenta, que la ultima fila es la que va a

encontrar si se va hasta la ultima fila de la primera columna, esto es, la 65536 si está en Excel 2003 o

la 1048576 si está en 2007 y suba, hasta que se estrelle con la ultima celda que contenga datos. Así, cada vez que necesite que la macro vaya a la última fila, pues refiérase a la variable UltimaFila.

Para entender esto mas fácilmente suponga que si se grabara, con el grabador de macros, la operación

de ir hasta la ultima celda de la columna A, de Excel, (esta operación la haríamos con la ficha Inicio el

botón de buscar y seleccionar, Ir A, se le escribe “A1048576” y luego con la tecla Fin + flecha arriba), subir hasta la ultima celda con datos, quedaría grabado esto:

O podríamos seleccionar la última celda directamente y luego subir, quedaría grabado esto:

Page 341: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

341

Cualquiera de las dos formas, da lo mismo.

Ahora, el grabador de macros tiende a ser muy redundante, y si le quitamos tanta redundancia,

podemos hacer que la macro, al ser mas corta, pues se tarde menos. (Aunque a veces no se nota) Una

regla que se deduce es que no hay necesidad de obligar a Excel de que vaya hasta las celdas seleccionándolas, por ejemplo, para ir hasta la ultima celda de nuestra hoja de calculo, NO LA ULTIMA

CELDA DE EXCEL, pues no hay necesidad de seleccionar la ultima celda de Excel y hacerlo subir. Lo que grabó el grabador de macros, se puede editar, es decir, corregirle la escritura (el código) y dejarlo así:

Si se fija, podrá darse cuenta que estas dos sentencias o palabritas, Select y Selection, las seleccioné y

luego las eliminé:

Page 342: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

342

Y si se fija, verá que allí hay una redundancia y no hay necesidad de que Excel vaya hasta la última

celda del Excel, para ir hasta la última celda de información.

Ok. Debe saber que mejorando el código ni siquiera hace falta que Excel seleccione la última fila de su reporte, como se indicaba anteriormente, esta instrucción no obliga a Excel a ir hasta la última celda,

simplemente solo se necesita referenciarla:

UltimaFila = Cells(Application.Rows.Count, 1).End(xlUp).Row

Puede ver que este ejemplo por ninguna parte aparece el “Select”. Esto se traduce en mucha velocidad

de ejecución. La instrucción “Application.Rows.Count” sirve independientemente de que tipo de

Excel, 2003 o 2007 esté usando.

Desplazarnos a partir de una celda sin necesidad de seleccionarla:

Como le mencionaba hace un momento, cuando grabamos con el grabador de macros, pues está el

problema que cada vez que seleccionamos una celda en Excel, pues en el código queda seleccionada esa celda de manera fija, y eso es un problema, pues en ocasiones necesitamos ubicarnos en cierta

posición y a partir de allí movernos hacia arriba, hacia abajo, hacia alguno de los lados de esa celda, pero al quedar seleccionado, pues no nos queda bien, por la razón de que la ubicación en otro archivo

similar, quedará en otra posición y, si la macro graba que la posición es una posición fija, pues grave,

pues correrá mal.

Por ejemplo, ya sabemos como ir hasta la ultima celda con datos de nuestro archivo, haciendo que Excel tome por referencia la última celda de la hoja de cálculo, pero, ¿Y si queremos que una vez

posicionados en esa ultima celda, desplazarnos hacia la derecha, izquierda, arriba, o abajo?

Por ejemplo, si queremos ir hasta la ultima celda SIN información de nuestro archivo, necesitamos bajar

a la fila que está abajo, pues la ultima celda tiene información, y no queremos hacerle nada, solo hacer otra cosa pero en la celda de abajo que sabemos que está limpia, sin datos, lo haríamos con esta

instrucción:

ActiveCell.offset(1,0).Select

(Que significaría literalmente algo así como CeldaActiva.Desvíese(1,0).Seleccione)

Y pegando esta instrucción al código de seleccionar la última celda con información pero bajar a la

siguiente fila que sabemos que está en blanco, quedaría así:

Page 343: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

343

Ahora, nuevamente se puede “pegarle” una “depuradita” al código, pues nuevamente, tampoco hay

necesidad de hacer que Excel seleccione la ultima fila, y luego que seleccione -otra vez- la que está una fila abajo…. Podemos direccionarlo de una sola vez, hasta la celda destino que queremos, y el código

depurado quedaría así:

Como se puede depurar o mejorar el código escrito?

Con la práctica. Probando, ensayando, observando, compenetrándose más con el código Visual Basic. Leyendo más libros avanzados sobre el tema. Pero que esto no constituya un desaliento, por el

contrario una motivación más: Debe saber que igual, Excel es muy rápido, y lo importante es que su macro funcione. Poco a poco, con el tiempo, irá mejorando sus macros. Por ejemplo, recuerde el

problema que se le puede presentar si en una macro monta un buscarV, y la base de datos es

demasiado grande, use Índice con Coincidir, como explico en el anexo correspondiente de “La falencia

del BuscarV”. Una situación que le representará a Usted una mejora en la escritura de sus macros, será

cuando advierta que no hay necesidad de hacer que Excel seleccione las celdas. Por ejemplo, imagínese que yo le digo a usted que vaya al sur de la ciudad y para eso lo hago ir al polo sur del planeta, y luego

que suba hasta que se encuentre con su ciudad. Si le digo que es subiendo por el sur hasta su ciudad,

usted ya no tendrá necesidad de ir, solo “VER” desde la distancia, para llegar al sur. Así, se ahorra TODA ESA VUELTA.

Page 344: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

344

Eso mismo es lo que se debe propender por hacer al escribir las macros, para que le queden mas

legibles, dinámicas, y rápidas. La selección se debe procurar hacer solo cuando realmente se necesite y a veces ni eso es necesario, o solo en el punto de llegada, o cuando necesite almacenar una variable….

Una razón de peso para evitar escribir macros así, es que cuando otras personas ven el código de las macros, al ejecutarlas paso a paso entienden que hacen, pues la celda en la hoja de calculo se va

moviendo paso a paso, va “delatando” que hace su macro. Caso contrario ocurre si logra escribir su

código sin seleccionar las celdas, así, cuando “chismoseen” el código de sus macros…. Tendrán algunos problemas para entender como corre y que hace la macro que Usted escribió. Por ejemplo Volvamos a

la primera macro que vimos cuando explicamos el truco de “Rellenar Celdas en blanco”: El código era así:

Sub Copiar()

Do Until ActiveCell = "Fin"

If ActiveCell = "" Then

Selection.FillDown

End If

ActiveCell.Offset(1, 0).Select

Loop

End Sub

Por ejemplo, si en lugar de hacer el Do Until quisiéramos escribirla al estilo de For Next, que vimos al

inicio de las macros, la principal mejora es que Excel no necesita seleccionar paso a paso la celda e irse desplazando. El código, cuando se tiene clara cual es la columna que se debe copiar, quedaría así: Al

ejecutarla paso a paso, solo verá como se mueven las celdas, pero por ninguna parte verá que se seleccionan.

Sub Copiar2()

Finish = Cells(Application.Rows.Count, 1).End(xlUp).Row

For ThisRow = 2 To Finish Step 1

If Cells(ThisRow, 1) = "" Then

Cells(ThisRow, 1).FillDown

End If

Next ThisRow

End Sub

Page 345: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

345

Algo más sobre la instrucción ActiveCell.Offset

Tenga en cuenta que cuando se hace un desvío se hace desde la celda activa, la celda activa no es más que la celda por donde se está moviendo o se va ubicando la celda a medida que se desarrollan los

pasos.

Como puede ver en el ejemplo, moverse una celda abajo desde la celda activa se hace con esta

instrucción:

ActiveCell.offset(1,0).Select

Dos celdas abajo, en lugar del UNO, le pones un DOS: ( y así sucesivamente, tres, cuatro, veinte, las que necesites)

ActiveCell.offset(2,0).Select

Una columna a la derecha pero sin bajar de fila:

ActiveCell.offset(0,1).Select

Dos celdas a la derecha, en lugar del UNO, le pones un DOS: ( y así sucesivamente, tres, cuatro, veinte, cincuenta, las que necesites)

ActiveCell.offset(0,2).Select

Conociendo ya el “truquito”, ya puede moverse por donde quiera, una celda abajo y una a la derecha:

ActiveCell.offset(1,1).Select

Para ir a, una celda arriba, y una a la izquierda, desde la celda activa, le metes un MENOS UNO (-1):

ActiveCell.offset(-1,-1).Select

Ojo, si estas en la columna A, te saldrá un error, pues Excel no podrá moverse otra columna a la

izquierda, PUES NO HAY a donde mas moverse. Lo mismo aplica para la última fila, la primera fila o ultima columna.

Page 346: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

346

Una anécdota personal:

Cuando conocí estas dos instrucciones, posicionarme en la última celda, y moverme sin necesidad de seleccionar las celdas, ME LIBERÉ DE LAS LIMITACIONES DEL GRABADOR DE MACROS y pude ir un

poco mas allá haciendo que mis macros trabajaran hasta el final deseado, pues todas las demás transformaciones de mis archivos, cuadros o reportes, lo podía hacer con el grabador. Formulas, copiar,

pegar, borrar, eliminar columnas, filas, poner formatos, ya todo lo demás lo hacía el grabador de

macros. Solo tenia que entrar y ejecutar la macro paso a paso, y revisar, “Con lupa” si en un nuevo archivo mi macro trabajaba bien.

Ejecutar una macro paso a paso

Resulta que lo que yo hacia, porque no sabia, (pues la mayoría de los que nos metemos en este cuento

no tenemos formación de Ingenieros de Sistemas, por lo cual la cosa se dificulta un poco), era correr la macro y cuando surgía un error, la macro se detenía y Excel me sacaba un mensaje de error y una de

las opciones del mensaje era “Depurar”. Entonces, yo le daba clic allí y Excel abría el Visual Basic en

donde había grabado la macro y me llevaba al punto en el cual la macro “se toteaba”. (Es decir, el punto en el cual la macro no quería seguir ejecutándose). Entraba y revisaba que era lo que pasaba, de

manera muy intuitiva, hacia mi mejor esfuerzo, trataba de analizar porque no quería seguir corriendo, y por lo general eran instrucciones que Excel era incapaz de realizar, por ejemplo, le decía que se

desviara dos columnas a la izquierda, y resulta que era imposible pues solo se podía desplazar solo una columna, y cosas así por el estilo… errores “pueriles” de este tipo, que no me da pena contar, pues en

este mundo nadie nace aprendido, pero la voluntad de querer es la voluntad del poder, que genera la

observación, la aprehensión y con ello la construcción del nuevo conocimiento.

Luego observando el menú del visual basic, vi que al lado de estas opciones que eran las únicas que yo

manejaba, estas:

Había otra opción en el menú que decía “Depuración”:

Page 347: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

347

Y, OH SORPRESA…! había algo que decía “Paso a paso por instrucciones --- F8” y “Ejecutar hasta el

cursor Ctrl+F8”

Resulta que, si Usted DIVIDE la pantalla de su computador en DOS, en uno de los lados coloca Excel, abre el Visual Basic, y lo acomoda en el otro lado, (o se va por esta opción:

Y escoge Mosaico horizontal o vertical, la pantalla se le divide en las ventanas que tenga activas)

Podrá visualizar Excel y el Visual basic al mismo tiempo, y si una de sus macros en lugar de ejecutarla,

va oprimiendo la tecla F8 de su computador, verá como se van ejecutando las instrucciones, tal como se indica allí, paso a paso, instrucción por instrucción y por ende, las podrá analizar, estudiar y mejorar.

Page 348: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

348

Ejemplo, aquí puede ver como al dar F8 en la macro1, puedo ver como en Excel el cursor bajó hasta la

última celda y se resalta en amarillo la siguiente instrucción que se ejecutará. De esta manera, se puede ir analizando si lo que programamos en Excel funciona correctamente, o podemos depurar o

mejorar el programa o instrucciones de nuestra macro.

Las variables.

Ok. Con las anteriores cositas, tales como hacer que Excel ubique la última celda y desplazarme sin necesidad de seleccionar las celdas pude hacer macros por lo menos funcionales, pero hubo un

momento en que tuve necesidad de grabar una formula, y esta tomaba un rango que dependiendo del

nuevo archivo en el que trabajara, podía variar de tamaño, ser de 10, 15 50, 200 filas…. Entonces me encontré con ese problemita… no sabia como hacerlo. Entonces, investigando y asesorándome,

preguntando a mis amigos más sabiondos, supe que la solución era usar una variable, que para que Usted me entienda, es más o menos como decirle a Excel que “ojo, tenga en cuenta la celda TAL, que

mas adelante que arme una suma, tendrá que ir desde tal celda, hasta la celda TAL”.

Hace un momento, vimos el ejemplo de como definir mediante variable la última celda de Excel, esta

instrucción:

UltimaFila = Cells(Application.Rows.Count, 1).End(xlUp).Row

Técnicamente hablando, las variables se usan en todos los lenguajes de programación para almacenar datos en un espacio de la memoria temporal del sistema de la computadora. El dato que se almacena

se usa mientras se ejecuta la macro.

Page 349: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

349

Ejemplo:

Supongamos que estamos en una hoja1 y en cierto lugar, queremos sumar el rango de la columna A, de la hoja2:

En la hoja1, quisiéramos hacer la suma de ese rango:

Pero resulta que la hoja2, en otro archivo que nos envíen, puede contener más o menos valores, ser más o menos larga… si grabáramos con el grabador de macros, el código nos quedaría así:

Page 350: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

350

Pero si corriéramos la macro en un nuevo archivo en donde el rango no es de 15 filas sino de cincuenta…. GRAVE, pues la macro quedó con el rango Fijo de 15 filas R[15] (Row-fila 15, es decir, 15

filas).

Lo que podemos hacer es definir en una variable la última celda de la hoja2. Para esto, me sirvo del

grabador de macros para que haga por mí, una parte del código que necesito, y luego lo “AFINO”: Entonces: Prendo el grabador de macros, selecciono la hoja2, selecciono la celda A1, oprimo la celda

FIN + flecha abajo. Excel selecciona la última celda. Detengo la macro. Esto es lo que queda grabado:

En este punto “LE METO LA MANO” (es decir, edito el código por mi mismo) al código, y le digo que ESA ULTIMA CELDA EN LA QUE ME DETUVE ME LA TENGA EN CUENTA COMO LA ULTIMA CELDA:

Page 351: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

351

Recuerde que cuando le mete un apostrofo, puede hacer comentarios para que recuerde mejor que es

lo que hace la siguiente instrucción. Cuando lo hace, Excel automáticamente le da color verde.

Ojo, Apréndase esa palabrita ActiveCell.Row (CeldaActiva.Fila)

Listo, ahora la formula que escribió en la otra macro, la Sub Macro1(), la puede escribir diciéndole, NO

que se vaya hasta la fila 15, SINO que se vaya hasta la ultima fila activa, que hemos llamado ULTIMACELDA:

Prendo nuevamente el grabador de macros, me posiciono en donde quiero que quede mi formula, y escribo la formula con el grabador de macros, (luego la arreglo), así:

Entonces, en lugar de R[15] le ponemos esto: " & ULTIMACELDA & " (Recuerde que ULTIMACELDA es la variable que esta almacenada como la ultima celda activa de la fila)

Page 352: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

352

Listo, esta macro5, la uno con la macro2 que acabé de hacer, selecciono lo de la mitad que dice End

Sub JUNTO con lo que dice Sub Macro5() y borro ese pedazo:

Me queda así:

Entonces la comienzo a probar. Con la depuración paso a paso, partiendo la pantalla de tal forma que

pueda ver mi macro paso a paso y al lado lo que pasa en mi hoja de Excel. En la hoja1 en Excel, borro la formula y comienzo a correrla paso a paso oprimiendo F8, para ver si todo va bien.

Al llegar al paso ULTIMACELDA = ActiveCell.Row,

Page 353: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

353

Me doy cuenta que Excel se dispone a MONTAR LA FORMULA en la misma HOJA2, Y ESO NO PUEDE

SER!! TIENE QUE SER EN LA HOJA1, ASI QUE COPIO COMO SE SELECCIONA LA HOJA2, (lo que dice Sheets(“Hoja2”).Select) Y PEGO EL RENGLON, PERO DICIENDOLE QUE SELECCIONE LA HOJA1, ASI:

Echo la macro a ANDAR, y veo que corre perfecto. LOGICAMENTE EL CODIGO SE PUEDE DEPURAR,

aunque notará que sin depurarlo igualmente Excel es SUPERRAPIDO. Una depurada puede dejarlo así:

Todavía se puede depurar un poco mas, recuerde como definimos la ultima celda en apartados

anteriores, con lo cual esos tres primeros renglones nos quedarían convertidos en solo uno. Si quiere que la variable ULTIMACELDA Excel la tenga presente en TODA la macro, pues puede que la

necesite usar después en otros pasos, deberá declararla al principio de la macro, pero si quiere que

funcione solo en ESE PEDACITO o rango, no hay necesidad de declararla.

Page 354: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

354

Declarar con DIM es decirle a Excel que reserve un espacio de memoria para almacenar el dato. En este

caso, estamos armando una cadena de caracteres que se referirá a la ultima celda de la hoja2, que

vendrá a ser lo que anteriormente era la instrucción fija R[15],

Que reemplazamos por " & ULTIMACELDA & "

Si se fija verá que con el operador AMPERSAND (&) entre comillas, que por lo general está encima de la

tecla numero 6 del teclado numérico en línea, concatenamos una cadena de caracteres, que nos armará el rango con la ultima fila de un rango mas grande, de mas o menos filas.

Aquí le estoy resaltando y aumentando el tamaño al pedazo de la fórmula en donde monto la cadena

con la variable:

Sub Macro2()

Dim ULTIMACELDA As String

Sheets("Hoja2").Select

Range("A1").End(xlDown).Select

'Esta celda la defino como variable:

ULTIMACELDA = ActiveCell.Row

'Ojo, hay que regresar a la hoja1!

Sheets("Hoja1").Select

Range("A1") = "=SUM(Hoja2!RC:R" & ULTIMACELDA & "C)" End Sub

Entonces, ya sabe, que CUALQUIER FORMULA que grabe con el grabador de macros, la edita y la organiza con este mismo procedimiento de variable, para que la pueda ejecutar sin problemas en otros

archivos que sean diferentes en extensión, pero parecidos en estructura. En este caso se definió el final del rango, pero también se puede definir el inicio del rango con variable, para el caso en que el rango

no empiece en la primera fila. También se puede meter dentro de un Loop o un recorrido, pero primero

quiero mostrarle otro procedimiento muy útil de recorrido: Veíamos al principio del tema de las macros que por lo general, una macro sigue la siguiente

estructura:

Comienza en el primer renglón de información de la hoja de cálculo. Examina un valor en una de las columnas.

Page 355: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

355

Basado en este valor, decide hacer algo.

Se mueve al siguiente renglón en el rango de datos y repite.

Y vimos el procedimiento For Next. Ahora vamos a ver o retomar otro que vimos mas arriba y que

también es muy bueno y muy parecido, el procedimiento DO UNTIL, que significa, “Ejecute hasta que”

El procedimiento DO UNTIL

Ok. Recuerde que Do, en el inglés del colegio es el verbo hacer. Y Until, significa Hasta-que. ¿Recuerda que cuando le expliqué como solucionar el tema de Rellenar las celdas que están en blanco,

le mostré como hacerlo con una macro? Esa macro utiliza el procedimiento Do Until, y en esa sección, expliqué lo necesario para que entendiera esa estructura de recorrido. Ahora que ya conoce la

estructura FOR NEXT, comprenderá que esta opción también es buena, también puede ver que Do Until puede incluir la estructura IF-THEN-ELSE (Si tal cosa, entonces, sino...) igual a como lo hicimos en la

macro copiar:

Sub Copiar()

Do Until ActiveCell = "Fin"

If ActiveCell = "" Then

Selection.FillDown

End If

ActiveCell.Offset(1, 0).Select

Loop

End Sub

Aquí, debajo del DO Until está la instrucción que dice que SI la celda está vacía, ENTONCES rellene. El

SINÓ, (ELSE) no hay necesidad, pero siendo Ortodoxos, debería haberse puesto así:

Sub Copiar()

Do Until ActiveCell = "fin"

If ActiveCell = "" Then

Selection.FillDown

Else

ActiveCell.Offset(1, 0).Select

End If

Loop

End Sub

Le cuento que, cuando conocí esta macro, me dí cuenta que en lugar de la acción

Selection.FillDown

Podía hacer OTRAS COSAS QUE NECESITARA, pues no todo es rellenar, podía insertar filas, o cortar

una celda y moverla para otro lado, o copiarla y pegarla en otro lado, meterle formato y regresar a la

columna en donde estaban los datos que quería trabajar, ya sea vuelvo y repito, rellenar, copiar, cortar, y finalmente podía regresar al punto en donde debía continuar evaluando la celda activa con la

instrucción ActiveCell.Offset

Entonces, ya depende de Usted que comience a crear sus macros, el código que le haga falta y que no conozca, ya sabe que puede usar el grabador de macros, usar el procedimiento Cells en lugar del

Page 356: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

356

Select, y luego, intente escribirlas sin necesidad de seleccionar las celdas, así como esta macro copiar la

escribimos en estilo For Next. También puede comenzar a profundizar en este maravilloso mundo de las

macros y conseguir libros mas avanzados, o buscar en Internet.

Haciendo Un DO UNTIL combinado con variables temporales que nos montan una formula

tal como =SUMA()

Ok. A Este punto quería llegar, pues alguna vez me ocurrió, que tuve necesidad de crear un reporte el cual hice con una tabla dinámica, pero la presentación de la tabla dinámica, es una presentación que

aunque sea muy bonita, no nos gusta a quienes estamos en el rollo contable, pues la fuerza de la costumbre ha creado ciertas normas de presentación de informes, tales como el subrayado, la negrilla,

la fuente, la sangría, etc.

Además nos gusta siempre poder constatar viendo la sumatoria, la función suma de los diferentes rangos, y la tabla dinámica no los pone. Pero si nos podemos valer de ella para armar el reporte.

Supongamos que tenemos una base de datos que ya tenemos organizada en Excel. Recuerde que este

ejemplo puede ser otra cosa, como una base de datos de un balance de comprobación por terceros, o un Kardex, etc. La idea es mostrarle UNA de tantas maneras para crear el reporte.

Observe la siguiente información:

Page 357: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

357

Prendo el grabador de macros y lo primero que hago es definir que la ultima celda es la variable

ULTIMAFILA. Este código es el mismo para todos. Podemos ir desde la ultima fila de Excel hacia arriba, o desde la primera celda hacia abajo. Detengo la grabación de la macro, abro Visual Basic y reviso el

código:

Esto ya lo sabe hacer, pero para efectos de repaso lo volvemos a enseñar, para que le quede claro el asunto.

Edito la macro y le defino que la ultima celda es la variable UltimaCelda:

Listo, vuelvo y prendo el grabador de macros y hago otra macro, esta vez, voy a crear una tabla

dinámica sobre la hoja ejemplo que le he mostrado:

Page 358: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

358

Elimino la hoja y pruebo la macro…. En teoría solo es correrla y ya, pero si me está siguiendo, “En vivo”, podrá comprobar que Excel 2007

saca un error.

Al hacer clic en Depurar, nos lleva a este sector:

Page 359: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

359

Me parece Fabuloso que halla ocurrido este error, para de una vez explicarle que las tablas dinámicas

en Excel2007 que se graban con el grabador de macros, deberían correr sin problema como lo hacían en el Excel 2003, pero no, aquí fallan, y este problema me pasó una vez y lo tuve que solucionar

estudiando el asunto de las tablas dinámicas en Macro.

Este punto es de alta prioridad, pues la tabla dinámica es un poderoso reporteador que prácticamente

nos arma el informe como lo queramos, así que es MORTAL que no nos corra la macro de una tabla dinámica.

Page 360: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

360

Analizando el problema porque la Macro de la tabla dinámica no corre.

Sub Macro7()

Range("A1").Select

Sheets.Add

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _

"Hoja1!R1C1:R20C4", Version:=xlPivotTableVersion12).CreatePivotTable _

TableDestination:="Hoja6!R3C1", TableName:="Tabla dinámica2", _

DefaultVersion:=xlPivotTableVersion12

Sheets("Hoja6").Select

Cells(3, 1).Select

With ActiveSheet.PivotTables("Tabla dinámica2").PivotFields("Cuenta")

.Orientation = xlRowField

.Position = 1

End With

With ActiveSheet.PivotTables("Tabla dinámica2").PivotFields( _

"Nombre de la cuenta")

.Orientation = xlRowField

.Position = 2

End With

With ActiveSheet.PivotTables("Tabla dinámica2").PivotFields("Vendedor")

.Orientation = xlRowField

.Position = 3

End With

ActiveSheet.PivotTables("Tabla dinámica2").AddDataField ActiveSheet.PivotTables _

("Tabla dinámica2").PivotFields("Valor"), "Suma de Valor", xlSum

ActiveSheet.PivotTables("Tabla dinámica2").RowAxisLayout xlTabularRow

End Sub

EL grabador de macros usa el procedimiento Add de la colección PivotCaches para crear una hoja nueva

que pasa a ser la hoja activa. Fíjese que toma el rango del cuadro de nuestro ejemplo,

"Hoja1!R1C1:R20C4", quiere decir, Hoja1,Fila1Columna1 hasta la Fila20Columna4

Siguiendo, podemos ver que lo que sigue es que se usa el método .CreatePivotTable para crear la tabla

dinámica, y la tabla destino es la "Hoja6!R3C1" Pareciera que el problema está aquí, pues el grabador

de macros definió que la hoja destino siempre será la hoja6, pero si se borra la hoja de la tabla

dinámica, o volvemos a correr la macro, no será la hoja6, ni la hoja1 o 2, Excel creará la siguiente hoja, si yo volviera a correr la macro, Excel adicionaría la Hoja7, y por eso es que se “totea” la macro.

[Nota: una solución es, en lugar de crear la tabla en una hoja diferente pues hacerla en una columna

a la derecha de la base de datos dentro de la misma hoja, ahí si, correría sin problema]

La tabla dinámica arranca en esta hoja6 en la celda de la tercera fila y la primera columna, dejando renglones para ubicar los campos de columna de la tabla dinámica. Los campos “Cuenta”, “Nombre de

la cuenta”, “Vendedor”, se definen como campos de fila.

Finalmente el campo “Valor” queda definido como campo de información (AddDataField), lo cual significa que aparecerá en el cuerpo de la tabla donde será sumado.

Como se puede ver, el código es muy inflexible, adiciona una nueva hoja y asume que se llamará hoja1, u hoja6. Le asigna el nombre TablaDinamica2 o TablaDinamica1 y depende del nombre del código

siguiente. El código se puede organizar así:

Page 361: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

361

Sub CreaTablaDinamicaConTabla()

Dim wks As Worksheet

Dim pvc As PivotCache

Dim pvt As PivotTable

Range("A1").End(xlDown).Select

ultima = ActiveCell.Row

ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:D" & ultima & ""), xlYes).Name = _

"Tabla1"

'Adiciona una Nueva hoja

Set wks = Worksheets.Add

'Se crea el PivotCache

Set pvc = ActiveWorkbook.PivotCaches.Create( _

SourceType:=xlDatabase, _

SourceData:="Tabla1")

'Se Crea la Tabla Dinámica

Set pvt = pvc.CreatePivotTable(TableDestination:=wks.Range("A3"), _

DefaultVersion:=xlPivotTableVersion12)

'Se Definen los campos en la Tabla dinámica

With pvt

With .PivotFields("Cuenta")

.Orientation = xlRowField

.Position = 1

End With

With .PivotFields("Nombre de la Cuenta")

.Orientation = xlRowField

.Position = 2

.Subtotals = Array(False, False, False, False, False, False, False, False, False,

False, _

False, False)

End With

With .PivotFields("Vendedor")

.Orientation = xlRowField

.Position = 3

End With

.RowAxisLayout xlTabularRow

.AddDataField .PivotFields("Valor"), "Suma de Valor", xlSum

End With

End Sub

Ok. Primero que todo, declaro las variables Worksheet, PivotCaché y PivotTable

Dim wks As Worksheet

Dim pvc As PivotCache

Dim pvt As PivotTable

Ubico la ultima Celda de la tabla y la defino como la variable Ultima Range("A1").End(xlDown).Select

ultima = ActiveCell.Row

El paso siguiente lo realicé con el grabador de macros, mi tabla, la convierto en tabla de Excel, usando la opción de la ficha Insertar, Tabla. Luego el rango lo edito y arreglo que se vaya a mi variable Ultima,

como le enseñé a hacerlo en el apartado anterior: ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:D" & ultima & ""), xlYes).Name = _

"Tabla1"

Page 362: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

362

Ahora mediante la instrucción SET, (esta palabra en inglés tiene muchos significados pero el mas

idóneo puede ser como Fijar o establecer que) 'Adiciona una Nueva hoja

Set wks = Worksheets.Add

'Se crea el PivotCache

Set pvc = ActiveWorkbook.PivotCaches.Create( _

SourceType:=xlDatabase, _

SourceData:="Tabla1")

'Se Crea la Tabla Dinámica

Set pvt = pvc.CreatePivotTable(TableDestination:=wks.Range("A3"), _

DefaultVersion:=xlPivotTableVersion12)

Si se fija todos estos SET van estableciendo una igualdad, como indicando que wks, pvc y pvt,

corresponden a las acciones y atributos definidos. Todo esto es similar en todas las tablas dinámicas,

así que cuando monte la suya, puede guiarse por toda esta parte.

Ahora vienen los campos de la tabla dinámica: 'Se Definen los campos en la Tabla dinámica

With pvt

With .PivotFields("Cuenta")

.Orientation = xlRowField

.Position = 1

End With

With .PivotFields("Nombre de la Cuenta")

.Orientation = xlRowField

.Position = 2

.Subtotals = Array(False, False, False, False, False, False, False, False, False,

False, _

False, False)

End With

With .PivotFields("Vendedor")

.Orientation = xlRowField

.Position = 3

End With

.RowAxisLayout xlTabularRow

.AddDataField .PivotFields("Valor"), "Suma de Valor", xlSum

End With

End Sub

Si se fija, por cada uno de los campos que he llevado a la tabla dinámica se monta una instrucción

With-End_With. En el campo tabla dinámica le he adicionado que NO ME HAGA SUBTOTAL POR ALLÍ.

(.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False,

False))

Después del tercer campo, “Vendedor”, defino que el estilo de la tabla dinámica sea Tabular, que es el estilo de tabla dinámica de Excel 2003 al que estamos acostumbrados, que nos totalice por abajo, ya

que las nuevas tablas dinámicas de Excel 2007 por defecto dejan el estilo ESQUEMA. Por Ultimo, el campo que tiene la suma de los totales, el campo valor, es esta línea:

.AddDataField .PivotFields("Valor"), "Suma de Valor", xlSum

Ok. Esta es una manera de solucionar el asunto de la tabla dinámica, mucho mas flexible y al convertir

la tabla de datos en Tabla de Excel, le facilita a Excel su aprehensión. Por supuesto que no es la única, es posible que después de leer esta manera se la halla ocurrido otra mejor, lo cual me parece

fantástico, pues significará que ya se metió de lleno en el tema.

Page 363: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

363

Hay otras maneras de montar la tabla dinámica, pero esta sirve para el propósito. Cuando monte SU

TABLA DINAMICA, solo fíjese como van los campos en fila y columna, y haga los ajustes necesarios.

Si prueba la macro, elimina la tabla dinámica y vuelve y la corre, verá como funciona perfectamente. Acuérdese de convertir la tabla fuente nuevamente en rango, y de transcribir CORRECTAMENTE el

código que le suministro.

Ok, habiendo construido la tabla dinámica mediante macro, podemos retomar el tema que veníamos

tratando:

Convertir este informe en uno con más presentación.

La idea es:

Que el nombre de la cuenta, esas que me he inventado que se llaman Uno A, Dos B y Tres Cé,

trasladarla a la columna C, en un nuevo renglón que hemos de Insertar y,

Hacer que los totales nos queden con la formula Suma.

Ponerles un formato a los números

Page 364: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

364

Haciendo que la macro que nos haga el recorrido con las variables de los rangos de inicio y

final de cada bloque de valores de cada una de las cuentas.

Ok. Lo otro es prender el grabador de macros y “Desbaratar” la tabla dinámica, haciendo un copiar y

allí mismo pegar solo valores:

Nota: Recuerde que puede mejorar el código seleccionando solo el rango a copiar. Listo, después de esto nos va quedando así:

Ok. Lo bueno de esta tabla dinámica es que siempre termina con la palabra “Total general”, así que la podemos usar para hacer un DO hasta que la celda sea igual a “Total general”.

Bueno, ya hicimos una buena parte de la macro, que es crear la tabla dinámica, desbaratarla y luego

prendo el grabador de macros otra vez y elimino la fila 3. Luego me ubico en la Celda C1. La cosa me queda así:

Page 365: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

365

Después puede depurar un poco el código, no se preocupe por eso ahora.

Ahora si, voy a meter una macro escrita, (guiándome por la macro copiar) que, Haga o Ejecute Hasta que la celda de la columna A sea igual a “Total general”; que SI la celda está en blanco, que baje una

celda, SINO, indico que ese campo es la variable inicio, con End + flechita hacia abajo voy al final del

rango y declaro que ese campo es la variable final, luego me desvío una celda a la derecha y una celda abajo, y monto la función suma, con las dos variables, inicio y final. Y como decimos en Colombia,

“LISTO EL POLLO”….

“Tonces”, o “Tonz”, como escriben los muchachos ahora en los chats, la macro nos queda así:

Quiero decirle que esto “cuando se le va cogiendo el tiro”, a fuerza de tanto repetirlo uno hasta se lo va aprendiendo, pero a veces lo que uno no sabe, pues se ayuda con el grabador de macros. Por ejemplo,

en este caso no me acordaba como escribir el código de la función suma, así que PRENDI el grabador de macros y grabe una macro solo con la suma, así:

Luego, lo que está entre los corchetes [] le meto cada una de las variables inicio y final:

Page 366: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

366

Prueba la macro paso a paso a ver si funciona bien, y listo.

Otra cosa que se debe propender por hacer, y esto es muy importante, es hacer un solo recorrido y en

él ir haciendo todo de una vez. Por ejemplo, nosotros quisiéramos FORMATEAR los números de una vez.

Que hice: prendí el grabador de macros, escogí la última celda de la columnaB. Oprimí FIN + flecha

arriba y me estrelle con la ultima celda de mi hoja de cálculo. Ahora Oprimo SHIFT + Fin + Flecha Arriba para seleccionar el rango. Una vez que me quedó seleccionado hago clic en el botón izquierdo

del ratón y en el menú emergente le doy la opción seleccionar formato de celdas, y le cuadro el formato que quiero. Detengo la macro y lo que me quedó fue esto que le enseño aquí.

Este código se puede depurar, las primeras dos líneas las podemos dejar en una sola:

(Incluso el primer Range(“D1048576).end(xlUp) se podría meter en lugar del Selection del segundo

“Range”, pero puede ser mejor hacer que Excel se detenga en el primer punto del rango.) Listo, después de esto, ya tenemos las macros que nos hacen las sumas correctas y los formatos.

Pero, en el recorrido en el cual hacemos la sumatoria, podemos meterle un formato a la celda de la suma con una raya arriba y una raya gruesa abajo.

Entonces, Prenda nuevamente el grabador de macros, coja una celda en las cuales hay un total, métale

el formato, detenga la macro y copiemos ese código y peguémoslo en la macro que hace las sumas. Este es el código que nos hace la raya y la doble raya:

Page 367: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

367

Como se puede dar cuenta, un par de infelices rayas generan todo este código y casi todo dice

“NONE”…. Ninguno. Todos esos “NONES”, se los podemos quitar, y (por lo menos a mí) me sigue funcionando: (pruebe si sigue funcionando al quitar los valores en Cero, aquí la línea importante es la

que define el peso o intensidad de la línea)

Ok, este código lo voy a cortar y pegar en el código que hace la suma, debajo de la operación de la

suma:

Page 368: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

368

Listo. Se coloca antes de que regrese a la columna en la cual realiza el recorrido.

Ok, también necesitamos cortar el nombre de la cuenta (las que he llamado UnoA, DosB, TresCé), insertar una fila y trasladar la celda cortada como título, y ponerle negrita y subrayado. (O en lugar de

cortarla, copiarla…) Como está en el renglón o fila en el cual inicia la variable de la suma, podemos ahí

mismo hacer este pedazo.

Entonces, La misma cosa, me ubico en la celda en donde comienza la variable de la suma, que es la

misma en la cual está el nombre de la cuenta, PRENDO el grabador de macros, y hago lo que necesito: Inserto una fila, corto lo el nombre de la cuenta, lo traslado a donde necesito, le coloco el formato

negrita, subrayado y le subo al tamaño. Apago el grabador y me queda esto:

Page 369: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

369

Fíjese que nos toca editar todas esa celdas que quedaron seleccionadas, las (Range("B4").Select)

y (Range("C3").Select)

Esto es lo que le comentaba que nos hace el grabador de macros y que hay que arreglar con la técnica

del ActiveCell.Offset. Creo que ahora me comprende bien la importancia, dado que la macro hace una selección fija y no se seguiría moviendo. Ese par de celdas, se edita así:

Lo que acabo de editar, lo pruebo corriéndolo paso a paso, pues esos OFFSET tienden a enredarlo a veces a uno, pero uno corrige al ejecutar paso a paso. Ok, si está bien, ahora a buscarle el punto

apropiado en el cual insertar este código dentro del que nos hace las sumas:

Page 370: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

370

Sub prueba()

Do Until ActiveCell.Offset(0, -2) = "Total general"

If ActiveCell = "" Then

ActiveCell.Offset(1, 0).Select

Else

Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove

'Range("B4").Select

'Me muevo una celda abajo y una a la izquierda

ActiveCell.Offset(1, -1).Select

Selection.Cut

'Range("C3").Select

'El corte lo subo una celda arriba y una celda a la derecha:

ActiveCell.Offset(-1, 1).Select

ActiveSheet.Paste

Selection.Font.Bold = True

Selection.Font.Underline = xlUnderlineStyleSingle

Selection.Font.Size = 11

ActiveCell.Offset(1, 0).Select

inicio = ActiveCell.Row

Selection.End(xlDown).Select

final = ActiveCell.Row

ActiveCell.Offset(1, 1).Select

ActiveCell.Formula = "=SUM(R" & inicio & "C:R" & final & "C)"

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

ActiveCell.Offset(0, -1).Select

End If

Loop

End Sub

OK. Fíjese que la macro que nos hizo las sumas parciales, se ha enriquecido para que en el primer

repaso se haga lo necesario, para no tener que volver a hacer el recorrido.

Esta macro, la podemos unir debajo de las otras que ya hicimos:

La que nos armó la tabla dinámica.

La que nos arregló los valores

Todo Junto, nuevamente se prueba paso a paso para ver que nos queda faltando, o en donde falla.

Solo falta eliminar las dos primeras columnas, y en la última columna colocar un gran total. Eliminar las columnas, ya sabe como hacerlo con el grabador de macros:

Page 371: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

371

Que depurado, ya sabe que le puede quedar así:

En este punto, la transformación ya va así:

Listo, en la celda B27, podemos colocar un total que nos sume las sumas parciales. Es repetir, de otra forma, lo que le expliqué acerca de cómo montar una fórmula con variables:

En este caso necesitaríamos tomar el punto donde comienza el rango, la celda B4, y la ultima, La B26. Este rango lo podemos usar en una función =Sumar.Si(). Si se fija, al lado de los totales, en la columna

A, hay una celda en Blanco, entonces, podemos hacer que un Sumar.Si de todo lo que se halle en blanco en ese rango en la columna A.

Page 372: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

372

Entonces, necesito encontrar los puntos que serán las variables de mi función. Prendo el grabador, al

primer punto del rango llego escogiendo la columna B1 y oprimiendo Fin+Flecha abajo. El otro punto,

lo encuentro subiendo desde la parte de abajo de la hoja de cálculo y oprimiendo Fin+Flecha Arriba. Luego edito un poco lo que me grabó la macro.

Esto es lo que hizo el grabador de macros:

Editando los puntos indicando las variables primerpunto y segundopunto, y borrando el valor total que nos dejó la tabla dinámica, queda así:

Ok, ahora nos falta colocar la función =Sumar.Si, justo al final del rango. Prendo el grabador de macros

y realizo la operación de subir por la parte inferior y escribir la función Sumar.Si, (De una vez se le

coloca el formato deseado) (luego la arreglo metiéndole las variables) esto es lo que nos queda:

Ok, corrigiendo el código queda así:

Page 373: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

373

La línea a tener en cuenta es esta:

ActiveCell.FormulaR1C1 = _

"=SUMIF(R" & primerpunto & "C[-1]:R" & segundopunto & "C[-

1],"""",R" & primerpunto & "C:R" & segundopunto & "C)"

Ojo, "C[-1] VA PEGADO DEL &, lo que pasa es que el Word donde he hecho el manuscrito del libro

me lo desplaza un renglón abajo, pero todo va JUNTO, como se ve en la imagen.

Fíjese que de una vez le metí el formato, y le puse negrita. Ahora hay que unir esta macro con la que

define las variables, así:

Como siempre, les puse el apostrofo para que queden como comentario y así saber en donde

comenzaba las macros, recuerde que cuando se le coloca un apostrofo, la línea de código queda sin efecto, y nos ayuda para que mientras entendemos el tema, cuando volvamos a ver esta macro

sepamos que hace cada bloque de código.

Cualquier función, anidada, matricial, la puede hacer con el grabador de macros y luego le acomoda los

puntos de los rangos con las variables, así, si el archivo es mas o menos largo, la función NO LE FALLARÁ.

Si lo desea, puede pasarse a la celda de al lado en la columna A, y colocar algo así como “Gran Total” También puede insertar unas filas en la parte superior y colocar el titulo de su reporte.

Esto ya lo puede hacer por su cuenta, recuerde desviarse con ActiveCell.Offset

Page 374: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

374

En esta imagen puede ver como la función que nos montó la macro, está operando bien.

Finalmente todo nos quedaría así: (Para efectos didácticos, voy a ponerle un APOSTROFO en donde iban los Sub y End sub, para anularlos pero poder ver en donde comenzaban esas macros parciales):

Recuerde que solo puede quedar un SUB al inicio y otro END SUB al final. Al cortar y pegar los bloques,

revise que no le queden sobrando, o la macro no le correrá completamente, o le sacará un mensaje de error:

(Recuerde que si va a probar toda la macro, tiene que volver a convertir la TABLA fuente en RANGO)

Sub CreaTablaDinamicaConTabla()

Dim wks As Worksheet

Dim pvc As PivotCache

Dim pvt As PivotTable

Range("A1").End(xlDown).Select

ultima = ActiveCell.Row

ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:D" & ultima & ""), xlYes).Name = _

"Tabla1"

'Adiciona una Nueva hoja

Set wks = Worksheets.Add

Page 375: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

375

'Se crea el PivotCache

Set pvc = ActiveWorkbook.PivotCaches.Create( _

SourceType:=xlDatabase, _

SourceData:="Tabla1")

'Se Crea la Tabla Dinámica

Set pvt = pvc.CreatePivotTable(TableDestination:=wks.Range("A3"), _

DefaultVersion:=xlPivotTableVersion12)

'Se Definen los campos en la Tabla dinámica

With pvt

With .PivotFields("Cuenta")

.Orientation = xlRowField

.Position = 1

End With

With .PivotFields("Nombre de la Cuenta")

.Orientation = xlRowField

.Position = 2

.Subtotals = Array(False, False, False, False, False, False, False, False, False,

False, _

False, False)

End With

With .PivotFields("Vendedor")

.Orientation = xlRowField

.Position = 3

End With

.RowAxisLayout xlTabularRow

.AddDataField .PivotFields("Valor"), "Suma de Valor", xlSum

End With

'End Sub

'Sub Macro6()

Columns("A:D").Select

Selection.Copy

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Application.CutCopyMode = False

' Range("A1").Select (esto ya es innecesario)

'End Sub

'Sub Macro8()

Rows("3:3").Select

Selection.Delete Shift:=xlUp

' Range("C1").Select (ya no hace falta)

'End Sub

'Sub Macro12()

Range("D1048576").Select

Selection.End(xlUp).Select

Range(Selection, Selection.End(xlUp)).Select

Selection.NumberFormat = "#,##0_);(#,##0)"

'End Sub

'Sub prueba()

'Esta instrucción se tuvo que poner, pues el Do iba a comenzar en _

donde finalizó la anterior, y es un error que comience el Loop allí.

Range("C1").Select

Do Until ActiveCell.Offset(0, -2) = "Total general"

If ActiveCell = "" Then

ActiveCell.Offset(1, 0).Select

Page 376: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

376

Else

Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove

'Range("B4").Select

'Me muevo una celda abajo y una a la izquierda

ActiveCell.Offset(1, -1).Select

Selection.Cut

'Range("C3").Select

'El corte lo subo una celda arriba y una celda a la derecha:

ActiveCell.Offset(-1, 1).Select

ActiveSheet.Paste

Selection.Font.Bold = True

Selection.Font.Underline = xlUnderlineStyleSingle

Selection.Font.Size = 11

ActiveCell.Offset(1, 0).Select

inicio = ActiveCell.Row

Selection.End(xlDown).Select

final = ActiveCell.Row

ActiveCell.Offset(1, 1).Select

ActiveCell.Formula = "=SUM(R" & inicio & "C:R" & final & "C)"

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

End With

ActiveCell.Offset(0, -1).Select

End If

Loop

'Sub Macro18()

Columns("A:B").Delete Shift:=xlToLeft

'End Sub

'Sub Macro19()

Range("B1").Select

Selection.End(xlDown).Select

primerpunto = ActiveCell.Row

Application.Goto Reference:="R1048576C2"

Selection.End(xlUp).Select

Selection.ClearContents

ActiveCell.Offset(-1, 0).Select

segundopunto = ActiveCell.Row

'End Sub

'Sub Macro21()

Range("B1048576").Select

Selection.End(xlUp).Select

ActiveCell.Offset(1, 0).Select

'Range("B27").Select

'ActiveCell.FormulaR1C1 = "=SUMIF(R[-23]C[-1]:R[-1]C[-1],"""",R[-23]C:R[-1]C)"

ActiveCell.FormulaR1C1 = _

"=SUMIF(R" & primerpunto & "C[-1]:R" & segundopunto & "C[-1],"""",R" & primerpunto & "C:R"

& segundopunto & "C)"

Selection.Font.Bold = True

Selection.NumberFormat = "#,##0.00_);[Red](#,##0.00)"

End Sub

Page 377: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

377

Ok. Creo que quedó suficientemente claro, como conociendo estos trucos:

Saber ir hasta el final de la información de Excel

Almacenar los puntos como variables

Hacer los recorridos Con For Next o Do Until

Usar el grabador de macros

Ya es mucho lo que puede hacer por su cuenta. Si se fija, cualquier reporte que le haga falta, puede programarlo POR USTED MISMO, un reporte de producción, un reporte gerencial, notas a los Estados

financieros, Los mismos Estados Financieros, Cedulas Sumarias, hacer cruces de información, etc.

Las bases ya las tiene aquí. Solo me resta mostrarle algunas técnicas para convertir los archivos planos

en Bases de Datos, que es una recopilación de las técnicas vistas en este libro. Punto importante pues un Auditor, un Contador o un Administrador, normalmente encuentra clientes o trabajo con diversos

software, y no todos tienen soluciones que exporten la información limpia a Excel, y si las tuvieran, aun así necesitarían saber algo de macros para maximizar el rendimiento de esas aplicaciones.

En este punto, si encuentra que le gusta el tema, puede continuar investigando por su cuenta, buscar en otros libros, o internet y poco a poco, volverse todo un GURÚ o una GURÚ del Excel.

Page 378: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

378

Algunas técnicas para depurar los archivos planos

Ok. Algunos programas contables como el Cg1, uno de los mas populares en Colombia, están hechos en Cobol, y para suplir la necesidad de la exportación a Excel, se han creado por allí algunas

herramientas que se incorporan como complemento de Excel. Un ejemplo es el aplicativo llamado BIABLE. EL Biable no Exporta del sistema Cg1 a Excel, sino todo lo contrario, hace que Excel penetre en

una base de datos que contiene la información contable y Excel toma los datos de allí. Osea, que se

debe de correr previamente un proceso desde del sistema CG1 que carga los datos del programa Cobol, del CG1 al Biable, que está hecho en Oracle. Si no se hace esta actualización o cargue de información,

El complemento leerá datos desactualizados, o en el peor de los casos, si está mal parametrizado el cargue de información, no los leerá.

El Biable es un buen soft, aunque tengo las siguientes observaciones:

El complemento se instala por máquina, con lo cual, por lo general se instala en la

computadora del Contador o Gerente o Financiero. Al estar centralizado en la computadora del Contador, es una excusa que usan las demás áreas

para “delegarle” algunas tareas extra al Contador, con lo cual, tras de que mantiene escaso de

tiempo, pues debe sacar tiempo para atender los requerimientos de los demás. El costo no facilita que todos los usuarios (mas que todo las pequeñas empresas) tengan el

complemento BIABLE. Si tienes un papá con la posibilidad, pídele que le coloque Biable no solo

a ti, sino al Gerente administrativo y a quien le haga falta.

La operación de cargue de datos, directamente de la base a Excel, hace que se consuman

recursos de memoria y procesador por lo cual, si no se tiene una buena computadora, el Excel se puede quedar un tiempo no pequeño, calculando y cargando la información. Si tienes otros

programas abiertos, el cargue de información será mas lento aún. Sabemos que un Contador no se puede dar el lujo de tener que soportar procesos lentos. Es para volverse loco en pleno

cierre contable.

De todas formas, si el Contador no maneja buen Excel, no explotará las bondades del BIABLE.

Por otra parte el Auditor no tiene acceso (tampoco debe de contar con que se la van a dar) a tener la información directamente del BIABLE. El Biable trabaja con Funciones propias, que para que operen,

debe de estar habilitada la conexión a la base de datos, y si te llevas una hoja de cálculo en una memoria USB, en cuanto abras tu hoja de cálculo, verás una gran cantidad de errores de Excel de tipo

#¿NOMBRE?, que es el tipo de error que muestra Excel cuando no reconoce el texto de la fórmula:

Y es lógico, pues son funciones propias del programa que se ejecutan en donde está el programa

instalado. La solución es pedir que le hagan una copia de la hoja de cálculo pero con solo valores.

De todas formas, el auditor debe de estar SEGURO de que las cifras que le están mostrando son ciertas

o nó. Es por esto que lo mejor, en mi opinión es pedir los listados impresos, por lo menos la primera y la última hoja si son muy voluminosos, y pedir ese mismo listado como archivo plano, para que lo

pueda trabajar posteriormente en Excel. Asi que es posible, mediante los archivos planos, transformar la información del archivo en una base de datos, mediante algunas técnicas de Excel, muchas de las

cuales ya hemos visto en este libro. Ahora las veremos en un ejemplo como todas las técnicas trabajan

Page 379: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

379

para este fin: depurar la información de los archivos planos y ya con ellos organizados, comenzar a

verificar cositas de interés. El Biable no puede ser una objeción para no aprender buen Excel.

Finalmente tendrá que hacerlo algún día.

Depurando un balance de comprobación por terceros.

Bueno, este libro le sugiere una manera de trabajar la información. No es algo de lo cual se deba pegar

al pié de la letra de manera ortodoxa, en Excel cada uno puede “matar sus pulgas” de la mejor manera que estime conveniente. Una vez que se muestra una manera, es posible que se ilumine nuestro

maravilloso pensamiento y se encuentre una manera alternativa, la mayoría de las veces mejor, de hacer las cosas. Incluso a mi mismo me sucede cada cierto periodo de tiempo, en ocasiones me doy

cuenta que he podido hacer tal o cual tarea de una manera mas eficiente. (A veces me doy cuenta que

la puedo hacer de otra manera y me cuesta un poco romper el “hábito” de trabajarla a la vieja usanza. Esto es porque el cerebro es el órgano que más energía consume, así que siempre opta por la opción

más barata: la rutina que ya ha mecanizado). Pero es debido al conocimiento de nuevas técnicas, y las mismas son incorporadas a los viejos procedimientos, haciéndolos mucho mas rápidos. Es la misma

evolución del KnowHow en acción.

En la apertura de los archivos planos, lo que he recomendado es que, en cuanto se abra el archivo

plano con Excel, veremos que Excel abre el asistente de importación, y lo que indico es que se incorpore todo en una sola columna. Esto, en mi opinión, facilitará limpiarle toda la basura que no es

información transaccional de manera muy rápida.

Este tipo de reporte, por lo general tiene por nombre en el sistema CG1 version 5, CG03013.P01.

Pues bien, solicite un listado Balance de comprobación por terceros con totales por abajo.

El listado con totales por arriba le presenta el inconveniente de que le duplica alguna información, y esto es así, porque como lo que usted tiene es un LISTADO que estaba destinado a IMPRIMIRSE, pues

en las impresoras de punto, las clases, grupos y subgrupos se muestran en negrilla, y lo que hace el

sistema es hacer que la impresora REPITA la impresión, colocando los registros DOS VECES. Por esto es que es mejor pedir este listado con totales por abajo, así no tendremos que eliminar los datos

repetidos en el procedimiento, ahorrándonos un pasito.

Cuando el listado CG03013 lo genere en el sistema CG1, y lo esté viendo por pantalla, no lo imprima ni

lo mande como hoja Excel. Envíelo por la opción DISCO. Y tome nota del nombre del archivo. Debe llamarse CG03013.P01 o P02, la extensión la puede definir el usuario, y por lo general se cambia la

extensión P01 por P02, si otro usuario está mirando por pantalla el mismo reporte en otra computadora terminal. Estos listados por lo general quedan almacenados en una carpeta del programa, por lo

general es la PRT (PRT es la abreviatura de Printer - Impresora). Si no lo ubica fácilmente, haga lo siguiente: Use el Buscar archivos o carpetas de Windows y ponga a que el sistema le ubique en donde

está. Tenga en cuenta que si el programa está alojado en un servidor, es decir en otro computador y si

solo busca en los discos duros de su computadora, no los encontrará. Si es así, busque en el Computador Host que comúnmente llaman Servidor, en el cual se encuentra instalado el programa

contable CG1. Una vez que Windows lo encuentre, verifique que sea, mirando por la opción detalles de archivo, que el archivo sea el que se generó en la hora y fecha en que Usted lo pidió, es importante

pues a veces hay más de un archivo, y se puede confundir de archivo. (Ojo con eso), los detalles

quedan asociados a todos los archivos, y al seleccionar la opción Detalles, puede ver ese tipo de información, también llamada “Meta Datos”.

Bien. Una vez haya encontrado el archivo, si es auditor, pida que se lo graben a una Memoria USB para que lo pueda trabajar posteriormente, si es el Contador, (y no tiene BIABLE), haga una copia y

colóquelo en sus documentos, o en donde considere apropiado. Seguidamente, vaya a Excel, Abra

Page 380: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

380

Excel, y con el botón ABRIR, busque el archivo plano. Asegúrese de que puede ver TODOS LOS

ARCHIVOS. Por lo general Excel le muestra TODOS LOS ARCHIVOS DE EXCEL. Pero como está abriendo

un archivo plano, deberá cambiar la opción (Ojo con eso):

Como en mi caso, la copia la puse en el escritorio, pues lo busco allí:

En cuanto haga clic en abrir, saldrá el asistente para importar texto:

Page 381: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

381

Hago clic en Delimitados, y clic en Siguiente.

Desactivo la casilla de verificación del tipo de Separador:

Clic en siguiente.

Page 382: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

382

Indico que todo es tipo Texto, y clic en Finalizar:

Page 383: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

383

Justifico la columna A:

Puede ver que el archivo plano quedó “Empaquetado” en una sola columna. Esto me permitirá:

Usar la opción de seleccionar las celdas en blanco para eliminarlas de una sola vez.

Usar los filtros para depurar los encabezados del listado. Si el listado es demasiado grande, y

Excel se niega a eliminar la selección del filtro, usar:

La opción de ordenar la información y allí si, eliminarla rápidamente.

Después de abrir el archivo, coloco un titulo cualquiera a la celda A1, pues voy a colocar (ojo todavía

no) un filtro. OJO: DADO que es posible que existan filas en BLANCO, si coloca el Filtro en este paso, el filtro NO

TOMARÁ todo el compendio de información, no tomará todo el archivo plano, sino, solo un rango, por

eso, debe hacer el siguiente paso:

Siguiente Paso: tomar el rango COMPLETO del archivo plano. Como? Me paso a la celda B1. Oprimo la tecla del computador FIN una sola vez. Cuando se activa la celda FIN, en Excel 2007 verá que abajo

a la izquierda dice “Modo Final” si está en Excel 2003, verá un “FIN” que se activa en la extrema

derecha inferior:

Excel 2007:

Excel 2003

OK. Recuerde que debe de oprimir FIN UNA SOLA VEZ. Si la oprime una segunda vez, YA NO VERÁ

“Modo Final”, ni “FIN”. Se desactivarán. Y necesitamos activar la opción para IR en un solo instante al FINAL DE LA HOJA DE CALCULO. Una vez allí, nos pasamos de nuevo a la columna A, oprimimos FIN

Page 384: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

384

otra vez, y oprimimos la tecla Flecha Arriba. Con esto, estaremos en la parte final del archivo plano, y

ya podremos tener la seguridad de que lo vamos a Seleccionar Completamente. Entonces: le ilustro todo lo anterior paso a paso:

1. Que pasa cuando me paso a la celda B1:

2. Que pasa cuando hago FIN y luego oprimo la flecha hacia ABAJO:

3. Me paso a la columna A nuevamente y oprimo FIN:

4. Con FIN activado, Oprimo Flecha hacia arriba:

Excel se “Estrella” con la parte final del listado.

5. Ahora, desde aquí, TOMAREMOS TODO EL RANGO QUE CONFORMA EL ARCHIVO PLANO:

Como? Oprimiendo SIMULTANEAMENTE desde este punto las teclas Control + Shift + Inicio Pasará que se seleccionará TODO el rango del archivo plano:

Page 385: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

385

NOTA:

Porque no simplemente selecciono la columna A y coloco el filtro? Todo esto que le he dicho se ahorra con solo seleccionar la columna A y hacer el filtro. PERO…. Recuerde que Excel 2007 ya

no maneja las viejas 65 mil celdas…. Maneja UN MILLON CUARENTA Y OCHO MIL Y “PUNTA” de celdas, entonces, serán más de UN MILLON CINCUENTA MIL CELDAS EN BLANCO que Excel

Cargará en la memoria, con lo cual le DISMINUIRÁ TREMENDAMENTE LOS RECURSOS DE MEMORIA A LA COMPUTADORA. No obstante, lo anterior, puede hacerlo y ver como es el

rendimiento de su computadora. Si encuentra que no es significativo, pues seleccione la

columna entera. SINÓ, ya sabe cómo seleccionar solo el rango y así su computadora lentica NO SUFRIRA! Que la computadora no sea un pretexto que torpedee tu labor.

6. Ahora si, Con la región SELECCIONADA, voy por el menú INICIO, sección de la derecha

“modificar” y ACTIVO el filtro:

Page 386: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

386

Ok, ahora, si, comenzamos a usar los filtros para limpiar la basura de los encabezados.

Primero que todo me deshago de esos encabezados que contienen una raya vertical: |

(Recuerde que esta rayita tipo palito vertical ya vimos como eliminarla detenidamente en el tema de los

filtros.) Doy aceptar, selecciono las filas desde la que aparece debajo del título hasta el final y las borro.

Page 387: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

387

Ahora, cuando se eliminen, NO SE PREOCUPE SI NO VE NADA, el resto de la información sigue allí, solo debe de ir nuevamente al filtro y seguir seleccionando la basura de los encabezados que no nos sirve:

En Excel 2003 solo podías seleccionar 2 filtros… aquí si la tabla no es gigante, puedes filtrar bastantes:

Toda esta basura la eliminas. Luego vamos por el total general…aunque son pocas líneas las podemos

eliminar…de una vez.

Page 388: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

388

Al mostrar nuevamente todas las celdas, el archivo nos va quedando así:

Viene el trabajito de deshacernos de esos asteriscos. Los asteriscos pueden ser un problema, pues si se fija, para Excel un asterisco puede ser cualquier carácter, así que si escoge eliminar *** tres asteriscos,

Excel le eliminará todo lo que haya por allí (todo es TODO). Para deshacernos de ellos, lo que hago es copiar toda la columna A en la columna B, y usar la opción texto en columnas, así:

(En el tema siguiente, cuando todo esto lo grabemos en una macro, haremos este paso de otra forma, hay muchas formas de hacer las mismas cosas en Excel, no lo olvide!)

Page 389: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

389

Con la columna B marcada, voy a la herramienta texto en columnas, opción de ancho fijo y solo divido

la parte en donde se encuentran los asteriscos, el resto de info de la columna B, elimino las rayas para dejar el resto en un solo bloque y en el paso siguiente, la primera parte le pondré tipo texto y a la

segunda parte le pondré NO IMPORTAR:

Recuerde que debe desplazarse con la barra horizontal a la derecha Y ELIMINAR esas rayas, de lo

contrario Excel las traerá y las colocará en columnas, y no las queremos, pues no olvide que por ahora

queremos deshacernos de las líneas que tienen asteriscos:

Page 390: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

390

Clic en Finalizar, y justifica el ancho de la columna B:

Ahora, colocamos los filtros nuevamente, y por la columna b, llamamos todos los asteriscos y los eliminamos, tal y como hemos hecho con el resto de la basura que queremos borrar.

Page 391: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

391

No se confunda con la imagen, aquí escogí el filtro de la columna B, y escogí todos los asteriscos:

Fíjese que aparece el símbolo del EMBUDITO en la columna B. Esto es porque hice el filtro en la columna B.

Elimina todas esas filas y vuelve a seleccionar todo, para que vea todos los registro, y así, ver que otra

basura hacer falta borrar:

Esa columna B, ya no la necesitamos. También quitamos el filtro. Después de eliminar la columna B, procedemos a partir (dividir) con la herramienta texto en columnas, la columna principal, esto es, la

Page 392: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

392

columna A: Marco o selecciono toda la columna A y llamo nuevamente la herramienta texto en

columnas:

OJO Esta parte es delicada, pues si partes o divides mal las columnas Saldo inicial, débitos, créditos y saldo final, tendrás que volver a empezar, a menos que quieras copiar nuevamente la columna A en B,

y partir la columna B. Es recomendable, para no perder todo lo hecho hasta el momento.

Tenga en cuenta que la opción deshacer en la herramienta TEXTO EN COLUMNAS NO FUNCIONA

CORRECTAMENTE.

También se debe tener en cuenta que este archivo, a los valores crédito les pone un texto CR, que

también hay que separar.

La partición queda así, para la primera parte:

Page 393: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

393

Así queda para la segunda parte: (ojo que aquí solo se ven debito, crédito y saldo final. Asegúrese de separar el CR de Saldo inicial, que aquí no se ve, así como quedaron las dos rayitas de la parte final, en

donde está el saldo final):

Fíjese en la regleta que aparece allí. En el saldo inicial coloque un par de rayas en la posición 73 y 75. Ahora, todos los campos los defino como texto. Si se conoce bien el comportamiento de su equipo en el

separador de miles y de decimales, puede usar la opción avanzadas:

Page 394: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

394

En esta opción se coloca el separador de miles y de decimales que tiene el archivo plano, para que

Excel lo convierta en el que maneja el computador, que por lo general en estos archivos es al revés.

Sigamos: Tenga en cuenta que este es un listado balance de comprobación por terceros, y los

terceros están en la misma columna que las cuentas:

La cuenta DEBE estar en la misma Línea de la transacción, que ya tiene el código y el nombre del

tercero, tenemos que REUBICARLA en esa misma línea. Cómo?

Fíjese que en la figura se ve una situación constante: en donde hay cuentas no hay valores saldos

inicial, débitos, créditos y saldo final. Están en blanco. Por allí las podemos detectar: Entonces, en la columna I1, concatenamos o unimos las celdas con un ampersand &, las celdas C,E,F y G:

Para qué? Para detectar lo que REALMENTE ESTA EN BLANCO, y lo que una vez unido, quede en

blanco, indudablemente serán las líneas de los número de las cuentas. Esta fórmula similar a

Page 395: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

395

=Concatenar() se copia hasta el final del archivo plano, luego se desbarata la función que nos

concatenó todo con un copiar, pegado especial, solo valores.

Entonces, recapitulando: Dado que los NITS o Códigos, o terceros están en la misma columna que las

cuentas, hace falta separar las cuentas, colocarlas en columnas aparte, pues necesitamos esos dos datos por aparte, en la misma fila de las transacciones.

Como ya detectamos que en donde están las cuentas no hay saldos sino celdas en blanco, y ya las tenemos ubicadas con el concatenar, entonces las podemos separar fácilmente, ordenando la

información por esta nueva columna I que hemos creado. Pero para no perder el orden original, insertamos una columna en A, y colocamos un número serial. Es la técnica para depurar la información

con ordenar que le enseñé al principio del libro. Si no hacemos esto, podemos perder la información pues no sabríamos como es que estaba ordenada originalmente:

Insertamos otras dos columnas en B y C. les colocamos cualquier cosa como encabezado para que

Excel las integre en la región corriente de la tabla. En estas dos columnas que hemos ABIERTO, que hemos INSERTADO, TRASLADAREMOS las cuentas y los nombres de las cuentas, así:

Ahora, después de haber insertado el par de columnas, colocamos cualquier cosa como encabezado de

columna en B1 y C1, y ordenaremos todo por la columna de las celdas que identificamos que

realmente están vacías, recuerda? Fíjese que sea la columna en donde montamos la función concatenar con el & Ampersand, la columna en donde unimos las celdas de los

Page 396: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

396

saldos, débitos y créditos. Tenga presente que como se acabó de insertar un par de celdas

en B y C, esa columna se desplazó de J a L :

A la pregunta:

Dele “Ordenar por separado los números almacenados como texto”. Ojo, la segunda opción, no la que se ve aquí en la imagen. Así, las celdas vacías quedaran arriba, y con ellas, si se fija, ¡las cuentas de las

columnas D y E!:

Ahora, seleccione todas las cuentas que aparezcan en el rango D y E, CORTELAS y PASELAS a la B y la

C:

Page 397: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

397

Vuelva y ordene por el numero serial. Ese era el fin de hacer ese serial, para retornar al orden original:

Ahora fíjese como las cuentas ya quedaron en SU columna aparte.

Ahora, a las transacciones que tienen en su misma fila, su NIT, solo les falta tener esta cuenta copiada al lado de estos, Verdad? Y esto lo haremos con la técnica de rellenar celdas en blanco que vimos al

principio del libro. Por eso no me voy a detener en imágenes paso a paso para esta parte.

Una vez rellenadas, nos quedan así: Bingo! Ya tenemos la información transaccional con todo lo

necesario! En la misma línea la Cuenta, descripción, código de tercero, nombre de tercero, saldo inicial, debito, crédito y saldo final.

Ok, ahora nos deshacemos de las cuentas que copiamos, las que ahora NO tienen información

transaccional (las amarillas B y C) pues como ya las copiamos al lado de los Nits, con la técnica de rellenar, y sabemos en donde están gracias a la columna L, pues simplemente filtramos las vacías y las

eliminamos:

Page 398: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

398

Si ve alguna otra basura en el filtro elimínela también.

Elimine la columna L pues ya no la necesitamos y desaparezca el filtro. El archivo ya le deberá quedar

depurado así:

Fíjese que el archivo ya parece una base de datos. Ahora solo le falta arreglar esos CR que indican que la cuenta es saldo CREDITO. Esta parte también la comenté más arriba, en la primera parte del libro:

mediante un Si condicional, colocamos que en donde aparezca un CR, multiplique la celda por -1, sino

deje la misma celda. Recuerda? Esa formula la pondría aquí en la columna L2, después de eliminar la que contenía las celdas concatenadas:

Copia la formula hacia abajo, copia nuevamente todo el rango y le da pegado especial solo valores:

Esta columna ya puede reemplazar la F. Como saldo final se conforma del saldo inicial mas débitos

menos créditos, mediante una formulita simple, organiza la columna J:

Page 399: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

399

Elimina las columnas G y K, que contienen esos “CR”, y ya la información le queda en forma de base de

datos.

Se puede hacer una macro en lugar de hacer todo esto manualmente?

Puede ver que este proceso es muy repetitivo, que aunque le he mostrado como hacerlo paso a paso, y

que parece TEDIOSO de hacer, con la práctica se hace bastante rápido, en menos de 5 minutos. Pero como es repetitivo, siempre y cuando el archivo sea SIEMPRE el mismo formato (totales por abajo, y

mismo nivel, sin poner valores de moneda extranjera) se puede grabar como una macro, y la macro lo organiza en menos de 5 segundos. (Por supuesto que totales por arriba también se puede hacer, solo

hay que tener en cuenta las líneas duplicadas y consecutivas y eliminarlas mediante macro).

Ahora, veremos cómo hacer la macro que nos haga todo esto que hicimos sin necesidad de volverlo a

hacer manualmente. Solo deberá pedir el listado del CG1, colocarlo en el escritorio y correr la macro. (Incluso puede generar el archivo CG03013 y dejarlo en la carpeta PRT y comenzar a grabar la macro

desde el momento que va y lo busca allá con el explorador Abrir archivo de Excel). Casi todo se hace con el grabador de macros, no necesita ser un experto programador para hacer una macro que haga

esta tarea. Los conceptos clave ya se los enseñé en el tema de macros y depuración de archivos

planos.

La macro también se puede mejorar todo lo que se quiera, y escribir de varias maneras. Yo me voy a servir del grabador de macros de Excel y en lo mínimo evitaré EDITAR el código de la macro, salvo las

técnicas útiles que hemos visto en detalle en la sección de macros, como la variable ULTIMAFILA. Recuerda? para que vea que no es difícil. Si es necesario recorrer los registros, usaré Do Until en lugar

de For Next, para que cuando la corra paso a paso, pueda ver por dónde se va moviendo la celda

activa. Así se dará cuenta que casi todo se puede hacer con el grabador de macros, y es posible defenderse bastante bien y hacer macros por lo menos efectivas. Poco a poco, mejorará sus macros, e

intentará escribirlas, como le he enseñado en el tema de MACROS, sin seleccionar las celdas. Después de depurar con macro el archivo plano de balance de comprobación por terceros, puede, también

mediante macro, hacer una tabla dinámica y construir un balance general y un estado de resultados.

Eliminar la tabla dinámica y organizar los totales de cuenta como le enseñé. Ahora si le gusta, puede hacer usted mismo el reporte que quiera o que le haga falta. La mayoría de los archivos planos del CG1

se arreglan de esta manera: Cartera por edades, listado auxiliar de cuentas, etc. Una vez que tenga sus macros para los mismos archivos planos clave, no tendrá que volver a “matarse” y verá como, después

del cierre contable, si el gerente le ordena meter un ajuste de última hora habiendo ya Usted elaborado

el Balance y el PyG., como podrá contabilizar el ajuste, generar el archivo plano, correr la macro y

Page 400: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

400

tendrá en segundos nuevamente su Balance y PyG. Así que es verdad cuando le digo que Excel es su

mejor asistente, su mano derecha en su día a día.

Page 401: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

401

Creando la macro que depura el balance de comprobación por terceros

Ok, en esta macro vamos a sintetizar todo lo que hemos aprendido sobre depurar archivos planos. Le aconsejo que si no ha leído el tema anterior vaya y se lo lea, pues mucho de lo que aquí viene es un

resumen de lo visto más en detalle.

Paso 1: Abrimos Excel, prendemos el grabador de macros,

Le colocamos el nombre que creamos es el más IDONEO para nuestro archivo, lo colocaremos en el

libro de macros personal, o en “este” libro, luego abriremos con Archivo-Abrir de Excel, el archivo plano

CG03013, que en mi caso estará ubicado en el escritorio, (o desktop), (ojo, para ver el archivo plano no olvide ver TODOS LOS ARCHIVOS), NO LO SEPARAREMOS, todo quedará empaquetado en una sola

columna, los datos serán tipo Texto, y justificaremos la columna A. No es necesario para Excel pero para nosotros sí. Esta justificación luego se podría quitar, pues al ser una línea de código mas, pues es

mejor si son líneas de código menos. Justificamos pues necesitamos por el momento, visualizar el contenido del archivo plano en una sola columna.

En cuanto hagamos eso, DETENEMOS LA MACRO, quedaremos en este momento y en el Editor de

Visual Basic se generará el siguiente código:

Todo lo anterior generó el siguiente código:

Page 402: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

402

Ok. Volvemos y prendemos el grabador de macros. (Podemos dejar esa macro en “Este libro”, es decir

en el archivo CG03013.P01) cuando grabemos lo que le diré a continuación y detengamos la macro,

podemos cortar el código grabado que se generó en uno de los módulos del proyecto CG03013, pasarnos al modulo de la macro principal es decir, pegarlo debajo de la macro

EjemploLibroDepuraciónCG03013, o en la macro principal en donde estamos pegando todas las acciones grabadas.

Continuemos: Estando prendido el grabador de macros, en la hoja de cálculo selecciono la celda A1 que en este archivo plano está VACÍA y coloco cualquier palabra, como la palabra Titulo. Al escribir Titulo,

NO doy enter, sino que escojo el CHULITO DE VISTO BUENO QUE DICE INTRODUCIR:

Porque? Si oprimes ENTER, quedará seleccionada la celda A2, Y NO DESEO SELECCIONAR A2 pues no

voy a hacer nada en esa celda, y menos aún quiero que me quede grabada esa acción en mi macro. Para que no quede seleccionada A2, pues haces clic en el CHULITO en lugar de dar ENTER.

Esta palabra “Título” la coloco, porque más adelante voy a colocar un filtro. Si no denominara esa

primera celda en blanco con un nombre, quedaría incluida cuando filtre los datos, pues uno de los filtros que haremos será deshacernos de las celdas en blanco... Y si eliminamos HASTA la celda que

contiene el filtro, pues tendremos que volver a montar el filtro. Para eso, le colocamos un título

cualquiera, pues a partir de él es que me voy a deshacer de toda la basura que está en el archivo plano.

Selecciono toda la columna A, es decir, la columna A entera, Completamente seleccionada, y activo los filtros. Le comentaba cuando depuramos manualmente el archivo, que si el archivo es MUY GRANDE,

seleccionara el rango de los datos, si ese es su caso, siga esos mismos pasos mientras graba la macro.

Page 403: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

403

Los balances de comprobación por terceros varían en cantidad de filas, algunos no son muy grandes, y

se puede seleccionar toda la columna.

Una vez realizado lo anterior, podemos detener la macro, vamos y la buscamos en el editor de visual

basic, la cortamos y la pegamos debajo del código que vimos hace un momento, con lo que se amplía a esto:

El archivo y el código no han cambiado mucho, pues solo se ha colocado la palabra titulo, se ha seleccionado toda la columna y se han activado los filtros.

Continuamos con una tercera macro. En esta siguiente macro, con un filtro personalizado tipo “Contiene”, selecciono todo lo que tiene una barrita vertical. En cuanto queda filtrado, selecciono, desde

la segunda fila visible, oprimo FIN + Flecha hacia abajo y borro todas las filas filtradas que contienen la barra vertical. Luego selecciono el filtro nuevamente y esta vez, hago un filtro de múltiple selección y

me deshago de todo el resto de basura: rayas tipo guión: ------------; dobles rayas guion =====,

signos más con guiones: +-----, y todo lo que estamos seguros que es basura, pero ojo, que estamos seguros que es información COMUN en todos estos archivos planos de este tipo. Una vez filtrada toda la

basura, seleccionas desde la segunda fila visible, oprimes Fin + Flecha abajo y eliminas todas esas FILA BASURA. Cuando terminas, le das clic al botón DETENER GRABACION.

El archivo debe de quedar así:

Y generó este código:

Page 404: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

404

Las instrucciones que seleccioné, que se ven en color azul, se pueden eliminar, pues no hacen falta.

Como esta macro, quedó directamente debajo de la otra, pues las unimos, seleccionando y quitando

esta parte, así:

Puede ver que estoy quitando desde donde dice END Sub, que es el final de la macro parcial que

grabamos primero y SUB MACRO8(), y de una vez lo que le comentaba hace un momento. Así quedan unidos los dos códigos bajo el nombre de la macro original. Puede probar a ejecutarla y verá como ya

hace todo en un INSTANTE. Pero al hacerlo, no olvide cerrar el archivo plano CG03013 SIN

GUARDAR CAMBIOS. Ojo con eso.

Ya estamos en la parte de eliminar los asteriscos que son subtotales y que son basurita también. Como sabemos que no podemos escoger todo lo que contenga asterisco, pues para Excel un asterisco puede

ser cualquier carácter, lo que podemos hacer es, Grabar otra macro mediante la cual en la columna B, colocarle por título “Asteriscos”, y en la celda B2, colocar la función =IZQUIERDA(), que nos saque una

copia de los primeros caracteres de la parte Izquierda de cada fila de la columna A. Si no comprende

bien que hace la función =Izquierda(), vaya a la sección de este libro en donde se explica bien esa función.

Page 405: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

405

Entonces, haga lo siguiente:

Ubicado en el archivo CG03013, Prenda el grabador de macros. Seleccione la celda B1. Escriba

“Asteriscos”. Pásese a la celda B2. Escriba la formula =Izquierda(A2;8) e introducir formula (OJO, NO ENTER). Copia la formula. Con Fin + flecha Abajo, se va hasta el final de la hoja de cálculo. Se pasa a

la columna A. Otra vez, oprime Fin + flecha arriba. Se pasa a la celda de al lado, la B. Luego para

seleccionar todo el rango en el cual debe quedar ingresada la formula izquierda, desde allí oprime Shift + Fin + Flecha Arriba, y da enter. La formula debe quedar copiada enteramente. Seguidamente, como

tiene todo el rango seleccionado, desbaratamos la formula con Copiar, y Allí mismo, pega la copia pero con Pegado especial Solo valores.

Procedo a mostrarle IMAGEN POR IMAGEN LO QUE HICE:

Estoy en la celda B2, escribo la formula, y hago Control C para copiarla.

Luego, oprimo Fin + flecha abajo: llego a la última fila de Excel:

Allá abajo, me paso a la columna A:

Otra vez, oprimo Fin + Flecha hacia Arriba: Me estrello con la parte final del archivo plano:

Me paso a la columna B otra vez:

Page 406: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

406

Oprimo Shift + Fin + flecha arriba para seleccionar todo el rango en donde quiero copiar la formula y

oprimo ENTER para pegar la formula a lo largo de todo ese rango:

Puede ver que quedó AL LADO, a todo lo largo de nuestro archivo plano, y que está extrayendo los asteriscos. Las dos últimas filas, ya veremos cómo quitarlas, pues son basura pero en todos los archivos

son diferentes totales, pero como siempre están de últimas, se pueden eliminar fácilmente, mas adelante lo haremos.

Sigamos. Sobre ese mismo RANGO, en el cual introdujimos la función izquierda, hacemos un copiar – pegado especial – solo valores y desbaratamos la formula Izquierda. Todo este “Paso a paso” generó el

siguiente código, que debemos depurar después, pues se puede ver que la línea que le señalo aquí, es una selección FIJA, y lo que habrá que decirle a Excel es que se desplace con ActiveCell.Offset una

celda a la derecha, y corregido el problema. Sobre esta instrucción en la sección de macros me detuve

MUCHO, para que le quedara clara su utilidad. (Mas adelante depuraremos esas cositas):

Nota: Si el fragmento de macro, le queda grabado dentro del modulo del otro archivo, el CG03013:

Page 407: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

407

No se preocupe, ábralo, corte la macro, y péguela debajo de las demás macros del modulo1 del archivo

en el cual está guardando las macros parciales que estamos uniendo, que en este caso, es el archivo “EjemploMacroDepurarCG03013.xlsm”.

Sigamos. Volvemos a grabar otra macro. En ella, ahora seleccionamos las columnas A y B, colocamos un filtro y con un filtro múltiple en la columna ASTERISCOS seleccionamos todos los asteriscos, el de un

asterisco, el de dos asteriscos, todos, y los eliminamos. (Hay archivos en donde aparecen más asteriscos, este trae hasta 5 *****, a veces mas, para tener en cuenta si quiere montar una macro que

le corra en todos los casos)

Page 408: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

408

Seleccionamos desde la segunda, hasta el final y eliminamos todas las filas, seguidamente

desactivamos el filtro, eliminamos la columna B, y seleccionamos la celda A1.

Una vez realizado lo anterior, el grabador de macros nos genera este código:

El único problema verdaderamente serio del código anterior, es la selección del rango, el cual es fijo.

Más adelante arreglaremos esto, pues no todos los archivos tendrán la misma cantidad de registros.

El archivo ya nos va quedando así:

Ok, asteriscos Fuera. Ya podemos ver que la información ya comienza a parecer una base de datos,

Page 409: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

409

Ya estamos cerca del final. Ahora, Con otra macro, tal como lo hicimos manualmente, con mucho

cuidado, con la herramienta texto en columnas, Seleccionamos la columna a, activamos la herramienta

texto en columnas y vamos a partir el archivo plano. El archivo visualmente nos queda así:

Y el grabador de macros generó el siguiente código:

En la primera imagen puede ver que el título, que nos ayudaba en el filtro, quedó en la columna A, y que las demás columnas les hace falta un rótulo de columna o encabezado o título. Ahora, en la

siguiente MACRO, a las demás columnas les colocamos un encabezado de título temporal, puede ser

cualquier cosa, para que se REACTIVE la región corriente y Excel SEPA que corresponde a una TABLA. Además, en la columna I, colocaremos una fórmula que concatene, uniremos las celdas C, E, F y G con

un & Ampersand que nos ayude a identificar las cuentas, para poderlas separar a un lado. Tal como hicimos en la parte manual. Seguidamente, colocaremos un número serial, que nos permita regresar al

orden original, pues vamos a ordenar todo esto por la nueva columna I, que es la columna en la cual detectaremos las cuentas. Una vez realizadas estas dos acciones, el archivo queda así:

En la imagen seleccioné el rango I2 – I5, para que vea que el concatenar, A LA FIJA, nos DICE cuales son las filas que SIN TEMOR A EQUIVOCARNOS, SON CUENTAS y NO TERCEROS, valiéndonos de la

consistencia que se observa, la cual es, que cuando en la fila hay una cuenta, No hay valores transaccionales.

Page 410: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

410

Coloque unos títulos cualquiera, y en la celda I2, coloqué la función que concatena las celdas C, E, F y

G, tal como lo hicimos en el ejercicio anterior en el cual depuramos el archivo manualmente y

mostramos como era la función. Seguidamente se copia la función de I2 a todo lo largo del archivo plano, me voy hasta el final, estando allá abajo me paso a la celda de la columna G, subo hasta

estrellarme con la parte final del archivo plano, y me paso nuevamente a la columna I. Estando en esa posición, selecciono TODO el rango que recorre a todo lo largo del archivo plano con toda seguridad, y

pego la columna que quiero copiar. Una vez copiada, SOBRE EL MISMO RANGO, hago un nuevo Copiar,

y ALLI MISMO, EN ESE MISMO RANGO, SIN MOVERME, HAGO UN PEGAR, PEGADO ESPECIAL SOLO VALORES. El grabador de macros con estas acciones, que nos dejaron el archivo plano como se ve en la

imagen, generó el siguiente código:

Se ve un poco largo, pero lo que lo hace largo son esas líneas con las cuales se “bautizan” los

encabezados de columna. Intencionalmente he marcado la línea Range(“I2753”).Select, que es el único problema serio, el resto del código se puede depurar, y mucho, pero no hacerlo si bien no es

indispensable, si es importante. Más adelante, cuando hagamos una revisión del código, arreglamos

eso.

Ahora sigue colocar en una columna A un número serial. Porque? Porque vamos a ORDENAR por esta columna I, en la cual hicimos el concatenar, para DEJAR JUNTICAS TODAS LAS CUENTAS Y PODERLAS

PASAR A UNAS COLUMNAS APARTE, PARA SEPARARLAS DE LOS NITS. Recuerde que las cuentas están

Page 411: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

411

en la misma columna de los Nits, y esto, para una base de datos, NO PUEDE SER. La columna o Es

campo Código de tercero o Campo Cuenta, pero no pueden ser los dos. Lo que hicimos para

solucionarlo, fue que las tamizamos, las seleccionamos, las identificamos mediante el principio de que cuando hay una cuenta no hay valores transaccionales, y lo hicimos con el concatenar en la columna I.

Ok, espero que me vaya siguiendo. Sigamos. En otra macro, voy a montar el serial en la columna A. Es

la lección que le enseñé al depurar la información Ordenando los datos. ESO MISMO:

Inserto UNA COLUMNA NUEVA EN LA COLUMNA A. Coloco en A1 el título “Serial”, en A2 el numero 1, y

en A3, el numero 3. Selecciono las dos primeras casillas y arrastro hasta el final del archivo plano.

Al realizar esta operación se genera el siguiente código:

Recuerde que si la macro le queda grabada en el archivo CG03013, debe recortarla y pegarla debajo del resto de macros que luego uniremos, y esas las estamos colocando todas, una debajo de la otra en el

modulo1 del archivo “EjemploMacroDepurarCG03013.xlsm”

Esto fue lo que hicimos, y grabamos:

Ahora, en la siguiente macro ordenamos toda la información por la columna J, que es la columna en

donde hicimos el “join”, es decir, en donde unimos las celdas de los valores para detectar las filas que

Page 412: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

412

realmente están en blanco, y que indudablemente corresponden a las cuentas. Grabamos la macros y

ordenamos por esa fila:

Ante la pregunta:

Le damos “Ordenar por separado los números almacenados como texto”. De esta manera, las cuentas nos quedaran en donde queremos, arriba:

Vé? Ya tenemos las cuentas TODAS JUNTAS, REUNIDAS en donde queremos tenerlas.

Insertamos dos nuevas columnas en B y en C, en estas columnas colocaremos las cuentas:

Page 413: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

413

Como nos quedaron juntas, solo nos resta BAJAR por la columna E, hasta que lleguemos al final de

todas las cuentas. Cómo? Seleccionando D1 o D2 y con fin mas flechita hacia abajo, llegas a la ultima cuenta. Allí, junto a esa última celda, la ultima cuenta, seleccionas también la descripción de esa última

cuenta, y luego desde abajo seleccionas todo el rango equivalente a las cuentas, con Control + Shift + Flecha arriba:

En la imagen, descendí hasta la última cuenta:

Luego, oprimiré, desde aquí, control + shift + flecha arriba, para tomar todo el rango correspondiente a

las cuentas:

Page 414: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

414

Corto la sección D y E y selecciono la Celda B1

la paso a B y C:

Ahora, necesitamos de nuevo colocar unos encabezados en D y E, pues nos quedaron VACIOS, así

Excel nuevamente reconocerá la región activa de todo el archivo plano. Es necesario porque vamos a ordenas nuevamente por la columna Serial.

He puesto cualquier cosa, pues todavía no son los encabezados definitivos. Ahora ordeno por la

columna A, la del serial:

Page 415: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

415

Al ordenar el archivo plano nos queda así:

Fíjese que logramos separar las cuentas de los nits y los nombres de nits!!! Sabe que es lo único que

falta? Grabar en la siguiente macro la técnica de rellenar los espacios que le he enseñado, y luego eliminar las celdas de las cuentas, pues ya sabemos en donde están!!

En este punto, al detener la macro, encontramos que se ha grabado el siguiente código:

El código grabado continua en la siguiente imagen:

Page 416: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

416

Seguidamente, prendemos nuevamente el grabador de macros, nos ubicamos en la celda A1,bajamos

hasta la última, nos pasamos a las celdas de al lado, y desde allí seleccionamos el rango, hasta A1: Estando en A1, bajo hasta la última:

Con las flechitas, me paso a la celda C:

Desde aquí, oprimo simultáneamente, con control + shift + inicio AGARRO todo el rango hasta A1:

Page 417: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

417

Listo, ahora voy por la ficha inicio, buscar y reemplazar, ir a especial, celdas en blanco. Escribimos la

formula + la celda de arriba y en lugar de Enter, hago Control+Enter, para copiar en los rellenos la

información que está en la celda de arriba de las celdas en blanco:

Seguidamente, marco las columnas B y C, y hago un copiar, pegado especial, solo valores.

Estos pasos generan el siguiente código:

Page 418: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

418

Aquí estoy señalando el “Range(“C2721”).Select, porque ese pedacito habrá que arreglarlo

después, y decirle que, habiendo bajado a la ultima celda con el comando

Selection.End(xlDown).Select, SE DESPLACE DOS CELDAS a la derecha DESDE LA CELDA

ACTIVA, que es la ultima que quedó seleccionada.

Estas dos instrucciones que siguen, también se pueden quitar: Windows("EjemploMacroDepurarCG03013.xlsm").Activate

Windows("CG03013.xlsx").Activate

Sobran, pues la maquina sabe que está trabajando en el libro activo

Al final se le “PELUQUEAN” esos comandos un tanto redundantes. Es que cualquier acción incluso las

que no agregan valor, quedan grabadas.

Entonces, ya hicimos el relleno colocando una fórmula que no es más que decirle a las celdas vacías que JALEN el dato que está arriba de ellas. +Celda arriba. Antes de continuar, esa fórmula hay que

desbaratarla con el viejo y conocido método de copiar las dos columnas y pegarlas ALLI MISMO, pero con la opción, pegar valores. Como al final de esta secuencia, las hemos dejado seleccionadas, solo nos

resta hacer la macro de copiar, y luego dar pegado especial valores:

Recuerde que TIENE que seleccionar las dos columnas en las cuales quedó el relleno.

Mire que están las dos columnas seleccionadas, y hago clic derecho para que salga el menú emergente,

y hago clic en Copiar.

Page 419: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

419

Después ALLI MISMO hago clic en Pegado especial:

Al hacer clic allí, me saldrá una ventana que me dice QUE COSA EN ESPECIAL QUIERE QUE PEGUE: Activo la casilla SOLO VALORES, y listo, detengo la macro.

Después de dar ACEPTAR, con el teclado del computador oprimo la tecla Escape para que se me DESAPAREZCAN esas líneas INTERMITENTES que me están seleccionando el rango de las dos columnas

que COPIE y PEGUE ESPECIALMENTE. Es lo que se conoce como desactivar el Clipboard, pues si

deseara pegarlo en otro lado, lo podría hacer, pues Excel lo ha guardado en memoria. Como no lo quiero más, lo desactivo dando escape.

Page 420: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

420

Eso genera este código:

Cuando DI ESCAPE CON EL TECLADO, se quita la intermitencia del rango, y corresponde a la

instrucción Application.CutCopyMode = False

Esta macrito que acabo de hacer, el numero que sea, que se generó en el libro CG03013, la corto y la pego en donde estoy pegando todas las macros.

Este archivo ya está cerca de finalizarse. Ya hemos logrado:

1. Limpiarle la basura de los encabezados del listado.

2. Detectar las filas que corresponden a las cuentas (con los blancos de la columna de la derecha) 3. Insertar dos columnas y lograr desplazar los códigos de las cuentas y sus nombres a un lado

izquierdo, aparte de los códigos de los terceros, pues compartían la misma columna y para una base de datos esto es inadmisible.

4. Rellenar, debajo de las cuentas desplazadas (no por la violencia), los datos de esas mismas

cuentas y nombres de cuentas.

Que sigue? O, que nos falta para acabar?

1. Ahora sí, aprovechar las celdas que están en blanco FRUTO de la función concatenar que hicimos, recuerde que unimos el contenido de todas las celdas para detectar en donde había

CUENTAS y en donde NO, para desplazarlas y rellenar ESA información al lado de los terceros.

Como ya hicimos el relleno, estas celdas ahora ya no las necesitamos y antes por el contrario, ahora nos sobran, pues la meta es convertir eso en forma de base de datos. Entonces: Paso

siguiente: Deshacernos de todas las celdas de la columna de la extrema derecha que quedaron en blanco. Aquí le pego una imagen para que observe:

Page 421: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

421

La que pinté de grisecito de la derecha, es la que vamos a USAR para deshacernos de las filas que ya

nos sobran. Para mayor claridad, en esta siguiente imagen, le estoy mostrando cuales son las filas que

ya no nos sirven y que hay que borrar, pues para que la información sea trabajable debe ser en forma de base de datos. Esta imagen que le presento es la misma que esta de arriba, en esta le estoy

señalando las filas que vamos a proceder a borrar:

Si se fija en esta imagen, las filas que YA NO NECESITAMOS CORRESPONDEN CON EL HECHO, DE QUE

EN LA COLUMNA L ESTAN VACIAS O ESTAN EN BLANCO. Ahora, NO NOS VAMOS A PONER A ELIMINAR ESTAS FILAS UNA A UNA, NOOOO. Las vamos a eliminar

con la técnica que hemos venido indicando en el libro, con un filtro. Entonces: Vamos a grabar la siguiente macro que nos eliminará estas filas que ya no queremos:

Encienda nuevamente el grabador de macros por la opción ficha programador, grabar macro, en este

libro. No se preocupe si el libro no es el mismo en el cual esta guardando todas las macros, luego con

el editor de visual basic, va a la macro grabada en ese libro, la corta como cuando corta texto en Microsoft Word, se pasa EN EL VISUAL BASIC al módulo del archivo en donde está acumulando todas

las macros parciales, que en este caso es “EjemploMacroDepurarCG03013.xlsm” y la pega debajo de las demás.

Entonces, recapitulando: prende el grabador de macros, y pone un filtro. Dado que el archivo ya tiene títulos en los encabezados de columna, y tiene un número serial para todas las filas, Excel reconocerá

TODA la tabla, o región corriente sin necesidad de seleccionar todo el rango.

Entonces, recapitulando: prende el grabador de macros y pone un filtro. VA A SELECCIONAR EL FILTRO DE LA COLUMNA QUE ESTA EN GRIS, que en mi caso se llama “reterdvfvx”. Recuerde que he puesto

encabezados solo para efectos de que los filtros trabajen. Más adelante le identificaremos

correctamente los encabezados. No los identifico aún, porque estas columnas NO SON CON LAS QUE NOS VAMOS A QUEDAR. Pues también hay que arreglar los valores, y eso ya hemos visto como hacerlo

en otras partes de este libro.

Entonces, vuelvo y recapitulo que es lo que vamos a hacer: Prende el grabador de macros, pone un filtro, selecciona la columna donde están los blancos, y DES-selecciona TODO, busca las que están

en BLANCO y las selecciona. Que ocurrirá? Que Excel NOS DEJARÁ JUNTICAS TODAS LAS CELDAS QUE YA NO NECESITAMOS. TENIENDOLAS JUNTAS, PROCEDEMOS A ELIMINAR TODAS LAS FILAS.

Entonces: Le muestro en imágenes todo lo anterior:

Paso 1: GRABA ESCENA MACRO SIGUENTE (como en las películas), Pongo el filtro:

Page 422: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

422

UBICADO EN EL FILTRO, Desactivo la casilla de verificación Donde dice Seleccionar todo, Bajo con la

barrita de desplazamiento DEL FILTRO hasta la última parte, esta: y ACTIVO LAS VACIAS, ASI:

Page 423: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

423

En cuanto LO HAGA, sucederá que Excel solo nos dejará, Las vacías: (Que valga la redundancia).

Puede darse cuenta, como el filtro nos hace la tareíta en un segundo, y lo mejor de todo, es que NADA DE TODO ESTO TENDREMOS QUE VOLVERLO A HACER PORQUE ESTAMOS GRABANDO TODOS LOS

PASOS EN UNA MACRO. Sigue: Selecciona todas las filas, desde la segunda visible, hasta la última:

Page 424: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

424

Luego Le da BOTON DERECHO (aparecerá un menú emergente), y ELIMINAR FILA:.

Para que se vea más claro, aquí le pongo un ACERCAMIENTO:

Page 425: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

425

En cuanto elimine las filas, se le desaparecerá todo. NO SE PREOCUPE, o NO SE ASUSTE:

Fíjese que hay un filtro, UN EMBUDITO en la columna L:

Page 426: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

426

Lo ve? Aquí le hago otro ZOOM:

ESTE que se ve a la derecha con una flechita hacia abajo:

Cada vez que una hoja tenga filtros, FIJESE EN DONDE ESTAN LOS EMBUDITOS, así sabrá que esas

columnas Están filtrando algún dato, dado algún criterio del usuario. En este caso, nuestro criterio fue que nos seleccionara todas las celdas en blanco, Como las acabamos de eliminar, pues ya no nos

muestra nada. Lo que tenemos que hacer, es Hacer clic allí y darle clic a Seleccionar todo y Aceptar:

Page 427: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

427

Esta operación de eliminar las filas que no nos interesan, nos generó el siguiente código:

Aquí le estoy señalando el número 2721, que corresponde a la última fila del archivo. Esa Celda, esa instrucción habrá que corregirla, pues seguramente otro archivo podría tener más o menos filas. Eso lo

arreglaremos con una variable, la variable UltimaFila que en la sección de macros aprendimos a hacer.

Recuerda? Espero que sí, si no, le agradezco retorne a la sección de macros y repase.

Ok. Mire como queda todo después de haber eliminado las filas que nos sobraban: Fíjese que la columna L, la de la derecha, que tanta utilidad nos ha dado, sigue allí, ya no tiene celdas en blanco.

Le muestro esta otra imagen para que vea más claramente como este archivo plano ya se va

pareciendo más a una base de datos:

Ok, esa columna L, que tanto nos sirvió, ahora ya no la necesitamos. Prenda el grabador de macros,

seleccione esa columna y elimínela. Al hacerlo, se generará este pequeño código:

La macrito generada, al igual que las demás, córtela y péguela debajo de las otras.

Page 428: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

428

Que falta? Muy Poco. Qué? Queda un problemita por resolver. Fíjese como se presentan los valores

crédito en este archivo plano:

Tienen una columna adyacente en la cual, en los casos en los que son valores Crédito, pone un “CR”. Este balance, como cualquier otro, al final debe de darnos CERO, prueba IMPAJARITABLE (Agradezco

sepa excusar mis modismos), de que el balance esta cuadrado o más que eso, de que a nosotros nos ha quedado Bien depurado. Aunque en la práctica, casos se ven en donde DE UNA se pillan balances

descuadrados, aunque el mismo archivo plano, si se fija, por lo general al final muestra unos totales

generales, y cuando un balance está descuadrado, allí se puede ver, que en las columnas saldo inicial y final, no están en ceros. Por otra parte, si el archivo plano reporta cuanto suman los débitos y los

créditos totales, a ese valor deberemos llegar y así sabremos que el archivo, por lo menos en cuanto valores generales, nos ha quedado correcto.

Otra situación con la que me he encontrado es que, dado que en esta depuración nos estamos quedando con información de las cuentas a nivel de terceros, y al analizarla e irla mayorizando por

clase, grupo, subgrupo, cuenta, en ocasiones no corresponde con las sumatorias a nivel de terceros. Es una prueba que podría uno llamar de “Integralidad de la información”, en la cual se detectan

inconsistencias en la acumulación de los saldos del mismo sistema. Eso se puede revisar, y podríamos cruzar, rápidamente con una tabla dinámica, contra los totales que nos mostraban los asteriscos al

comienzo, en el archivo plano, pues por lo general, en estos archivos del CG1, un asterisco son los

totales por clase, dos asteriscos totales por grupo, etc.

Ok. Nos falta el código que nos arregle los valores. Vamos a grabarlo: ya sabemos que nos podemos servir de las columnas en donde están los CR y aparte, en una nueva columna colocar una función

=Si(), y copiarla a todo lo largo del rango. Es una manera, de solucionarlo, que a mí me gusta pues

resulta ser más rápida que si me pusiera a recorrer la columna y en donde aparezca el CR multiplicar por menos uno o algo así. Créame que hacer la función Si() en una columna adyacente, a la derecha, y

copiar las formulas hacia abajo es muchísimo más rápido que obligar Excel a que recorra cada columna arreglando los valores uno a uno.

Ok. En Excel, nos ubicamos en el archivo plano. Prendo nuevamente el grabador de macros. Me ubico

en la celda en la cual voy a montar la función =SI(), que en este caso será la L2, y en ella

introduciremos la siguiente función:

=SI(G2="CR";-VALOR(F2);VALOR(F2))

La cosa es que, cada vez que aparece un CR, el valor es crédito, es decir, NEGATIVO, por eso, lo que

hacemos es traer el valor negativo, utilizo la función valor, POR SI DE PRONTO sigue apareciendo algún numero que Excel lo está tomando como Texto. De esta manera me REASEGURO de que

definitivamente quede negativo. En caso de que no haya un CR, solo traeré el valor de la celda, usando también, la función Valor.

En M2 introduciremos : =VALOR(H2) que corresponde a los débitos del archivo plano En N2 introduciremos : =VALOR(I2) son los créditos del archivo plano

Page 429: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

429

En O2 introduciremos : =L2+M2-N2 el saldo final, podemos optar por sumar las funciones anteriores.

Detenemos la macro.

Ahora, antes de ver el código que generó Excel, veamos gráficamente la introducción de la función

=Si():

Esa es la función que está en L2, que en este caso devuelve un cero. Si en L2 le damos F2 Editar,

podemos ver las celdas que está tomando, o ver mejor como está montada la formula:

Ok. Después de haber ingresado esas funciones y haber detenido la macro, este es el código que se

generó:

Ok, ahora en la siguiente macro que grabaremos, vamos a tomar estas cuatro celdas, copiarlas y

pegarlas a todo lo largo del rango del archivo plano.

Una manera de hacerlo, puede ser:

1. Seleccionar las celdas, copiarlas, pasarnos a la celda A1 o a2, con el comando FIN mas flecha hacia abajo, iremos hasta la última fila del archivo, nuevamente con FIN mas flecha a la

derecha iremos a la esquina inferior derecha, nos desplazaremos una casilla mas a la derecha,

y en ese punto, ya estaremos ubicados en el punto del rango final. Desde este punto final

Page 430: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

430

estaremos correctamente ubicados y seleccionando, desde este punto final, hacia arriba,

tomaremos todo el rango de celdas que queremos pegar.

El inconveniente es que, si nos pasamos a A1 o A2, para que la técnica del FIN + flechita de

dirección, funcione, deben de existir datos a todo lo largo de la dirección sobre la que nos estamos moviendo. Si llegara a haber un espacio en blanco, Fin + Flechita podría detenerse a

mitad de camino, y es lo que sucederá en este caso, pues el archivo tiene muchas celdas en

blanco, como es el caso de la columna G, columna que contiene o no los caracteres CR, y sobre ella pasaremos cuando al final demos Fin + flechita a la derecha.

2. Otra manera es, en lugar de pasarnos a la celda A1 y bajar hasta el final, pasarnos solo hasta la

columna J, que representa el saldo final, y deslizarnos hasta el final por allí, luego nos desplazamos dos celdas a la derecha y ya tendremos el punto final del rango sobre el cual

pegaremos estas cuatro celdas con sus formulas.

El inconveniente? Igualmente no podemos arriesgarnos a que haya un espacio en blanco que

es poco probable que lo haya, pero puede existir incluso por error, y podría detenerse a mitad de camino. Entonces, tampoco. Busquemos otra opción:

3. Considero que la mejor opción es, arrancar desde la última celda, en la columna A, de la hoja de cálculo, la 65.536 si es Excel 2003 o la 1.048.576 si estamos en Excel 2007. En la sección de

macros aprendimos un comando que sirve para ambos casos, pero en este caso queremos hacerlo usando el grabador de macros, por lo que debemos de saber con certeza en que

versión de Excel estamos trabajando. Así pues, la mejor opción, para encontrar la última fila, es ir hasta la última celda de Excel, y subir hasta estrellarnos con el último dato de la región

corriente, por la columna A. ¿Porque la A y no la J la columna del saldo final? Respuesta:

Porque hay casos en que las demás columnas no tienen la misma longitud que la primer columna, y queremos estar exentos de error. Luego, INEVITABLEMENTE tendremos que

escribir MANUALMENTE el código que desplaza la celda activa hasta la columna L. Recuerde que comenzamos a escribir la función =SI() en L2, así que la columna L-Ultima fila, será el

punto final del rango sobre el cual pegaremos la función que estamos copiando.

Vamos a hacerlo:

Prendemos otra vez el grabador de macros. Selecciono las cuatro celdas que contienen las formulas:

Las copio:

Me voy por la ficha INICIO – Buscar y seleccionar – Ir a (puede ver que hay un short-cut o atajo de teclado que Excel nos está diciendo que también podemos usar para evitar esos Clic adicionales de

ratón, control + I)

Page 431: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

431

En cuanto salga la ventana, escribiremos las coordenadas o referencia de la última celda en la columna

A, esto es A1.048.576:

Clic en Aceptar. Una vez que lleguemos a la ultima celda, oprimiremos FIN + celda hacia arriba:

Page 432: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

432

Puede ver que al lado de “Listo” dice “Modo Final”, quiere decir que ya oprimí la tecla FIN y solo flat

oprimir la flecha hacia arriba para salir disparado y estrellarme sin lugar a dudas con la ultima celda:

En este punto, detenemos la macro y vamos al código que se generó, y completarlo:

No se fije en el número de macro por la que voy, dado que como estoy escribiendo el libro mientras hago las macros, y grabo las imágenes, no me están quedando en secuencia, pero eso no es problema,

solo pegue la macro, que esté correcta. Observe el código, mire que todo eso a lo que le hemos “botado corriente” sobre como copiar y pegarlo en el rango correcto sin error, queda reducido esas

cuatro líneas.

Este pequeño código ya tiene la instrucción de copiar e ir hasta la última celda de la columna A, del

archivo plano. Solo necesitamos que se SELECCIONE la columna L. La columna L es la columna número 12, o la letra numero 12, si cuenta desde A, hasta L.

La instrucción que debe escribir, debajo de esta macro, es la instrucción ActiveCell.Offset que se explicó

ampliamente en la parte teórica. Solo se necesita escribir esta línea:

ActiveCell.Offset(0, 11).Select

Porque escribo 11 si la columna L es la columna 12? Porque si se mueve, desde A, doce veces, quedará ubicado en la columna M, en lugar de L. Cuando usted camina y comienza a contar pasos, NO CUENTA

el punto inicial, cuenta desde el primer paso, el paso que lo llevará a la posición o punto 2. Entonces es lo mismo aquí, es cuestión de cuantos pasos o celdas se debe mover Excel. Cero filas, 11 columnas a la

derecha.

Page 433: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

433

Recuerde que las MINIMACROS como esta, se pueden probar, ejecutar paso a paso, así que si se

equivoca en la cantidad de posiciones, pues rectifique, hasta que encuentre la referencia o coordenada de desplazamiento correcta. Es imprescindible que para una mejor comprensión de esta parte haya

leído la parte teórica que hacía referencia al tema de Activecell.Offset en el libro.

Una vez incorporada la línea en el código, y comprobada queda así:

Este es, en la práctica, de las pocas cositas en las cuales se debe “meterle la mano” al código. Ok, ahora, desde este punto podemos seguir usando el grabador de macros, para la parte que nos

falta. Entonces, esta macro la corremos, y cuando termina fíjese que nos está pidiendo que seleccionemos el destino y que peguemos. Ubicados aquí, en donde nos deja, grabaremos el pedazo de

macro que nos falta.

Ubicados en el punto final del rango, prendemos el grabador de macros y lo que hacemos es oprimir las

teclas Shift + FIN + flecha arriba. En cuanto se seleccione todo el rango, se da ENTER. Sucederá que quedará pegada, a todo lo largo del rango, las formulas de las cuatro celdas que estamos copiando.

Seguidamente, de una vez allí, con TOOODO el rango seleccionado, de nuevo copiamos y pegamos,

esta vez con el propósito de DESBARATAR las formulas, daremos PEGADO ESPECIAL SOLO VALORES. Puesto que hace un momento hicimos esa operación de copiar y pegar solo valores, no considero

necesario volver a pegar las imágenes.

Page 434: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

434

Una vez hecho lo anterior, esto es lo que nos queda:

Fíjese que los 126.820.009,36 que son CREDITO, quedaron negativos. Quiere decir que la función

opera correctamente y cumple su cometido. Esta operación de seleccionar el rango, pegar, volver a

copiar y pegar solo valores, generó este código, que deberá ir debajo del otro que manipulamos manualmente:

Después de esto, YA NO NOS HACEN FALTA LAS COLUMNAS DESDE LA F HASTA LA COLUMNA K. Estas son las columnas viejas del archivo plano que representaban el saldo inicial, la columna de los CR, los

débitos, los créditos y la columna de los CR. Puesto que ya organizamos los valores y los convertimos en negativos cuando son CR‟S (créditos), podemos proceder a Eliminar esas columnas.

Entonces, nuevamente prenda el grabador de macros, seleccione esas columnas y elimínelas. Detenga

la macro y pegue ese código debajo de los que venimos haciendo. En esta imagen estoy seleccionando las columnas a ELIMINAR:

Page 435: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

435

En esta, ya las he eliminado, y ha quedado así:

Eso generará este código, como podrá ver es muy sencillo de entender, pero no por eso tiene que

escribirlo, siempre que pueda use el grabador de macros:

Page 436: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

436

Fíjese como va quedando el archivo ya depuradito:

Solo nos falta colocar los encabezados de columna y colocarle el formato a los números.

Prenda el grabador de macros, seleccione las columnas de los valores, esto es, de la F hasta la I, haga clic derecho para que salga el menú emergente, y coloque el formato de celdas NUMERO de su

predilección, o el que considere necesario:

Este es el código que se genera, el cual también vamos cortando y llevando para el otro lado:

Page 437: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

437

Ahora, la macro de los encabezados. Solo es prender el grabador de macros y colocar los encabezados

a todas las columnas:

Genera este código:

Podemos decir que ya hemos finalizado. Solo falta unir todas las macros y mejorarla en aquellas partes

en donde quedaron celdas fijas y necesitamos que se mueva con el ActiveCell.Offset. También debemos definir la variable Ultimafila para remitirnos siempre en verdad a la última fila y no a una última fila fija

de un solo archivo plano. Recuerde que si no se hacen esos arreglos la macro no le operará bien si le llega a salir un archivo diferente.

Si usted afina bien esta macro, le puede servir para cualquier compañía que maneje este tipo de

archivos de CG1, el CG03013. Si es versión CG1 versión 8.5, es el archivo UFCG1041, el cual encontrará

Page 438: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

438

que es muy similar a este, por no decir que es casi la misma cosa, pero esta macro le servirá para el

CG03013. Tendrá que construir la que corre para el UFCG1041.

Código Mejorado.

Este es el código con los cambios mínimos necesarios para que funcione. No se requiere que haya una

superdepuracion para que trabaje. Igual lo hará. Con el tiempo, si encuentra que le gusta el tema, le irá quitando toda la redundancia que tiene por doquier, y seguramente lo escribirá mucho mejor.

Una buena manera de unir todas las macros que se fueron colocando una debajo de la otra, es

colocarles un apostrofo. Cuando se coloca un apostrofo, el programa ignora las líneas, pues reconoce que solo son líneas informativas. Así, el código de la primera macro seguirá derecho en la segunda y así

sucesivamente. Por ello verá que los encabezados de las macros quedan, para que nemotécnicamente

uno recuerde todas las macros que se construyeron para realizar toda la tarea.

He preferido colocar las imágenes del código tal como se ve en el editor del visual basic, si lo desea puedo enviarle esta macro a su correo, previa verificación de que haya realizado la compra legal del

libro.

Page 439: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

439

Page 440: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

440

Page 441: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

441

Page 442: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

442

Page 443: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

443

Page 444: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

444

Page 445: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

445

Page 446: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

446

Page 447: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

447

A continuación, el código que acabamos de ver, se depura un poco:

Sub EjemploLibroDepuracionCG03013Depurada()

Page 448: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

448

ULTIMAFILA = Cells(Application.Rows.Count, 1).End(xlUp).Row

ChDir "C:\Documents and Settings\Administrador\Escritorio" Workbooks.OpenText Filename:= _ "C:\Documents and Settings\Administrador\Escritorio\CG03013.P03", Origin:= _

xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _ , ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:= _

False, Space:=False, Other:=False, FieldInfo:=Array(1, 2), _ TrailingMinusNumbers:=True

Range("A1") = "TITULO" Columns("A:A").Select Selection.AutoFilter

ActiveSheet.Range("$A$1:$A$" & ULTIMAFILA & "").AutoFilter Field:=1, Criteria1:="=*|*", _ Operator:=xlAnd

Range(Rows("2:2"), Selection.End(xlDown)).Select Selection.Delete Shift:=xlUp ActiveSheet.Range("$A$1:$A$" & ULTIMAFILA & "").AutoFilter Field:=1, Criteria1:=Array("" _

, _ "-----------------------------------------------------------------------------------------------------------------------------------------" _

, _ "--------------------- ------------------ ------------------- ---------------------" _ , _

"-----------------------------------------------------------------------------------------------------------------------------------------" _ , _

"===================== ================== =================== =====================" _ ), Operator:=xlFilterValues Range(Rows("2:2"), Selection.End(xlDown)).Delete Shift:=xlUp

ActiveSheet.Range("$A$1:$A$" & ULTIMAFILA & "").AutoFilter Field:=1, Criteria1:="=*===*" _ , Operator:=xlAnd

Range(Rows("2:2"), Selection.End(xlDown)).Delete Shift:=xlUp Selection.AutoFilter

Range("B1") = "Asteriscos" Range("B2").Select ActiveCell.FormulaR1C1 = "=LEFT(RC[-1],8)"

Selection.Copy Range("A1048576").End(xlUp).Offset(0, 1).Select

Range(Selection, Selection.End(xlUp)).Select ActiveSheet.Paste Application.CutCopyMode = False

Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False Application.CutCopyMode = False Columns("A:B").Select

Selection.AutoFilter ActiveSheet.Range("$A$1:$B$" & ULTIMAFILA & "").AutoFilter Field:=2, Criteria1:=Array("*" _

, "**", "***", "****", "*****"), Operator:=xlFilterValues Range(Rows("2:2"), Selection.End(xlDown)).Delete Shift:=xlUp

Selection.AutoFilter Columns("B:B").Delete Shift:=xlToLeft Columns("A:A").Select

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _ FieldInfo:=Array(Array(0, 1), Array(11, 1), Array(45, 1), Array(73, 1), Array(75, 1), _

Array(94, 1), Array(114, 1), Array(134, 1)), DecimalSeparator:=".", _ ThousandsSeparator:=",", TrailingMinusNumbers:=True Columns("A:I").Select

Columns("A:I").EntireColumn.AutoFit Range("B1") = "sd"

Range("C1") = "sdf" Range("D1") = "sdfds" Range("E1") = "sdfsdfdsffsd"

Range("F1") = "sdfsdfsdfsdfdsf" Range("G1") = "sdfsdfsdfsdfsfsfd"

Range("H1") = "dsfds" Range("I1") = "reterdvfvx" Range("I2").Select

ActiveCell.FormulaR1C1 = "=RC[-6]&RC[-4]&RC[-3]&RC[-2]" Selection.Copy

Range("G1048576").End(xlUp).Offset(0, 2).Select Range(Selection, Selection.End(xlUp)).Select

ActiveSheet.Paste Application.CutCopyMode = False Selection.Copy

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False

Page 449: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

449

Application.CutCopyMode = False

Selection.End(xlUp).Select ULTIMAFILA2 = Cells(Application.Rows.Count, 2).End(xlUp).Row

Columns("A:A").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("A1") = "Serial" Range("A2") = 1

Range("A3") = 2 Range("A2:A3").Select

Selection.AutoFill Destination:=Range("A2:A" & ULTIMAFILA2 & ""), Type:=xlFillDefault Range("A2:A" & ULTIMAFILA2 & "").Select

Range("A1").Select ActiveWorkbook.Worksheets("CG03013").Sort.SortFields.Clear ActiveWorkbook.Worksheets("CG03013").Sort.SortFields.Add Key:=Range( _

"J2:J" & ULTIMAFILA2 & ""), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal

xlSortTextAsNumbers With ActiveWorkbook.Worksheets("CG03013").Sort .SetRange Range("A1:J" & ULTIMAFILA2 & "")

.Header = xlYes .MatchCase = False

.Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply

End With Columns("B:C").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

Range("F2").End(xlDown).Offset(-1, -2).Select Range(ActiveCell, ActiveCell.Offset(0, 1)).Select Range(Selection, Selection.End(xlUp)).Select

Selection.Cut Range("B1").Select

ActiveSheet.Paste Range("D1") = "4353"

Range("E1") = "43534535t3" ActiveWorkbook.Worksheets("CG03013").Sort.SortFields.Clear ActiveWorkbook.Worksheets("CG03013").Sort.SortFields.Add Key:=Range( _

"A2:A" & ULTIMAFILA2 & ""), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal

With ActiveWorkbook.Worksheets("CG03013").Sort .SetRange Range("A1:L" & ULTIMAFILA2 & "") .Header = xlYes

.MatchCase = False .Orientation = xlTopToBottom

.SortMethod = xlPinYin .Apply End With

Range("A1").End(xlDown).Select Range("C" & ULTIMAFILA2 & "").Select

Range(Selection, Cells(1)).Select Selection.SpecialCells(xlCellTypeBlanks).Select

Selection.FormulaR1C1 = "=+R[-1]C" Columns("B:C").Select Selection.Copy

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False

Application.CutCopyMode = False Range("A1").Select Selection.AutoFilter

ActiveSheet.Range("$A$1:$L$" & ULTIMAFILA2 & "").AutoFilter Field:=12, Criteria1:="=" Range(Rows("2:2"), Selection.End(xlDown)).Select

Selection.Delete Shift:=xlUp Columns("L:L").Delete Shift:=xlToLeft Range("L2").Select

ActiveCell.FormulaR1C1 = "=IF(RC[-5]=""CR"",-VALUE(RC[-6]),VALUE(RC[-6]))" Range("M2").Select

ActiveCell.FormulaR1C1 = "=VALUE(RC[-5])" Range("N2").Select ActiveCell.FormulaR1C1 = "=VALUE(RC[-5])"

Range("O2").Select ActiveCell.FormulaR1C1 = "=+RC[-3]+RC[-2]-RC[-1]"

Range("L2:O2").Select Selection.Copy

Application.Goto Reference:="R1048576C1" Selection.End(xlUp).Select ActiveCell.Offset(0, 11).Select

Range(Selection, Selection.End(xlUp)).Select ActiveSheet.Paste

Page 450: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

450

Application.CutCopyMode = False

Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False Application.CutCopyMode = False Columns("F:K").Select

Selection.Delete Shift:=xlToLeft Columns("F:I").Select

Selection.NumberFormat = "#,##0.00_);[Red](#,##0.00)" Range("A1") = "Serial"

Range("B1") = "Cuenta" Range("C1") = "Nombre de la cuenta" Range("D1") = "Tercero"

Range("E1") = "Descripcion" Range("F1") = "Saldo inicial"

Range("G1") = "Debitos" Range("H1") = "Creditos" Range("I1") = "Saldo final"

End Sub

Para finalizar: Puede ver que todo esto se ha construido básicamente usando el grabador de macros. Usamos la

técnica de definir la ultima variable un par de veces al definir la última fila, y uno que otro activecell.offset, un par de claves que una vez conocidas son muy sencillas. No hubo necesidad ni

siquiera, de usar algún procedimiento de recorrido como For next o Do until.

Espero que todo lo que hay aquí le sea de utilidad, puede escribirme a mi email,

[email protected]

Éxitos y bendiciones

Alejandro Quiceno García

Page 451: excel

Excel aplicado a la Auditoría, la Contaduría y la Administración

451

Para saber más:

Pagina web de Chip Pearson Pagina web de Ozgrid.Com

Pagina web de Mr Excel.Com Pagina web de David McRitchie

Archivo de Internet “xlfdic.xls” Diccionario de Formulas de Peter Noneley.

Referencias de estos sitios webs fueron traducidas al español por el Autor, adaptadas y enriquecidas con las situaciones del día a día contable.

Page 452: excel

Excel Aplicado a la Auditoría la Contaduría y la Administración

452

Agradecimientos

La dificultad más grande que tuve que superar para sacar este libro adelante fue el condicionamiento

que el medio ejerce sobre uno. Es terrible como el prejuicio hacia el no, hacia la negación reina casi en toda parte. Me parece tenaz como en cada una de las fases, mucha gente que uno considera y la tiene

en su opinión como muy importante en orden de estimación, son a veces las primeras en desanimarte,

personas que en lugar de allanar el camino, pretenden mostrarte todas las dificultades, sin proporcionar valor agregado. Hubo de todo: pensamientos malevos que atacan tu ego y tu capacidad, hasta ideas

tales como que el mundo se acaba el 23 de diciembre de 2012.

Este libro fue sacado contra viento y marea, cuando llegué al momento en el cual había terminado el manuscrito necesitaba un o una mecenas. Alguien que creyera en mí, pero que no me viera con ánimo

de lucro, solo que me extendiera una mano. Cosa difícil hoy en día, pues es tremenda la cultura del

“CVY” : “Como voy yo”. Y no es un “como voy yo” de una simple comisioncita, es una porción grande que quieren usufructuar de ti. Solo la amistad podía suplir mi necesidad, y así fue.

Tengo que agradecer a Nelsy Gomez Solarte, quien desde el momento que le conté que ya tenía el

libro listo, ha creído en este proyecto a ojo cerrado. Casi no tener amigos es muy triste, pero tener

amigos que de verdad tienen la capacidad de extender una mano y ayudar, como dice la propaganda de Máster Card, no tiene precio. La lucha de los emprendedores solo se ve iluminada, irrigada por el

poder de la amistad y la solidaridad, valores intangibles que en un panorama económico poco se estiman y sin los cuales, quien sabe como estaría la economía en realidad.