Электронная таблица — это компьютерное приложение для вычислений , организации, анализа и хранения данных в табличной форме . [1] [2] [3] Электронные таблицы были разработаны как компьютеризированные аналоги бумажных бухгалтерских таблиц . [4] Программа оперирует данными, введенными в ячейки таблицы. Каждая ячейка может содержать числовые или текстовые данные или результаты формул , которые автоматически вычисляют и отображают значение на основе содержимого других ячеек. Термин «электронная таблица» может также относиться к одному из таких электронных документов. [5] [6] [7]
Пользователи электронных таблиц могут корректировать любое сохраненное значение и наблюдать за влиянием на расчетные значения. Это делает электронную таблицу полезной для анализа «что, если», поскольку многие случаи можно быстро расследовать без ручного пересчета. Современное программное обеспечение для работы с электронными таблицами может иметь несколько взаимодействующих листов и отображать данные в виде текста и цифр или в графической форме. [8]
Помимо выполнения основных арифметических и математических функций , современные электронные таблицы предоставляют встроенные функции для общего финансового учета и статистических операций. Такие расчеты, как чистая приведенная стоимость или стандартное отклонение , можно применять к табличным данным с помощью заранее запрограммированной функции в формуле. Программы для работы с электронными таблицами также предоставляют условные выражения, функции для преобразования текста в числа и функции, которые работают с текстовыми строками .
Электронные таблицы заменили бумажные системы во всем деловом мире. Хотя они были впервые разработаны для задач бухгалтерского учета или бухгалтерского учета , теперь они широко используются в любом контексте, где табличные списки создаются, сортируются и совместно используются.
LANPAR, появившийся в 1969 году [9] , был первой электронной таблицей на мэйнфреймах и компьютерах с разделением времени. LANPAR — это аббревиатура: «Язык для случайного программирования массивов». [9] VisiCalc (1979) был первой электронной таблицей на микрокомпьютере, [10] и помог превратить компьютер Apple II в популярный и широко используемый персональный компьютер. Lotus 1-2-3 был ведущей электронной таблицей, когда DOS была доминирующей операционной системой. [11] Microsoft Excel сейчас занимает самую большую долю рынка на платформах Windows и Macintosh . [12] [13] [14] Программа для работы с электронными таблицами является стандартной функцией офисного пакета . В 2006 году Google запустил бета-версию веб-приложения для работы с электронными таблицами , которое в настоящее время известно как Google Sheets и является одним из приложений, представленных на Google Drive . [15]
Электронная таблица состоит из таблицы ячеек , организованных в строки и столбцы, на которые имеются ссылки по координатам X и Y. Ячейки X, столбцы, обычно обозначаются буквами «A», «B», «C» и т. д., а строки обычно обозначаются цифрами: 1, 2, 3 и т. д. Можно ссылаться на одну ячейку. обращаясь к его строке и столбцу «C10». Эта электронная концепция ссылок на ячейки была впервые представлена в LANPAR (язык для программирования случайных массивов) (изобретен совместно Рене Пардо и Реми Ландау) и в варианте, используемом в VisiCalc и известном как «нотация A1». Кроме того, в электронных таблицах есть понятие диапазона — группы ячеек, обычно смежных. Например, можно обратиться к первым десяти ячейкам первого столбца с диапазоном «A1:A10». LANPAR представил инновационные прямые ссылки/вычисления в естественном порядке, которые не появлялись повторно до Lotus 123 и Microsoft MultiPlan версии 2.
В современных приложениях для работы с электронными таблицами несколько электронных таблиц, часто называемых рабочими листами или просто листами , собираются вместе в рабочую книгу . Рабочая книга физически представлена файлом, содержащим все данные книги, листов и ячеек с листами. Рабочие листы обычно представлены вкладками, которые переключаются между страницами, каждая из которых содержит один из листов, хотя Numbers существенно меняет эту модель. Ячейки в книге, состоящей из нескольких листов, добавляют к своей ссылке имя листа, например «Лист 1!C10». Некоторые системы расширяют этот синтаксис, чтобы разрешить ссылки на ячейки в разных книгах.
Пользователи взаимодействуют с листами преимущественно через ячейки. Данная ячейка может содержать данные, просто введя их, или формулу, которая обычно создается путем добавления к тексту знака равенства. Данные могут включать текстовую строку hello world
, число 5
или дату 16-Dec-91
. Формула начинается со знака равенства, =5*3
но обычно он невидим, поскольку на дисплее отображается результат вычисления , 15
в данном случае, а не сама формула. В некоторых случаях это может привести к путанице.
Ключевой особенностью электронных таблиц является возможность формулы ссылаться на содержимое других ячеек, которые, в свою очередь, могут быть результатом формулы. Чтобы составить такую формулу, нужно заменить число ссылкой на ячейку. Например, формула =5*C10
даст результат умножения значения в ячейке C10 на число 5. Если C10 содержит значение, 3
результат будет 15
. Но C10 может также содержать свою формулу, относящуюся к другим ячейкам и так далее.
Возможность связывать формулы вместе — это то, что придает электронной таблице ее силу. Многие задачи можно разбить на ряд отдельных математических шагов, которые можно присвоить отдельным формулам в ячейках. Некоторые из этих формул можно применять и к диапазонам, например, функция SUM
, которая складывает все числа в диапазоне.
Электронные таблицы имеют много общего с базами данных , но электронные таблицы и базы данных — это не одно и то же. Электронная таблица — это, по сути, всего лишь одна таблица, тогда как база данных — это набор многих таблиц с машиночитаемыми семантическими связями. Хотя книга, содержащая три листа, действительно является файлом, содержащим несколько таблиц, которые могут взаимодействовать друг с другом, ей не хватает реляционной структуры базы данных. Электронные таблицы и базы данных совместимы: листы можно импортировать в базы данных и превращать в таблицы внутри них, а запросы к базе данных можно экспортировать в электронные таблицы для дальнейшего анализа.
Программа для работы с электронными таблицами — это один из основных компонентов офисного пакета , который обычно также содержит текстовый процессор , программу для презентаций и систему управления базами данных . Программы в составе пакета используют схожие команды для аналогичных функций. Обычно обмениваться данными между компонентами проще, чем при использовании неинтегрированной коллекции функционально эквивалентных программ. Это было особенно преимуществом в то время, когда во многих персональных компьютерных системах вместо графического пользовательского интерфейса использовались текстовые дисплеи и команды .
С древних времен люди организовывали данные в таблицы , то есть сетки столбцов и строк. Вавилоняне использовали глиняные таблички для хранения данных еще в 1800 году до нашей эры. [16] Другие примеры можно найти в бухгалтерских книгах и астрономических записях. [17]
По крайней мере, с 1906 года термин «электронная таблица» использовался в бухгалтерском учете для обозначения сетки столбцов и строк в бухгалтерской книге. [18] [19] Слово «таблица» произошло от слова «разворот» в смысле газетной или журнальной статьи (текста или графики), которая охватывает две разворотные страницы, проходит через центральный разворот и рассматривает две страницы как одну большую страницу. [20] [21] Составное слово «электронная таблица» стало обозначать формат, используемый для представления бухгалтерских книг — со столбцами для категорий расходов вверху, счетами-фактурами, перечисленными на левом поле, и суммой каждого платежа. в ячейке, где пересекаются ее строка и столбец, которые традиционно представляли собой «разворот» на разворотных страницах переплетенной бухгалтерской книги (книги для ведения бухгалтерского учета) или на листах бумаги большого размера (называемых «аналитической бумагой»), разбитых на строки и столбцы такого формата и примерно в два раза шире обычной бумаги. [22] [ не удалось проверить ]
Пакетная «электронная таблица » неотличима от пакетного компилятора с добавленными входными данными, создающего выходной отчет, т.е. 4GL или обычной неинтерактивной пакетной компьютерной программы. Однако эта концепция электронной таблицы была изложена в статье Ричарда Маттессича «Модели бюджетирования и системное моделирование» 1961 года . [23] Последующая работа Маттессича (1964a, глава 9, « Бухгалтерские и аналитические методы» ) и сопутствующая ей книга Маттессича (1964b, « Моделирование фирмы с помощью бюджетной компьютерной программы ») применили компьютеризированные электронные таблицы к системам бухгалтерского учета и бюджетирования (на мэйнфреймах) . компьютеры , запрограммированные на FORTRAN IV ). Эти пакетные электронные таблицы в основном касались сложения или вычитания целых столбцов или строк (входных переменных), а не отдельных ячеек .
В 1962 году эта концепция электронных таблиц, получившая название BCL (for Business Computer Language), была реализована на IBM 1130 [ сомнительно ] и в 1963 году была перенесена на IBM 7040 Р. Брайаном Уолшем из Университета Маркетт , штат Висконсин . Эта программа написана на Фортране . На этих машинах было доступно примитивное разделение времени . В 1968 году BCL был портирован Уолшем на машину с разделением времени IBM 360/67 в Университете штата Вашингтон . Он использовался для оказания помощи в преподавании финансов студентам-бизнесменам. Студенты могли брать информацию, подготовленную профессором, и манипулировать ею, чтобы представить ее, показать соотношения и т. д. В 1964 году Кимбалл, Стоффеллс и Уолш написали книгу под названием « Бизнес-компьютерный язык» , и в 1966 году и книга, и программа были защищены авторскими правами. позже авторские права были продлены. [24]
В компании Applied Data Resources был препроцессор FORTRAN под названием Empires.
В конце 1960-х годов Xerox использовала BCL для разработки более сложной версии своей системы разделения времени.
Ключевое изобретение в области разработки электронных таблиц было сделано Рене К. Пардо и Реми Ландау, которые в 1970 году подали заявку на патент США № 4,398,249 на автоматический алгоритм расчета естественного порядка для электронных таблиц . Хотя патент был первоначально отклонен патентным ведомством как чисто математическое изобретение, после 12 лет апелляций Пардо и Ландау выиграли знаковое судебное дело в Суде предшествующего федерального округа (CCPA), отменив решение Патентного ведомства в 1983 году. установив, что «что-то не перестает становиться патентоспособным только потому, что новизна заключается в алгоритме». Однако в 1995 году федеральный окружной суд признал патент не имеющим исковой силы из-за несправедливого поведения изобретателей в процессе подачи заявки. [25] Апелляционный суд Федерального округа США оставил это решение в силе в 1996 году. [26]
Фактическое программное обеспечение называлось LANPAR — язык для программирования массивов в случайном порядке. [примечание 1] Это было задумано и полностью разработано летом 1969 года, после недавнего окончания Пардо и Ландау Гарвардского университета. Соавтор изобретения Рене Пардо вспоминает, что он чувствовал, что одному менеджеру Bell Canada не следует зависеть от программистов в программировании и изменении форм бюджета, и он подумал о том, чтобы позволить пользователям вводить формы в любом порядке, а электронный компьютер рассчитывает результаты в правильный порядок («Прямая ссылка/Расчет естественного порядка»). Пардо и Ландау разработали и внедрили программное обеспечение в 1969 году. [27]
LANPAR использовался Bell Canada, AT&T и 18 действующими телефонными компаниями по всей стране для составления местных и национальных бюджетов. LANPAR также использовался General Motors. Его уникальностью было совместное изобретение Пардо, включающее прямые ссылки/вычисления в естественном порядке (один из первых «непроцедурных» компьютерных языков) [28] в отличие от последовательности слева направо и сверху вниз для вычисления результатов в каждой ячейке. который использовался VisiCalc , SuperCalc и первой версией MultiPlan . Без прямых ссылок и вычислений в естественном порядке пользователю приходилось обновлять таблицу до тех пор, пока значения во всех ячейках не оставались неизменными. Как только значения ячеек оставались постоянными, пользователь был уверен, что в электронной таблице не осталось прямых ссылок.
В 1968 году трое бывших сотрудников компьютерной компании General Electric со штаб-квартирой в Финиксе, штат Аризона, решили основать собственную компанию по разработке программного обеспечения. А. Лерой Эллисон, Гарри Н. Кантрелл и Рассел Э. Эдвардс столкнулись с необходимостью выполнять большое количество расчетов при составлении таблиц для бизнес-планов, которые они представляли венчурным капиталистам. Они решили сэкономить массу усилий и написали компьютерную программу, которая создавала для них таблицы. Эта программа, изначально задуманная как простая утилита для личного использования, оказалась первым программным продуктом, предложенным компанией, которая стала известна как Capex Corporation . «AutoPlan» работал на службе разделения времени GE ; впоследствии была представлена версия, работавшая на мэйнфреймах IBM, под названием AutoTab . ( Национальная 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 , которое полностью скрывало язык программирования от конечного пользователя. Благодаря операционной системе IBM VM она была одной из первых программ, автоматически обновлявших каждую копию приложения по мере выпуска новых версий. Пользователи могли указывать простые математические связи между строками и столбцами. По сравнению с любыми современными альтернативами, он может поддерживать очень большие электронные таблицы. Он ежемесячно загружал фактические данные финансового планирования , полученные из устаревшей пакетной системы, в электронную таблицу каждого пользователя. Он был разработан для оптимизации возможностей APL с помощью объектных ядер, повышая эффективность программы почти в 50 раз по сравнению с традиционными подходами к программированию.
Примером ранней электронной таблицы «промышленного веса» была APLDOT, разработанная в 1976 году Ассоциацией железных дорог США на IBM 360/91, работающая в Лаборатории прикладной физики Университета Джона Хопкинса в Лореле, Мэриленд. [32] Приложение успешно использовалось в течение многих лет при разработке таких приложений, как финансовые модели и модели расчета затрат для Конгресса США и для Conrail . APLDOT был назван «электронной таблицей», потому что финансовые аналитики и специалисты по стратегическому планированию использовали его для решения тех же проблем, которые они решали с помощью бумажных блокнотов для электронных таблиц.
Концепция электронных таблиц стала широко известна благодаря VisiCalc , она была разработана для Apple II в 1979 году сотрудниками VisiCorp Дэном Бриклином и Бобом Франкстоном , что немаловажно, она также превратила персональный компьютер из хобби компьютерных энтузиастов в бизнес-инструмент.
VisiCalc была первой электронной таблицей, которая объединила в себе многие основные функции современных приложений для работы с электронными таблицами, такие как интерактивный пользовательский интерфейс WYSIWYG , автоматический пересчет, строки состояния и формулы, копирование диапазона с относительными и абсолютными ссылками, построение формул путем выбора ячеек, на которые имеются ссылки. Не зная о LANPAR, журнал PC World назвал VisiCalc первой электронной таблицей. [33]
Бриклин рассказал о том, как наблюдал, как его университетский профессор создавал на доске таблицу результатов вычислений . Когда профессор обнаружил ошибку, ему пришлось утомительно стирать и переписывать несколько последовательных записей в таблице, что заставило Бриклина подумать, что он может воспроизвести процесс на компьютере, используя доску в качестве модели для просмотра результатов основных формул. Его идеей стал VisiCalc.
VisiCalc стал первым « убийственным приложением », [34] [35] приложением, которое было настолько привлекательным, что люди покупали конкретный компьютер только для того, чтобы его использовать. VisiCalc в немалой степени был ответственен за успех Apple II. Позже программа была портирована на ряд других ранних компьютеров, в частности на машины CP/M , 8-битное семейство Atari и различные платформы Commodore . Тем не менее, VisiCalc остается наиболее известной как программа Apple II.
SuperCalc — это приложение для работы с электронными таблицами, опубликованное компанией Sorcim в 1980 году и первоначально входившее в состав (вместе с WordStar) как часть пакета программного обеспечения CP/M, входящего в состав портативного компьютера Osborne 1. Она быстро стала де-факто стандартной электронной таблицей для CP/M.
Появление Lotus 1-2-3 в ноябре 1982 года ускорило распространение персонального компьютера IBM . Он был написан специально для 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 начала 1990-х годов позволили их приложению для работы с электронными таблицами Excel отобрать долю рынка у Lotus. К тому времени, когда Lotus ответила выпуском пригодных для использования продуктов Windows, Microsoft начала собирать свой пакет Office . К 1995 году Excel стал лидером рынка, вытеснив Lotus 1-2-3, [22] а в 2013 году IBM вообще прекратила выпуск Lotus 1-2-3. [38]
В 2006 году Google выпустила бета-версию Google Sheets , веб-приложения для работы с электронными таблицами, к которому могут получить доступ несколько пользователей с любого типа устройства с помощью совместимого веб-браузера. Его можно использовать онлайн и офлайн (с подключением к Интернету или без него). 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 в качестве цифр. Его физический размер обычно можно адаптировать к его содержимому, перетаскивая его высоту или ширину на пересечениях блоков (или для целых столбцов или строк, перетаскивая заголовки столбцов или строк).
Массив ячеек называется листом или рабочим листом . Он аналогичен массиву переменных в обычной компьютерной программе (хотя некоторые неизменяемые значения, однажды введенные, по той же аналогии можно считать константами ). В большинстве реализаций множество рабочих листов могут быть расположены в одной электронной таблице. Рабочий лист — это просто подмножество электронной таблицы, разделенное для ясности. Функционально электронная таблица работает как единое целое, и все ячейки действуют как глобальные переменные внутри электронной таблицы (каждая переменная имеет доступ только для чтения, за исключением содержащей ее ячейки).
Ячейка может содержать значение или формулу или ее можно просто оставить пустой. По соглашению формулы обычно начинаются со знака = .
Значение можно ввести с клавиатуры компьютера, введя непосредственно в саму ячейку. Альтернативно, значение может быть основано на формуле (см. ниже), которая может выполнять вычисления, отображать текущую дату или время или получать внешние данные, такие как котировки акций или значения из базы данных.
Правило значений электронной таблицы
Ученый-компьютерщик Алан Кей использовал термин « правило значения» , чтобы обобщить работу электронной таблицы: значение ячейки зависит исключительно от формулы, которую пользователь ввел в ячейку. [47] Формула может основываться на значениях других ячеек, но эти ячейки также ограничены введенными пользователем данными или формулами. При вычислении формулы нет «побочных эффектов»: единственным выходом является отображение вычисленного результата внутри занимаемой ячейки. Не существует естественного механизма постоянного изменения содержимого ячейки, если пользователь не изменяет содержимое ячейки вручную. В контексте языков программирования это дает ограниченную форму функционального программирования первого порядка . [48]
Эта дополнительная функция, являющаяся стандартом электронных таблиц с 1980-х годов, устраняет необходимость вручную запрашивать программу работы с электронными таблицами для пересчета значений (в настоящее время это обычно опция по умолчанию, если она специально не «выключена» для больших электронных таблиц, обычно для повышения производительности). Некоторые более ранние электронные таблицы требовали ручного запроса на пересчет, поскольку пересчет больших или сложных электронных таблиц часто снижал скорость ввода данных. Многие современные электронные таблицы по-прежнему сохраняют эту опцию.
Перерасчет обычно требует, чтобы в электронной таблице не было циклических зависимостей . Граф зависимостей — это граф, в котором есть вершина для каждого обновляемого объекта и ребро, соединяющее два объекта, когда один из них необходимо обновить раньше другого. Графы зависимостей без циклических зависимостей образуют направленные ациклические графы , представления частичного упорядочения (в данном случае по электронной таблице), на которые можно положиться для получения определенного результата. [49]
Эта функция относится к периодическому обновлению содержимого ячейки значением из внешнего источника, например ячейки в «удаленной» электронной таблице. Для общих веб-таблиц это применяется к «немедленному» обновлению ячеек, которые обновил другой пользователь. Все зависимые ячейки также должны быть обновлены.
После ввода выбранные ячейки (или вся электронная таблица) могут быть дополнительно «заблокированы», чтобы предотвратить случайную перезапись. Обычно это применимо к ячейкам, содержащим формулы, но может применяться и к ячейкам, содержащим «константы», такие как коэффициент преобразования килограмм/фунт (2,20462262 до восьми десятичных знаков). Несмотря на то, что отдельные ячейки помечены как заблокированные, данные электронной таблицы не защищены до тех пор, пока эта функция не будет активирована в настройках файла.
При необходимости можно определить ячейку или диапазон, чтобы указать, как отображается значение. Формат отображения по умолчанию обычно задается его исходным содержимым, если он не был специально установлен ранее, так что, например, «31.12.2007» или «31 декабря 2007 года» по умолчанию будет использоваться формат ячейки date . Аналогично, добавление знака % после числового значения пометит ячейку как процентный формат ячейки. Содержимое ячейки не изменяется в этом формате, а только отображаемое значение.
Некоторые форматы ячеек, такие как «числовой» или «денежный», также могут указывать количество десятичных знаков .
Это может привести к недопустимым операциям (например, умножению ячейки, содержащей дату), что приведет к нелогичным результатам без соответствующего предупреждения.
В зависимости от возможностей приложения для работы с электронными таблицами каждая ячейка (как и ее аналог «стиль» в текстовом процессоре ) может быть отформатирована отдельно с использованием атрибутов либо содержимого (размер точки, цвет, жирный или курсив), либо ячейки (границы). толщина, затенение фона, цвет). Чтобы улучшить читаемость электронной таблицы, к данным можно условно применить форматирование ячеек; например, отрицательное число может отображаться красным цветом.
Форматирование ячейки обычно не влияет на ее содержимое, и в зависимости от того, как на ячейки ссылаются или копируют их в другие листы или приложения, форматирование может не переноситься вместе с содержимым.
В большинстве реализаций ячейка или группа ячеек в столбце или строке могут быть «именованными», что позволяет пользователю ссылаться на эти ячейки по имени, а не по ссылке на сетку. Имена должны быть уникальными в пределах электронной таблицы, но при использовании нескольких листов в файле электронной таблицы можно использовать диапазон ячеек с одинаковым именем на каждом листе, если он отличается добавлением имени листа. Одной из причин такого использования является создание или запуск макросов, которые повторяют команду на многих листах. Другая причина заключается в том, что формулы с именованными переменными легко проверяются на соответствие алгебре, для реализации которой они предназначены (они напоминают выражения Фортрана). Использование именованных переменных и именованных функций также делает структуру электронной таблицы более прозрачной.
Вместо именованной ячейки альтернативным подходом является использование ссылки на ячейку (или сетку). Большинство ссылок на ячейки указывают на другую ячейку в той же электронной таблице, но ссылка на ячейку может также ссылаться на ячейку на другом листе в той же электронной таблице или (в зависимости от реализации) на ячейку в другой электронной таблице целиком или на значение из удаленное приложение.
Типичная ссылка на ячейку в стиле «A1» состоит из одной или двух букв без учета регистра, обозначающих столбец (если столбцов до 256: A–Z и AA–IV), за которыми следует номер строки (например, в диапазоне 1–65536). Любая часть может быть относительной (она меняется, когда формула, в которой она находится, перемещается или копируется) или абсолютной (обозначается знаком $ перед соответствующей частью ссылки на ячейку). Альтернативный стиль ссылки «R1C1» состоит из буквы R, номера строки, буквы C и номера столбца; Относительные номера строк или столбцов обозначаются путем заключения числа в квадратные скобки. В большинстве современных электронных таблиц используется стиль A1, а в некоторых в качестве опции совместимости предусмотрен стиль R1C1.
Когда компьютер вычисляет формулу в одной ячейке для обновления отображаемого значения этой ячейки, ссылки на ячейку в этой ячейке, называющие некоторые другие ячейки, заставляют компьютер получать значение именованной ячейки(й).
Ячейка на том же «листе» обычно адресуется так:
=А1
Ячейка на другом листе той же таблицы обычно называется:
=SHEET2!A1 (то есть первая ячейка на листе 2 той же таблицы).
Некоторые реализации электронных таблиц в Excel допускают ссылки на ячейки на другую электронную таблицу (не на текущий открытый и активный файл) на том же компьютере или в локальной сети. Оно также может относиться к ячейке в другой открытой и активной электронной таблице на том же компьютере или в сети, которая определена как общедоступная. Эти ссылки содержат полное имя файла, например:
='C:\Documents and Settings\Имя пользователя\Мои таблицы\[основной лист]Лист1!A1
В электронной таблице ссылки на ячейки автоматически обновляются при вставке или удалении новых строк или столбцов. Однако необходимо соблюдать осторожность при добавлении строки непосредственно перед набором итогов по столбцам, чтобы итоги отражали значения дополнительных строк, чего зачастую не происходит.
Циклическая ссылка возникает, когда формула в одной ячейке ссылается — прямо или косвенно через цепочку ссылок на ячейки — на другую ячейку, которая ссылается обратно на первую ячейку. Многие распространенные ошибки вызывают циклические ссылки. Однако некоторые допустимые методы используют циклические ссылки. Эти методы после многих перерасчетов электронных таблиц (обычно) сходятся в правильных значениях для этих ячеек.
Аналогично, вместо использования именованного диапазона ячеек можно использовать ссылку на диапазон. Ссылка на диапазон ячеек типична для формы (A1:A6), которая определяет все ячейки в диапазоне от A1 до A6. Такая формула, как «=SUM(A1:A6)», добавит все указанные ячейки и поместит результат в ячейку, содержащую саму формулу.
В самых ранних электронных таблицах ячейки представляли собой простую двумерную сетку. Со временем модель расширилась и включила третье измерение, а в некоторых случаях и серию именованных сеток, называемых листами. Наиболее продвинутые примеры допускают операции инверсии и вращения, которые позволяют нарезать и проецировать набор данных различными способами.
A
столбце (10, 20, 30), а остальные ячейки представляют собой формулы. Формулы в B
столбце умножают значения из столбца A, используя относительные ссылки, а формула в B4
использует SUM()
функцию для нахождения суммы значений в B1:B3
диапазоне.Формула определяет расчет , необходимый для помещения результата в ячейку, в которой он содержится. Таким образом, ячейка, содержащая формулу, имеет два компонента отображения; сама формула и полученное значение. Формула обычно отображается только тогда, когда ячейка выбрана путем «щелкания» мыши по определенной ячейке; в противном случае он содержит результат вычисления.
Формула присваивает значения ячейке или диапазону ячеек и обычно имеет следующий формат:
где выражение состоит из:
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 можно использовать формулу, основанную на функции ПОВТОР. [50]
В конце 1980-х — начале 1990-х годов появились первые Javelin Software и Lotus Improv . В отличие от моделей в обычной электронной таблице, они использовали модели, построенные на объектах, называемых переменными, а не на данных в ячейках отчета. Эти многомерные электронные таблицы позволяли просматривать данные и алгоритмы различными способами самодокументирования, включая одновременные несколько синхронизированных представлений. Например, пользователи Javelin могут перемещаться по связям между переменными на диаграмме, видя логические корни и ветви каждой переменной. Это пример того, что, возможно, является его основным вкладом в более раннюю версию Javelin — концепцию прослеживаемости логики пользователя или структуры модели через двенадцать представлений. Сложную модель могут разобрать и понять другие, не принимавшие участия в ее создании.
В этих программах временной ряд или любая переменная представляли собой объект сам по себе, а не набор ячеек, которые случайно появляются в строке или столбце. Переменные могут иметь множество атрибутов, включая полную осведомленность об их связях со всеми другими переменными, ссылками на данные, а также текстовыми и графическими примечаниями. Вычисления выполнялись над этими объектами, а не над диапазоном ячеек, поэтому добавление двух временных рядов автоматически выравнивает их по календарному времени или по заданному пользователем временному интервалу. Данные были независимы от рабочих листов — переменные и, следовательно, данные не могли быть уничтожены путем удаления строки, столбца или всего рабочего листа. Например, январские затраты вычитаются из январских доходов независимо от того, где и появляются ли они на листе. Это позволяет выполнять действия, которые позже будут использоваться в сводных таблицах , за исключением того, что гибкое манипулирование таблицами отчетов было лишь одной из многих возможностей, поддерживаемых переменными. Более того, если затраты вводятся по неделям, а доходы по месяцам, программа может распределить или интерполировать по мере необходимости. Такая объектная конструкция позволяла переменным и целым моделям ссылаться друг на друга с помощью определяемых пользователем имен переменных, а также выполнять многомерный анализ и массовые, но легко редактируемые консолидации.
Электронная таблица Trapeze [46] для Mac пошла дальше и явно поддерживала не только столбцы таблицы, но и матричные операторы.
Электронные таблицы, язык формул которых основан на логических выражениях, а не на арифметических выражениях, называются логическими электронными таблицами . Такие электронные таблицы можно использовать для дедуктивного рассуждения о значениях их ячеек.
Подобно тому, как ранние языки программирования были разработаны для распечатки электронных таблиц, сами методы программирования эволюционировали для более эффективной обработки таблиц (также известных как электронные таблицы или матрицы ) данных на самом компьютере.
Электронные таблицы — популярный инструмент разработки для конечных пользователей . [51] EUD обозначает действия или методы, в которых люди, не являющиеся профессиональными разработчиками, создают автоматизированное поведение и сложные объекты данных, не обладая глубокими знаниями языка программирования. Многим людям легче выполнять вычисления в электронных таблицах, чем писать эквивалентную последовательную программу. Это связано с несколькими особенностями электронных таблиц.
« Программа электронных таблиц» предназначена для выполнения общих вычислительных задач с использованием пространственных отношений, а не времени в качестве основного принципа организации.
Часто удобно думать о электронной таблице как о математическом графике , где узлы — это ячейки электронной таблицы, а края — это ссылки на другие ячейки, указанные в формулах. Это часто называют графиком зависимостей электронной таблицы. Ссылки между ячейками могут использовать преимущества пространственных концепций, таких как относительное положение и абсолютное положение, а также именованные местоположения, чтобы упростить понимание формул электронных таблиц и управление ими.
Электронные таблицы обычно пытаются автоматически обновлять ячейки, когда ячейки зависят от изменений. В самых ранних электронных таблицах использовалась простая тактика, такая как оценка ячеек в определенном порядке, но современные электронные таблицы рассчитываются в соответствии с минимальным порядком повторных вычислений из графа зависимостей. Более поздние электронные таблицы также включают ограниченную возможность распространения значений в обратном порядке, изменяя исходные значения так, чтобы конкретный ответ достигался в определенной ячейке. Однако, поскольку формулы ячеек электронной таблицы, как правило, не являются обратимыми, этот метод имеет несколько ограниченную ценность.
Многие концепции, общие для моделей последовательного программирования, имеют аналоги в мире электронных таблиц. Например, последовательная модель индексированного цикла обычно представляется в виде таблицы ячеек со схожими формулами (обычно отличающимися только тем, на какие ячейки они ссылаются).
Электронные таблицы эволюционировали, чтобы использовать языки программирования сценариев , такие как VBA, в качестве инструмента расширения, выходящего за рамки того, что упрощает язык электронных таблиц.
Хотя электронные таблицы представляют собой важный шаг вперед в количественном моделировании, у них есть недостатки. Их недостатки включают в себя воспринимаемую недружелюбность буквенно-цифровых адресов ячеек. [57]
Другие проблемы, связанные с электронными таблицами, включают: [65] [66]
Несмотря на то, что существуют встроенные и сторонние инструменты для настольных приложений для работы с электронными таблицами, которые устраняют некоторые из этих недостатков, осведомленность о них и их использование, как правило, низки. Хорошим примером этого является то, что 55% профессионалов рынка капитала «не знают», как проверяются их электронные таблицы; только 6% инвестируют в стороннее решение [75]
Риск электронных таблиц — это риск, связанный с получением существенно неверного значения из приложения для работы с электронными таблицами, которое будет использоваться при принятии соответствующего решения (обычно основанного на цифрах). Примеры включают оценку актива , определение финансовых счетов , расчет медицинских доз или размер несущей балки для проектирования конструкций. Риск может возникнуть из-за ввода ошибочных или мошеннических значений данных, из-за ошибок (или неправильных изменений) в логике электронной таблицы или отсутствия соответствующих обновлений (например, устаревших обменных курсов ). Стоимость некоторых единичных ошибок превысила 1 миллиард долларов США. [76] [77] Поскольку риск электронных таблиц в основном связан с действиями (или бездействием) отдельных лиц, он определяется как подкатегория операционного риска .
Несмотря на это, исследование [78] , проведенное ClusterSeven, показало, что около половины (48%) руководителей высшего звена и старших менеджеров в фирмах, сообщающих о годовом доходе более 50 миллионов фунтов стерлингов, заявили, что либо вообще не было контроля использования, либо плохо применялись ручные процессы в течение использование электронных таблиц на предприятиях. [78] [79]
В 2013 году Томас Херндон , аспирант экономики Массачусетского университета в Амхерсте, обнаружил серьезные ошибки кодирования в электронной таблице, которую использовали экономисты Кармен Рейнхарт и Кеннет Рогофф в «Росте во время долга» , очень влиятельной журнальной статье 2010 года. Статья Рейнхарта и Рогоффа широко использовалась в качестве обоснования запуска европейских программ жесткой экономии на 2010–2013 годы. [80]
Программный интерфейс, состоящий из интерактивной сетки, состоящей из ячеек, в которые вводятся данные или формулы для анализа или представления.
(Информатика) компьютерная программа, которая позволяет легко вводить цифры, уравнения и текст и манипулировать ими, используемая, например, для финансового планирования и составления бюджета.
Версия 3.0 пишется на компьютерном языке, известном как C, чтобы обеспечить удобную транспортировку между ПК, Mac и мэйнфреймами.
[...] расходы этих учреждений тщательно проверяются бухгалтерами Департамента.
Электронная таблица, показывающая каждую статью расходов, составляется каждый месяц, чтобы суперинтендант был в курсе не только затраченных сумм, но и мог сразу увидеть, сколько стоят те же статьи в аналогичных учреждениях провинции.
В нашей главной книге мы ведем так называемую электронную таблицу, которая представляет собой длинный лист с названием каждого отдельного завода в определенном столбце.
TABOL Database Manager (TDM), расширение языка финансового анализа TABOL, также было представлено в августе 1982 г.
Некоторые говорят, что половина всех IBM PC, а их сотни тысяч, работают всего лишь 1-2-3. Числа – умные, быстрые, знающие – выпаривают глупость из бесчисленных деловых решений. Интересно, насколько важна скорость. Скорость 1-2-3 вывела его на первое место.