Loading AI tools
комп'ютерний застосунок для організації, обробки та аналізу даних в формі таблиць З Вікіпедії, вільної енциклопедії
Електронна таблиця, іноді табличний процесор (англ. electronic spreadsheet — рідко електронний аркуш) — це інтерактивний, комп'ютерний застосунок для налагодження, аналізу та збереження даних у табличному форматі. Спочатку електронні таблиці дозволяли обробляти виключно двовимірні таблиці, передусім із числовими даними, але потім з'явилися продукти, які крім цього дозволяли з'єднувати кілька таблиць для спільної роботи й опрацювання, включати текстові, графічні й інші мультимедійні елементи. Інструментарій електронних таблиць включає різноманітні математичні функції, що дозволяє виконувати складні статистичні, фінансові та інші розрахунки. Багато електронних таблиць включають вбудовану скриптову мову програмування для автоматизації типових робіт.
Ідею електронних таблиць вперше сформулював американський вчений Річард Маттессич, опублікувавши в 1961 р. дослідження під назвою Budgeting Models and System Simulation. Концепцію доповнили в 1970 р. Пардо і Ландау, що подали заявку на відповідний патент. Патентне відомство відхилило заявку, автори через суд у 1983 добилися скасування цього рішення, у 1995 році інше судове рішення визнало цей патент таким, що не може бути підставою для позову.
Загальновизнаним родоначальником електронних таблиць як окремого класу програмного забезпечення є Ден Бриклін, який 1979 року, спільно з Бобом Френкстоном, розробив легендарну програму VisiCalc. Цей табличний редактор для комп'ютера Apple II став «убивчим застосунком», що перетворив персональний комп'ютер з екзотичної іграшки для технофілів у масовий інструмент для бізнесу.
Згодом на ринку з'явилися численні продукти цього класу — SuperCalc, Microsoft MultiPlan, Quattro Pro, Lotus 1-2-3[en], Microsoft Excel, OpenOffice Calc, таблиці AppleWorks і Gnumeric.
LANPAR, відомий з 1969 року,[1] був першою електронною таблицею на мейнфреймах та комп'ютерах із розподілом часу. LANPAR — абревіатура від LANguage for Programming Arrays at Random (укр. мова для випадкового програмування масивів)[1]. VisiCalc (1979) була першою електронною таблицею на мікрокомп'ютері[2] і допомогла перетворити комп'ютер Apple II на популярну і широко використовувану систему. Lotus 1-2-3 був провідною електронною таблицею, в часи домінування операційної системи DOS[3]. Нині найбільшу частку ринку на платформах Windows і Macintosh займає Microsoft Excel[4][5][6]. Застосунок для опрацювання електронних таблиць є стандартною складовою офісних пакунків; після появи вебпрограм офісні пакунки тепер також існують у формі вебзастосунків.
Електронну таблицю утворюють вишикувані в рядки та стовпці комірки, на які можна посилатися, зазначаючи розташування (координати) X та Y. Координату X, тобто стовпці, зазвичай позначаються літерами: «A», «B», «C» тощо, тоді як рядки, як правило, позначають числами: 1, 2, 3 тощо. До однієї комірки можна звернутися, зазначивши її рядок та стовпець «C10». Ця електронна концепція посилань на комірку, вперше введена в LANPAR (винайдена спільно Рене Пардо та Ремі Ландау) і використана у VisiCalc, відома як «нотація A1». Крім того, в електронних таблицях є поняття діапазону, тобто, групи комірок, зазвичай суміжних. Наприклад, на перші десять комірок першого стовпця можна посилатися, як на діапазон «A1:A10».
В сучасних програмах для опрацювання електронних таблиць кілька електронних таблиць, часто відомих як робочі аркуші або просто аркуші утворюють робочу книгу. Робоча книга фізично є файлом, що містить усі дані книги, аркушів і комірок. Робочі аркуші зазвичай розташовано по одному на вкладках, хоча Numbers[en] значно змінює цю модель. До посилання на комірку в книзі з кількома аркушами додають назву аркуша, наприклад, «Аркуш 1! C10». Деякі системи розширюють цей синтаксис, щоб дозволити посилання на комірки в різних книгах.
Користувачі взаємодіють із аркушами переважно через комірки. Кожна комірка може містити введені дані або формулу, яка зазвичай створюється, якщо введений текст починається знаком рівності. Дані можуть бути рядком тексту hello world
, числом 5
або датою 16-Dec-91
. Формула починається зі знака рівності =5*3
, але зазвичай її не видно, оскільки на екран виводиться результат обчислення, 15
, а не сама формула. У деяких випадках це може спричинити плутанину.
Ключовою особливістю електронних таблиць є здатність формули посилатися на значення інших комірок, які, у свою чергу, можуть бути результатами обчислень за формулами. Щоб створити таку формулу, потрібно замінити число посиланням на комірку. Наприклад, формула =5*C10
дасть результат множення значення в комірці C10 на число 5. Якщо C10 містить значення 3
, результатом буде 15
. Але C10 також може мати свою формулу, яка посилається на інші комірки тощо.
Саме здатність пов'язувати між собою формули забезпечує ефективність електронних таблиць. Багато задач можна розбити на серію окремих математичних кроків, і їх можна описати окремими формулами в комірках. Деякі з цих формул також можуть застосовуватися до діапазонів, як, наприклад, функція SUM
, яка додає всі числа в діапазоні.
В основі електронних таблиць лежать багато принципів і властивостей баз даних, але електронні таблиці та бази даних — це не одне й те саме. Електронна таблиця — це, по суті, лише одна таблиця, тоді як база даних — це набір багатьох таблиць із машиночитаними семантичними зв'язками. Хоча книга, яка містить три аркуші, справді є файлом, що містить кілька таблиць, які можуть взаємодіяти одна з одною, їй бракує реляційної структури бази даних. Електронні таблиці та бази даних можуть взаємодіяти — аркуші можна імпортувати в базу даних, де вони стають таблицями, а результати запитів до бази даних можна експортувати в електронні таблиці для подальшого аналізу.
Застосунок для опрацювання електронних таблиць — табличний процесор — є одним з основних компонентів офісного пакунка програм, який зазвичай містить також текстовий процесор, редактор презентацій та систему керування базами даних. Застосунки в пакунку використовують подібні команди для подібних функцій. Зазвичай обмін даними між компонентами пакунка простіший, ніж у добірці, хоч і функціонально еквівалентних, але не інтегрованих застосунків.
Слово «електронна таблиця» походить від слова «spread» у значенні газетного або журнального елемента (текст або графіка), який охоплює дві лицьові сторінки, розширюючи центральну складку і розглядаючи дві сторінки як одну велику сторінку. Складне слово «електронна таблиця» стало означати формат, який використовується для представлення бухгалтерських книг — зі стовпцями для категорій витрат угорі, рахунками-фактурами, перерахованими внизу зліва, і сумою кожного платежу в клітинці, де її рядок і стовпець перетинаються — які традиційно являли собою «розкладку» на лицьових сторінках переплетеної книги (книги для ведення бухгалтерських записів) або на великих аркушах паперу (так називають «аналізаційний папір»), розбитих на рядки та стовпці в такому форматі та приблизно вдвічі ширше звичайного паперу.[7]
Пакетна «електронна таблиця» не відрізняється від пакетного компілятора з доданими вхідними даними, який створює вихідний звіт, наприклад, як у мовах програмування 4-го покоління[en], або звичайну, неінтерактивну пакетну комп'ютерну програму. Таку концепцію електронної таблиці виклав 1961 року Річард Маттессіч[en] у статті «Бюджетні моделі та моделювання систем».[8] У наступній роботі Маттессіча (1964a, розділ 9, Бухгалтерські та аналітичні методи (англ. Accounting and Analytical Methods)) та додатку до неї (1964b, Моделювання фірми за допомогою бюджетної комп'ютерної програми (англ. Simulation of the Firm through a Budget Computer Program)) він застосував комп'ютеризовані електронні таблиці до систем обліку та бюджетування (на мейнфреймах, запрограмованих на Фортран IV). Ці пакетні електронні таблиці переважно додавали або віднімали цілі стовпці або рядки вхідних даних, а не окремих клітинок.
1962 року цю концепцію електронної таблиці, під називою BCL (Business Computer Language), реалізовано на IBM 1130[джерело?], а 1963 року Р. Браян Волш із Університету Маркетта (штат Вісконсін) переніс її на IBM 7040. Цю програму написано на Fortran. На цих машинах був доступним примітивний розподіл часу. 1968 року Волш в Університеті штату Вашингтон портував BCL на машину IBM 360/67 із розподілом часу. Її використали під час викладання фінансів студентам. Студенти брали інформацію, підготовлену професором, і опрацьовували її. 1964 року Кімбалл, Стоффеллс та Волш написали книгу під назвою Business Computer Language, і 1966 року захистили авторські права на книгу та програму, а через роки це авторське право поновили[9].
Applied Data Resources мав препроцесор FORTRAN під назвою Empires.
Наприкінці 1960-х Xerox використала BCL для розробки складнішої версії для своєї системи розподілу часу.
Ключовий винахід у розробці електронних таблиць зробили Рене К. Пардо та Ремі Ландау, які 1970 року подали U.S. Patent 4 398 249 на алгоритм автоматичного обчислення електронної таблиці. Хоча спочатку патентне відомство відхилило патент як суто математичний винахід, після 12 років апеляцій Пардо і Ландау виграли знакову судову справу в попередньому суді Федерального округу (CCPA), який 1983 року скасував рішення Патентного відомства — встановивши, що «щось не перестає бути патентованим лише тому, що сенс новизни полягає в алгоритмі». Однак 1995 року Апеляційний суд федерального округу США[en] визнав патент невиконуваним[10].
Програма називалася LANPAR — LANguage for Programming Arrays at Random (укр. мова для випадкового програмування масивів)[11]. Її задумано і повністю розроблено влітку 1969 року, після нещодавнього випуску Пардо і Ландау з Гарвардського університету. Співвинахідник Рене Пардо згадує, що він вважав, що, наприклад, менеджер Bell Canada не має залежати від програмістів, коли потрібно розраховувати бюджет, і він думав про те, щоб дозволити користувачам вводити дані в будь-якому порядку, а електронний комп'ютер щоб виконав обчислення так, як потрібно. Пардо і Ландау розробили та впровадили програмне забезпечення 1969 року[12].
LANPAR використовували в Bell Canada, AT&T та 18 телефонних компаніях по всій країні для проведення місцевих та національних бюджетних операцій. LANPAR також використовувала General Motors. Його унікальність полягала у використання випереджальних посилань і природного порядку обчислень (одна з перших «непроцедурних» комп'ютерних мов)[13] на відміну від послідовності зліва направо, зверху вниз для обчислення результатів у кожній клітинці, використовуваної у VisiCalc, SuperCalc і першій версії MultiPlan. Без випереджальних посилань і природного порядку обчислень користувач мав оновлювати електронну таблицю, доки значення в усіх клітинках не залишаться незмінними. Після того, як значення клітинок залишилися незмінними, користувач був впевнений, що в електронній таблиці не залишилося випереджальних посилань.
1968 року троє колишніх співробітників комп'ютерної компанії General Electric зі штаб-квартирою у Фініксі, штат Аризона, вирішили створити компанію з розробки програмного забезпечення. А. Лерою Еллісону, Гаррі Н. Кантреллу і Расселу Е. Едвардсу доводилось робити багато розрахунків під час створення таблиць для бізнес-планів, які вони готували для венчурних капіталістів. Вони написали комп'ютерну програму, яка створювала потрібні таблиці. Ця програма, спочатку задумана як утиліта для особистого використання, виявилася першим програмним продуктом, пропонованим компанією Capex Corporation. AutoPlan працював на службі розподілу часу GE; пізніше з'явилася версія, яка працювала на мейнфреймах IBM під назвою AutoTab. (National CSS[en] на початку 1970-х років запропонувала подібний продукт, CSSTAB, який мав небагато користувачів. Основним застосуванням було опрацювання таблиць із результатами опитувань.)
AutoPlan/AutoTab не була інтерактивним візуальним редактором електронних таблиць, це була проста мова сценаріїв для опрацювання електронних таблиць. Користувач визначав назви та підписи для рядків і стовпців, а потім формули, які визначали кожен рядок або стовпець. 1975 року Autotab-II рекламували як розширення оригіналу до максимум
1500 рядків і стовпців, об'єднаних у будь-якій потрібній користувачу пропорції...[14] Оригінальний текст (англ.) 1,500 rows and columns, combined in any proportion the user requires... |
GE Information Services, яка керувала службою розподілу часу, приблизно 1974 року запустила власну систему електронних таблиць під назвою Financial Analysis Language (FAL). Пізніше її доповнено мовою електронних таблиць TABOL[15][16], яку розробив незалежний автор Олівер Веллакотт (Велика Британія). І FAL, і TABOL були інтегрованими зі системою баз даних GEIS DMS.
Систему фінансового планування та контролю IBM розробив 1976 року Браяном Інгам з IBM Canada. IBM впровадила її щонайменше в 30 країнах. Вона працювала на мейнфреймі IBM і була однією з перших програм для фінансового планування, розроблених за допомогою APL, які повністю приховували мову програмування від кінцевого користувача. Завдяки операційній системі IBM VM це була одна з перших програм, які автоматично оновлювали кожну копію програми у міру випуску нових версій. Користувачі можуть вказати прості математичні відношення між рядками та між стовпцями. Порівняно з будь-якими сучасними їй альтернативами, система могла підтримувати дуже великі електронні таблиці. Вона щомісяця завантажувала фактичні дані фінансового планування, отримані зі старої системи пакунків, до електронної таблиці кожного користувача. Систему розроблено для оптимізації потужності APL за допомогою об'єктних ядер, що підвищило ефективність програми в 50 разів порівняно з традиційними підходами до програмування.
Прикладом ранньої електронної таблиці «промислової ваги» була APLDOT, розроблена 1976 року в Асоціації залізниць Сполучених Штатів[en] на IBM 360/91, яка працювала в Лабораторії прикладної фізики Університету Джонса Гопкінса в Лорелі, Меріленд[17]. Застосунок успішно використовувався протягом багатьох років при розробці таких фінансових та калькуляційних програм для Конгресу США та для Conrail[en]. APLDOT назвали «електронною таблицею», оскільки фінансові аналітики та стратегічні планувальники використовували її для розв'язування тих самих задач, які вони розв'язували за допомогою паперових таблиць.
Завдяки тому, що Ден Бріклін і Боб Френкстон[en] упровадили VisiCalc 1979 року на Apple II та 1981 року на IBM PC, концепція електронних таблиць на початку 1980-х років стала широко відомою. VisiCalc була першою електронною таблицею, яка поєднала всі основні функції сучасних застосунків для електронних таблиць (крім випереджальних посилань/природного порядку обчислень), такі як інтерактивний інтерфейс користувача, автоматичний перерахунок, рядки стану та формул, копіювання діапазону з відносними та абсолютними посиланнями, побудова формул вибором адресних комірок. У той час журнал PC World[en], не знаючи про LANPAR, назвав VisiCalc першою електронною таблицею[18].
Бріклін розповідав про те, як спостерігав, як його університетський професор створює таблицю результатів обчислень на дошці. Коли професор виявив помилку, йому довелося стерти й переписати кілька послідовних записів у таблиці, спонукаючи Брікліна подумати, що він може відтворити процес на комп'ютері, використовуючи дошку як модель для перегляду значень формул. Його ідея втілилась у VisiCalc, перший застосунок, який перетворив персональний комп'ютер із хобі для любителів комп'ютера в інструмент для бізнесу.
VisiCalc став першим «убивчим застосунком»[19][20], який був настільки привабливим, що люди купували певний комп'ютер лише для того, щоб ним користуватися. VisiCalc значною мірою обумовив успіх Apple II. Пізніше програму портували на низку інших ранніх комп'ютерів, зокрема на машини з ОС CP/M, сімейство 8-розрядних Atari та різні платформи Commodore. Проте найвідомішим VisiCalc залишається як програма для Apple II.
SuperCalc — програма для роботи з електронними таблицями, опублікована компанією Sorcim 1980 року, яка спочатку входила (разом із WordStar) до програмного пакунка CP/M для портативного комп'ютера Osborne 1. Вона швидко стала де-факто стандартною електронною таблицею для CP/M, а 1982 року її перенесено на MS-DOS.
Прийняття IBM PC після появи в серпні 1981 року йшло повільно, оскільки більшість доступних для нього програм були перенесеними з інших моделей комп'ютерів. Ситуація різко змінилася з появою Lotus 1-2-3 в листопаді 1982 року та початком продажів у січні 1983 року. Оскільки його написано спеціально для IBM PC, він мав хорошу продуктивність і став «убивчим застосунком» для цього ПК. Lotus 1-2-3 збільшив продажі ПК завдяки вищій швидкодії та кращій графіці, порівняно з VisiCalc на Apple II[21].
Lotus 1-2-3 разом зі своїм конкурентом Borland Quattro[en] незабаром витіснили VisiCalc. Lotus 1-2-3, випущений 26 січня 1983 року, того ж року почав перевершувати найпопулярніший на той час VisiCalc і протягом кількох років був провідною електронною таблицею для DOS.
Першу версію Excel Microsoft випустила для Macintosh 30 вересня 1985 року, а потім перенесла[22] її на Windows, де перша версія отримала номер 2.05 (для синхронізації з Macintosh версії 2.2) і вийшла в листопаді 1987 року. Платформи Windows 3.x початку 1990-х дозволили Excel отримати частку ринку Lotus. Поки Lotus відповів продуктами для ОС Windows, Microsoft почала збирати свій пакунок Office. 1995 року Excel був лідером ринку, випередивши Lotus 1-2-3[7], а 2013 року IBM припинила випускати Lotus 1-2-3[23].
Відоме програмне забезпечення для роботи з онлайновими електронними таблицями:
Програмне забезпечення для електронних таблиць, випуск якого припинено:
Кілька компаній намагалися пробитися на ринок електронних таблиць за допомогою програм, заснованих на дуже різних парадигмах. Lotus представив, ймовірно, найуспішніший приклад, Lotus Improv, який досяг певного комерційного успіху, особливо у фінансовому світі, де його потужні можливості аналізу даних поважають донині.
Spreadsheet 2000 намагалася значно спростити побудову формул, але загалом не була успішною.
Основними поняттями є сітка комірок, яку називають аркушем, в комірках можуть міститися дані, які називають значеннями, або формули. Формули вказують, як за наявними значеннями обчислювати нові значення. Загалом значення є числами, але можуть також бути простим текстом, датами тощо. Розширення цих понять використовують у логічних електронних таблицях. Зазвичай надаються різні інструменти для програмування аркушів, візуалізації даних, віддаленого підключення аркушів, відображення залежностей комірок тощо.
«Комірку» можна розглядати як скриньку для зберігання даних. На одну комірку зазвичай посилаються за її стовпцем і рядком (у наведеній нижче таблиці C2 позначатиме комірку зі значенням 30). Зазвичай рядки, що представляють залежні змінні, позначають десятковими числами, починаючи з 1, тоді як стовпці, що представляють незалежні змінні, використовують 26-кову бієктивну нумерацію[en] з використанням замість цифр літер A—Z. Фізичний розмір комірки зазвичай можна адаптувати до її вмісту, перетягуючи межі комірки (або цілих стовпців чи рядків, перетягуючи межі між їхніми заголовками).
A | B | C | D | |
---|---|---|---|---|
01 | Продажі | 100000 | 30000 | 70000 |
02 | Покупки | 25490 | 30 | 200 |
Масив комірок називають аркушем. Це аналог масиву змінних у звичайній комп'ютерній програмі (хоча деякі незмінювані після введення значення, можна вважати, за тією ж аналогією, константами). У більшості реалізацій одна електронна таблиця може складатися з багатьох аркушів. Аркуш — це просто підмножина електронної таблиці, розділеної для наочності. Функціонально електронна таблиця діє як єдине ціле, і всі комірки працюють як глобальні змінні для всієї таблиці (кожна змінна має доступ лише для читання, крім комірки, яка її містить). Комірка може містити значення або формулу, або її можна залишити порожньою. Зазвичай формули починаються зі знака =.
Значення в комірку можна ввести безпосередньо з клавіатури комп'ютера. Крім того, значення може отримуватися за формулою (див. нижче), яка виконує обчислення, виводить поточну дату або час або отримує зовнішні дані, такі як котирування акцій або значення з бази даних.
Правило значень електронної таблиці
Інформатик Алан Кей використав описав роботу електронної таблиці таким «правилом значень»: значення комірки залежить виключно від формули, яку користувач увів у комірку[29]. Формула може посилатися на значення інших комірок, але ці комірки також обмежені даними або формулами, які ввів користувач. Немає ніяких «побічних ефектів» для обчислення формули: єдиним виходом є виведення результату розрахунку в комірці. Не існує механізму постійної зміни вмісту комірки, якщо користувач не змінює його вручну. У контексті мов програмування це дає обмежену форму функційного програмування першого порядку[30].
Ця додаткова функція, яка є стандартом електронних таблиць від 1980-х років, усуває необхідність вручну запускати перерахунок значень електронної таблиці (нині зазвичай цю функцію за замовчуванням увімкнено). Деякі попередні електронні таблиці вимагали «ручного» запиту на перерахунок, оскільки автоматичний перерахунок великих таблиць або складних формул знижував швидкість уведення даних. Багато сучасних електронних таблиць все ще зберігають цю опцію.
Перерахунок зазвичай вимагає, щоб електронна таблиця не містила циклічних залежностей. Граф залежностей — це граф, який має вершину для кожного об'єкта, який потрібно оновити, і ребро, що з'єднує два об'єкти, коли один з них потрібно оновити раніше, ніж інший. Графи залежностей без циклічних залежностей є орієнтованими ациклічними графами[31].
Ця функція стосується періодичного оновлення вмісту комірки значенням із зовнішнього джерела, наприклад комірки у «віддаленій» електронній таблиці. Для спільних електронних таблиць на основі інтернету це стосується «негайного» оновлення комірок, які оновив інший користувач. Усі залежні комірки також мають оновитись.
Після введення даних окремі комірки (або всю електронну таблицю) можна заблокувати, щоб запобігти випадковому перезапису. Зазвичай це стосується комірок, які містять формули, але може застосовуватися й до комірок, що містять «константи», наприклад коефіцієнт перетворення кілограм/фунт (2,20462262 з вісьмома знаками після коми). Попри те, що окремі комірки позначено як заблоковані, дані електронної таблиці не будуть захищеними, доки цю функцію не буде активовано в налаштуваннях файлу.
За бажанням можна визначити, як відображатиметься значення комірки або діапазону. Типовий формат відображення зазвичай встановлюється за початковим вмістом комірки, якщо його спеціально не встановлено раніше, тобто, наприклад, «31/12/2007» або «31 Dec 2007» за замовчуванням встановить для комірки формат дата. Аналогічно, додання після числового значення знаку % встановить для комірки відсотковий формат. Формат не змінює вмісту комірки, а впливає лише на виведене значення.
Для деяких форматів комірок, таких як «числовий» або «грошовий», може вказуватися кількість десяткових знаків.
Це може призвести до некоректних операцій (наприклад, множення комірки, що містить дату) і результатів без відповідного попередження.
Форматування електронної таблиці передбачає змінення зовнішнього вигляду таблиці чи окремих її комірок:
Залежно від можливостей табличного процесора, кожну комірку можна окремо відформатувати за допомогою атрибутів вмісту (розмір символів, колір, накреслення) або комірки (товщина межі, колір заповнення тла). Щоб полегшити читаність електронної таблиці, до комірки можна застосувати умовне форматування; наприклад, від'ємне число може виводитися червоним кольором.
Форматування комірки, як правило, не впливає на її вміст, і залежно від того, в який спосіб комірки копіюються на інші аркуші чи програми, форматування може не переноситися разом із вмістом.
У більшості реалізацій комірці або групі комірок у стовпці чи рядку можна надати назву, що дозволяє користувачу посилатися на ці комірки за назвою, а не за адресою. Назви в електронній таблиці мають бути унікальними, але за наявності кількох аркушів можна на кожному аркуші використовувати діапазони комірок із однаковими назвами, додаючи для їх розрізнення назву аркуша. Однією з цілей такого використання є створення або запуск макросів, які повторюють команду на багатьох аркушах. Крім того, формули з названими діапазонами легше перевіряюти на відповідність алгебричному запису. Використання іменованих змінних і іменованих функцій також робить структуру електронної таблиці більш прозорою.
Замість назв комірок можна використовувати посилання на комірки. Більшість посилань на комірку вказують на іншу комірку в тій самій електронній таблиці, але посилання на комірку також може позначати комірку на іншому аркуші в тій самій електронній таблиці або (залежно від реалізації) на комірку в іншій електронній таблиці або значення з віддаленого застосунка.
Типово посилання на комірку в стилі «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) перевіряється на правильність, і в комірці з'являється відповідне повідомлення.
=IF(SUM(A1:A6) > 100, «Більше ніж 100 %», SUM(A1:A6))
Інші приклади:
Найкращий спосіб побудови умовних операторів — це покрокове складання з подальшим тестуванням і уточненням коду.
Електронна таблиця взагалі не обов'язково повинна містити будь-які формули, і в цьому випадку її можна вважати просто сукупністю даних, розташованих у рядках і стовпцях (база даних), як, наприклад календар, розклад або простий список. Завдяки простоті використання, форматування та можливість додання гіперпосилань часто електронні таблиці використовуються саме з цією метою.
Електронні таблиці зазвичай містять низку готових функцій, таких як арифметичні (наприклад, підсумовування, середні значення тощо), тригонометричні, статистичні функції тощо. Крім того, часто є засоби для визначення функцій користувачем. У Microsoft Excel такі функції описують за допомогою Visual Basic для застосунків у вбудованому редакторі, і такі функції автоматично доступні на аркуші. Крім того, можна написати програми, які отримують дані з робочого аркуша, виконують деякі обчислення та повертають результати назад на робочий аркуш. На малюнку показано створену користувачем функцію sq у вікні вбудованого в Excel редактора Visual Basic. Менеджер назв показує визначені в електронній таблиці змінні x та y.
Самі функції не можуть записувати даних у робочий аркуш, а просто повертають певне значення. Однак підпрограми в Microsoft Excel можуть записувати значення або текст, знайдені в підпрограмі, безпосередньо в електронну таблицю. На малюнку показано код підпрограми на Visual Basic, яка зчитує кожне зі значень названих комірок стовпця x, обчислює його квадрат і записує результат у відповідний елемент названих комірок стовпця y. Стовпець y не містить формул, оскільки його значення обчислюються в підпрограмі, а не в електронній таблиці, і просто записуються в неї.
Посилання на комірку або групу комірок, які не розташовані в поточному фізичному файлі електронної таблиці, називають доступом до «віддаленої» електронної таблиці. До вмісту комірки, на яку зроблено посилання, можна отримати доступ або під час створення посилання з подальшим оновленням вручну, або, що частіше робиться у випадку вебтаблиць, наближено до реального часу з автоматичним оновленням через заданий інтервал.
Багато програм для роботи з електронними таблицями дозволяють будувати за заданими групами комірок діаграми та графіки (наприклад, гістограми, секторні діаграми тощо), які динамічно перебудовуються зі змінами значень комірок. Побудовану діаграму можна або вбудувати в поточний аркуш, або додати як окремий об'єкт. Для створення гістограми Excel можна також скористатися формулою на основі функції REPT[32].
Наприкінці 1980-х — на початку 1990-х років з'явилися перші Javelin Software[en] і Lotus Improv[en]. На відміну від звичайних електронних таблиць, вони використовували моделі, побудовані на об'єктах, називаних змінними, а не на даних у комірках. Ці багатовимірні електронні таблиці дозволили переглядати дані та алгоритми різними самодокументованими способами, зокрема одночасно кілька синхронізованих переглядів. Наприклад, користувачі Javelin можуть переміщатися по зв'язках між змінними на діаграмі, переглядаючи логічні корені та гілки кожної змінної. Це приклад того, що, можливо, є основним внеском ранніх Javelin — концепція відстеження логіки користувача або дванадцять точок зору на структуру моделі. Складну модель можуть розібрати й зрозуміти ті, хто не брав участі в її створенні.
У цих програмах часовий ряд або будь-яка змінна була об'єктом сама по собі, а не набір комірок у рядку чи стовпці. Змінні могли мати багато атрибутів, що забезпечують повне усвідомлення їх зв'язків з усіма іншими змінними, посилання на дані, а також текстові та графічні примітки. Обчислення проводилися для цих об'єктів, а не для діапазонів комірок. Дані були незалежними від робочих аркушів — змінні, а отже, дані не можна було знищити, видаливши рядок, стовпець або весь аркуш. Наприклад, січневі витрати віднімаються від доходів за січень, незалежно від того, де або чи з'являються вони на робочому аркуші. Це дозволяло виконувати дії, які пізніше використали у зведених таблицях, і гнучкість маніпулювання таблицями звітів була лише однією з багатьох можливостей, які забезпечуваних змінними. Більш того, якщо витрати введено за тижнями, а доходи — за місяцями, програма могла розподілити або інтерполювати це належним чином. Такий дизайн об'єктів дозволив змінним і цілим моделям посилатися одна на одну за допомогою визначених користувачем назв змінних і виконувати багатовимірний аналіз і масивні, але легко редаговані консолідації.
Trapeze,[28] електронна таблиця на Mac, пішла далі і явно підтримувала не лише стовпці таблиці, але й матричні оператори.
Електронні таблиці, які мають мову формул, засновану на логічних, а не на арифметичних виразах, відомі як логічні електронні таблиці. Такі електронні таблиці можна використовувати для проведення дедуктивних міркувань щодо значень їхніх комірок.
Починаючи з того, що ранні мови програмування орієнтувались на створення табличних роздруківок, методи програмування розвинулися для ефективнішої обробки таблиць даних (також відомих як матриці) у самому комп'ютері.
Електронні таблиці є популярним інструментом користувацького програмування.[33]. Користувацьким програмуванням називають набір методик та інструментів, які дозволяють програмувати кінцевим користувачам — людям, які не є професійними розробниками ПЗ і не знають мов програмування. Багатьом людям легше виконувати обчислення в електронних таблицях, ніж написати еквівалентну програму. Це пов'язано з кількома характеристиками електронних таблиць.
Табличний процесор призначений для виконання обчислювальних завдань із використанням просторових відношень, а не часу як основного принципу організації.
Часто зручно розглядати електронну таблицю як математичний граф, де вузлами є комірки електронної таблиці, а ребрами — посилання на інші комірки, зазначені у формулах. Це часто називають графом залежностей електронної таблиці. Аналізуючи посилання між комірками можна використовувати просторові концепції, такі як відносне положення та абсолютне положення, а також названі розташування, щоб спрощує розуміння формул та керування ними.
Електронні таблиці зазвичай намагаються автоматично оновлювати клітинки, коли клітинки залежать від змін. У найперших електронних таблицях використовувалися прості прийоми, такі як обчислення значень комірок у певному порядку, але сучасні електронні таблиці обчислюють, дотримуючись мінімального порядку переобчислення на основі графа залежностей. Пізніші електронні таблиці також включають засоби для зворотного розрахунку, змінюючи початкові значення так, щоб у цільовій комірці отримати конкретну відповідь. Оскільки формули електронної таблиці, як правило, не є оборотними, застосування цієї методики дещо обмежене.
Багато концепцій, поширених у послідовному програмуванні, мають аналоги в електронних таблицях. Наприклад, модель циклу з параметром зазвичай подається у вигляді таблиці комірок із подібними формулами (вони відрізняються лише тим, на які клітинки посилаються).
У певний момент в електронних таблицях стало доступним розширення можливостей з використанням мови сценаріїв, як-от VBA, що загалом складніше, ніж користування традиційними засобами електронних таблиць.
Попри те, що електронні таблиці є значним кроком вперед у кількісному моделюванні, вони мають недоліки, до яких відносять «недружність» буквено-цифрових адрес комірок[39].
Інші проблеми, пов'язані з електронними таблицями:[47][48]
Хоча для табличних процесорів існують вбудовані та сторонні інструменти, які усувають деякі з цих недоліків, поінформованість та використання їх, як правило, низькі. Це підтверджується тим, що 55 % фахівців ринку капіталів «не знають», як перевіряються їхні електронні таблиці; лише 6 % інвестують у сторонні рішення[59].
За використання електронних таблиць є ризик отримати істотно неточне значення, яке буде використано для прийняття на основі обчислень відповідного рішення. Прикладами є оцінення активів, фінансові розрахунки, розрахунок лікарських доз або розмір несної балки в будівництві. Ризик може виникнути внаслідок уведення хибних значень, помилок (або неправильних змін) у логіці обчислень або пропуску відповідних оновлень (наприклад, застарілих курсів валют). В окремих випадках помилки в перевищували 1 млрд доларів США[60][61]. Оскільки ризик електронних таблиць пов'язаний переважно з діями (або бездіяльністю) окремих осіб, його визначають як підкатегорію операційного ризику.
Попри це, дослідження[62] проведене ClusterSeven, показало, що близько половини (48 %) керівників вищого рівня та вищих менеджерів у фірмах, які звітують про річний дохід понад 50 млн фунтів стерлінгів, заявили або взагалі про відсутність засобів контролю за використанням електронних таблиць у фірмах, або про епізодитчні ручні перевірки[62][63].
2013 року Томас Герндон[en], аспірант кафедри економіки Массачусетського університету в Емгерсті, виявив серйозні недоліки кодування в електронній таблиці, яку використовували економісти Кармен Рейнгарт[en] і Кеннет Рогофф у дуже впливовій журнальній статті 2010 року «Зростання в період боргу[en]». Статтю Рейнгарт і Рогоффа широко використовували для виправдання європейських програм жорсткої економії в 2010—2013 роках[64].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.