Направо към съдържанието

Електронна таблица

от Уикипедия, свободната енциклопедия

Електронната таблица е интерактивна програма за приложен софтуер за организиране и анализ на данни и таблични форми. Електронните таблици са разработени за компютърна симулация на хартиени счетоводни работни листове. Програмата работи с данните, представени като клетки на масив, организирани в редове и колони. Всяка клетка на масив е Модел-Изглед-Контролер елемент, който може да съдържа, както цифри, така и текстови данни или резултати от формули, които автоматично изчисляват и показват стойност, базирана на съдържанието на други клетки.

Потребителят на електронната таблица може да прави промени във всяка една съхранена стойност и да наблюдава ефекта от изчислените стойности. Това прави електронната таблица полезна за „какво-ако“ анализи и много от случаите да бъдат бързо изследвани без досадно ръчно преизчисляване. Съвременният софтуер за електронни таблици може да има множество взаимодействащи листи, както и може да показва данни или като текст и цифри, или в графична форма.

В допълнение към основните дейности на аритметиката и математическите функции, съвременните електронни таблици предоставят вградени функции за общи финансови и статистически операции. Такива изчисления като нетна стойност или стандартно отклонение могат да се прилагат към таблични данни с предварително програмирана функция, във формула. Програмите за електронни таблици също така предоставят условни изрази, функции да конвертират между текст и числа, както и функции, работещи в низове от текст.

Електронните таблици сега заменят системите на хартиен носител в света на бизнеса. Въпреки че те за първи път са разработени за счетоводни задачи, сега се използват широко във всеки контекст, където са изградени, подредени, или се споделят таблични списъци.

VisiCalc е първата електронна таблица на микрокомпютър и това помогна за превръщането на Apple II компютъра в популярна и широко използвана система. Lotus 1-2-3 е била водещата таблица, когато DOS е била доминиращата операционна система. Сега Excel има най-голям пазарен дял за Windows и Macintosh платформи.[1][2][3] Програмата за електронни таблици е стандартна част от офис пакет. От появата на уеб приложенията, сега офис пакетите също съществуват във форма на уеб приложения.

Употреба на електронните таблици

[редактиране | редактиране на кода]
Таблица в OpenOffice.org Calc.

Съвременните файлови таблици се състоят от няколко работни листа (обикновено се означават с по-краткото име листи), които съставляват една работна книга, като всеки файл е една работна книга. Една клетка на листа е в състояние да сочи към други клетки или различни листи, в рамките на една и съща работна книга или дори в някои случаи, в различни работни книги.

Електронните таблици споделят много принципи и черти на базите данни, но електронните таблици и базите данни не са едно и също нещо. Електронната таблица е основно само един списък, докато базата данни е сбор от много таблици с машинно четими семантични връзки между тях. Макар да е вярно, че работната книга, която съдържа три листа е наистина файл, съдържащ множество таблици, взаимодействащи един с друг, липсва релационната структура на базата данни. Електронните таблици и базите данни са оперативно съвместими, листовете могат да бъдат внесени в базите данни, за да се превърнат таблиците в тях, както и резултатите от заявките към базата данни могат да бъдат извлечени в електронни таблици за по-нататъшен анализ.

Програмата за електронни таблици е един от основните елементи на един офис пакет, който обикновено съдържа също така и текстообработваща програма, програма за представяне и система за управление на бази данни. Програми в рамките на собствения пакет използват подобни команди за подобни функции. Обикновено обмена на данни между компонентите е по-лесен, отколкото при не-интегрираното събиране на функционално еквивалентни програми. Това е било основно предимство в момент, когато много персонални компютърни системи са използвали дисплеи с текстов режим и команди, вместо графичен потребителски интерфейс.

Думата за „електронна таблица“ (от англ. – spreadsheet) идва от „разпространявам“ в смисъла си за съобщение във вестник или списание (текст и / или графики), което покрива две срещуположни страници, които минават през центъра и се отнася за две страници, показани като една голяма страница. Съчетанието на вратата „разпространение-лист“ означава форматът, използван за представянето на счетоводни книги (с колоните за категориите разходи в горната част, фактурите, изброени долу в лявото поле, както и сумата на всяко плащане в клетката, където се пресичат нейния ред и колона), които обикновено са били „разпрострени“ в срещуположни страници на подвързана книга за съхраняване на счетоводните записи или на големи листове хартия, наречени „хартия за анализи“, определени в редове и колони в такъв формат и около два пъти по-широки от обикновената хартия.

Благодарение на изпълнението на Дан Бриклин и Боб Франкстон на VisiCalc на Apple II през 1979 г. и на IBM PC през 1981 г., концепцията за електронната таблица става широко популярна в края на 1970 и началото на 1980-те години. VisiCalc е първата електронна таблица, която съчетава всички основни функции на съвременните приложения за електронни таблици, като WYSIWYG интерактивен потребителски интерфейс, автоматични линии за преизчисляване, статуси и формули, диапазон на копиране с относителни и абсолютни препратки, изграждане на формула, чрез избиране на съответни клетки. Списание PC World определя VisiCalc за първата електронна електронна таблица.[4]

Бриклин е гледал своя професор в университета да създава на дъската таблица от резултати от изчисления. Когато професорът намирал грешка, той трябвало да изтрие и пренапише няколко последователни записи в таблицата, предизвиквайки Бриклин да мисли, че той може да повтори процеса на компютър, с помощта на дъската като модел, за да види резултатите от основните формули. Идеята му направила VisiCalc в първото приложение, което превръща персоналния компютър от хоби за компютърните ентусиасти в бизнес инструмент.

VisiCalc става първото Killer application,[5][6] приложение, което е толкова завладяващо, че хората си купуват даден компютър само за да го използват. VisiCalc в не малка част е отговорна за успеха на Apple II. По-късно програмата е адаптирана за редица други ранни компютри, най-вече CP/M машини, 8-битови Atari и различни платформи Commodore. Независимо от това VisiCalc остава най-известна като Apple II програма.

Lotus 1-2-3 и други MS-DOS електронни таблици

[редактиране | редактиране на кода]

Приемането на IBM PC след въвеждането му през август 1981 г., започва бавно, защото повечето от наличните програми за него са преводи от други компютърни модели. Нещата се променят драматично с въвеждането на Lotus 1-2-3 през ноември 1982 г., и пускането ѝ в продажба през януари 1983 година. Тъй като тя е написана специално за IBM PC, e имала добра характеристика и става Killer application за това PC. Lotus 1-2-3 управлявал продажбите на PC благодарение на подобренията в скоростта и графиките в сравнение с VisiCalc на Apple II.

Lotus 1-2-3, заедно със своя конкурент Borland Quattro изместват скоро VisiCalc. Lotus 1-2-3 е пуснат в продажба на 26 януари 1983 г.

Майкрософт разработва Excel върху платформата Macintosh в продължение на няколко години, а след това преминава към Windows 2.0. Windows 3.x платформите от началото на 1990-те години правят възможно за Excel да отнемат пазарен дял от Lotus. По времето когато Lotus отговоря с използваеми Windows продукти, Microsoft започват окомплектоването на офис пакета. Като се започне в средата на 1990-те години и се продължи до днес, Microsoft Excel доминира на пазара на електронни таблици.

Софтуер с отворен код

[редактиране | редактиране на кода]

Gnumeric е свободен междуплатформен софтуер за електронни таблици, който е част от GNOME. OpenOffice.org и близкият до него LibreOffice Calc са свободни и с отворен код софтуери за електронни таблици, също лицензирани от GPL.

Уеб базирани електронни таблици

[редактиране | редактиране на кода]

С появата на съвременните уеб технологии като Ajax през 2005 г. се появява ново поколение онлайн електронни таблици. Оборудвани с Rich Internet Applications (RIA) потребителски опит, най-добрите уеб базирани онлайн електронни таблици имат много от характеристиките, наблюдавани при десктоп приложенията за електронни таблици. Някои от тях, като Office Web Apps и Google Docs също имат силни мулти-потребителски функции за съвместна работа и/или предлагат актуализации в реално време от отдалечени източници, като например цените на акциите и валутните курсове.

Други електронни таблици

[редактиране | редактиране на кода]
  • Списък на софтуер за електронни таблици
    • Calligra Sheets (преди KCalc)
    • Corel Quattro Pro (WordPerfect Office)
    • Kingsoft Spreadsheets
    • Mariner Calc e софтуер за електронни таблици за Mac OS и iOS.
    • Numbers е софтуер за електронни таблици на Apple Inc., част от iWork.
    • ZCubes-Calci
  • Спрян софтуер за електронни таблици
    • Advantage
    • Quattro Pro на Borland
    • Compucalc
    • Framework от Forefront Corporation/Ashton-Tate (1983/84)
    • GNU Oleo – традиционен за UNIX/UNIX-подобни ситеми
    • IBM Lotus Symphony (2007)
    • Javelin Software
    • Lotus Improv[7]
    • Lotus Jazz за Macintosh
    • Lotus Symphony (1984)
    • MultiPlan
    • Resolver One
    • SuperCalc
    • T/Maker
    • Target Planner Calc за CP/M и TRS-DOS[8][9]
    • Trapeze за Macintosh[10]
    • Wingz за Macintosh

Много фирми са се опитвали да навлязат в пазара с електронни таблици пазар с програми, основани на много различни парадигми. Lotus въвежда това, което е вероятно най-успешният пример. Lotus Improv има най-голям търговски успех, най-вече във финансовия свят, където възможностите му за извличане на знания от данни остават отчитани и до днес. Spreadsheet 2000 се опитва да опрости драстично структурата на формулата, но като цяло неуспешно.

Основните понятия са мрежа от клетки, наречена лист с необработени данни, наречени стойности или формули в клетки. Формулите показват как механично да се изчислят нови стойности от съществуващи такива. Стойностите по принцип са числа, но могат да бъдат чист текст, дати, месеци и т.н. Разширенията включват логически електронни таблици. Осигурени са различните инструменти за листове за програмиране, визуализиране на данни, дистанционно свързващи листове, показващи зависимостите на клетките и т.н.

Клетката може да бъде считана за кутия за съхраняване на информация. Единичната клетка обикновено се описва с нейните колона и ред (A2 ще представлява клетка, съдържаща стойност 10 в примера в таблицата по-долу). Обикновено редовете, представляващи зависимите променливи са посочени в десетичната бройна система, започваща от 1, докато колоните, представляващи независимите променливи използват 26-adic биективна номерация, използваща буквите от А до Z като цифри. Физическият размер на клетката обикновено може да бъде съобразен с нейното съдържание, чрез плъзгане на височината или ширината в кутията (за цели колони или редове, чрез плъзгане на колонтитула на колоните или редовете).

Моята електронна таблица
A B C D
01 стойност1 стойност2 добавена умножена
02 10 20 30 200

Масив от клетки се казва лист или работен лист. Аналогично е на масивите от променливи при конвенционалните компютърни програми (въпреки че някои непроменливи стойности, въведени веднъж могат да се считат за константи по същата аналогия). В повечето приложения, много листове могат да бъдат разположени в една и съща електронна таблица. Работният лист е просто подмножество на електронната таблица разделено за по-голяма яснота. Електронните таблици работят като цяло и всички клетки действат като глобални променливи в рамките на самата таблица (всяка променлива има достъп „да се чете“ само с изключение на собствената си клетка).

Една клетка може да съдържа стойност или формула или просто да бъде оставена празна. Съгласно договореностите, формулите обикновено започват със знак =.

Стойностите могат да бъдат въведени от клавиатурата, чрез директно писане в самата клетка. алтернативно, стойност може да се основава на формула (виж по-долу), която може да извършва изчисление, да показва съответната дата или време или да извлича външни данни като фондови пазарни цени или стойности на бази данни.

Правилото за стойност на електронните таблици – компютърния учен Alan Kay използва термина правило за стойност, за да обобщи операцията в електронната таблица като стойността на клетката разчита единствено на формулата, която потребителят е въвел в клетката.[11] Формулата може да разчита на стойността на други клетки, но те също са ограничени до въведените от потребителя данни или формули. Не са открити „странични ефекти“ при изчисляване на формула. Единственият изход е да се покаже изчисления резултат вътре в клетката. Няма естествен механизъм за постоянно изменение на съдържанието на клетка, освен ако потребителят ръчно не промени съдържанието. В контекста на езиците за програмиране това дава ограничена форма на първи ред функционално програмиране.[12]

Автоматично преизчисляване

[редактиране | редактиране на кода]

Стандарт за електронни таблици от средата на 1980-те години, тази допълнителна функция елиминира нуждата от ръчно заявена програма за електронни таблици за преизчисляване на стойностите (в днешно време обикновено опцията е по подразбиране, освен ако изрично „се изключи“ за големи таблици, обикновено за подобряване на работата). Някои по-стари електронни таблици изискват ръчно заявяване на преизчисление, тъй като преизчисляването на големи или сложни електронни таблици често се свежда до скорост на въвеждане на данни. Много съвременни електронни таблици все още поддържат тази опция.

Актуализация в реално време

[редактиране | редактиране на кода]

Тази функция се отнася до периодично актуализиране на съдържанието на клетките със стойност от външен източник, като например клетка в „отдалечена“ таблица. За споделени уеб-базирани електронни таблици тя се прилага за „незабавно“ актуализиране на клетки, които друг потребител е обновявал. Всички зависими клетки също трябва да се актуализират.

Веднъж въведени, избраните клетки (или за цялата електронна таблица) могат евентуално да бъдат „заключени“, за да се предотврати случайно презаписване. Обикновено това се прилага за клетки, съдържащи формули, но може да се приложи към клетки, съдържащи „константи“ като кг/паундове с коефициент на преобразуване (2.20462262). Въпреки че отделните клетки са отбелязани като заключени, данните от електронна таблица не са защитени, докато функцията е активирана в документните предпочитания.

Клетка или диапазон могат по избор да бъдат определени, за да се укаже как се показва стойността. Форматът по подразбиране обикновено се определя от първоначалното си съдържание, ако не е изрично предварително настроен, така че, например „31/12/2007“ или „31 декември 2007“ ще бъде зададен по подразбиране в клетката формат дата. По същия начин добавянето на знак % след числова стойност ще маркира клетката като формат процент. Съдържанието на клетката не се променят от този формат, а само на показаната стойност.

Някои клетъчни формати като „цифров“ или „валута“ също могат да посочат и броят на знака след десетичната запетая.

Това може да позволи невалидни операции (като умножение в клетка, съдържаща дата) да водят до нелогични резултати без подходящо предупреждение.

Форматиране на клетка

[редактиране | редактиране на кода]

В зависимост от възможностите на приложенията за електронни таблици, всяка клетка (подобно на „стил“ в текстообработващата програма) може да бъде отделно форматирана, използвайки атрибутите съдържание (размер на точката, цвят, удебелен или курсив) или клетка (дебелина на границата, цветност на фона, цвят). За да спомогне четливостта на електронните таблици, форматирането на клетките условно може да се прилага за данни (например отрицателните да бъдат показани в червено).

Форматиране на клетките обикновено не засяга неговото съдържание и в зависимост от това как клетките са отнесени или копирани в други работни листове или приложения, форматирането може да не се извърши по отношение на съдържанието.

Наименувани клетки

[редактиране | редактиране на кода]

В повечето приложения, клетка или група от клетки в колона или ред, може да бъде „наименувана“. Това позволява на потребителя да се насочва към тези клетки с име, а не с препращане. Имената в електронна таблица трябва да бъдат уникални, но при използване на множество листове във файла с електронната таблица може да бъде използван идентично именуван диапазон от клетки на всеки лист, ако се отличава с добавяне името на листа. Една от причините за тази употреба е за създаване на макроси, които се повтарят на команда в много листове. Друга причина е, че формули с наименувани променливи лесно се проверяват спрямо алгебра, за която са предназначени за изпълнение (приличат на Fortran изрази). Използването на именувани променливи и функции също така прави табличната структура по-прозрачна.

Препратка към клетката
[редактиране | редактиране на кода]

На мястото на именуваната клетка, алтернативен подход е да се използва препратка към клетка (или мрежа). Повечето отнасяния на клетки показват друга клетка в същата таблица, но с препратка към клетката може да се препрати до друга в друг лист в същата таблица или (в зависимост от изпълнението) към клетка в друга таблица изцяло, както и до стойност от отдалечено приложение.

Типичната препратка към клетка в „А1“ се състои от една или две малки и главни букви букви за идентифициране на колоната (ако има до 256 колони: A-Z и AA-IV), последвани от номера на реда (например в диапазона 1 – 65536). Всяка част може да бъде относителна (това се променя, когато формулата е преместена или копирана) или абсолютна (указана с $ пред съответната част на клетката). Алтернативата „R1C1“ референтен стил се състои от буквата R, номера на реда, буква C и номера на колоната. Относителният брой редове или колони са обозначени с номера в квадратни скоби. Повечето съвременни електронни таблици използват A1 стил, някои използват R1C1 стил като съвместима опция.

Когато компютърът изчислява формула в една клетка за актуализиране на показаната стойност на тази клетка, препратката към клетката (те), именувайки друга клетка (и), това кара компютъра да се вземе стойността на именуваната клетка (и).

Когато компютърът изчислява формула в една клетка, за да актуализира показаната стойност на съответната клетка, препратката(ите) към клетката, наименуването на други, кара компютъра да остойности съответната клетка(и).

Клетка от един и същ „лист“ обикновено се адресира като:

=A1

Клетка от различни листове на една и съща електронна табица обикновено се адресират като:

=SHEET2!A1 (това е: първата клетка в лист 2 от същата таблица).

Някои приложения за електронни таблици позволяват да се препраща към клетки в друга таблица (не съответния отворен и активен файл) на същия компютър или локална мрежа. Може също да препраща към клетка в друга отворена и активна електронна таблица на същия компютър или мрежа, която е определена като споделена. Тази препратка съдържа цялото име, например:

='C:\Documents and Settings\Username\My spreadsheets\[main sheet]Sheet1!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 до А6) се изпитва за валидност и в дясната клетка се поставя съобщение.

=IF(SUM(A1:A6) > 100, „Повече от 100%“, SUM(A1:A6)

В таблицата не се съдържат изобщо никакви формули и в този случай това може да се счита само за събиране на данни, подредени в редове и колони (база данни), като календар, графика или обикновен списък. Поради лекотата на използване, възможностите на форматирането и хипервръзката, много таблици се използват единствено за тази цел.

Електронните таблици обикновено съдържат редица предоставени функции, като аритметични операции (например сумиране, средни стойности и т.н.), тригонометрични функции, статистически функции и т.н. Освен това често има разпоредба за потребителски дефинирани функции. В Microsoft Excel тези функции се дефинират чрез Visual Basic за приложения във Visual Basic редактора и тези функции са автоматично достъпни в работния лист. В допълнение програмите могат да бъдат написани да теглят информация от работния лист, да изпълняват някои изчисления и да докладват резултатите обратно на работния лист.

Функциите сами по себе си не могат да пишат в работния лист, а просто връщат оценка. Въпреки това в Microsoft Excel подпрограмите могат да пишат стойности или текст, намиращ се в рамките на подпрограма директно в електронната таблица.

Отдалечена електронна таблица

[редактиране | редактиране на кода]

Всеки път, когато се прави позоваване на клетка или група от клетки, които не се намират в рамките на текущия файл с таблица, се счита, че има достъп до „отдалечена“ таблица. Съдържанието на тези клетки могат да бъде достъпно или на първата референция с ръчна актуализация или по-скоро в случая на уеб базирани електронни таблици, като стойност в почти реално време с определен интервал на автоматично обновяване.

Много приложения за електронни таблици позволяват диаграмите, графиките и хистограмите да бъдат генерирани от определени групи от клетки, които са динамично изградени отново като промяна в съдържанието на клетката. Генерираният графичен компонент може или да бъде вграден в текущия лист или добавен като отделен обект.

Многомерни електронни таблици

[редактиране | редактиране на кода]

В края на 1980 и началото на 1990-те години се появяват първият Javelin Софтуер и по-късно Lotus Improv. За разлика от моделите в обикновената електронна таблица, те използват модели, изградени върху обекти, наречени променливи, а не на данни в клетки. Тези многомерни таблици позволяват да се преглеждат данни и алгоритми по различни самостоятелно документирани начини, включително множество едновременни синхронизирани изгледи. Например потребителите на Javelin могат да се движат през връзките между променливите на диаграмата докато виждат логическите корени и клонове на всяка променлива. Това е пример за може би основният принос на по-ранната Javelin-концепция за проследяване на логиката на потребителя или структурата на модела. Сложният модел може да бъде анализиран и разбран от другите, които нямат роля в създаването му и това остава уникално и до днес. Javelin е използван предимно за финансово моделиране, но също така и за изграждане на учебни модели в колежа за курсове в областта на химията, за моделиране на световната икономика, както и от армията. Javelin все още е в употреба при институциите, за които почтеността в модела е критична.

В тези програми, временния ред или която и да е променлива е обект сама по себе си, а не сбор от клетки, които се появяват в ред или колона. Променливите могат да имат много качества, включително и пълно съзнаване за техните връзки с всички други променливи, данни, справки и текстови и графични приложения. Изчисленията са извършени върху тези обекти, за разлика от диапазона от клетки, така че добавянето на две времеви серии автоматично ги привежда в календарно време или в определен от потребителя период от време. Данните са независими от работните листове-променливи и поради това не могат да бъде унищожени, чрез изтриване на ред, колона или на целия работен лист. Така например, разходите за януари са приспаднати от януарските приходи, независимо от това къде и дали това се появява в работния лист. Това позволява действия по-късно, използвани в осевите таблици с изключение на това, че гъвкавата манипулация на отчетните таблици е само един от многото възможности, поддържани от променливите. Освен това, ако разходите са били въведени за седмицата и приходите за месеца, Javelin програмата би могла да разпредели или интерполира в зависимост от случая. Този дизайн на обекта дава възможност на променливи или цели модели да са референтни помежду си с определени от потребителя имена на променливите, както и да извършват многомерни анализи и масиви, но с лесно редактируеми консолидации.

Trapeze,[13] електронна таблица на Mac, отива по-далеч и изрично подкрепя не само табличните колони, но и матричните оператори.

Логически електронни таблици

[редактиране | редактиране на кода]

Таблици, които имат език за писане на формули въз основа на логически изрази, вместо на аритметични изрази са известни като логически електронни таблици. Такива таблици могат да бъдат използвани за дедуктивно обмисляне стойностите на клетките.

Въпроси при програмирането

[редактиране | редактиране на кода]

Точно както ранните езици за програмиране са предназначени да генерират електронни таблични разпечатки, техниките за програмиране сами по себе си са еволюирали да обработват таблици (известени още като електронни таблици или матрици) данни по-ефективно в самия компютър.

Развития на крайния потребител

[редактиране | редактиране на кода]

Електронните таблици са популярен инструмент за развитие до крайния потребител.[14] EUD отбелязват дейности или техники, в които хора, които не са професионални разработчици създават автоматизирано поведение и сложни обекти от данни без значителни познания по езици за програмиране. Много хора намират за по-лесно да изчисляват в електронни таблици, отколкото да пишат еквивалентна програма. Това се дължи на няколко особености на таблиците.

  • Те използват пространствени връзки да се определят взаимоотношенията в програмата. Хората имат силно развита интуиция за пространства, както и на зависимостите между елементите. Резултатното програмиране обикновено изисква писането на ред след ред от текста, който трябва да се чете бавно и внимателно, за да се разбере и да се промени.
  • Има позволяващи частични резултати и функции на работа. Един или повече части на програмата може да работи правилно, дори ако други части са недовършени или счупени. Това прави писането и отстраняване на грешки в програмата много по-лесно и по-бързо. Резултатното програмиране обикновено се нуждае от всеки програмен ред и писмен знак, за да бъде вярна една програма и да се изпълнява. Една грешка обикновено спира цялата програма и предотвратява получаването на каквито и да било резултати.
  • Съвременните електронни таблици позволяват помощна нотация. Програмата може да бъде отбелязана с цветове, шрифтове, линии и т.н., които да предоставят визуални ориентири за смисъла на елементите в програмата.
  • Разширения, които позволяват на потребителите да създават нови функции могат да осигурят възможностите на функционалното програмиране.[15]

Програми за електронни таблици

[редактиране | редактиране на кода]

„Програмата за електронни таблици“ е предназначена за извършване на общи задачи за изчисляване, използвайки пространствени връзки, а не време като основен организиращ принцип.

Често е удобно да се мисли за електронни таблици като за математически графи, където върховете са клетки от електронната таблица, а ребрата са препратки към други клетки, посочени във формули. Това често се нарича зависимост на графа от електронната таблица. Позоваването между клетките може да се възползва от пространствените концепции, каквито са относителното положение и абсолютната позиция, както и на посочените места, за да направят формулите в електронните таблици по-лесни за разбиране и управление.

Електронните таблици обикновено се опитват да постигнат автоматично актуализиращи се клетки, когато клетките зависят от промяната. Най-ранните таблици използват прости тактики като оценка на клетки в определен ред, но съвременните електронни таблици изчисляват минимален ред за преизчисление от зависимия граф. По-нататъшните таблици включват и ограничена способност за разпространяване на стойностите и обратно, промяна на стойностите на източника, така че конкретния отговор да се постига в определена клетка. Откакто формулите в клетките на електронната таблица не са обратими, тази техника е с ограничена стойност.

Много от понятията, общи за последователните програмни модели имат аналози в света на електронните таблици. Например, последователния модел на индексираната линия обикновено се представя като таблица от клетки, с подобни формули (обикновено се различават само в тези клетки, за които се отнасят).

Електронните таблици са еволюирали до използване на скриптови езици за програмиране като VBA като инструмент за разширяемост, извън това, което с езика на електронната таблица се прави лесно.

Електронните таблици са голяма крачка напред в количественото моделиране, но те имат и недостатъци. На нивото на общите потребителски ползи, електронните таблици имат няколко основни недостатъка, особено по отношение на неблагосклонността на алфа-цифрови клетъчни адреси. Системно проучване и използване на най-съвременните характеристики на един съвременен софтуерен пакет за електронни таблици може да намали риска от тези клопки.

  • Проучване от ClusterSeven показва значителни разлики в начина, по който финансовите институции и юридически лица разбират, ръководят и контролират своите често обширни електронни таблици и неструктурирани финансови данни (включително файлове със стойности, разделени със запетая (CSV) и Microsoft Access бази данни). Едно проучване в началото на 2011 г. на близо 1500 души в Обединеното кралство показва, че 57% от потребителите на електронните таблици никога не са получавали официално обучение за пакета от електронни таблици, който използват. 72% от анкетираните заявяват, че няма отдел за вътрешна проверка точността на техните таблици. Само 13% са заявили, че вътрешен одит преглежда техните електронни таблици, а само 1% получават проверки от техния рисков отдел.[16]
  • Електронните таблици имат значителни проблеми с надеждността. Изследвания показват, че приблизително 94% от електронните таблици, разположени на място съдържат грешки, а 5,2% от клетките в неодитираните таблици съдържат грешки.[17]
Въпреки високия риск от грешка, свързана авторството и употреба на таблиците, могат да се вземат мерки за значително увеличаване на контрола и надеждността от структурно намаляване на вероятността за грешка, появили се при техния източник.[18]
  • Практическата изразителност на електронните таблици може да бъде ограничена, освен ако не се използват техните съвременни функции. Няколко фактора допринасят за това ограничение. Прилагане на комплексен модел на клетка-в точното време изисква досадно много внимание към детайла. Авторите имат проблем със запомнянето значенията на стотици или хиляди клетъчни адреси, които се появяват във формулите.
Тези недостатъци се смекчават от използването на наименувани променливи за клетъчните наименования, както и използването на променливи във формули, вместо на местоположенията на клетките и манипулациите клетка-по-клетка. Графите могат да се използват, за да покажат как резултатите се променят, чрез промяна в стойностите на параметрите. В действителност, електронната таблица може да се направи невидима, с изключение за прозрачен потребителски интерфейс, който изисква съответни входящи данни от страна на потребителя, показва резултати, поискани от потребителя, създава отчети и има вграден капан за грешка, за да осигури точност.[19]
  • По същия начин, формулите, изразени в клетъчни адреси са трудни за правене и проверка. Изследванията показват, че одиторите на електронните таблици, които проверяват числовите резултати и клетъчни формули, не намират повече грешки, отколкото одиторите, които проверяват само числените резултати.[17] Това е още една причина да се използват наименувани променливи и формули, използващи наречени променливи.
  • Промяната на величините изисква големи операции. Когато редове (или колони) се добавят или заличават от таблица, трябва да се коригира размера на много таблици надолу по веригата, които зависят от промяната в таблицата. В този процес, често се налага да се местят другите клетки наоколо, за да направи място за новите колони или редове и да се коригират източниците на данни в графа. В големите таблици това може да отнеме изключително много време.[20][21]
  • Добавянето или премахването на една величина е толкова трудно, че обикновено трябва да се започне отначало. Електронната таблица като парадигма наистина ви принуждава да вземете решение за размера от самото начало на създаването на таблицата, въпреки че често е най-естествено тези избори да се правят след като модела за таблицата е готов. Желанието да се добавят и премахват величини възниква и при анализите на параметрите и чувствителността.[20][21]
Многомерните електронни таблици и инструментите като Аналитика избягват този риск, чрез обобщаване на 2-D парадигмата на класическата електронна таблица в многоизмерно представяне.
  • Сътрудничеството при авторството на формули в електронните таблици може да бъде трудно, когато такова сътрудничество случва на нивото на клетки и клетъчни адреси.
Въпреки че подобно на езиците за програмиране, електронните таблици могат да използват съвкупните клетки с подобно значение и индексираните променливи с имена, които показват значение. Някои електронни таблици имат добри функции за сътрудничество и не е препоръчително на автора на нивото на клетки и клетъчни формули да избягва пречките за сътрудничество, където много хора си сътрудничат при въвеждането на данни и много хора използват една и съща електронна таблица. При сътрудничеството е препоръчително да се използва особеността за защита на обхвата на електронните таблици, която предотвратява направата на промени по невнимание в съдържанието на отделните части на листа.

Други проблеми, свързани с електронни таблици включват:[22][23]

  • Някои източници се застъпват за използване на специализиран софтуер, вместо на таблици за някои приложения (бюджетиране, статистика)[24][25][26]
  • Много софтуерни продукти за електронни таблици, като Microsoft Excel[27] (версии до 2007 г.) и OpenOffice.org Calc[28] (версии преди 2008 г.), имат граница на капацитета до 65 536 реда и 256 колони (216 и 28 съответно). Това може да представлява проблем за хората, които използват много големи масиви от данни и може да доведе до загуба на данни.
  • Липса на одит и система за контрол на версиите. Това прави по-трудно да се определи кой какво е променил и кога. Това може да предизвика проблеми със спазването на регулаторните изисквания. Липсата на контрол при проверката значително увеличава риска от грешки, поради невъзможността да се проследят, изолират и тестват промените, направени в документа.
  • Липса на сигурност. По принцип ако някой има разрешение за отваряне на електронна таблица, той трябва да има разрешение и за промяна на която и да е част от нея (това не е случай на MS Office). Това, съчетано с липсата на одит по-горе, може да се направи лесно извършването на измама.
  • Тъй като те са неточно структурирани е лесно за някой да въведе грешка или случайно или умишлено, чрез въвеждане на информация на грешното място или изразяване на зависимости между клетките неправилно (като във формула).[20][29][30]
  • Резултатите от формулата (например „= A1 * В1“) се отнасят само до една-единствена клетка (това е клетката, където всъщност е разположена формулата – в този случай може би С1), въпреки че може да се извлекат данни от много други клетки, а дори и реални дати и пъти. Това означава, че за да се предизвика подобно изчисление на множество клетки, трябва да се повтори за всеки ред на „входен“ масив почти идентична формула (но пребиваваща в своя собствена „изходна“ клетка). Това се различава от „формулата“ при конвенционалната компютърна програма, която обикновено прави едно изчисление, което се прилага към всички входове на свой ред. При сегашните електронни таблици това принуждава към повторение на идентични формули, което може да има пагубни последствия от гледна точка на обезпечение на качеството и често е причина за много грешки при електронните таблици. Някои електронни таблици имат формули за масиви за справяне с този проблем.
  • Опитвайки се да се управлява огромният обем от електронни таблици, които могат да съществуват в една организация, без правилната защита и одит, неумишленото внасяне на грешки и други елементи, изброени по-горе може да стане непреодолимо.

Макар че има вградени и инструменти от трето лице за настолни приложения за електронни таблици, които са насочени към някои от тези недостатъци, осведомеността и използването им като цяло е ниско. Един добър пример за това е, че 55% от професионалистите на капиталовия пазар „не знаят“ как техните електронни таблици са одитирани; само 6% инвестират в решения от трето лице[31]

Електронни таблици – риск

[редактиране | редактиране на кода]
Вижте: Financial modeling#Accounting.

Рискът при електронните таблици е рискът, свързан с извличане на съществени неточни стойност от Excel или подобни приложение за електронни таблици, които ще бъдат използвани при вземането на свързани (обикновено числено базирани) решения. Примерите включват оценката на даден актив, определяне на финансовите сметки, изчисляване на лекарствените дози или размера на носещата греда в строителното инженерство. Този риск може да възникне от въвеждане на грешни или измамни стойности на данните, от грешките (или неправилни промени) в рамките на логиката на електронна таблица или пропускането на съответните актуализации (например не актуална дата на валутния курс). Някои единични грешки са превишили 1 млрд. долара.[32][33] Тъй като риска при електронните таблици е основно свързан с действията (или бездействието) на физическите лица, това е определено като подкатегория на оперативния риск.

В доклада за търговските загуби на JPMorgan за 2012 г., липсата на контрол върху електронните таблици, използвани за критични финансови функции е цитирано като фактор за търговските загуби на повече от шест милиарда долара, които са били докладвани след като търговията с деривати е западнала.

Въпреки това изследванията,[34] извършени от ClusterSeven разкриват, че около половината (48%) от C-ниво директори и висши мениджъри на фирми, отчели годишни приходи над 50 млн. паунда казват, че или няма контрол при употребата, или много слабо се прилагат ръчни процеси при използването на електронни таблици от фирмите.[34][35]

През 2013 г. Томас Хердън, трета година студент в Масачузетския университет в Амхърст намира големи пропуски в кодирането в електронната таблица, използвана от икономистите Кармен Рейнхарт и Кенет Рогоф през 2010 г. в статия в много влиятелно списание. Статията на Рейнхарт и Рогоф е широко използвана като оправдание за прокарването на европейските програми за строги икономии 2010 до 2013 г.[36]

  1. Rivals Set Their Sights on Microsoft Office: Can They Topple the Giant? – Knowledge@Wharton // Knowledge.wharton.upenn.edu. Посетен на 20 август 2010.
  2. spreadsheet analysis from winners, losers, and Microsoft // Utdallas.edu. Архивиран от оригинала на 2010-07-23. Посетен на 20 август 2010.
  3. A // Utdallas.edu. Архивиран от оригинала на 2010-08-05. Посетен на 20 август 2010.
  4. PC World – Three Minutes: Godfathers of the Spreadsheet // Архивиран от оригинала на 2008-07-26. Посетен на 2013-08-25.
  5. Power, D.J., A Brief History of Spreadsheets, DSSResources.COM, v3.6, 8 август 2004
  6. „Killer Applications“ (overview), Partha gawaargupta. Arizona State University in Tempe, Arizona, May 2002, Web page: ASU-killer-app Архив на оригинала от 2011-09-29 в Wayback Machine..
  7. Improv and PowerStep // Архивиран от оригинала на 6 юни 2002. Посетен на 20 август 2010.
  8. THE EXECUTIVE COMPUTER; Lotus 1-2-3 Faces Up to the Upstarts By Peter H. Lewis Published: March 13, 1988
  9. Linux Spreadsheets, архив на оригинала от 6 август 2002, https://web.archive.org/web/20020806213619/http://vip.hex.net/~cbbrowne/spreadsheets.html, посетен на 6 август 2002 
  10. The Long View – Trapeze
  11. Kay, Alan и др. Computer Software // Scientific American 251 (3). Септември 1984. DOI:10.1038/scientificamerican0984-52. с. 52 – 59. – Value Rule
  12. Burnett, Margaret и др. Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm // Journal of Functional Programming 11 (2). Март 2001. с. 155 – 206. Посетен на 22 юни 2008. – spreadsheets as functional programming
  13. Trapeze
  14. Peter Hornsby. Empowering Users to Create Their Own Software
  15. Simon Peyton Jones, Margaret Burnett, Alan Blackwell. Improving the world's most popular functional language: user-defined functions in Excel // March 2003.
  16. Spreadsheet Risk Management within UK Organisations // July 2011.
  17. а б Stephen G. Powell, Kenneth R. Baker, Barry Lawson. A Critical Review of the Literature on Spreadsheet Errors // 1 декември 2007. Посетен на 18 април 2008.
  18. Richard E. Blaustein. Eliminating Spreadsheet Risks // Internal Auditor Magazine. Institute of Internal Auditors (IIA), November 2009. Архивиран от оригинала на 2010-09-05. Посетен на 10 май 2010. unabridged version Архив на оригинала от 2011-01-18 в Wayback Machine.
  19. Stephen Bullen, Rob Bovey & John Green. Professional Excel Development. 2nd. Addison-Wesley, 2009. ISBN 0-321-50879-3.
  20. а б в Max Henrion. What's Wrong with Spreadsheets – and How to Fix them with Analytica // 14 юли 2004. Архивиран от оригинала на 2006-03-28. Посетен на 13 ноември 2010.
  21. а б Sam Savage. Weighing the Pros and Cons of Decision Technology in Spreadsheets // ORMS Today Volume 24 Number 1. February 2010. Архивиран от оригинала на 2011-03-10. Посетен на 13 ноември 2010.
  22. Philip Howard. Managing spreadsheets // IT-Directors.com. 22 април 2005. Архивиран от оригинала на 2006-03-16. Посетен на 29 юни 2006.
  23. Raymond R. Panko. What We Know About Spreadsheet Errors // 2005 – 01. Архивиран от оригинала на 2010-06-15. Посетен на 22 септември 2006.
  24. Is Excel Budgeting a Mistake? Архив на оригинала от 2010-08-03 в Wayback Machine.
    Excel's critics say that Excel is fundamentally unsuited for budgeting, forecasting, and other activities that involve collaboration or consolidation. Are they correct?
  25. Problems With Using Microsoft Excel for Statistics, архив на оригинала от 26 януари 2009, https://web.archive.org/web/20090126164319/http://cs.uiowa.edu/~jcryer/JSMTalk2001.pdf, посетен на 28 август 2013 
  26. Spreadsheet Addiction
  27. Excel specifications and limits – Excel – Microsoft Office // Office.microsoft.com. Посетен на 20 август 2010.
  28. What's the maximum number of rows and cells for a spreadsheet file? – OpenOffice.org Wiki // Wiki.services.openoffice.org, 26 ноември 2008. Архивиран от оригинала на 2009-05-04. Посетен на 20 август 2010.
  29. Excel spreadsheets in School budgeting – a cautionary tale (2001), архив на оригинала от 7 октомври 2007, https://web.archive.org/web/20071007195537/http://www.accountingweb.co.uk/cgi-bin/item.cgi?id=40301, посетен на 28 август 2013 
  30. Public reports of spreadsheet errors collated by the European Spreadsheet Risks Interest Group (EuSpRIG) Архив на оригинала от 2010-04-13 в Wayback Machine..
  31. Spreadsheets and Capital Markets // June 2009. Архивиран от оригинала на 2011-06-04. Посетен на 2013-08-28.
  32. Excel Financial Model Auditing // Посетен на 20 февруари 2013.
  33. Jonathan Glater. Fannie Mae Corrects Mistakes In Results // The New York Times, 30 октомври 2003. Посетен на 12 юни 2012.
  34. а б Financial Times. Finance groups lack spreadsheet controls // 18 март 2013.
  35. The Guardian. Spreadsheet risk and the threat of cyber attacks in finance // 4 април 2013.
  36. They Said at First That They Hadn't Made a Spreadsheet Error, When They Had' // 24 април 2013.

История на електронните таблици

[редактиране | редактиране на кода]