Электронная таблица — это компьютерное приложение для вычисления , организации, анализа и хранения данных в табличной форме . [ 1] [2] [3] Электронные таблицы были разработаны как компьютерные аналоги бумажных бухгалтерских листов . [4] Программа работает с данными, введенными в ячейки таблицы. Каждая ячейка может содержать как числовые, так и текстовые данные или результаты формул , которые автоматически вычисляют и отображают значение на основе содержимого других ячеек. Термин электронная таблица может также относиться к одному такому электронному документу. [5] [6] [7]
Пользователи электронных таблиц могут корректировать любые сохраненные значения и наблюдать эффекты на вычисляемых значениях. Это делает электронную таблицу полезной для анализа «что если», поскольку многие случаи можно быстро исследовать без ручного пересчета. Современное программное обеспечение для электронных таблиц может иметь несколько взаимодействующих листов и может отображать данные либо в виде текста и цифр, либо в графической форме. [8]
Помимо выполнения основных арифметических и математических функций , современные электронные таблицы предоставляют встроенные функции для обычных финансовых бухгалтерских и статистических операций. Такие вычисления, как чистая текущая стоимость или стандартное отклонение, могут быть применены к табличным данным с помощью предварительно запрограммированной функции в формуле. Программы электронных таблиц также предоставляют условные выражения, функции для преобразования текста в числа и функции, которые работают со строками текста.
Электронные таблицы заменили бумажные системы во всем деловом мире. Хотя они были изначально разработаны для бухгалтерских или счетоводческих задач, теперь они широко используются в любом контексте, где табличные списки создаются, сортируются и совместно используются. [9]
LANPAR, появившийся в 1969 году, [10] был первой электронной таблицей на мэйнфреймах и компьютерах с разделением времени. LANPAR был аббревиатурой: LANguage for Programming Arrays at Random. [10] VisiCalc (1979) был первой электронной таблицей на микрокомпьютере, [11] и он помог превратить Apple II в популярный и широко используемый персональный компьютер. Lotus 1-2-3 был ведущим редактором электронных таблиц, когда DOS была доминирующей операционной системой. [12] Microsoft Excel теперь имеет самую большую долю рынка на платформах Windows и Macintosh . [13] [14] [15] Программа для работы с электронными таблицами является стандартной функцией пакета офисных приложений . В 2006 году Google выпустила бета-версию веб-приложения для работы с электронными таблицами , в настоящее время оно известно как Google Sheets и является одним из приложений, представленных в Google Drive . [16]
Электронная таблица состоит из таблицы ячеек, организованных в строки и столбцы, и ссылается на них с помощью позиций X и Y. Позиции X, столбцы, обычно представлены буквами, "A," "B," "C," и т. д., в то время как строки обычно представлены числами, 1, 2, 3 и т. д. К отдельной ячейке можно обратиться, обратившись к ее строке и столбцу, "C10". Эта электронная концепция ссылок на ячейки была впервые введена в LANPAR (язык программирования массивов случайным образом) (совместно изобретенный Рене Пардо и Реми Ландау) и вариант, используемый в VisiCalc и известный как "нотация A1". Кроме того, электронные таблицы имеют концепцию диапазона , группы ячеек, обычно смежных. Например, можно ссылаться на первые десять ячеек в первом столбце с помощью диапазона "A1:A10". LANPAR ввел новаторские методы прямого обращения/вычисления естественного порядка, которые не появлялись до Lotus 123 и MultiPlan версии 2 от Microsoft.
В современных приложениях для работы с электронными таблицами несколько электронных таблиц, часто называемых рабочими листами или просто листами , собираются вместе, образуя рабочую книгу . Рабочая книга физически представлена файлом, содержащим все данные для книги, листов и ячеек с листами. Рабочие листы обычно представлены вкладками, которые перелистываются между страницами, каждая из которых содержит один из листов, хотя Numbers значительно меняет эту модель. Ячейки в многолистовой книге добавляют имя листа к своей ссылке, например, «Лист 1!C10». Некоторые системы расширяют этот синтаксис, чтобы разрешить ссылки на ячейки для разных рабочих книг.
Пользователи взаимодействуют с листами в основном через ячейки. Заданная ячейка может содержать данные, просто вводимые в нее, или формулу, которая обычно создается путем добавления перед текстом знака равенства. Данные могут включать строку текста hello world
, число 5
или дату 10-Sep-97
. Формула будет начинаться со знака равенства, =5*3
, но обычно он будет невидим, поскольку на дисплее отображается результат вычисления, 15
в данном случае, а не сама формула. В некоторых случаях это может привести к путанице.
Ключевой особенностью электронных таблиц является возможность формулы ссылаться на содержимое других ячеек, что, в свою очередь, может быть результатом формулы. Чтобы создать такую формулу, нужно заменить число ссылкой на ячейку. Например, формула =5*C10
даст результат умножения значения в ячейке C10 на число 5. Если C10 содержит значение, 3
то результатом будет 15
. Но C10 также может содержать свою формулу, ссылающуюся на другие ячейки, и так далее.
Возможность связывать формулы вместе — вот что дает электронным таблицам их мощь. Многие проблемы можно разбить на ряд отдельных математических шагов, и их можно назначить отдельным формулам в ячейках. Некоторые из этих формул можно применять и к диапазонам, например, функция, SUM
которая складывает все числа в диапазоне.
Электронные таблицы разделяют многие принципы и черты баз данных , но электронные таблицы и базы данных — это не одно и то же. Электронная таблица по сути является просто одной таблицей, тогда как база данных — это набор многих таблиц с машиночитаемыми семантическими связями. Хотя верно, что рабочая книга, содержащая три листа, действительно является файлом, содержащим несколько таблиц, которые могут взаимодействовать друг с другом, в ней отсутствует реляционная структура базы данных. Электронные таблицы и базы данных совместимы — листы можно импортировать в базы данных, чтобы они стали таблицами внутри них, а запросы к базам данных можно экспортировать в электронные таблицы для дальнейшего анализа.
Программа для работы с электронными таблицами является одним из основных компонентов офисного пакета производительности , который обычно также содержит текстовый процессор , программу для презентаций и систему управления базами данных . Программы в составе пакета используют схожие команды для схожих функций. Обычно обмен данными между компонентами проще, чем с неинтегрированным набором функционально эквивалентных программ. Это было особенно преимуществом в то время, когда многие персональные компьютерные системы использовали текстовые дисплеи и команды вместо графического пользовательского интерфейса .
Люди организовывали данные в таблицы , то есть сетки столбцов и строк, с древних времен. Вавилоняне использовали глиняные таблички для хранения данных еще в 1800 году до нашей эры. [17] Другие примеры можно найти в бухгалтерских книгах и астрономических записях. [18]
По крайней мере с 1906 года термин «электронная таблица» использовался в бухгалтерском учете для обозначения сетки столбцов и строк в бухгалтерской книге. [19] [20] А до появления компьютеризированных электронных таблиц «разворот» относился к газетной или журнальной статье (тексту или графике), которая занимала две разворотные страницы, простираясь по центральному развороту и рассматривая две страницы как одну большую страницу. [21] Составное слово «электронная таблица» стало означать формат, используемый для представления бухгалтерских книг — со столбцами для категорий расходов вверху, счетами-фактурами, перечисленными внизу по левому полю, и суммой каждого платежа в ячейке, где пересекаются его строка и столбец — которые традиционно представляли собой «разворот» на разворотных страницах переплетенной бухгалтерской книги (книги для ведения бухгалтерских записей) или на листах бумаги большого размера (называемых «аналитической бумагой»), разлинованных на строки и столбцы в этом формате и примерно в два раза шире обычной бумаги. [22] [ не удалось проверить ]
Пакетная «электронная таблица» неотличима от пакетного компилятора с добавленными входными данными, создающего выходной отчет, т . е . 4GL или обычную, неинтерактивную пакетную компьютерную программу. Однако эта концепция электронной электронной таблицы была изложена в статье 1961 года «Бюджетные модели и системное моделирование» Ричарда Маттессиха . [23] Последующая работа Маттессиха (1964a, Chpt. 9, Accounting and Analytical Methods ) и сопутствующий ей том Маттессиха (1964b, Simulation of the Firm through a Budget Computer Program ) применили компьютеризированные электронные таблицы к системам бухгалтерского учета и бюджетирования (на мэйнфреймовых компьютерах, запрограммированных на FORTRAN IV ). Эти пакетные электронные таблицы в основном имели дело с добавлением или вычитанием целых столбцов или строк (входных переменных), а не отдельных ячеек .
В 1962 году эта концепция электронной таблицы, названная BCL для Business Computer Language, была реализована на IBM 1130 [ сомнительно – обсудить ] и в 1963 году была перенесена на IBM 7040 Р. Брайаном Уолшем в Университете Маркетта , штат Висконсин . Эта программа была написана на Фортране . На этих машинах был доступен примитивный режим разделения времени . В 1968 году Уолш перенес BCL на машину разделения времени IBM 360/67 в Университете штата Вашингтон . Она использовалась для обучения финансам студентов-бизнесменов. Студенты могли брать информацию, подготовленную профессором , и манипулировать ею, чтобы представлять ее и показывать соотношения и т. д. В 1964 году Кимбалл, Стоффеллс и Уолш написали книгу под названием Business Computer Language . И книга, и программа были защищены авторским правом в 1966 году, и годы спустя это авторское право было возобновлено. [24]
У Applied Data Resources был препроцессор FORTRAN под названием Empires.
В конце 1960-х годов компания Xerox использовала BCL для разработки более сложной версии своей системы разделения времени.
Ключевое изобретение в развитии электронных таблиц было сделано Рене К. Пардо и Реми Ландау, которые в 1970 году подали патент США 4,398,249 на алгоритм автоматического расчета естественного порядка электронных таблиц . Хотя патент был первоначально отклонен патентным ведомством как чисто математическое изобретение, после 12 лет апелляций Пардо и Ландау выиграли знаменательное судебное дело в Суде-предшественнике Федерального округа (CCPA), отменив решение Патентного ведомства в 1983 году — установив, что «что-то не перестает быть патентоспособным просто потому, что смысл новизны заключается в алгоритме». Однако в 1995 году федеральный окружной суд постановил, что патент не может быть принудительно исполнен из-за несправедливого поведения изобретателей во время процесса подачи заявки. [25] Апелляционный суд Соединенных Штатов по Федеральному округу поддержал это решение в 1996 году. [26]
Фактическое программное обеспечение называлось LANPAR — LANguage for Programming Arrays at Random. [примечание 1] Оно было задумано и полностью разработано летом 1969 года, после недавнего окончания Пардо и Ландау Гарвардского университета. Соавтор Рене Пардо вспоминает, что он чувствовал, что один менеджер в Bell Canada не должен зависеть от программистов в программировании и изменении форм бюджетирования, и он думал о том, чтобы позволить пользователям печатать формы в любом порядке и заставить электронный компьютер вычислять результаты в правильном порядке («Forward Referencecing/Natural Order Calculation»). Пардо и Ландау разработали и внедрили программное обеспечение в 1969 году. [27]
LANPAR использовался Bell Canada, AT&T и 18 действующими телефонными компаниями по всей стране для своих местных и национальных бюджетных операций. LANPAR также использовался General Motors. Его уникальность заключалась в совместном изобретении Пардо, включающем прямые ссылки/вычисления в естественном порядке (один из первых «непроцедурных» компьютерных языков) [28] в отличие от последовательности слева направо, сверху вниз для вычисления результатов в каждой ячейке, которая использовалась VisiCalc , SuperCalc и первой версией MultiPlan . Без прямых ссылок/вычислений в естественном порядке пользователю приходилось обновлять электронную таблицу, пока значения во всех ячейках не оставались неизменными. Как только значения ячеек оставались постоянными, пользователь был уверен, что в электронной таблице не осталось прямых ссылок.
В 1968 году три бывших сотрудника компьютерной компании General Electric со штаб-квартирой в Фениксе, штат Аризона, решили открыть собственную компанию по разработке программного обеспечения. А. Лерой Эллисон, Гарри Н. Кантрелл и Рассел Э. Эдвардс обнаружили, что им приходится выполнять большое количество вычислений при составлении таблиц для бизнес-планов, которые они представляли венчурным капиталистам. Они решили сэкономить много усилий и написали компьютерную программу, которая создавала для них таблицы. Эта программа, изначально задуманная как простая утилита для их личного использования, стала первым программным продуктом, предлагаемым компанией, которая станет известна как Capex Corporation . «AutoPlan» работал на службе разделения времени GE ; впоследствии была представлена версия, работающая на мэйнфреймах IBM под названием AutoTab . ( National CSS предлагала аналогичный продукт, CSSTAB, который имел умеренную базу пользователей с разделением времени к началу 1970-х годов. Основным применением было табулирование исследований общественного мнения.)
AutoPlan/AutoTab не была программой интерактивных электронных таблиц WYSIWYG , это был простой язык сценариев для электронных таблиц. Пользователь определял имена и метки для строк и столбцов, затем формулы, которые определяли каждую строку или столбец. В 1975 году Autotab-II рекламировался как расширение оригинала до максимума " 1500 строк и столбцов, объединенных в любой пропорции, требуемой пользователем... " [29]
GE Information Services, которая управляла службой разделения времени, также запустила собственную систему электронных таблиц Financial Analysis Language (FAL) около 1974 года. Позднее она была дополнена дополнительным языком электронных таблиц TABOL [30] [31] , который был разработан независимым автором Оливером Веллакоттом в Великобритании. И FAL, и TABOL были интегрированы с системой баз данных GEIS DMS.
Система финансового планирования и контроля IBM была разработана в 1976 году Брайаном Ингхэмом из IBM Canada. Она была внедрена IBM по крайней мере в 30 странах. Она работала на мэйнфрейме IBM и была первым приложением для финансового планирования, разработанным с помощью APL , которое полностью скрывало язык программирования от конечного пользователя. Благодаря операционной системе VM от IBM , она была одной из первых программ, которая автоматически обновляла каждую копию приложения по мере выпуска новых версий. Пользователи могли указывать простые математические соотношения между строками и столбцами. По сравнению с любыми современными альтернативами она могла поддерживать очень большие электронные таблицы. Она ежемесячно загружала фактические данные финансового планирования , взятые из устаревшей пакетной системы, в электронную таблицу каждого пользователя. Она была разработана для оптимизации мощности APL с помощью объектных ядер, увеличивая эффективность программы в 50 раз по сравнению с традиционными подходами к программированию.
Примером ранней «промышленной» электронной таблицы веса была APLDOT, разработанная в 1976 году в Ассоциации железных дорог США на IBM 360/91, работающей в Лаборатории прикладной физики Университета Джонса Хопкинса в Лореле, штат Мэриленд. [32] Приложение успешно использовалось в течение многих лет при разработке таких приложений, как финансовые и стоимостные модели для Конгресса США и для Conrail . APLDOT была названа «электронной таблицей», потому что финансовые аналитики и стратегические планировщики использовали ее для решения тех же проблем, которые они решали с помощью бумажных электронных таблиц.
Концепция электронных таблиц стала широко известна благодаря VisiCalc , разработанной для Apple II в 1979 году сотрудниками VisiCorp Дэном Бриклином и Бобом Фрэнкстоном . Примечательно, что она также превратила персональный компьютер из хобби для компьютерных энтузиастов в бизнес-инструмент.
VisiCalc была первой электронной таблицей, которая объединила многие из основных функций современных приложений электронных таблиц, таких как интерактивный пользовательский интерфейс WYSIWYG , автоматический пересчет, строки состояния и формулы, копирование диапазона с относительными и абсолютными ссылками и построение формулы путем выбора ссылочных ячеек. Не зная о LANPAR в то время, журнал PC World назвал VisiCalc первой электронной таблицей. [33]
Бриклин рассказывал о том, как наблюдал, как его университетский профессор создавал таблицу результатов вычислений на доске . Когда профессор находил ошибку, ему приходилось утомительно стирать и переписывать несколько последовательных записей в таблице, что навело Бриклина на мысль, что он мог бы воспроизвести этот процесс на компьютере, используя доску в качестве модели для просмотра результатов базовых формул. Его идея стала VisiCalc.
VisiCalc для Apple II стал первым killer application , [34] [35] программой, настолько убедительной, что люди покупали конкретный компьютер только для того, чтобы пользоваться ею. Она была перенесена на другие компьютеры, включая машины CP/M , 8-битные компьютеры Atari и Commodore PET , но VisiCalc по-прежнему наиболее известна как программа для Apple II.
SuperCalc — приложение для работы с электронными таблицами, выпущенное Sorcim в 1980 году и изначально поставлявшееся (вместе с WordStar) в составе программного пакета CP/M, входящего в комплект портативного компьютера Osborne 1. Оно быстро стало фактическим стандартом электронных таблиц для CP/M.
Появление Lotus 1-2-3 в ноябре 1982 года ускорило принятие IBM Personal Computer . Он был написан специально для IBM PC DOS и имел улучшения в скорости и графике по сравнению с VisiCalc на Apple II, что способствовало росту его популярности. [36] Lotus 1-2-3 был ведущей электронной таблицей в течение нескольких лет.
Microsoft выпустила первую версию Excel для Apple Macintosh 30 сентября 1985 года, а затем перенесла [37] ее на Windows, причем первая версия имела номер 2.05 (для синхронизации с версией Macintosh 2.2) и была выпущена в ноябре 1987 года. Платформы Windows 3.x от Microsoft начала 1990-х годов позволили их приложению Excel для работы с электронными таблицами отобрать долю рынка у Lotus. К тому времени, когда Lotus ответила пригодными для использования продуктами Windows, Microsoft начала собирать свой офисный пакет. К 1995 году Excel стал лидером рынка, вытеснив Lotus 1-2-3, [22] а в 2013 году IBM полностью прекратила поддержку Lotus 1-2-3. [38]
В 2006 году Google выпустила бета-версию Google Таблиц , веб-приложения для работы с электронными таблицами, к которому могут получить доступ несколько пользователей с любого типа устройства с помощью совместимого веб-браузера, его можно использовать как онлайн, так и офлайн (с подключением к Интернету или без него). Google Таблицы произошли от веб-приложения для работы с электронными таблицами XL2Web, разработанного 2Web Technologies , в сочетании с DocVerse, которое обеспечивало многопользовательскую совместную работу над документами Office в режиме онлайн.
В 2016 году был запущен Collabora Online Calc , примечательный тем, что веб-таблицу можно было разместить и интегрировать в любую среду без зависимости от третьей стороны для аутентификации или обслуживания. Collabora Online использует в своей основе комплект LibreOffice , который вырос из StarOffice , запущенного 39 лет назад в 1985 году.
Известные современные программы для работы с электронными таблицами:
Прекращенное программное обеспечение для работы с электронными таблицами:
Несколько компаний пытались проникнуть на рынок электронных таблиц с программами, основанными на совершенно разных парадигмах. Lotus представила, вероятно, самый успешный пример — Lotus Improv , который имел определенный коммерческий успех, особенно в финансовом мире, где его мощные возможности по добыче данных остаются по сей день уважаемыми.
В Spreadsheet 2000 была предпринята попытка значительно упростить построение формул, но в целом она не увенчалась успехом.
Основные концепции — это сетка ячеек , называемая листом, с необработанными данными, называемыми значениями, или формулами в ячейках. Формулы говорят, как механически вычислять новые значения из существующих значений. Значения — это общие числа, но также могут быть чистым текстом, датами, месяцами и т. д. Расширения этих концепций включают логические электронные таблицы. Обычно предоставляются различные инструменты для программирования листов, визуализации данных, удаленного соединения листов, отображения зависимостей ячеек и т. д.
«Ячейку» можно рассматривать как ящик для хранения данных . На отдельную ячейку обычно ссылаются по ее столбцу и строке (C2 будет представлять ячейку, содержащую значение 30 в примере таблицы ниже). Обычно строки, представляющие зависимые переменные , ссылаются в десятичной нотации, начиная с 1, в то время как столбцы, представляющие независимые переменные, используют 26-адическую биективную нумерацию, используя буквы AZ в качестве цифр. Ее физический размер обычно можно подогнать под ее содержимое, перетаскивая ее высоту или ширину на пересечениях ящиков (или для целых столбцов или строк, перетаскивая заголовки столбцов или строк).
Массив ячеек называется листом или рабочим листом . Он аналогичен массиву переменных в обычной компьютерной программе (хотя некоторые неизменные значения, будучи введенными, можно считать, по той же аналогии, константами ). В большинстве реализаций множество рабочих листов могут располагаться в одной электронной таблице. Рабочий лист — это просто подмножество электронной таблицы, разделенное для ясности. Функционально электронная таблица работает как единое целое, а все ячейки работают как глобальные переменные в электронной таблице (каждая переменная имеет доступ только на чтение, за исключением содержащей ее ячейки).
Ячейка может содержать значение или формулу , или она может быть просто оставлена пустой. По соглашению формулы обычно начинаются со знака = .
Значение можно ввести с клавиатуры компьютера, напрямую набрав его в ячейке. В качестве альтернативы значение может быть основано на формуле (см. ниже), которая может выполнять вычисления, отображать текущую дату или время или извлекать внешние данные, такие как котировки акций или значения базы данных.
Правило стоимости электронной таблицы
Ученый-компьютерщик Алан Кей использовал термин «правило значения» , чтобы обобщить работу электронной таблицы: значение ячейки зависит исключительно от формулы, которую пользователь ввел в ячейку. [48] Формула может зависеть от значения других ячеек, но эти ячейки также ограничены введенными пользователем данными или формулами. Нет никаких «побочных эффектов» при вычислении формулы: единственным выходом является отображение вычисленного результата внутри занимаемой ею ячейки. Не существует естественного механизма для постоянного изменения содержимого ячейки, если только пользователь вручную не изменит содержимое ячейки. В контексте языков программирования это дает ограниченную форму функционального программирования первого порядка . [49]
Стандарт электронных таблиц с 1980-х годов, эта дополнительная функция устраняет необходимость вручную запрашивать программу электронных таблиц для пересчета значений (в настоящее время это обычно опция по умолчанию, если только специально не «отключено» для больших электронных таблиц, как правило, для повышения производительности). Некоторые более ранние электронные таблицы требовали ручного запроса для пересчета, поскольку пересчет больших или сложных электронных таблиц часто снижал скорость ввода данных. Многие современные электронные таблицы по-прежнему сохраняют эту опцию.
Пересчет обычно требует, чтобы в электронной таблице не было циклических зависимостей . Граф зависимостей — это граф, имеющий вершину для каждого объекта, который должен быть обновлен, и ребро, соединяющее два объекта, когда один из них должен быть обновлен раньше другого. Графы зависимостей без циклических зависимостей образуют направленные ациклические графы , представления частичных порядков (в данном случае, по электронной таблице), на которые можно положиться, чтобы получить определенный результат. [50]
Эта функция относится к периодическому обновлению содержимого ячейки значением из внешнего источника, например, ячейки в «удалённой» электронной таблице. Для общих веб-таблиц она применяется к «немедленному» обновлению ячеек, которые обновил другой пользователь. Все зависимые ячейки также должны быть обновлены.
После ввода выбранные ячейки (или вся электронная таблица) могут быть опционально "заблокированы" для предотвращения случайной перезаписи. Обычно это применяется к ячейкам, содержащим формулы, но может применяться и к ячейкам, содержащим "константы", такие как коэффициент пересчета килограмм/фунт (2,20462262 до восьми знаков после запятой). Даже если отдельные ячейки помечены как заблокированные, данные электронной таблицы не защищены, пока эта функция не будет активирована в настройках файла.
Ячейка или диапазон могут быть определены по желанию для указания способа отображения значения. Формат отображения по умолчанию обычно устанавливается его начальным содержимым, если он не был задан специально ранее, так что, например, "31/12/2007" или "31 Dec 2007" будут по умолчанию соответствовать формату ячейки date . Аналогично добавление знака % после числового значения пометит ячейку как процентный формат ячейки. Содержимое ячейки не изменяется этим форматом, изменяется только отображаемое значение.
Некоторые форматы ячеек, такие как «числовой» или «денежный», также могут указывать количество десятичных знаков .
Это может привести к выполнению недопустимых операций (например, умножению ячейки, содержащей дату), что приведет к нелогичным результатам без соответствующего предупреждения.
В зависимости от возможностей приложения электронной таблицы, каждая ячейка (как и ее аналог «стиль» в текстовом процессоре ) может быть отформатирована отдельно с использованием атрибутов либо содержимого (размер точки, цвет, полужирный или курсив), либо ячейки (толщина границы, заливка фона, цвет). Для улучшения читаемости электронной таблицы форматирование ячеек может быть условно применено к данным; например, отрицательное число может отображаться красным цветом.
Форматирование ячейки обычно не влияет на ее содержимое, и в зависимости от того, как ячейки ссылаются или копируются в другие рабочие листы или приложения, форматирование может не переноситься вместе с содержимым.
В большинстве реализаций ячейка или группа ячеек в столбце или строке может быть «именована», что позволяет пользователю ссылаться на эти ячейки по имени, а не по ссылке сетки. Имена должны быть уникальными в пределах электронной таблицы, но при использовании нескольких листов в файле электронной таблицы можно использовать диапазон ячеек с идентичным именем на каждом листе, если он отличается добавлением имени листа. Одной из причин такого использования является создание или запуск макросов, которые повторяют команду на многих листах. Другая причина заключается в том, что формулы с именованными переменными легко проверяются по алгебре, которую они должны реализовать (они напоминают выражения Fortran). Использование именованных переменных и именованных функций также делает структуру электронной таблицы более прозрачной.
Вместо именованной ячейки альтернативным подходом является использование ссылки на ячейку (или сетку). Большинство ссылок на ячейки указывают на другую ячейку в той же электронной таблице, но ссылка на ячейку может также ссылаться на ячейку в другом листе в той же электронной таблице или (в зависимости от реализации) на ячейку в другой электронной таблице целиком или на значение из удаленного приложения.
Типичная ссылка на ячейку в стиле «A1» состоит из одной или двух нечувствительных к регистру букв для идентификации столбца (если столбцов до 256: A–Z и AA–IV), за которыми следует номер строки (например, в диапазоне 1–65536). Любая часть может быть относительной (она изменяется при перемещении или копировании формулы, в которой она находится), или абсолютной (обозначается знаком $ перед соответствующей частью ссылки на ячейку). Альтернативный стиль ссылки «R1C1» состоит из буквы R, номера строки, буквы C и номера столбца; относительные номера строк или столбцов указываются путем заключения числа в квадратные скобки. Большинство современных электронных таблиц используют стиль A1, некоторые предоставляют стиль R1C1 в качестве опции совместимости.
Когда компьютер вычисляет формулу в одной ячейке, чтобы обновить отображаемое значение этой ячейки, ссылка(и) на ячейку в этой ячейке, указывающая на какую-то другую ячейку(и), заставляет компьютер извлекать значение указанной ячейки(ей).
Ячейка на том же «листе» обычно адресуется как:
=A1
Ячейка на другом листе той же электронной таблицы обычно адресуется следующим образом:
=ЛИСТ2!A1 (то есть первая ячейка на листе 2 той же электронной таблицы).
Некоторые реализации электронных таблиц в Excel допускают ссылки на ячейки другой электронной таблицы (не на текущий открытый и активный файл) на том же компьютере или в локальной сети. Она также может ссылаться на ячейку в другой открытой и активной электронной таблице на том же компьютере или в локальной сети, которая определена как общедоступная. Эти ссылки содержат полное имя файла, например:
='C:\Documents and Settings\Имя пользователя\Мои таблицы\[главный лист]Лист1!A1
В электронной таблице ссылки на ячейки автоматически обновляются при вставке или удалении новых строк или столбцов. Однако следует соблюдать осторожность при добавлении строки непосредственно перед набором итогов столбцов, чтобы гарантировать, что итоги отражают значения дополнительных строк, чего они часто не делают.
Циклическая ссылка возникает, когда формула в одной ячейке ссылается — напрямую или косвенно через цепочку ссылок ячеек — на другую ячейку, которая ссылается обратно на первую ячейку. Многие распространенные ошибки вызывают циклические ссылки. Однако некоторые допустимые методы используют циклические ссылки. Эти методы после многих пересчетов электронных таблиц (обычно) сходятся на правильных значениях для этих ячеек.
Аналогично, вместо использования именованного диапазона ячеек можно использовать ссылку на диапазон. Ссылка на диапазон ячеек типична для формы (A1:A6), которая определяет все ячейки в диапазоне от A1 до A6. Такая формула, как "=SUM(A1:A6)", сложит все указанные ячейки и поместит результат в ячейку, содержащую саму формулу.
В самых ранних электронных таблицах ячейки представляли собой простую двумерную сетку. Со временем модель расширилась, включив третье измерение, а в некоторых случаях и ряд именованных сеток, называемых листами. Самые продвинутые примеры допускают операции инверсии и вращения, которые могут нарезать и проецировать набор данных различными способами.
Формула определяет вычисление, необходимое для помещения результата в ячейку, в которой она содержится. Таким образом, ячейка, содержащая формулу, имеет два отображаемых компонента: сама формула и результирующее значение. Формула обычно отображается только тогда, когда ячейка выбрана путем «щелчка» мыши по определенной ячейке; в противном случае она содержит результат вычисления.
Формула присваивает значения ячейке или диапазону ячеек и обычно имеет следующий формат:
где выражение состоит из:
2
, 9.14
или 6.67E-11
;A1
на отдельную ячейку или B1:B3
на диапазон;+
, -
, *
, /
, и другие;>=
, <
, и другие; и,SUM()
, TAN()
, и многие другие.Когда ячейка содержит формулу, она часто содержит ссылки на другие ячейки. Такая ссылка на ячейку является типом переменной. Ее значением является значение ячейки, на которую она ссылается, или некое ее производное. Если эта ячейка, в свою очередь, ссылается на другие ячейки, значение зависит от их значений. Ссылки могут быть относительными (например, A1
, или B1:B3
), абсолютными (например, $A$1
, или $B$1:$B$3
) или смешанными абсолютными/относительными по строкам или столбцам (например, $A1
является абсолютной по столбцам и A$1
является абсолютной по строкам).
Доступные параметры для допустимых формул зависят от конкретной реализации электронных таблиц, но, в общем, большинство арифметических операций и довольно сложные вложенные условные операции могут быть выполнены большинством современных коммерческих электронных таблиц. Современные реализации также предлагают функции для доступа к пользовательским функциям сборки, удаленным данным и приложениям.
Формула может содержать условие (или вложенные условия) — с фактическим вычислением или без него — и иногда используется исключительно для выявления и выделения ошибок . В приведенном ниже примере предполагается, что сумма столбца процентов (A1–A6) проверяется на достоверность, а в соседнюю правую ячейку помещается явное сообщение.
Дополнительные примеры:
Лучший способ создания условных операторов — это пошаговое составление с последующим тестированием методом проб и ошибок и доработкой кода.
Электронная таблица не обязательно должна содержать какие-либо формулы, в этом случае ее можно было бы считать просто набором данных, организованных в строки и столбцы ( база данных ), как календарь, расписание или простой список. Из-за простоты использования, форматирования и возможностей гиперссылок многие электронные таблицы используются исключительно для этой цели.
Электронные таблицы обычно содержат несколько предоставленных функций , таких как арифметические операции (например, суммирование, среднее значение и т. д.), тригонометрические функции, статистические функции и т. д. Кроме того, часто имеется положение для пользовательских функций . В Microsoft Excel эти функции определяются с помощью Visual Basic для приложений в предоставленном редакторе Visual Basic, и такие функции автоматически доступны на рабочем листе. Также можно писать программы, которые извлекают информацию из рабочего листа, выполняют некоторые вычисления и возвращают результаты обратно на рабочий лист. На рисунке имя sq назначается пользователем, а функция sq вводится с помощью редактора Visual Basic, поставляемого с Excel. Менеджер имен отображает определения именованных переменных x и y в электронной таблице .
Функции сами по себе не могут записывать данные в рабочий лист, а просто возвращают свою оценку. Однако в Microsoft Excel подпрограммы могут записывать значения или текст, найденный в подпрограмме, непосредственно в электронную таблицу. На рисунке показан код Visual Basic для подпрограммы, которая считывает каждый элемент именованной переменной столбца x , вычисляет его квадрат и записывает это значение в соответствующий элемент именованной переменной столбца y . Столбец y не содержит формулы, поскольку его значения вычисляются в подпрограмме, а не в электронной таблице, и просто записываются.
Всякий раз, когда делается ссылка на ячейку или группу ячеек, которые не находятся в текущем физическом файле электронной таблицы, это рассматривается как доступ к «удалённой» электронной таблице. Содержимое указанной ячейки может быть доступно либо при первой ссылке с ручным обновлением, либо позднее в случае веб-таблиц, как значение, близкое к реальному времени, с указанным интервалом автоматического обновления.
Многие приложения для работы с электронными таблицами позволяют создавать диаграммы и графики (например, гистограммы , круговые диаграммы ) из указанных групп ячеек, которые динамически перестраиваются по мере изменения содержимого ячеек. Сгенерированный графический компонент может быть встроен в текущий лист или добавлен как отдельный объект. Для создания гистограммы Excel можно использовать формулу, основанную на функции REPT. [51]
В конце 1980-х и начале 1990-х годов появились первые Javelin Software и Lotus Improv . В отличие от моделей в обычной электронной таблице, они использовали модели, построенные на объектах, называемых переменными, а не на данных в ячейках отчета. Эти многомерные электронные таблицы позволяли просматривать данные и алгоритмы различными способами самодокументирования, включая одновременные множественные синхронизированные представления. Например, пользователи Javelin могли перемещаться по связям между переменными на диаграмме, одновременно видя логические корни и ветви каждой переменной. Это пример того, что, возможно, является его основным вкладом в более раннюю версию Javelin — концепции прослеживаемости логики пользователя или структуры модели через ее двенадцать представлений. Сложную модель могут разобрать и понять другие, которые не принимали участия в ее создании.
В этих программах временной ряд или любая переменная были объектом сами по себе, а не набором ячеек, которые случайно появляются в строке или столбце. Переменные могли иметь множество атрибутов, включая полную осведомленность об их связях со всеми другими переменными, ссылки на данные и текстовые и графические примечания. Расчеты выполнялись над этими объектами, а не над диапазоном ячеек, поэтому добавление двух временных рядов автоматически выравнивает их по календарному времени или по временным рамкам, определенным пользователем. Данные не зависели от рабочих листов — переменные и, следовательно, данные не могли быть уничтожены путем удаления строки, столбца или всего рабочего листа. Например, расходы за январь вычитаются из доходов за январь, независимо от того, где и появляется ли что-либо из них на рабочем листе. Это позволяет выполнять действия, которые позже используются в сводных таблицах , за исключением того, что гибкое манипулирование таблицами отчетов было лишь одной из многих возможностей, поддерживаемых переменными. Более того, если расходы вводились по неделям, а доходы — по месяцам, программа могла распределять или интерполировать по мере необходимости. Такая объектная конструкция позволила переменным и целым моделям ссылаться друг на друга с помощью определяемых пользователем имен переменных, а также выполнять многомерный анализ и масштабные, но легко редактируемые консолидации.
Trapeze [47] , электронная таблица для Mac, пошла дальше и явно поддерживала не только столбцы таблицы, но и матричные операторы.
Электронные таблицы, которые имеют язык формул, основанный на логических выражениях, а не на арифметических выражениях, известны как логические электронные таблицы . Такие электронные таблицы можно использовать для дедуктивного рассуждения о значениях их ячеек.
Подобно тому, как первые языки программирования были разработаны для создания распечаток электронных таблиц, сами методы программирования эволюционировали для более эффективной обработки таблиц (также известных как электронные таблицы или матрицы ) данных непосредственно на компьютере.
Электронные таблицы являются популярным инструментом разработки для конечных пользователей . [52] EUD обозначает действия или методы, в которых люди, не являющиеся профессиональными разработчиками, создают автоматизированное поведение и сложные объекты данных без значительных знаний языка программирования. Многие люди считают, что проще выполнять вычисления в электронных таблицах, чем писать эквивалентную последовательную программу. Это связано с несколькими особенностями электронных таблиц.
« Программа электронных таблиц» предназначена для выполнения общих вычислительных задач, используя в качестве основного принципа организации пространственные отношения, а не время.
Часто удобно представлять себе электронную таблицу как математический граф , где узлы — ячейки электронной таблицы, а ребра — ссылки на другие ячейки, указанные в формулах. Это часто называют графом зависимостей электронной таблицы. Ссылки между ячейками могут использовать преимущества пространственных концепций, таких как относительное положение и абсолютное положение, а также именованные местоположения, чтобы сделать формулы электронной таблицы более простыми для понимания и управления.
Электронные таблицы обычно пытаются автоматически обновлять ячейки, когда ячейки зависят от изменений. Самые ранние электронные таблицы использовали простые приемы, такие как оценка ячеек в определенном порядке, но современные электронные таблицы вычисляют, следуя минимальному порядку пересчета из графика зависимости. Более поздние электронные таблицы также включают ограниченную возможность распространения значений в обратном направлении, изменяя исходные значения так, чтобы определенный ответ достигался в определенной ячейке. Однако, поскольку формулы ячеек электронных таблиц, как правило, необратимы, этот метод имеет несколько ограниченную ценность.
Многие концепции, общие для моделей последовательного программирования, имеют аналоги в мире электронных таблиц. Например, последовательная модель индексированного цикла обычно представляется в виде таблицы ячеек с похожими формулами (обычно отличающимися только тем, на какие ячейки они ссылаются).
Электронные таблицы эволюционировали и стали использовать языки программирования сценариев , такие как VBA, в качестве инструмента для расширения возможностей, выходящих за рамки возможностей языка электронных таблиц.
Хотя электронные таблицы представляли собой большой шаг вперед в количественном моделировании, у них есть недостатки. К их недостаткам относится воспринимаемая недружелюбность буквенно-цифровых адресов ячеек. [58]
Другие проблемы, связанные с электронными таблицами, включают: [66] [67]
Хотя существуют встроенные и сторонние инструменты для настольных приложений электронных таблиц, которые устраняют некоторые из этих недостатков, осведомленность и использование их, как правило, низки. Хорошим примером этого является то, что 55% профессионалов рынка капитала «не знают», как проверяются их электронные таблицы; только 6% инвестируют в стороннее решение [76]
Риск электронных таблиц — это риск, связанный с получением существенно неверного значения из приложения электронных таблиц, которое будет использоваться при принятии связанного (обычно численного) решения. Примерами являются оценка актива , определение финансовых счетов , расчет доз лекарственных средств или размер несущей балки для структурной инженерии. Риск может возникнуть из-за ввода ошибочных или мошеннических значений данных, из-за ошибок (или неверных изменений) в логике электронной таблицы или из-за пропуска соответствующих обновлений (например, устаревших курсов валют ). Некоторые единичные ошибки превысили 1 миллиард долларов США. [77] [78] Поскольку риск электронных таблиц в основном связан с действиями (или бездействием) отдельных лиц, он определяется как подкатегория операционного риска .
Несмотря на это, исследование [79], проведенное ClusterSeven, показало, что около половины (48%) руководителей высшего звена и старших менеджеров в фирмах, сообщающих о годовом доходе свыше 50 млн фунтов стерлингов, заявили, что в фирмах либо вообще не существует контроля за использованием, либо плохо применяются ручные процессы использования электронных таблиц. [79] [80]
В 2013 году Томас Херндон , аспирант экономики Массачусетского университета в Амхерсте, обнаружил серьезные ошибки кодирования в электронной таблице, использованной экономистами Кармен Рейнхарт и Кеннетом Рогоффом в «Рост во времена долга» , очень влиятельной журнальной статье 2010 года. Статья Рейнхарт и Рогоффа широко использовалась в качестве обоснования для проведения европейских программ жесткой экономии в 2010–2013 годах. [81]
Программный интерфейс, состоящий из интерактивной сетки, составленной из ячеек, в которые вводятся данные или формулы для анализа или представления.
(Компьютерные науки) компьютерная программа, которая позволяет легко вводить и обрабатывать цифры, уравнения и текст, используется в особенности для финансового планирования и составления бюджета.
Выпуск 3.0 написан на компьютерном языке, известном как C, чтобы обеспечить легкую переносимость между ПК, Mac и мэйнфреймами.
[...] расходы этих учреждений тщательно проверяются бухгалтерским персоналом Департамента. Электронная таблица, показывающая каждую статью расходов, составляется каждый месяц, так что суперинтендант не только знает о потраченных суммах, но и может сразу увидеть, сколько стоят те же статьи в аналогичных учреждениях провинции.
В нашей главной книге мы ведем так называемую электронную таблицу, которая представляет собой длинный лист с названием каждого отдельного завода в определенном столбце.
TABOL Database Manager (TDM), усовершенствование языка финансового анализа TABOL, также был представлен в августе 1982 г.
Некоторые говорят, что половина всех IBM PC, а их сотни тысяч, работают только на 1-2-3. Числа — умные, быстрые, знающие — выпаривают глупость из бесчисленных деловых решений. Интересно, насколько важна быстрота. Именно скорость 1-2-3 вывела его на первое место.