Una hoja de cálculo es una aplicación informática para el cálculo , organización, análisis y almacenamiento de datos en forma de tabla . [1] [2] [3] Las hojas de cálculo se desarrollaron como análogos informáticos de las hojas de trabajo contables en papel . [4] El programa opera con datos ingresados en celdas de una tabla. Cada celda puede contener datos numéricos o de texto, o los resultados de fórmulas que calculan y muestran automáticamente un valor en función del contenido de otras celdas. El término hoja de cálculo también puede referirse a uno de esos documentos electrónicos. [5] [6] [7]
Los usuarios de hojas de cálculo pueden ajustar cualquier valor almacenado y observar los efectos en los valores calculados. Esto hace que la hoja de cálculo sea útil para el análisis de hipótesis, ya que muchos casos se pueden investigar rápidamente sin necesidad de volver a calcularlos manualmente. El software de hojas de cálculo moderno puede tener varias hojas que interactúan entre sí y puede mostrar los datos como texto y números o en forma gráfica. [8]
Además de realizar funciones matemáticas y aritméticas básicas , las hojas de cálculo modernas proporcionan funciones integradas para operaciones estadísticas y de contabilidad financiera comunes. Cálculos como el valor actual neto o la desviación estándar se pueden aplicar a datos tabulares con una función preprogramada en una fórmula. Los programas de hojas de cálculo también proporcionan expresiones condicionales, funciones para convertir entre texto y números y funciones que operan sobre cadenas de texto.
Las hojas de cálculo han sustituido a los sistemas basados en papel en todo el mundo empresarial. Aunque en un principio se desarrollaron para tareas de contabilidad o teneduría de libros , ahora se utilizan ampliamente en cualquier contexto en el que se creen, ordenen y compartan listas tabulares. [9]
LANPAR, disponible en 1969, [10] fue la primera hoja de cálculo electrónica en mainframes y computadoras de tiempo compartido. LANPAR era un acrónimo: LANguage for Programming Arrays at Random. [10] VisiCalc (1979) fue la primera hoja de cálculo electrónica en una microcomputadora, [11] y ayudó a convertir a Apple II en una computadora personal popular y ampliamente utilizada. Lotus 1-2-3 fue la hoja de cálculo líder cuando DOS era el sistema operativo dominante. [12] Microsoft Excel ahora tiene la mayor participación de mercado en las plataformas Windows y Macintosh . [13] [14] [15] Un programa de hoja de cálculo es una característica estándar de una suite de productividad de oficina . En 2006, Google lanzó una aplicación web de hoja de cálculo en versión beta , actualmente conocida como Google Sheets y una de las aplicaciones proporcionadas en Google Drive . [16]
Una hoja de cálculo consiste en una tabla de celdas organizadas en filas y columnas y a las que se hace referencia mediante las posiciones X e Y. Las posiciones X, las columnas, normalmente se representan con letras, "A", "B", "C", etc., mientras que las filas normalmente se representan con números, 1, 2, 3, etc. Se puede hacer referencia a una sola celda dirigiéndonos a su fila y columna, "C10". Este concepto electrónico de referencias de celdas se introdujo por primera vez en LANPAR (Lenguaje para Programar Matrices Aleatoriamente) (co-inventado por Rene Pardo y Remy Landau) y una variante utilizada en VisiCalc y conocida como "notación A1". Además, las hojas de cálculo tienen el concepto de rango , un grupo de celdas, normalmente contiguas. Por ejemplo, se puede hacer referencia a las primeras diez celdas de la primera columna con el rango "A1:A10". LANPAR innovó la referencia hacia delante/cálculo de orden natural que no reapareció hasta Lotus 123 y MultiPlan Versión 2 de Microsoft.
En las aplicaciones de hojas de cálculo modernas, varias hojas de cálculo, a menudo conocidas como hojas de cálculo o simplemente hojas , se agrupan para formar un libro de trabajo . Un libro de trabajo se representa físicamente mediante un archivo que contiene todos los datos del libro, las hojas y las celdas con las hojas. Las hojas de trabajo normalmente se representan mediante pestañas que pasan de una página a otra, cada una de las cuales contiene una de las hojas, aunque Numbers cambia este modelo significativamente. Las celdas de un libro de varias hojas agregan el nombre de la hoja a su referencia, por ejemplo, "Hoja 1!C10". Algunos sistemas extienden esta sintaxis para permitir referencias de celdas a diferentes libros de trabajo.
Los usuarios interactúan con las hojas principalmente a través de las celdas. Una celda determinada puede contener datos con solo ingresarlos, o una fórmula, que normalmente se crea anteponiendo el texto con un signo igual. Los datos pueden incluir la cadena de texto hello world
, el número 5
o la fecha 10-Sep-97
. Una fórmula comenzaría con el signo igual, =5*3
pero normalmente sería invisible porque la pantalla muestra el resultado del cálculo, 15
en este caso, no la fórmula en sí. Esto puede generar confusión en algunos casos.
La característica principal de las hojas de cálculo es la capacidad de una fórmula para hacer referencia al contenido de otras celdas, que, a su vez, pueden ser el resultado de una fórmula. Para crear una fórmula de este tipo, se reemplaza un número por una referencia de celda. Por ejemplo, la fórmula =5*C10
produciría el resultado de multiplicar el valor de la celda C10 por el número 5. Si C10 contiene el valor, 3
el resultado será 15
. Pero C10 también podría contener su fórmula haciendo referencia a otras celdas, y así sucesivamente.
La capacidad de encadenar fórmulas es lo que le da poder a una hoja de cálculo. Muchos problemas se pueden dividir en una serie de pasos matemáticos individuales, y estos se pueden asignar a fórmulas individuales en las celdas. Algunas de estas fórmulas también se pueden aplicar a rangos, como la SUM
función que suma todos los números dentro de un rango.
Las hojas de cálculo comparten muchos principios y características de las bases de datos , pero no son lo mismo. Una hoja de cálculo es, en esencia, una sola tabla, mientras que una base de datos es una colección de muchas tablas con relaciones semánticas legibles por máquina . Si bien es cierto que un libro de trabajo que contiene tres hojas es, en efecto, un archivo que contiene varias tablas que pueden interactuar entre sí, carece de la estructura relacional de una base de datos. Las hojas de cálculo y las bases de datos son interoperables: las hojas se pueden importar a bases de datos para convertirse en tablas dentro de ellas, y las consultas de bases de datos se pueden exportar a hojas de cálculo para su posterior análisis.
Un programa de hoja de cálculo es uno de los componentes principales de una suite de productividad de oficina , que normalmente también contiene un procesador de textos , un programa de presentaciones y un sistema de gestión de bases de datos . Los programas dentro de una suite utilizan comandos similares para funciones similares. Por lo general, compartir datos entre los componentes es más fácil que con una colección no integrada de programas funcionalmente equivalentes. Esto fue particularmente una ventaja en una época en la que muchos sistemas informáticos personales utilizaban pantallas y comandos en modo texto en lugar de una interfaz gráfica de usuario .
Los seres humanos han organizado datos en tablas , es decir, cuadrículas de columnas y filas, desde la antigüedad. Los babilonios usaban tablillas de arcilla para almacenar datos desde el año 1800 a. C. [17] Se pueden encontrar otros ejemplos en los libros de contabilidad y los registros astronómicos. [18]
Desde al menos 1906, el término "hoja de cálculo" se ha utilizado en contabilidad para referirse a una cuadrícula de columnas y filas en un libro de contabilidad. [19] [20] Y antes del surgimiento de las hojas de cálculo computarizadas, "hoja de cálculo" se refería a un artículo de periódico o revista (texto o gráficos) que ocupa dos páginas enfrentadas, extendiéndose a través del pliegue central y tratando las dos páginas como una sola página grande. [21] La palabra compuesta "hoja de cálculo" llegó a significar el formato utilizado para presentar los libros de contabilidad, con columnas para categorías de gastos en la parte superior, facturas enumeradas en el margen izquierdo y el monto de cada pago en la celda donde se cruzan su fila y columna, que eran, tradicionalmente, una "hoja de cálculo" en páginas enfrentadas de un libro de contabilidad encuadernado (libro para llevar registros contables) o en hojas de papel de gran tamaño (denominadas "papel de análisis") rayadas en filas y columnas en ese formato y aproximadamente el doble de ancho que el papel común. [22] [ verificación fallida ]
Una "hoja de cálculo" por lotes es indistinguible de un compilador por lotes con datos de entrada añadidos, que produce un informe de salida, es decir , un programa informático por lotes 4GL o convencional, no interactivo. Sin embargo, este concepto de una hoja de cálculo electrónica fue delineado en el artículo de 1961 "Budgeting Models and System Simulation" de Richard Mattessich . [23] El trabajo posterior de Mattessich (1964a, Cap. 9, Accounting and Analytical Methods ) y su volumen complementario, Mattessich (1964b, Simulation of the Firm through a Budget Computer Program ) aplicaron hojas de cálculo computarizadas a sistemas de contabilidad y presupuestación (en computadoras mainframe programadas en FORTRAN IV ). Estas hojas de cálculo por lotes se ocupaban principalmente de la adición o sustracción de columnas o filas enteras (de variables de entrada), en lugar de celdas individuales .
En 1962, este concepto de la hoja de cálculo, llamada BCL para Business Computer Language, se implementó en un IBM 1130 [ dudoso - discutir ] y en 1963 fue portado a un IBM 7040 por R. Brian Walsh en la Universidad Marquette , Wisconsin . Este programa fue escrito en Fortran . El tiempo compartido primitivo estaba disponible en esas máquinas. En 1968, BCL fue portado por Walsh a la máquina de tiempo compartido IBM 360 /67 en la Universidad Estatal de Washington . Se utilizó para ayudar en la enseñanza de finanzas a los estudiantes de negocios. Los estudiantes podían tomar la información preparada por el profesor y manipularla para representarla y mostrar proporciones, etc. En 1964, Kimball, Stoffells y Walsh escribieron un libro titulado Business Computer Language . Tanto el libro como el programa fueron registrados como derechos de autor en 1966 y años más tarde, esos derechos de autor se renovaron. [24]
Applied Data Resources tenía un preprocesador FORTRAN llamado Empires.
A finales de la década de 1960, Xerox utilizó BCL para desarrollar una versión más sofisticada de su sistema de tiempo compartido.
Una invención clave en el desarrollo de las hojas de cálculo electrónicas fue la de René K. Pardo y Rémy Landau, quienes presentaron en 1970 la patente estadounidense 4.398.249 sobre un algoritmo automático de cálculo del orden natural en hojas de cálculo . Si bien la patente fue rechazada inicialmente por la oficina de patentes por ser una invención puramente matemática, después de 12 años de apelaciones, Pardo y Landau ganaron un caso judicial histórico en el Tribunal Predecesor del Circuito Federal (CCPA), revocando la decisión de la Oficina de Patentes en 1983, estableciendo que "algo no deja de ser patentable simplemente porque el punto de novedad esté en un algoritmo". Sin embargo, en 1995 un tribunal federal de distrito dictaminó que la patente no era ejecutable debido a la conducta inequitativa de los inventores durante el proceso de solicitud. [25] El Tribunal de Apelaciones de los Estados Unidos para el Circuito Federal confirmó esa decisión en 1996. [26]
El software en sí se llamó LANPAR (Language for Programming Arrays at Random). [nota 1] Fue concebido y desarrollado íntegramente en el verano de 1969, tras la reciente graduación de Pardo y Landau en la Universidad de Harvard. El coinventor René Pardo recuerda que pensaba que un gerente de Bell Canada no debería depender de programadores para programar y modificar formularios de presupuestos, y pensó en permitir que los usuarios escribieran los formularios en cualquier orden y que una computadora electrónica calculara los resultados en el orden correcto ("Referencia hacia adelante/Cálculo de orden natural"). Pardo y Landau desarrollaron e implementaron el software en 1969. [27]
LANPAR fue utilizado por Bell Canada, AT&T y las 18 compañías telefónicas operativas en todo el país para sus operaciones de presupuestos locales y nacionales. LANPAR también fue utilizado por General Motors. Su singularidad fue la coinvención de Pardo que incorporaba referencias hacia adelante/cálculo de orden natural (uno de los primeros lenguajes informáticos "no procedimentales") [28] en oposición a la secuencia de izquierda a derecha, de arriba a abajo para calcular los resultados en cada celda que fue utilizada por VisiCalc , SuperCalc y la primera versión de MultiPlan . Sin referencias hacia adelante/cálculo de orden natural, el usuario tenía que actualizar la hoja de cálculo hasta que los valores en todas las celdas permanecieran sin cambios. Una vez que los valores de las celdas permanecían constantes, el usuario tenía la seguridad de que no quedaban referencias hacia adelante dentro de la hoja de cálculo.
En 1968, tres ex empleados de la empresa de informática General Electric , con sede en Phoenix (Arizona), decidieron crear su propia empresa de desarrollo de software. A. Leroy Ellison, Harry N. Cantrell y Russell E. Edwards se encontraron realizando una gran cantidad de cálculos al confeccionar tablas para los planes de negocio que presentaban a los inversores de capital riesgo. Decidieron ahorrarse mucho esfuerzo y escribieron un programa informático que les producía las tablas. Este programa, concebido originalmente como una simple utilidad para su uso personal, resultaría ser el primer producto de software ofrecido por la empresa que llegaría a conocerse como Capex Corporation . "AutoPlan" funcionaba en el servicio de tiempo compartido de GE ; después, se presentó una versión que funcionaba en mainframes de IBM con el nombre de AutoTab . ( National CSS ofrecía un producto similar, CSSTAB, que tenía una base de usuarios de tiempo compartido moderada a principios de los años 70. Una de sus principales aplicaciones era la tabulación de estudios de opinión).
AutoPlan/AutoTab no era un programa de hojas de cálculo interactivo WYSIWYG , sino un lenguaje de programación simple para hojas de cálculo. El usuario definía los nombres y las etiquetas de las filas y columnas, y luego las fórmulas que definían cada fila o columna. En 1975, se anunció que Autotab-II ampliaba el original hasta un máximo de " 1.500 filas y columnas, combinadas en cualquier proporción que el usuario requiera... " [29]
GE Information Services, que operaba el servicio de tiempo compartido, también lanzó su propio sistema de hojas de cálculo, Financial Analysis Language (FAL), alrededor de 1974. Más tarde se complementó con un lenguaje de hojas de cálculo adicional, TABOL, [30] [31] que fue desarrollado por un autor independiente, Oliver Vellacott en el Reino Unido. Tanto FAL como TABOL se integraron con el sistema de base de datos de GEIS, DMS.
El sistema de planificación y control financiero de IBM fue desarrollado en 1976 por Brian Ingham en IBM Canadá. Fue implementado por IBM en al menos 30 países. Se ejecutaba en un mainframe de IBM y fue la primera aplicación para planificación financiera desarrollada con APL que ocultaba completamente el lenguaje de programación al usuario final. A través del sistema operativo VM de IBM , fue uno de los primeros programas en actualizar automáticamente cada copia de la aplicación a medida que se lanzaban nuevas versiones. Los usuarios podían especificar relaciones matemáticas simples entre filas y entre columnas. En comparación con cualquier alternativa contemporánea, podía admitir hojas de cálculo muy grandes. Cargaba datos de planificación financiera reales extraídos del sistema de lotes heredado en la hoja de cálculo de cada usuario mensualmente. Fue diseñado para optimizar la potencia de APL a través de núcleos de objetos, aumentando la eficiencia del programa hasta 50 veces con respecto a los enfoques de programación tradicionales.
Un ejemplo de una hoja de cálculo de "peso industrial" temprana fue APLDOT, desarrollada en 1976 en la Asociación de Ferrocarriles de los Estados Unidos en un IBM 360/91, que se ejecutaba en el Laboratorio de Física Aplicada de la Universidad Johns Hopkins en Laurel, Maryland. [32] La aplicación se utilizó con éxito durante muchos años en el desarrollo de aplicaciones tales como modelos financieros y de costos para el Congreso de los EE. UU. y para Conrail . APLDOT fue apodada "hoja de cálculo" porque los analistas financieros y los planificadores estratégicos la usaban para resolver los mismos problemas que abordaban con los blocs de hojas de cálculo de papel.
El concepto de hojas de cálculo se hizo ampliamente conocido gracias a VisiCalc , desarrollado para Apple II en 1979 por Dan Bricklin y Bob Frankston , miembros de VisiCorp . Esto también hizo que la computadora personal pasara de ser un pasatiempo para entusiastas de la informática a una herramienta comercial.
VisiCalc fue la primera hoja de cálculo que combinó muchas de las características esenciales de las aplicaciones de hojas de cálculo modernas, como una interfaz de usuario interactiva WYSIWYG , recálculo automático, líneas de estado y fórmula, copia de rangos con referencias relativas y absolutas, y creación de fórmulas mediante la selección de celdas referenciadas. Sin conocer LANPAR en ese momento, la revista PC World calificó a VisiCalc como la primera hoja de cálculo electrónica. [33]
Bricklin ha hablado de haber visto a su profesor universitario crear una tabla de resultados de cálculos en una pizarra . Cuando el profesor encontró un error, tuvo que borrar y reescribir tediosamente varias entradas secuenciales en la tabla, lo que llevó a Bricklin a pensar que podía replicar el proceso en una computadora, utilizando la pizarra como modelo para ver los resultados de las fórmulas subyacentes. Su idea se convirtió en VisiCalc.
VisiCalc para Apple II se convirtió en la primera aplicación revolucionaria , [34] [35] un programa tan atractivo que la gente compraba un ordenador en particular solo para usarlo. Se adaptó a otros ordenadores, incluidas las máquinas CP/M , los ordenadores Atari de 8 bits y el Commodore PET , pero VisiCalc sigue siendo más conocido como un programa para Apple II.
SuperCalc fue una aplicación de hojas de cálculo publicada por Sorcim en 1980 y que originalmente se incluía (junto con WordStar) como parte del paquete de software CP/M que venía con la computadora portátil Osborne 1. Rápidamente se convirtió en la hoja de cálculo estándar de facto para CP/M.
La introducción de Lotus 1-2-3 en noviembre de 1982 aceleró la aceptación de IBM Personal Computer . Fue escrito especialmente para IBM PC DOS y tenía mejoras en velocidad y gráficos en comparación con VisiCalc en Apple II, esto ayudó a que creciera en popularidad. [36] Lotus 1-2-3 fue la hoja de cálculo líder durante varios años.
Microsoft lanzó la primera versión de Excel para Apple Macintosh el 30 de septiembre de 1985 y luego la adaptó [37] a Windows. La primera versión se numeró 2.05 (para sincronizarse con la versión 2.2 de Macintosh) y se lanzó en noviembre de 1987. Las plataformas Windows 3.x de Microsoft de principios de la década de 1990 hicieron posible que su aplicación de hoja de cálculo Excel le quitara participación de mercado a Lotus. Para cuando Lotus respondió con productos Windows utilizables, Microsoft había comenzado a ensamblar su suite Office . Para 1995, Excel era el líder del mercado, superando a Lotus 1-2-3 [22] y en 2013, IBM suspendió Lotus 1-2-3 por completo. [38]
En 2006, Google lanzó su versión beta de Google Sheets , una aplicación de hoja de cálculo basada en la web a la que pueden acceder múltiples usuarios desde cualquier tipo de dispositivo utilizando un navegador web compatible, se puede utilizar en línea y fuera de línea (con o sin conectividad a Internet). Google Sheets se originó a partir de una aplicación de hoja de cálculo basada en la web XL2Web desarrollada por 2Web Technologies , combinada con DocVerse que permitió la colaboración en línea de múltiples usuarios de documentos de Office.
En 2016 se lanzó Collabora Online Calc , que destaca por el hecho de que la hoja de cálculo basada en la web se podía alojar e integrar en cualquier entorno sin depender de un tercero para la autenticación o el mantenimiento. Collabora Online ejecuta el kit LibreOffice en su núcleo, que surgió de StarOffice , que se lanzó hace 39 años en 1985.
Software de hojas de cálculo actual más destacado:
Software de hojas de cálculo descontinuado:
Varias empresas han intentado entrar en el mercado de las hojas de cálculo con programas basados en paradigmas muy diferentes. Lotus presentó el que probablemente sea el ejemplo más exitoso, Lotus Improv , que tuvo cierto éxito comercial, sobre todo en el mundo financiero, donde sus potentes capacidades de minería de datos siguen siendo muy respetadas hasta el día de hoy.
Spreadsheet 2000 intentó simplificar drásticamente la construcción de fórmulas, pero en general no tuvo éxito.
Los conceptos principales son los de una cuadrícula de celdas , llamada hoja, con datos sin procesar, llamados valores, o fórmulas en las celdas. Las fórmulas indican cómo calcular mecánicamente nuevos valores a partir de valores existentes. Los valores son números generales, pero también pueden ser texto puro, fechas, meses, etc. Las extensiones de estos conceptos incluyen hojas de cálculo lógicas. Se proporcionan comúnmente varias herramientas para programar hojas, visualizar datos, conectar hojas de forma remota, mostrar dependencias de celdas, etc.
Una "celda" puede considerarse como una caja para almacenar datos . Una sola celda suele estar referenciada por su columna y fila (C2 representaría la celda que contiene el valor 30 en la tabla de ejemplo a continuación). Por lo general, las filas, que representan las variables dependientes , se referencian en notación decimal comenzando desde 1, mientras que las columnas que representan las variables independientes utilizan la numeración biyectiva 26-ádica utilizando las letras AZ como números. Su tamaño físico generalmente se puede adaptar a su contenido arrastrando su altura o ancho en las intersecciones de la caja (o para columnas o filas enteras arrastrando los encabezados de columna o fila).
Una matriz de celdas se denomina hoja u hoja de cálculo . Es análoga a una matriz de variables en un programa informático convencional (aunque ciertos valores inmutables, una vez introducidos, podrían considerarse, por la misma analogía, constantes ). En la mayoría de las implementaciones, muchas hojas de cálculo pueden estar ubicadas dentro de una sola hoja de cálculo. Una hoja de cálculo es simplemente un subconjunto de la hoja de cálculo dividido para mayor claridad. Funcionalmente, la hoja de cálculo funciona como un todo y todas las celdas funcionan como variables globales dentro de la hoja de cálculo (cada variable tiene acceso de "lectura" únicamente, excepto la celda que la contiene).
Una celda puede contener un valor o una fórmula , o simplemente puede dejarse vacía. Por convención, las fórmulas suelen comenzar con el signo = .
Se puede introducir un valor desde el teclado de la computadora escribiendo directamente en la celda. También se puede basar un valor en una fórmula (ver a continuación), que puede realizar un cálculo, mostrar la fecha o la hora actuales o recuperar datos externos, como una cotización de acciones o un valor de una base de datos.
La regla del valor de la hoja de cálculo
El científico informático Alan Kay utilizó el término regla de valor para resumir el funcionamiento de una hoja de cálculo: el valor de una celda depende únicamente de la fórmula que el usuario ha escrito en la celda. [48] La fórmula puede depender del valor de otras celdas, pero esas celdas también están restringidas a los datos o fórmulas ingresados por el usuario. No hay "efectos secundarios" al calcular una fórmula: el único resultado es mostrar el resultado calculado dentro de la celda que la ocupa. No existe un mecanismo natural para modificar permanentemente el contenido de una celda a menos que el usuario modifique manualmente el contenido de la celda. En el contexto de los lenguajes de programación, esto produce una forma limitada de programación funcional de primer orden . [49]
Esta característica opcional, que se ha convertido en un estándar en las hojas de cálculo desde los años 1980, elimina la necesidad de solicitar manualmente al programa de hojas de cálculo que recálculo los valores (hoy en día, suele ser la opción predeterminada, a menos que se "desactive" específicamente para hojas de cálculo grandes, normalmente para mejorar el rendimiento). Algunas hojas de cálculo anteriores requerían una solicitud manual para recálculos, ya que el recálculo de hojas de cálculo grandes o complejas a menudo reducía la velocidad de entrada de datos. Muchas hojas de cálculo modernas aún conservan esta opción.
El recálculo generalmente requiere que no haya dependencias circulares en una hoja de cálculo. Un gráfico de dependencia es un gráfico que tiene un vértice para cada objeto que se va a actualizar y una arista que conecta dos objetos siempre que uno de ellos deba actualizarse antes que el otro. Los gráficos de dependencia sin dependencias circulares forman gráficos acíclicos dirigidos , representaciones de ordenamientos parciales (en este caso, a lo largo de una hoja de cálculo) en los que se puede confiar para obtener un resultado definido. [50]
Esta función se refiere a la actualización periódica del contenido de una celda con un valor de una fuente externa, como una celda en una hoja de cálculo "remota". En el caso de las hojas de cálculo compartidas basadas en la Web, se aplica a la actualización "inmediata" de las celdas que otro usuario ha actualizado. También se deben actualizar todas las celdas dependientes.
Una vez ingresados los datos, las celdas seleccionadas (o toda la hoja de cálculo) se pueden "bloquear" opcionalmente para evitar que se sobrescriban accidentalmente. Normalmente, esto se aplicaría a celdas que contienen fórmulas, pero también podría aplicarse a celdas que contienen "constantes", como un factor de conversión de kilogramos a libras (2,20462262 a ocho decimales). Aunque las celdas individuales se marquen como bloqueadas, los datos de la hoja de cálculo no están protegidos hasta que se active la función en las preferencias del archivo.
Se puede definir opcionalmente una celda o un rango para especificar cómo se muestra el valor. El formato de visualización predeterminado suele estar definido por su contenido inicial, si no se ha definido previamente de forma específica, de modo que, por ejemplo, "31/12/2007" o "31 de diciembre de 2007" tendrían como formato de celda de fecha predeterminado . De manera similar, si se agrega un signo % después de un valor numérico, se etiquetaría la celda como un formato de celda de porcentaje . Este formato no modifica el contenido de la celda, solo el valor mostrado.
Algunos formatos de celda, como "numérico" o "moneda", también pueden especificar el número de decimales .
Esto puede permitir operaciones no válidas (como realizar una multiplicación en una celda que contiene una fecha), lo que genera resultados ilógicos sin una advertencia adecuada.
Según la capacidad de la aplicación de hoja de cálculo, cada celda (al igual que su contraparte, el "estilo" en un procesador de textos ) se puede formatear por separado utilizando los atributos del contenido (tamaño de punto, color, negrita o cursiva) o de la celda (grosor del borde, sombreado de fondo, color). Para facilitar la lectura de una hoja de cálculo, se puede aplicar un formato de celda condicional a los datos; por ejemplo, un número negativo se puede mostrar en rojo.
El formato de una celda normalmente no afecta su contenido y, dependiendo de cómo se haga referencia a las celdas o cómo se copien a otras hojas de cálculo o aplicaciones, es posible que el formato no se mantenga con el contenido.
En la mayoría de las implementaciones, una celda o un grupo de celdas en una columna o fila se puede "nombrar" para que el usuario pueda referirse a esas celdas por un nombre en lugar de por una referencia de cuadrícula. Los nombres deben ser únicos dentro de la hoja de cálculo, pero cuando se utilizan varias hojas en un archivo de hoja de cálculo, se puede utilizar un rango de celdas con el mismo nombre en cada hoja si se distingue añadiendo el nombre de la hoja. Una razón para este uso es para crear o ejecutar macros que repiten un comando en muchas hojas. Otra razón es que las fórmulas con variables nombradas se comprueban fácilmente con el álgebra que se pretende implementar (se parecen a las expresiones Fortran). El uso de variables nombradas y funciones nombradas también hace que la estructura de la hoja de cálculo sea más transparente.
En lugar de una celda con nombre, un enfoque alternativo es utilizar una referencia de celda (o cuadrícula). La mayoría de las referencias de celda indican otra celda en la misma hoja de cálculo, pero una referencia de celda también puede hacer referencia a una celda en una hoja diferente dentro de la misma hoja de cálculo o (según la implementación) a una celda en otra hoja de cálculo por completo o a un valor de una aplicación remota.
Una referencia de celda típica en el estilo "A1" consta de una o dos letras que no distinguen entre mayúsculas y minúsculas para identificar la columna (si hay hasta 256 columnas: A–Z y AA–IV) seguidas de un número de fila (por ejemplo, en el rango 1–65536). Cualquier parte puede ser relativa (cambia cuando se mueve o copia la fórmula en la que se encuentra) o absoluta (se indica con $ delante de la parte correspondiente de la referencia de celda). El estilo de referencia alternativo "R1C1" consta de la letra R, el número de fila, la letra C y el número de columna; los números de fila o columna relativos se indican encerrando el número entre corchetes. La mayoría de las hojas de cálculo actuales utilizan el estilo A1, y algunas ofrecen el estilo R1C1 como una opción de compatibilidad.
Cuando la computadora calcula una fórmula en una celda para actualizar el valor mostrado de esa celda, las referencias de celda en esa celda, que nombran otras celdas, hacen que la computadora obtenga el valor de las celdas nombradas.
Una celda de la misma "hoja" suele direccionarse como:
=A1
Una celda en una hoja diferente de la misma hoja de cálculo generalmente se direcciona así:
=HOJA2!A1 (es decir; la primera celda de la hoja 2 de la misma hoja de cálculo).
Algunas implementaciones de hojas de cálculo en Excel permiten referencias de celdas a otra hoja de cálculo (no al archivo abierto y activo en ese momento) en la misma computadora o en una red local. También pueden hacer referencia a una celda en otra hoja de cálculo abierta y activa en la misma computadora o red que esté definida como compartible. Estas referencias contienen el nombre de archivo completo, como:
='C:\Documentos y configuraciones\Nombre de usuario\Mis hojas de cálculo\[hoja principal]Hoja1!A1
En una hoja de cálculo, las referencias a las celdas se actualizan automáticamente cuando se insertan o eliminan nuevas filas o columnas. Sin embargo, se debe tener cuidado al agregar una fila inmediatamente antes de un conjunto de totales de columnas para garantizar que los totales reflejen los valores de las filas adicionales, lo que a menudo no ocurre.
Una referencia circular se produce cuando la fórmula de una celda hace referencia (directa o indirectamente a través de una cadena de referencias de celda) a otra celda que, a su vez, hace referencia a la primera celda. Muchos errores comunes provocan referencias circulares. Sin embargo, algunas técnicas válidas utilizan referencias circulares. Estas técnicas, después de muchos cálculos repetidos en la hoja de cálculo, (normalmente) convergen en los valores correctos para esas celdas.
De la misma manera, en lugar de utilizar un rango de celdas con nombre, se puede utilizar una referencia de rango. La referencia a un rango de celdas es típica de la forma (A1:A6), que especifica todas las celdas en el rango de A1 a A6. Una fórmula como "=SUMA(A1:A6)" sumaría todas las celdas especificadas y colocaría el resultado en la celda que contiene la fórmula misma.
En las primeras hojas de cálculo, las celdas eran una cuadrícula bidimensional simple. Con el tiempo, el modelo se ha ampliado para incluir una tercera dimensión y, en algunos casos, una serie de cuadrículas con nombre, llamadas hojas. Los ejemplos más avanzados permiten operaciones de inversión y rotación que pueden dividir y proyectar el conjunto de datos de diversas maneras.
Una fórmula identifica el cálculo necesario para colocar el resultado en la celda que la contiene. Por lo tanto, una celda que contiene una fórmula tiene dos componentes de visualización: la fórmula en sí y el valor resultante. La fórmula normalmente solo se muestra cuando se selecciona la celda haciendo "clic" con el mouse sobre una celda en particular; de lo contrario, contiene el resultado del cálculo.
Una fórmula asigna valores a una celda o rango de celdas y normalmente tiene el formato:
donde la expresión consta de:
2
, 9.14
o 6.67E-11
;A1
para una sola celda o B1:B3
para un rango;+
, -
, *
, /
, y otros;>=
, <
, y otros; y,SUM()
, TAN()
y muchas otras.Cuando una celda contiene una fórmula, a menudo contiene referencias a otras celdas. Dicha referencia de celda es un tipo de variable. Su valor es el valor de la celda a la que se hace referencia o alguna derivación de este. Si esa celda a su vez hace referencia a otras celdas, el valor depende de los valores de estas. Las referencias pueden ser relativas (p. ej., A1
, o B1:B3
), absolutas (p. ej. $A$1
, , o $B$1:$B$3
) o absolutas/relativas mixtas por fila o por columna (p. ej., $A1
es absoluta por columna y A$1
es absoluta por fila).
Las opciones disponibles para fórmulas válidas dependen de la implementación de la hoja de cálculo en particular, pero, en general, la mayoría de las operaciones aritméticas y las operaciones condicionales anidadas bastante complejas se pueden realizar en la mayoría de las hojas de cálculo comerciales actuales. Las implementaciones modernas también ofrecen funciones para acceder a funciones personalizadas, datos remotos y aplicaciones.
Una fórmula puede contener una condición (o condiciones anidadas), con o sin un cálculo real, y a veces se utiliza únicamente para identificar y resaltar errores . En el ejemplo siguiente, se supone que se prueba la validez de la suma de una columna de porcentajes (A1 a A6) y se coloca un mensaje explícito en la celda adyacente de la derecha.
Más ejemplos:
La mejor forma de crear declaraciones condicionales es componerlas paso a paso, seguidas de pruebas de ensayo y error y refinamiento del código.
Una hoja de cálculo no tiene por qué contener ninguna fórmula, en cuyo caso podría considerarse simplemente una colección de datos organizados en filas y columnas (una base de datos ), como un calendario, un horario o una lista simple. Debido a su facilidad de uso, su formato y sus capacidades de hipervínculos , muchas hojas de cálculo se utilizan únicamente para este propósito.
Las hojas de cálculo suelen contener varias funciones suministradas , como operaciones aritméticas (por ejemplo, sumas, promedios, etc.), funciones trigonométricas, funciones estadísticas, etc. Además, suele haber una disposición para funciones definidas por el usuario . En Microsoft Excel, estas funciones se definen utilizando Visual Basic para Aplicaciones en el editor de Visual Basic suministrado, y dichas funciones son accesibles automáticamente en la hoja de cálculo. Además, se pueden escribir programas que extraigan información de la hoja de cálculo, realicen algunos cálculos e informen los resultados en la hoja de cálculo. En la figura, el nombre sq es asignado por el usuario y la función sq se introduce utilizando el editor de Visual Basic suministrado con Excel. El Administrador de nombres muestra las definiciones de la hoja de cálculo de las variables con nombre x e y .
Las funciones no pueden escribir en la hoja de cálculo, sino que simplemente devuelven su evaluación. Sin embargo, en Microsoft Excel, las subrutinas pueden escribir valores o texto que se encuentran dentro de la subrutina directamente en la hoja de cálculo. La figura muestra el código de Visual Basic para una subrutina que lee cada miembro de la variable de columna nombrada x , calcula su cuadrado y escribe este valor en el elemento correspondiente de la variable de columna nombrada y . La columna y no contiene ninguna fórmula porque sus valores se calculan en la subrutina, no en la hoja de cálculo, y simplemente se escriben.
Siempre que se hace referencia a una celda o grupo de celdas que no se encuentran dentro del archivo físico de la hoja de cálculo actual, se considera que se está accediendo a una hoja de cálculo "remota". Se puede acceder al contenido de la celda a la que se hace referencia ya sea en la primera referencia con una actualización manual o más recientemente en el caso de las hojas de cálculo basadas en la web, como un valor casi en tiempo real con un intervalo de actualización automático especificado.
Muchas aplicaciones de hojas de cálculo permiten generar gráficos y diagramas (por ejemplo, histogramas , gráficos circulares ) a partir de grupos específicos de celdas que se reconstruyen dinámicamente a medida que cambia el contenido de las celdas. El componente gráfico generado se puede incrustar en la hoja actual o agregar como un objeto separado. Para crear un histograma de Excel, se puede utilizar una fórmula basada en la función REPT. [51]
A finales de los años 1980 y principios de los años 1990, aparecieron los primeros Javelin Software y Lotus Improv . A diferencia de los modelos de una hoja de cálculo convencional, utilizaban modelos creados sobre objetos llamados variables, no sobre datos en celdas de un informe. Estas hojas de cálculo multidimensionales permitían ver datos y algoritmos de diversas formas autodocumentadas, incluidas múltiples vistas sincronizadas simultáneas. Por ejemplo, los usuarios de Javelin podían moverse a través de las conexiones entre variables en un diagrama mientras veían las raíces y ramas lógicas de cada variable. Este es un ejemplo de lo que quizás sea su principal contribución del Javelin anterior: el concepto de trazabilidad de la lógica de un usuario o la estructura del modelo a través de sus doce vistas. Un modelo complejo puede ser analizado y comprendido por otras personas que no tuvieron ningún papel en su creación.
En estos programas, una serie temporal , o cualquier variable, era un objeto en sí mismo, no una colección de celdas que aparecían en una fila o columna. Las variables podían tener muchos atributos, incluido el conocimiento completo de sus conexiones con todas las demás variables, referencias de datos y notas de texto e imagen. Los cálculos se realizaban en estos objetos, en lugar de en un rango de celdas, por lo que agregar dos series temporales las alineaba automáticamente en el tiempo del calendario o en un marco de tiempo definido por el usuario. Los datos eran independientes de las hojas de cálculo: las variables y, por lo tanto, los datos, no se podían destruir eliminando una fila, una columna o una hoja de cálculo completa. Por ejemplo, los costos de enero se restan de los ingresos de enero, independientemente de dónde o si alguno aparece en una hoja de cálculo. Esto permite acciones que se usan más tarde en tablas dinámicas , excepto que la manipulación flexible de las tablas de informes era solo una de las muchas capacidades admitidas por las variables. Además, si los costos se ingresaban por semana y los ingresos por mes, el programa podía asignar o interpolar según fuera apropiado. Este diseño de objeto permitió que las variables y los modelos completos se referenciaran entre sí con nombres de variables definidos por el usuario y realizaran análisis multidimensionales y consolidaciones masivas, pero fácilmente editables.
Trapeze, [47] una hoja de cálculo para Mac, fue más allá y admitió explícitamente no sólo columnas de tablas, sino también operadores de matriz.
Las hojas de cálculo que tienen un lenguaje de fórmulas basado en expresiones lógicas , en lugar de expresiones aritméticas , se conocen como hojas de cálculo lógicas . Estas hojas de cálculo se pueden utilizar para razonar deductivamente sobre los valores de sus celdas.
Así como los primeros lenguajes de programación fueron diseñados para generar impresiones de hojas de cálculo, las técnicas de programación en sí mismas han evolucionado para procesar tablas (también conocidas como hojas de cálculo o matrices ) de datos de manera más eficiente en la propia computadora.
Las hojas de cálculo son una herramienta de desarrollo de usuario final muy popular. [52] EUD denota actividades o técnicas en las que personas que no son desarrolladores profesionales crean comportamientos automatizados y objetos de datos complejos sin un conocimiento significativo de un lenguaje de programación. A muchas personas les resulta más fácil realizar cálculos en hojas de cálculo que escribir el programa secuencial equivalente. Esto se debe a varias características de las hojas de cálculo.
Un "programa de hoja de cálculo" está diseñado para realizar tareas de cálculo generales utilizando relaciones espaciales en lugar del tiempo como principio organizador principal.
A menudo resulta conveniente pensar en una hoja de cálculo como un gráfico matemático , donde los nodos son celdas de la hoja de cálculo y los bordes son referencias a otras celdas especificadas en fórmulas. Esto suele denominarse gráfico de dependencia de la hoja de cálculo. Las referencias entre celdas pueden aprovechar conceptos espaciales como la posición relativa y la posición absoluta, así como las ubicaciones con nombre, para que las fórmulas de la hoja de cálculo sean más fáciles de entender y administrar.
Las hojas de cálculo suelen intentar actualizar automáticamente las celdas cuando estas dependen de un cambio. Las primeras hojas de cálculo utilizaban tácticas sencillas, como evaluar las celdas en un orden determinado, pero las hojas de cálculo modernas calculan siguiendo un orden de recálculo mínimo a partir del gráfico de dependencia. Las hojas de cálculo posteriores también incluyen una capacidad limitada para propagar valores en sentido inverso, alterando los valores de origen de modo que se alcance una respuesta determinada en una celda determinada. Sin embargo, dado que las fórmulas de las celdas de las hojas de cálculo no suelen ser invertibles, esta técnica tiene un valor algo limitado.
Muchos de los conceptos comunes a los modelos de programación secuencial tienen análogos en el mundo de las hojas de cálculo. Por ejemplo, el modelo secuencial del bucle indexado suele representarse como una tabla de celdas, con fórmulas similares (que normalmente difieren solo en las celdas a las que hacen referencia).
Las hojas de cálculo han evolucionado para utilizar lenguajes de programación como VBA como herramienta de extensibilidad más allá de lo que el lenguaje de la hoja de cálculo permite.
Si bien las hojas de cálculo representaron un gran avance en el modelado cuantitativo, tienen deficiencias, entre ellas la percepción de que las direcciones de celda alfanuméricas son poco amigables. [58]
Otros problemas asociados con las hojas de cálculo incluyen: [66] [67]
Si bien existen herramientas integradas y de terceros para aplicaciones de hojas de cálculo de escritorio que solucionan algunas de estas deficiencias, el conocimiento y el uso de las mismas son generalmente bajos. Un buen ejemplo de esto es que el 55% de los profesionales del mercado de capitales "no saben" cómo se auditan sus hojas de cálculo; solo el 6% invierte en una solución de terceros [76]
El riesgo de hoja de cálculo es el riesgo asociado con la derivación de un valor materialmente incorrecto de una aplicación de hoja de cálculo que se utilizará para tomar una decisión relacionada (generalmente basada en números). Los ejemplos incluyen la valoración de un activo , la determinación de cuentas financieras , el cálculo de dosis medicinales o el tamaño de una viga de carga para ingeniería estructural. El riesgo puede surgir de la introducción de valores de datos erróneos o fraudulentos, de errores (o cambios incorrectos) dentro de la lógica de la hoja de cálculo o de la omisión de actualizaciones relevantes (por ejemplo, tipos de cambio desactualizados ). Algunos errores de instancia única han superado los mil millones de dólares estadounidenses. [77] [78] Debido a que el riesgo de hoja de cálculo está vinculado principalmente a las acciones (o inacciones) de las personas, se define como una subcategoría del riesgo operativo .
A pesar de esto, la investigación [79] realizada por ClusterSeven reveló que alrededor de la mitad (48%) de los ejecutivos de nivel C y gerentes superiores de empresas que informaron ingresos anuales superiores a £50 millones dijeron que no existían controles de uso en absoluto o que los procesos manuales sobre el uso de hojas de cálculo se aplicaban de manera deficiente en las empresas. [79] [80]
En 2013, Thomas Herndon , un estudiante de posgrado de economía en la Universidad de Massachusetts Amherst, encontró importantes fallas de codificación en la hoja de cálculo utilizada por los economistas Carmen Reinhart y Kenneth Rogoff en Growth in a Time of Debt , un artículo de revista muy influyente de 2010. El artículo de Reinhart y Rogoff fue ampliamente utilizado como justificación para impulsar los programas de austeridad europeos de 2010-2013. [81]
Una interfaz de software que consiste en una cuadrícula interactiva formada por celdas en las que se ingresan datos o fórmulas para su análisis o presentación.
(Ciencias de la computación) programa informático que permite la introducción y manipulación sencilla de cifras, ecuaciones y texto, utilizado especialmente para la planificación financiera y la elaboración de presupuestos.
La versión 3.0 se está escribiendo en el lenguaje informático conocido como C, para facilitar su transporte entre PC, Mac y mainframes.
[...] Los gastos de estas instituciones son auditados cuidadosamente por un personal de contabilidad del Departamento. Cada mes se prepara una hoja de cálculo que muestra cada partida de gasto para que el superintendente esté al tanto, no solo de las cantidades gastadas, sino que también pueda ver de un vistazo cuánto cuestan las mismas partidas en instituciones similares de la provincia.
Mantenemos, en nuestro libro mayor, una llamada Hoja de Cálculo que es una hoja larga con el nombre de cada planta individual en una columna particular.
TABOL Database Manager (TDM), una mejora del lenguaje de análisis financiero TABOL, también se introdujo en agosto de 1982.
y con conocimiento que eliminan la estupidez de innumerables decisiones empresariales. Es interesante lo esencial que es la rapidez. Es la velocidad del sistema 1-2-3 lo que lo coloca en la cima.