You are on page 1of 24

Introducción

Introducción

Las funciones y subrutinas que presenta el siguiente manual corresponden a programas realizados
por el autor desde el año 1998. Muchos de ellos aún están en proceso de adaptación y no han sido
incluidos en este texto.
Las funciones que aún están en proceso de ajuste son:
Cubicación obras de arte según Manual de Carreteras Volumen 4 corregidas
Cubicación de estructuras hormigón armado
Diseño de Caminos (Geométrico, Capacidad, Pavimentos)
Topografía
Importar y exportar datos a AutoCAD
Dosificación de Hormigones
Otros casos aún están siendo analizados; por ejemplo “Análisis de Frecuencias y Distribuciones
Probabilísticas”, el cual corresponde a rutinas y funciones programadas en visual basic, si bien
cumplen su objetivo, corresponden a programas antiguos que están muy ligados a la forma de la hoja
y requieren de mucho trabajo de ajuste para hacerlas públicas. Además, desde hace varios años que
dejé de usar mis programas en favor de Distrib2 de SMADA, el cual es mucho más fácil de usar, a
pesar de que hay parámetros que uno no puede ver y menos aún modificar. Es por esto que veo
poco factible que retome este tema en el corto plazo.
Otro caso corresponde al cálculo estructural de tuberías y elementos de hormigón armado. A
diferencia del caso anterior, éstos corresponden a programas más recientes, pero como no me
considero un experto en cálculo estructural considero que no es adecuado publicarlas hasta que sea
asesorado adecuadamente.

Descripción General
Nomenclatura Usada

[var] : parámetro opcional


ParamArray A() : listado de parámetros separados por comas.
Ejemplo: =Crear_Poly (1,4,-5)
P() : representa un vector o array de datos de la estructura de Visual Basic. No es
un rango de celdas o una lista de parámetros separados por comas. Estas
funciones son de uso interno o eventualmente pueden ser usadas por el
usuario si el parámetro es devuelto por una función del mismo tipo.
Ejemplo: =Sumar_Poly (Crear_Poly (1,4),Crear_Poly(7,-5))
X As Boolean : parámetro ‘X’ debe ser del tipo Boolean : VERDADERO, FALSO
X As String : parámetro ‘X’ debe ser del tipo Texto
X As Range : parámetro ‘X’ debe ser del tipo Rango de celdas
X As Date : parámetro ‘X’ debe ser del tipo Fecha (usar función fecha(año, mes, día) )

¿Parámetros Opcionales?

Existen funciones con todos sus parámetros opcionales que están marcadas de manera especial, por
ejemplo:

ALICARGRA 3.0 i
2014-06-25
Introducción

=Area_Circulo ([Radio], [Area])

Siendo que el último parámetro corresponde a la incógnita primaria.


Este tipo de funciones están programadas para entregar como resultado el parámetro omitido. Por
ejemplo: Area_Circulo (3) entrega el área de un círculo de radio 3, mientras que Area_Circulo(
,2) entrega el radio de un círculo de área igual a 2.
Notar que cuando un parámetro es opcional, hay que dejar el espacio separado por comas donde
corresponde. Si corresponde al último parámetro, no es necesario.

Resultados

La mayoría de las funciones retorna un valor único a excepción de aquellas que retornan vectores de
resultados (Ejemplos: Cuadrática, Cúbica, funciones de Polinomios, etc.) Estas funciones tienen el
mismo comportamiento que las funciones matriciales estándares de MS Excel.
Éstas se ejecutan como cualquier otra con lo cual entregan sólo el primer resultado. Para obtener los
siguientes resultados se debe seleccionar un rango de celdas de la longitud deseada y presionar
Ctrl+Shift+Enter. (Ver acápite Matrices en página xviii).

Instalación

La librería ‘ALICARGRA.xla’ está protegida con el módulo lockxls. Para instalar el módulo de
ejecución lockxls es necesario instalar el módulo con el programa ‘lockxlsrtm.msi. Luego se procede
a copiar la librería, como recomendación se sugiere instalar en la carpeta ‘C:\VBE’ ya que las
carpetas ‘Documents and Settings’ son rutas variables entre diferentes computadores y Excel
interpreta que la librería ‘ALICARGRA.xla’ de un computador es distinta a la de otro por el hecho que
está ubicada en carpetas diferentes.
Luego, en Excel, se ejecuta el cuadro de diálogo Complementos ubicado en el menu Herramientas.
En la opción examinar se busca la librería en la carpeta ‘C:\VBE’.
Para ejecutar la librería, se solicita un código de activación el cual es específico para cada
computador. Para solicitar un código de activación enviar el código del computador entregado por el
programa a ‘alonso@ing.puc.cl’.
Dependiendo del antivirus instalado, tal vez sea necesario excluir la carpeta, la extensión o de
manera específica los archivos del complemento.

Teclas de Acceso Rápido

Teclas de Acceso Rápido aplicables a cualquier hoja


Acelerador Tecla Procedimiento
Ctrl+Shift+ Z Mostrar/Ocultar Ceros
Ctrl+Shift+ I Indice de Hojas
Ctrl+Shift+ O Ocultar/Restaurar Formulas
Ctrl+Shift+ M ReDimensiona Matriz
Ctrl+Shift+ G Guardar y Respaldar

Teclas de Acceso Rápido para Hojas de Cubicación Hormigón Armado


Acelerador Tecla Procedimiento
Ctrl+ 1 Doble Malla Tipo 1
Ctrl+ 2 Doble Malla Tipo 2
Ctrl+ 3 Doble Malla Tipo 3
Ctrl+ 4 Doble Malla Tipo 4

ii ALICARGRA 3.0
2014-06-25
Introducción
Acelerador Tecla Procedimiento
Ctrl+ 5 Doble Malla Tipo 5
Ctrl+ 6 Doble Malla Tipo 6
Ctrl+ 7 Doble Malla Tipo 7
Ctrl+ 8 Doble Malla Tipo 8
Ctrl+ 9 Doble Malla Tipo 9
Ctrl+ 0 Doble Malla Tipo 10
Ctrl+Shift+ Q Bloqueo/Desbloqueo
Ctrl+Shift+ W Mostrar Armadura Tipo
Ctrl+Shift+ R Recalcular Hoja
Ctrl+Shift+ X Marcar Hoja Cubicación
Ctrl+Shift+ N Insertar Hoja Cubicación
Ctrl+Shift+ S Mostrar solo sector
Ctrl+Shift+ A Agregar Elemento
Ctrl+Shift+ F Agregar Fundación
Ctrl+Shift+ B Borrar Elemento
Ctrl+Shift+ C Copiar Elemento
Ctrl+Shift+ V Copiar Último Elemento
Ctrl+Shift+Alt+ A Insertar Elemento
Ctrl+Shift+Alt+ F Insertar Fundación
Ctrl+Shift+Alt+ C Copiar a continuación
Ctrl+Shift+Alt+ G Respaldar

Vínculos

Cuando un libro Excel ha utilizado funciones o listas de validación del presente complemento, y
posteriormente se abren en un computador sin éste, aparecerán con vínculos a otro archivo. En este
caso los vínculos aparecen en las respectivas celdas como ‘C:\VBE\ALICARGRA.XLA’!. Si el
complemento está instalado pero en una ruta diferente a la usada cuando se creó el archivo, Excel
interpreta que corresponden a complementos diferentes a pesar de que tengan el mismo nombre.
Por esta razón se insiste en utilizar como carpeta de instalación C:\VBE

Si no hay una modificación a los parámetros de cada función, los valores calculados en las
respectivas celdas permanecen siendo los calculados por el complemento. Pero si éstos cambian o
el usuario solicita actualizar los valores, Excel devolverá un error ‘#¿NOMBRE?’ indicando que no
reconoce el nombre de la función.

Para evitar éstos errores se pueden romper los vínculos de 2 maneras.


La primera de ellas es la que ofrece Excel en el menú ‘Edición-Vínculos’ y se denomina
‘Romper vínculo’. En este caso, se reemplaza todas las celdas por el valor calculado. No
importa si la fórmula ejecuta parcialmente una función, por ejemplo: ‘=F7*Cubica_Hormigon
(D7,I8,K8,M8)+34.87’ lo reemplaza por ’46.4’ en lugar de ‘=F7*11.5+34.87’ como uno tal vez
quisiera. Esta opción no se puede deshacer porque no queda registro de la fórmula original.
La segunda ellas viene adjunta en el complemento y es semejante a la anterior a diferencia
de que guarda la fórmula original como comentario de la celda. Este método se puede
aplicar a una celda específica, a una hoja o a todo el libro.
En ambos casos aún no se han eliminado completamente los vínculos porque permanecen las
referencias definidos por Nombres de Constantes y Listas del complemento. Para eliminar éstas
referencias habría que copiar completamente las celdas a las que hace referencia el Nombre lo cual
resulta impracticable debido a la gran cantidad de listas y hojas involucradas. No obstante esto no
genera errores de cálculo conocidos aunque las listas de validación quedan inutilizadas.

ALICARGRA 3.0 iii


2014-06-25
Introducción

Mensajes de Error

#¡NULO! : Una fórmula devolverá #¡NULO! Cuando la celda de intersección de dos


rangos, no exista.
#¡DIV0! : Se produce al hacer una división por cero, o bien, por una referencia a un
cero.
#¡VALOR! : Lo obtenemos cuando el tipo de argumento solicitado por la función, es
distinto al ingresado por el usuario. Por ejemplo, ingresar un número
cuando la función espera texto.
#¡REF! : Este tipo de error surge cuando tenemos una referencia de celda inválida en
la fórmula. Por ejemplo, no podemos buscar en la tercera columna de una
hoja que solo tiene dos columnas.
#¿NOMBRE? : Este error lo obtenemos cuando escribimos mal el nombre de alguna
función. Por ejemplo, la función SUMARSI no existe (más bien está mal
escrita. Lo correcto es SUMAR.SI)
#¡NUM! : Este error se produce al ingresar un número inválido, como uno negativo
cuando se espera uno positivo.
#N/A : Significa que el valor buscado no existe en la matriz de búsqueda.

Bases de Datos Anexas

El complemento viene acompañado de base de datos anexas almacenadas también como


complementos de excel.
El objetivo de ésta arquitectura es permitir la actualización de las bases de datos de manera
independiente del complemento.
A la fecha, las bases de datos que siguen esta estructura son:
Monedas e IPC
Listado de Estaciones Meteorológicas y Fluviométricas
Listado de Cartas IGM
En cambio hay bases de datos que por el momento permanecen insertas en el programas, ésta son:
Materiales
Cajones Manual de Carreteras
Coeficiente Hidrología Manual de Carreteras

Desinstalación

Los complementos o Add-ins corresponden a libros que pueden o no contener programas en Visual
Basic y que son guardados como tales bajo la extensión .xla, aunque no es necesario usar la
extensión.
Para agregar o desinstalar un complemento, se accede al menú ‘Herramientas-Complementos’

iv ALICARGRA 3.0
2014-06-25
Introducción
Para desinstalar este programa se requiere desmarcar el complemento ‘ALICARGRA’ y también
‘LockXLS Runtime Library’.
Posteriormente, si se requiere se pueden borrar del disco duro los archivos.

Hojas Estandarizadas

Como señalé en la introducción, mis primeros desarrollos fueron rutinas que se ejecutaban sobre
planillas cuya forma estaba ligada al programa. Esto traía que ante cualquier variación de la planilla
como insertar filas o columnas generaba una falla en la ejecución del programa. Si bien la mayoría
de estas rutinas las convertí en funciones con lo cual se evita elñ problema, aún existen algunas que
persisten.
A la fecha las hojas estándares que incluye el programa son:
PM: Hoja que contiene la precipitación de diseño, las estaciones pluviográficas
seleccionadas que definen la Zona (Coeficientes de Frecuencia) y la Estación (Coeficientes
de Duración) y finalmente las tablas y curvas IDF. Esta hoja es usada por las funciones de
cálculo de caudales para interpolar intensidad y buscar la precipitación de un período de
retorno específico)

ALICARGRA 3.0 v
2014-06-25
Introducción

Cubicación Hormigón Armado: Esta tiene dos variantes para cubicación elemento típico y
fundación.

vi ALICARGRA 3.0
2014-06-25
Introducción
Correlación: La rutina de cálculo de correlaciones incluye sus propias hojas para generar
resultados, sin embargo los datos originales deben ser proporcionados por el usuario en un
orden especial y en particular esta hoja debe llamarse ‘REGISTROS’.

Perfil Longitudinal: Esta hoja no requiere nombre especial pero se debe respetar un orden
particular. La primera columna debe contener las distancias y la primera fila los títulos. Los
colores de fondo de los títulos serán utilizados como color de las líneas con la mejor
aproximación en la paleta de colores de AutoCAD.

Exportar Puntos: Esta hoja no requiere nombre especial pero la primera fila debe contener
los títulos y las columnas deben ser A: Este, B:Norte, C:Cota, D:Número y E:Descripción.

ALICARGRA 3.0 vii


2014-06-25
Introducción

Curvas de Nivel {x,y,z}: Este caso es similar al anterior, pero tan sólo requiere 3 columnas
con los valores X, Y y Z.

Formatos Personalizados

En varias funciones, se utilizan formatos personalizados para presentar datos especiales:


Kilometraje (00+000.00): Se utiliza como separador de miles el sigo ‘+’ y dos decimales.
No hay variación en el contenido del valor.
Grados (00º00’00.000’’): Los ángulos o coordenadas geodésicas se ingresan como horas
pero se muestran con separadores especiales. Por ejemplo, para ingresar el valor
72º18’53.76’’, se debe ingresar como si fuese una hora 72:18:53.76. El formato intrínseco de
almacenamiento realizado por Excel corresponde a días cuyos decimales son las horas, en
el ejemplo dado el valor dado es almacenado internamente como 3.0131337… Si se
requiere realizar una operación sobre estos valores, en formato decimal, se requiere
multiplicar primero por 24, con lo cual el valor 3.013.. se convierte en 72.315211… el cual
corresponde al valor decimal del ángulo o coordenada dada.

Existen algunos formatos personalizados aislados pero que todavía no les he dado nombre especial.

Parámetros Globales y Locales

Varias funciones y procedimientos utilizan parámetros que pueden ser modificados por el usuario.
No obstante, la forma en que se almacenan éstos puede ser algo confuso debido a la complejidad de
los mismos, o debido al campo de aplicación de los mismos.

Los parámetros globales, es decir, aquellos que son válidos para todos los libros que el usuario
utiliza, se almacenan en un archivo de texto (alicargra.ini), ubicado en la misma carpeta donde se
instaló la librería. Hasta la fecha de esta publicación, el único parámetro global modificable por el
usuario corresponde a la carpeta donde se guardan los respaldos.

Los parámetros locales, es decir, aquellos que son válidos sólo para un libro u hoja particular, se
guardan dentro del mismo libro (i.e. hoja ACGREF). En los casos más complejos se guardan como
hojas ocultas, mientras que en los casos más sencillos se guardan como nombres falsos (i.e.
ACGSHEET).

En el caso que el usuario encuentre algunas de éstas, es recomendable no eliminarlas puesto que
pueden generar errores u variaciones importantes en el comportamiento del programa.

viii ALICARGRA 3.0


2014-06-25
Introducción
Excel Avanzado
Como mencioné previamente, existen algunas herramientas de Excel que evitan recurrir a programas
de Visual Basic o que simplifican los trabajos de programación. Aquellas que puedo destacar son:
Constantes y Listas
Validación
Búsqueda con y sin lista de validación
Iteración con referencia circular
Filtros y Subtotales
Matrices
Complementos

Constantes y Listas

La denominación oficial es ‘Nombres’ aunque dependiendo de su longitud y funcionalidad


recomiendo diferenciarlas en ‘Constantes’ y ‘Listas’.
Existen dos maneras de definir Nombres. La primera de ellas es la más sencilla para crear un
Nombre, mientras que la segunda es mejor cuando se quiere corregir la dimensión de una Lista.
Los ejemplos más comunes de Nombres de Constantes son UF, Dólar o IPC para identificar el valor
de éstos parámetros dentro un libro, pero como éstas coinciden con funciones definidas en este
complemento voy a utilizar un ejemplo distinto.
Por ejemplo, si necesito calcular el peso (N) de varias masas (kg), simplemente multiplico por la
aceleración de gravedad ‘g’ (m/s²), la cual localmente es una constante igual a 9.81…. También se
utiliza en una diversidad de ecuaciones, por lo que aparece muchas veces en cálculos de ingeniería.
Una forma de definir la Constante ‘g’ es escribir el valor en una celda a nuestra elección (puede estar
en otra hoja del mismo libro) y en el cuadro de nombres (borde superior izquierdo) donde Excel
identifica la celda:

Reemplazamos la denominación estandar por la nuestra:

Como se entederá, no se pueden definir Nombres que en Excel sean identificadores de celdas, ya
sea de la forma LetraNúmero, o de la Forma F1C1. Tampoco puede empezar con un número o
contener símbolos utilizados como operadores matemáticos o identificadores de hojas! y libros [].
De esta forma, en lugar de ‘B2’ podemos utilizar simplemente ‘g’ en nuestras ecuaciones, por
ejemplo:

ALICARGRA 3.0 ix
2014-06-25
Introducción

Las ventajas de utilizar Nombres de Constantes son:


Al copiar la ecuación (celda B4 del ejemplo) no hay que preocuparse de que se pierdan las
referencias. Lo normal habría sido escribir ‘=B3*B2’, y si copiamos esta ecuación a la celda
D4, la ecuación quedaría ‘=D4*D2’ con lo cual se pierde la referencia. Esto también se puede
evitar fijando la celda en la ecuación, es decir escribiendo ‘=B3*$B$2’.
No hay que preocuparse ni acordarse en que lugar quedaron definidas las constantes.
Cuando se está inmerso en una ecuación complicada y se necesita hacer referencia a la
constante ‘g’, no necesito bucear por el libro buscando la hoja y celda donde están anotadas.
Es fácil y las ecuaciones se ven más legibles y ordenadas. Cuando uno se encuentra con
una ecuación y ésta hace referencia a ‘$B$2’ uno no sabe a qué corresponde pero ‘g’ es
evidente.
Aunque existe un problema:
Si una celda u hoja se mueve o copia de un archivo a otro, la referencia al nombre ‘g’ queda
como un vínculo al archivo original. Este problema también ocurre con las referencias
normales, por ejemplo ‘=B3*$B$2’ la cual quedaría en otro libro como ‘=B3*[Planilla de
cálculo de fuerzas.xls]Constantes!$B$2’ en lugar del simple ‘=B3*g’. El problema no es el
vínculo sino que este no es evidente para el usuario, pero se puede encontrar fácilmente a
partir de los siguientes ejemplos.

Como mencioné, existe una segunda forma de definir un nombre. Esto se realiza seleccionando el
menú ‘Insertar-Nombre-Definir’:

Con lo que se despliega el siguiente cuadro:

x ALICARGRA 3.0
2014-06-25
Introducción
En este cuadro se pueden ver los Nombres existentes o modificar, agregar o eliminar alguno. Aquí
se puede ver si existen referencias a otros libros.

Finalmente, procedamos a definir un Nombre a un rango de celdas, lo que llamaremos ‘Lista’.

Por ejemplo, teniendo la siguiente tabla de datos:

Seleccionamos el rango B6:B15 y escribimos ‘Tuberias’ reemplazando el valor por defecto de Excel.

ALICARGRA 3.0 xi
2014-06-25
Introducción

Conozco 2 utilidades a este tipo de Nombres:


Listas de Validación, principal uso que le doy a las listas y lo cual se verá más adelante
Operatoria. Excel permite operar datos usando los Nombres de sus Listas. En el ejemplo
anterior podemos escribir ‘=Suma(Tuberias)’ y excel nos entregará la suma de dichos
valores, aunque en este ejemplo no tiene mucho sentido tal operación. Excel ofrece en el
menu ‘Insertar-Nombre-Crear’ la opción de crear rápidamente nombres a partir de los datos
de una tabla de datos. Por ejemplo:

Seleccionamos en rango A2:D5 y ejecutamos la opción ‘Insertar-Nombre-Crear’:

Marcamos los campos a utilizar, en este ejemplo lo que encontró Excel (si excel encuentra
que los campos de un costado no son válidos no los ofrece, por ejemplo números). Al
aceptar, revisamos el menú ‘Insertar-Nombre-Definir’

Y observamos que creó 3 Nombres para las columnas y 3 para las filas. Observen también
que los espacios de los nombres de los Fundos fueron reemplazados por el guión bajo ‘_’.
Ahora se puede realizar operaciones como las indicadas:

xii ALICARGRA 3.0


2014-06-25
Introducción
Observen que en la celda A9 se calculó ‘=SUMA(Santa_Julia,Peras)’ lo cual sumó ambas
Listas, con lo cual se sumó dos veces el valor 64 de intersección. En cambio en la celda A10
se calculó ‘=SUMA(Santa_Julia Peras)’ lo cual entregó la suma de los valores de la
intersección, es decir 64.

Validación

La validación se encuentra en el menú ‘Datos-Validación’ y con esta se puede especificar a cada


celda el tipo de valor que se puede ingresar, mostrar un mensaje de aviso, y un mensaje de error al
ingresar un valor erróneo.

Por defecto se ofrecen opciones genéricas como las mostradas, pero nos centraremos en la opción
‘Lista’, en la cual se pueden ingresar valores separados por coma, rangos, o Nombres de Listas.

Para nuestro ejemplo, previo a ingresar al menu de validación, seleccionamos la celda objetivo, por
ejemplo ‘B19’, luego ingresamos al menu ‘Datos-Validación’ y seleccionamos la opción ‘Lista’ cuyo

ALICARGRA 3.0 xiii


2014-06-25
Introducción

origen es ‘=Tuberias’. En la pestaña ‘Mensaje entrante’ se agregó como título ‘Tuberías ASTM’ y
mensaje ‘Seleccione el diámetro de una tubería (en pulgadas)’ con lo cual se obtiene:

Al pinchar el menú desplegable, se ofrecen las opciones válidas

Si uno trata de ingresar un valor que no corresponde a la lista, el programa envia un mensaje de
advertencia, el cual se puede configurar en la pestaña ‘Mensajes de error’ y tiene 3 opciones:
Límite: Se aplica si en la celda sólo se puede ingresar valores que corresponden al criterio de
validación
Advertencia: Se aplica si al ingresar un valor que no corresponde al criterio de validación sólo
se le quiere advertir al usuario y éste puede elegir entre corregir su valor o utilizar el valor
que no cumple con el criterio.
Información: Se aplica si al ingresar un valor que no corresponde al criterio de validación sólo
se le quiere informar al usuario que éste no cumple, pero no insiste para corregir dicho valor.

En los casos que se verá en el acápite de búsqueda se utiliza la opción por defecto ‘Límite’ donde no
se acepta ingresar un valor que no cumple con el criterio de validación.

Búsqueda con y sin lista de validación

Entre las funciones predefinidas de Excel existen 3 funciones de búsqueda: BUSCAR, BUSCARV y
BUSCARH. La primera, BUSCAR tiene 2 modalidades de búsqueda, por vectores y por matriz. Las
restantes, BUSCARV y BUSCARH son análogas y ambas tienen un parámetro opcional ‘ordenado’ el
cual puede ser VERDADERO (valor por defecto) o FALSO).

A continuación se analizan las 4 opciones de búsqueda vertical:


BUSCAR(valor_buscado, vector_de_comparación, vector_resultado)
BUSCAR(valor_buscado, matriz)
BUSCARV(valor_buscado, matriz_buscar_en, indicador_columnas)
BUSCARV(valor_buscado, matriz_buscar_en, indicador_columnas, Ordenado=FALSO)

Utilizando el anterior ejemplo de las Tuberias, procedemos a buscar un valor que no forma parte de
la lista (la celda no tiene aplicado Validación):

xiv ALICARGRA 3.0


2014-06-25
Introducción
Como vemos, sólo la última opción entregó la respuesta correcta #N/A, las otras opciones entregaron
resultados correspondientes a una tubería de diámetro 4”.

Como conclusión, se recomienda siempre usar Listas de Validación y utilizar las funciones
BUSCARV y BUSCARH con el parámetro ‘Ordenado’ igual a FALSO.

Iteración con referencia circular

Una opción bastante útil al momento de calcular incógnitas en ecuaciones implícitas es utilizar
iteración con referencia circular.
A diferencia de solver, el cual cumple con el mismo objetivo, la iteración circular está en ejecución de
manera permanente y por tanto los resultados se van ajustando a medida que se cambian los
parámetros de entrada.
El concepto se basa en modificar la ecuación para expresar la incógnita ‘x’ en función de los
parámetros y de si misma, es decir:

x = f (x , a , b, c,...)
Se definen 2 celdas para la variable x, la primera con f(x,…) la cual hace referencia a la segunda
celda cuando corresponde, la segunda celda sólo debe decir igual a la primera, con lo cual se forma
una referencia circular.
Excel identifica a la referencia circular como un error, situación que se puede obviar si se activa la
opción iterar en el menú ‘Herramientas-Opciones’:

Por ejemplo, tenemos la ecuación de Manning aplicada a secciones trapeciales:

ALICARGRA 3.0 xv
2014-06-25
Introducción

Q ⋅ n A5/ 3 {(b + 12 (z1 + z 2 ) ⋅ h ) ⋅ h} 5/3

= 2/3 =
i P { (
b + 1 + z 12 + 1 + z 22 ⋅ h ) } 2/3

La cual podemos expresar como:

{ ( 1+ z ) }
3/ 5
⎡Q ⋅ n 2/3 ⎤
⎢ i b+ + 1+ z ⋅ h
2 2
1 2 ⎥
h=⎣ ⎦
(b + 12 (z1 + z 2 ) ⋅ h )

Este concepto aplicado al diseño de cunetas de un camino de gran longitud es el siguiente:

Como se observa existen dos celdas con h, la primera (AH105) contiene la ecuación la cual hace
referencia a la celda AJ105; la celda AJ105 solo contiene ‘=AH105’ formando una referencia circular.
Cuando se cambia un parámetro, automáticamente se genera un proceso de iteración. En este
ejemplo, cada iteración puede significar pocos segundos aunque en el caso ejemplificado, donde
además cada fila interactua con la anterior y la siguientes puede significar varios minutos de demora.

Como el lector podrá observar, este método sólo calcula un resultado, por lo que se recomienda a
ecuaciones que a priori se sabe que sólo tienen una raíz. De tener más de una raíz, la obtención de
más resultados dependerá del valor inicial que se utilice para iterar. El valor inicial de iteración está
dado por la segunda celda (AJ105), la que sólo dice igual a la anterior; inicialmente esta celda está
vacía por lo que el valor inicial es cero, al momento de ingresar ‘=AH105’ se inicia la iteración con
este valor. Para iniciar la iteración con otro valor inicial, se coloca manualmente el valor en la
segunda celda y después se ingresa la igualdad con la primera.

Filtros y Subtotales

Cuando se trabajan con grandes tablas, se puede utilizar la opción de Filtro y Autofiltro, la cual se
encuentra en el menú ‘Datos-Filtro-Autofiltro’. Como recomendación conviene seleccionar la tabla
completa que se quiere filtrar y no dejar que Excel interprete a su criterio.

xvi ALICARGRA 3.0


2014-06-25
Introducción
Volviendo al ejemplo de las tuberías, el resultado del filtro es el siguiente:

En cada título se crea un menú desplegable como el siguiente:

Donde se pueden seleccionar valores específicos o mejor aún seleccionar Personalizar:

Donde se pueden utilizar dos criterios lógicos para filtrar los datos, por ejemplo ‘es mayor que’ 30 y
‘es menor que’ 50.

ALICARGRA 3.0 xvii


2014-06-25
Introducción

El filtro se puede aplica sucesivamente en cada columna.


Observe que los campos filtrados se identifican de color azul, esto es importante porque en tablas
grandes a veces se nos olvida quitar un filtro con lo cual algunos datos quedan ocultos.

Al tener un filtro aplicado, la opción Autosuma del Excel ( ) utiliza la función ‘SUBTOTALES’ en
lugar de ‘SUMA’ (las otras funciones: Cuenta, Promedio, etc. siguen aplicándose a pesar de que
SUBTOTALES también se aplica en cada caso).
La función subtotales se define como:

=subtotales(número_función,ref1, ref2)

Donde el número de función es:


Número Función
1 Promedio
2 Cuenta Números
3 Cuenta
4 Máximo
5 Mínimo
6 Producto
7 Desviación Estandar
8 Desviación Estandar Población Total
9 Suma
10 Varianza
11 Varianza Población Total

La diferencia entre suma y subtotales, es que esta última sólo se aplica a las celdas que cumplen el
criterio del filtro, algo semejante a utilizar la función sumar.si. Aunque en la práctica se aplica sólo a
las filas que están visibles puesto que se pueden ocultar filas manualmente y éstas son excluídas de
la función.
Por ejemplo, en la tabla de tuberías, se filtraron los diámetros mayores a 2.
Diámetro Diámetro Espesor Peso
Propiedades Presión de prueba
Nominal Exterior nominal teórico
2 1/2 73.0 5.16 8.63 11.00 63.63 17.43 2.41 175.8 175.8
3 88.9 5.49 11.29 14.39 125.65 28.27 2.96 156.1 175.8
4 114.3 6.02 16.07 20.48 301.05 52.68 3.83 133.6 155.4
6 168.3 7.11 28.26 36.00 1171.62 139.23 5.70 106.9 125.1
Al calcular ‘subtotales(1,D4:D15)’ es decir, promedio de los espesores nominales se obtiene 5.945. Si
manualmente se ocultan las últimas 2 filas, el resultado cambia a 5.325.

Matrices

El uso de funciones matriciales, vectoriales o que devuelven más de un resultado son poco
conocidas por los usuarios de Excel. Esto debido principalmente a que pocas veces se explica que
en lugar de Enter ( ) se debe presionar Ctrl+Shift( )+Enter ( ).
Por ejemplo, en las celdas A1:C3 se ingresan valores correspondientes a una matriz de 3x3. Estos
valores se ingresaron como cualquier otro.

xviii ALICARGRA 3.0


2014-06-25
Introducción
Para ejecutar la función ‘MINVERSA’ para calcular la matriz inversa, se selecciona el rango destino:
A5:C7 y se escribe en la celda A5: MINVERSA(A1:C3).

Luego, presionar Ctrl+Shift( )+Enter ( )

También se puede omitir la selección del rango A5:C7 y sólo escribir en la celda A5:
MINVERSA(A1:C3) y presionar Enter, con lo cual sólo se calcula el valor de la celda A5. A
continuación se selecciona el rango A5:C7, se presiona F2 y finalmente se presiona
Ctrl+Shift( )+Enter ( ).
Ambas formas obtienen el mismo resultado.

Otro tema asociado a las funciones matriciales que se explica poco es que una vez ejecutadas, no se
pueden modificar parcialmente. Por ejemplo, si intentamos borrar la celda B6 recibimos el siguiente
mensaje.

Para modificar los parámetros de una matriz, sin modificar su dimensión, siempre hay que ubicarse
en la celda superior izquierda de la matriz, en este ejemplo la celda A5, presionar F2 y
posteriormente presionar Ctrl+Shift+Enter.

En cambio si requerimos modificar la dimensión de una matriz existen 2 casos:


Aumentar la dimensión de la matriz. Este caso es el más fácil. Por ejemplo, supongamos que
en el caso anterior seleccioné mal el rango de la matriz resultante con lo cual obtuve:

ALICARGRA 3.0 xix


2014-06-25
Introducción

Simplemente, selecciono el rango correcto A5:C7, presiono F2 y vuelve a presionar


Ctrl+Shift+Enter.

Reducir la dimensión de la matriz. Este caso no es admitido por Excel, con lo cual la solución
es borrar todo el rango de la matriz, en el ejemplo siguiente A5:D8 y empezar de nuevo. En
la práctica, antes de borrar el rango, uno copia la ecuación de la celda A5 para no tener que
escribirla nuevamente. El presente complemento incorpora una rutina para facilitar el
redimensionamiento de matrices, la cual fue incorporada con las teclas abreviadas
Ctrl+Shift+M.
Por ejemplo, si al ejecutar el mismo ejemplo, se seleccionó un rango mayor al requerido, se
obtuvo el siguiente resultado:

Donde cláramente se obtuvieron errores #N/A porque la inversa de una matriz 3x3 es una
matriz de 3x3. Para corregir esto, seleccionamos en rango correcto A5:C7

xx ALICARGRA 3.0
2014-06-25
Introducción
Y presionamos Ctrl+Shift+M (sólo si tenemos instalado este complemento)

La descripción de las funciones matriciales predefinidas en Excel son bastante explicativas si uno ya
entiende la operación Ctrl+Shift+Enter. Como complemento a éstas existe una colección de
funciones denominado ‘xmatrix’ y que se puede descargar libremente desde digilander.libero.it. No
obstante, sólo las recomiendo para usuarios avanzados que requieran de funciones matriciales
adicionales o que requieran cálculos con más cifras significativas que las utilizadas por Excel.

Cosas Curiosas

Si en la celda A1 colocamos 3 y en celda B1 escribimos’=-A1^2’ obtendremos como resultado 9 en


lugar de -9. Lo correcto en Excel es escribir ‘=-(A1)^2’.

Bibliografía y Referencias

Esta librería fue desarrollada con el principio de no reinventar, no obstante, debo reconocer que
algunas funciones son redundantes con funciones predefinidas de Excel, esto con el objeto de
facilitar la programación. Además, muy probablemente existen otros programas especializados en
ingeniería equivalentes a esta y que lamentablemente desconozco.
Sí existen librerías complementarias que son útiles que debo destacar. Entre ellas se encuentra
xnumbers y xmatrix del equipo Foxes editado por Leonardo Volpi, y que se puede descargar
libremente de digilander.libero.it/foxes. También destaco la librería ASAP Utilities (As Soon As
Posible) desarrollada por Bastien Mensink (www.asap-utilities.com). Finalmente, aunque algo
distantes a mi área, llamo la atención al conjunto de funciones desarrolladas por Magnus Holmgren y
que sintetizan las tablas de vapor de agua usadas en termodinámica (www.x-eng.com)

El desarrollo de esta librería pasó por diferentes fases. Durante la década de los 90, mientras
estudiaba en la universidad, estos programas fueron desarrollados en TurboPascal para DOS;
posteriormente fui cambiando a Visual Basic para Excel ante la posibilidad de combinar planillas, las
funciones predefinidas, opciones gráficas y de dibujo con la potencialidad de Visual Basic. Durante
este proceso requerí aprender las particularidades de este entorno por lo que recurrí a variada
literatura. Aprendí opciones de Excel que mejoraban la funcionalidad o que simplemente me
evitaban un código innecesario. Algunas de estas opciones las presenté previamente en la sección
Excel Avanzado.
Para aquellos usuarios de excel avanzado con conocimientos de programación que poseen las
mismas inquietudes que yo, les recomiendo los siguientes libros:
David y Raina Hawley, “Excel, Los mejores trucos”, ANAYA editores
Jinjer Simon, “Excel Programming”, Wiley Publishing Inc., 2nd edition 2005.

Buenas Prácticas
En forma paralela, estuve escribiendo algunos párrafos de lo que podría ser un manual de buenas
prácticas para estudios de hidrología e hidráulica. Sin embargo, el poco material que he redactado,
no es suficiente para un documento aparte, por lo que decidí incorporar este material dentro de este
documento, como introducción de los capítulos pertinentes.

Modelaciones

Bladé y Gómez (2006) señalan de forma adecuada:


“En el mercado existe una considerable variedad de modelos comerciales, con una facilidad
creciente de introducción de datos y potentes representaciones de los resultados, pero cuyos
módulos de cálculo han evolucionado poco en los últimos años y no incorporan los últimos avances
en sus esquemas numéricos.

ALICARGRA 3.0 xxi


2014-06-25
Introducción

El hecho de que con un modelo se obtenga un resultado a un problema determinado, no tiene por
que implicar que este resultado sea siempre acorde con la realidad, ya que todos ellos utilizan una
serie de hipótesis y simplificaciones importantes de las cuales no se suele informar al usuario.
Si no, se puede correr el riesgo de tomar como ciertos unos resultados poco correspondientes con la
realidad. Los grandes avances en la capacidad y velocidad de los ordenadores parece que haya
servido últimamente sólo para mejorar la presentación y facilidad de uso.
Los modelos que mayoritariamente se utilizan actualmente, requieren sin embargo personas con
suficiente criterio y conocimiento en hidráulica para asegurar que los datos han estado utilizados de
manera correcta y para una buena interpretación de los resultados.”
Un caso muy representativo de lo señalado corresponde al uso del programa HECRAS. Por muchos
años, he visto como ingenieros utilizan este programa ciegamente, sin tomar las precauciones
necesarias, y en algunos casos he visto proyectos terminados, con errores graves en las
modelaciones. A continuación, mencionaré algunos casos fáciles de describir, para reforzar mi
punto.
El caso más típico, corresponde al error de principiante: aquellos que trabajamos en el área de
caminos, tenemos incorporado en nuestra mentalidad, que el metraje avanza de izquierda a derecha,
a medida que avanza el camino (en su dirección principal), sin embargo, en HECRAS el metraje
avanza hacia aguas arriba, contra el sentido del escurrimiento. Por esto, se acostumbra utilizar
metrajes negativos, en los cuales su valor absoluto aumenta hacia aguas abajo, pero que
numéricamente aumentan hacia aguas arriba. Muchos de nosotros, hemos cometido el error de
ingresar los perfiles al revés, obteniendo un resultado desastroso en la modelación. Normalmente,
es evidente el error, pero cuando la pendiente del cauce es muy baja y el fondo es muy irregular,
deja de serlo. Hubo una vez un proyecto entregado de esta forma. Este error se debe a que el
programa no solamente es unidimensional, sino que además, necesita que le digan cual es el sentido
de escurrimiento.
Otro caso, corresponde a la modelación de un colector, el cual estaba conformado por un canal
rectangular, con una tapa superior. Como condición de borde se consideró altura normal, suposición
habitual en estos estudios. Sin embargo, la condición de escurrimiento normal no era válida en este
caso, porque la altura normal, resultaba mayor que la admisible dentro del colector. No obstante, el
programa no se detuvo y automáticamente cambió la condición de borde por altura crítica, valor
mucho más baja que la anterior, obteniendo un resultado completamente distinto al real. El
programa advirtió el problema, dentro de los mensajes de resultados. Un modelador experimentado
revisa los mensajes, pero un modelador principiante no. Por casualidad, me consultaron por esta
discrepancia entre el modelo y lo observado en la realidad, de lo contrario se habría entregado un
resultado incorrecto al cliente.
Otra violación de la limitación unidimensional del HECRAS, corresponde a un modelo que me
solicitaron revisar, donde el proyectista modeló los brazos individuales del meandro de un río. Esta
situación puede ser modelada en muchos casos, no obstante, en el estudio señalado, existían
confluencias que enfrentaban las corrientes de 2 brazos. Los sentidos de escurrimientos
incorporados en el modelo eran válidos para caudales bajos, pero a medida que aumenta el caudal,
el brazo que se incorpora a la confluencia en contrasentido del escurrimiento, se detiene y sólo
acumula agua, sin aportar al escurrimiento, hasta que se sobrepasa su capacidad y desborda en los
terrenos vecinos.
Un último caso a mencionar, y en el cual soy particularmente culpable, corresponde a descargas en
el mar, expuestas a oleaje. Nuevamente, se está violando la limitación de unidimensionalidad, con
sentido de escurrimiento definido. Debido al oleaje, el sentido de escurrimiento en la descarga es
alternado, lo cual no puede ser modelado en HECRAS. Alguna vez, un ingeniero de puertos me
señaló que la energía del oleaje era tan significativa, que el flujo en el cauce o colector se ve
peraltado por las olas, y que mi modelo con altura de marea alta era incorrecto, con alturas de
escurrimiento más bajas a las que debería obtener. Hasta el momento no conozco solución al
problema.
Al igual como ocurre con modelos más complejos como el HECRAS, muchas de las funciones y
procedimientos presentados en este manual, tienen limitaciones dadas por sus autores y que deben
ser consideradas antes de su aplicación.
Se invita a los usuarios a revisar las referencias señaladas en cada una de las funciones, con el
objeto de realizar cálculos y diseños más adecuados a los requerimientos de su proyecto.

xxii ALICARGRA 3.0


2014-06-25
Introducción
Exención de Responsabilidad
Advertencia a las personas que utilicen este manual, su contenido, antecedentes, complementos y
productos afines.
Este manual, su contenido, información hidrológica, antecedentes técnicos, funciones,
procedimientos, complementos, hojas de cálculo, y demás productos relacionados, se han
desarrollado utilizando el mayor cuidado para evitar errores. Sin embargo, como cualquier
publicación de datos, antecedentes y software, es probable que exista discordancia, defectos o
errores en los productos que lo conforman. Son bienvenidos comentarios de los usuarios que ayuden
a identificar los problemas mencionados, de manera de perfeccionar y mejorar las futuras versiones
del manual y todos sus elementos de diseño relacionados, como información básica, funciones,
procedimientos, hojas de cálculo, complementos y demás productos.
Este manual y sus complementos tienen el propósito de ayudar y agilizar el diseño preliminar y el
proceso de selección, diseño y dimensionamiento de obras. Sin embargo los antecedentes utilizados
en cada proyecto específico, cálculos y diseños, son de responsabilidad exclusiva del proyectista, y
en ningún caso podrá imputarse a la elaboración o distribución del manual.
Mediante la utilización de este manual, de su contenido y de cualquiera de los elementos que incluye,
antecedentes, hojas de cálculo, complementos y demás productos relacionados, el usuario consiente
en las siguientes condiciones:
Exención de responsabilidad por daños resultantes: En ningún caso el autor será responsable de
los daños que pudieren provenir de la utilización de este manual, su contenido, información básica,
hojas de cálculo, complementos y demás productos relacionados
Exclusión de garantías: La circunstancia de distribuirse o ponerse a disposición del público no
implica, en caso alguno que el autor garantice que este manual, su contenido, información básica,
hojas de cálculo, complementos y demás productos relacionados puedan satisfacer los
requerimientos de los usuarios, o que el uso de estos productos esté libre de errores o pueda ser
usado sin interrupciones.

Alonso Carrasco Graczyk


Ingeniero Civil
alonso@ing.puc.cl

ALICARGRA 3.0 xxiii


2014-06-25
PÁGINA INTENCIONALMENTE DEJADA EN BLANCO

You might also like