Съдържание

# Функции за електронни таблици

Този раздел съдържа описанията на функциите за електронни таблици с примери.

За достъп до тази команда...

Вмъкване - Функция - Категория Електронна таблица

## ERROR.TYPE

Връща число, отговарящо на определен тип грешка, или стойността за грешка #N/A, ако няма грешка.

## STYLE

Прилага стил върху клетката, съдържаща формулата.

## ADDRESS

Връща адрес на клетка (обръщение) като текст според зададени номера на ред и колона. Можете да укажете дали адресът да бъде интерпретиран като абсолютен (например $A$1), относителен (например A1) или смесен (A$1 или $A1). Можете също да зададете името на листа.

За съвместимост функциите ADDRESS и INDIRECT поддържат незадължителен параметър, който определя дали да се използва записът R1C1 за адреси вместо обикновения формат A1.

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

Във функцията INDIRECT параметърът се добавя като втори параметър.

И в двете функции ако аргументът е вмъкнат със стойност 0, се използва записът R1C1. Ако аргументът не е даден или има стойност, различна от 0, се използва записът A1.

При записа R1C1 функцията ADDRESS връща низове с адреси, в които имената на листове са отделени с удивителна (!), а INDIRECT очаква удивителна като разделител за име на лист. При запис A1 и двете функции използват точка (.) като разделител на имена.

При отваряне на документи във формат ODF 1.0/1.1 ако функциите ADDRESS имат четвърти параметър – име на лист, той ще бъде преместен като пети параметър. Ще бъде вмъкнат нов четвърти параметър със стойност 1.

При запазване на документ във формат ODF 1.0/1.1 ако функциите ADDRESS имат четвърти параметър, той ще бъде премахнат.

Не записвайте електронна таблица в стария формат ODF 1.0/1.1, ако сте използвали функцията ADDRESS със стойност 0 за четвъртия параметър.

Функцията INDIRECT се съхранява без преобразуване във формат ODF 1.0/1.1. Ако присъства втори параметър, по-старите версии на Calc ще връщат грешки за тази функция.

#### Синтаксис

ADDRESS(Ред; Колона [; Абс [; A1 [; "Лист"]]])

Ред е номерът на ред в обръщението към клетка.

Колона е номерът (не буквата) на колона в обръщението към клетка.

Абс определя типа на обръщението:

1: абсолютно ($A$1)

2: абсолютен ред, относителна колона (A$1)

3: относителен ред, абсолютна колона ($A1)

4: относително (A1)

A1 (незадължителен) – ако е 0, се използва записът R1C1. Ако този параметър отсъства или има стойност, различна от 0, се използва записът A1.

Лист е името на листа. То трябва да бъде заградено в двойни кавички.

### Пример:

=ADDRESS(1;1;2;"Лист2") връща Лист2.A$1

Ако формулата по-горе е в клетката B2 на текущия лист, а клетката A1 от лист 2 съдържа стойността -6, можете да я посочите непряко чрез функция в B2, като въведете =ABS(INDIRECT(B2)). Резултатът е абсолютната стойност на обръщението към клетка, зададено в B2, която в примера е 6.

## AREAS

Връща броя на отделните области, принадлежащи на дадена съставна област. Областта може да съдържа съседни клетки или само една клетка.

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

#### Синтаксис

AREAS(Обръщение)

Обръщение представлява обръщението към клетка или диапазон от клетки.

#### Пример

=AREAS(A1:B3;F2;G1) връща 3, тъй като аргументът представлява обръщение към три области и/или клетки. След въвеждане се конвертира до =AREAS((A1:B3~F2~G1)).

=AREAS(Всички) връща 1, ако сте дефинирали област с име „Всички“ в Данни - Дефиниране на област.

## CHOOSE

Използва индекс, за да върне стойност от списък с до 30 стойности.

#### Синтаксис

CHOOSE(Индекс; Стойност 1 [; Стойност 2 [; ... [; Стойност 30]]])

Индекс е обръщение или число между 1 и 30, указващо коя стойност да бъде взета от списъка.

Стойност 1, Стойност 2, ..., Стойност 30 е списъкът от отделни стойности или обръщения към клетки.

#### Пример

=CHOOSE(A1;B1;B2;B3;"Днес";"Вчера";"Утре") връща съдържанието на клетката B2 за A1 = 2; за A1 = 4 функцията връща текста „Днес“.

## COLUMN

Връща номера на колона от обръщение. Ако обръщението е към клетка, се връща номерът на колоната ѝ, а при обръщение към диапазон съответните номера на колони се връщат в масив от един ред, ако формулата е въведена като формула за масив. Ако функцията COLUMN с параметър – обръщение към диапазон не е използвана като формула за масив, се намира само номерът на колона на първата клетка от диапазона.

#### Синтаксис

COLUMN([Обръщение])

Обръщение e обръщение към клетка или област от клетки, чиято първа колона да бъде намерена.

Ако не е въведено обръщение, се намира номерът на колона на клетката, съдържаща формулата. LibreOffice Calc автоматично насочва обръщението към текущата клетка.

#### Пример

=COLUMN(A1) връща 1. Колоната A е първата колона в таблицата.

=COLUMN(C3:E3) връща 3. Колоната C е третата колона в таблицата.

=COLUMN(D3:G10) връща 4, понеже D е четвъртата колона в таблицата и функцията COLUMN не е използвана като формула за масив. (В този случай резултатът винаги е първата стойност от масива.)

{=COLUMN(B2:B7)} и =COLUMN(B2:B7) връщат 2, тъй като обръщението съдържа само колоната B – втората колона в таблицата. Понеже на областите от една колона съответства само един номер на колона, няма значение дали формулата е за масив, или не.

=COLUMN() връща 3, ако формулата е въведена в колоната C.

{=COLUMN(Заек)} връща масива от един ред (3, 4), ако „Заек“ е името на областта (C1:D3).

## COLUMNS

Връща броя на колоните в даденото обръщение.

#### Синтаксис

COLUMNS(Масив)

Масив е обръщението към област от клетки, чийто брой колони трябва да се намери. Аргументът може да бъде и само една клетка.

#### Пример

=COLUMNS(B5) връща 1, тъй като една клетка съдържа само една колона.

=COLUMNS(A1:C5) връща 3. Обръщението обхваща три колони.

=COLUMNS(Заек) връща 2, ако Заек е името на областта (C1:D3).

## DDE

Връща резултата от DDE връзка. Ако съдържанието на свързаната област или раздел е променено, върнатата стойност също ще се промени. За да видите обновените връзки, трябва да презаредите електронната таблица или да изберете Редактиране - Връзки. Не се допускат междуплатформени връзки, например от инсталация на LibreOffice в компютър с Windows към документ, създаден на компютър с Linux.

#### Синтаксис

DDE("Сървър"; "Файл"; "Диапазон" [; Режим])

Сървър е името на сървърното приложение. Приложенията от LibreOffice имат сървърно име "soffice".

Файл е пълното име на файла заедно с пътя.

Диапазон е областта, съдържаща данните за изчисляване.

Режим е незадължителен параметър и управлява метода, по който DDE сървърът преобразува данните в числа.

Мода | Ефект
--- | ---
0 или липсва | Използва се числовият формат от стила за клетки „По подразбиране“.
1 | Данните се интерпретират в стандартния формат за английски език (САЩ).
2 | Данните се извличат като текст и не се преобразуват в числа.

#### Пример

=DDE("soffice";"c:\office\document\data1.ods";"Лист1.A1") прочита съдържанието на клетката A1 в Лист1 от документа на LibreOffice Calc с име data1.ods.

=DDE("soffice";"c:\office\document\motto.odt";"Мото на деня") връща мото в клетката, съдържаща формулата. Първо трябва да въведете ред във файла motto.odt, който съдържа текста на мотото и да го направите първи ред на раздел с иметоМото на деня (в LibreOffice Writer, във Вмъкване - Раздел). Ако мотото бъде променено (и записано) в документа на LibreOffice Writer, мотото се обновява във всички клетки на LibreOffice Calc, в които е зададена DDE връзката.

## ERRORTYPE

Връща номера, съответстващ на стойност за грешка от друга клетка. С помощта на този номер може да се генерира съобщение за грешка.

Ако възникне грешка, функцията връща логическа или числова стойност.

Ако щракнете върху клетката, съдържаща грешката, лентата на състоянието показва кода за грешка, вграден в LibreOffice.

#### Синтаксис

ERRORTYPE(Обръщение)

Обръщение съдържа адреса на клетката, в която възниква грешката.

#### Пример

Ако в клетката A1 е изписано Err:518, функцията =ERRORTYPE(A1) връща числото 518.

#### Техническа информация

Тази функция НЕ Е част от стандарта Open Document Format for Office Applications (OpenDocument) Version 1.3. Part 4: Recalculated Formula (OpenFormula) Format. Пространството от имена е

ORG.OPENOFFICE.ERRORTYPE

## GETPIVOTDATA

Функцията GETPIVOTDATA връща резултатна стойност от обобщена таблица. Стойността се адресира чрез имена на полета и елементи, така че остава валидна и при промяна в структурата на обобщената таблица.

#### Синтаксис

Могат да се използват две различни синтактични дефиниции:

GETPIVOTDATA(ЦелевоПоле; ОбобщенаТаблица[; Поле 1; Елемент 1][; ... [Поле 126; Елемент 126]])

или

GETPIVOTDATA(ОбобщенаТаблица; Ограничения)

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

### Първи синтаксис

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

ОбобщенаТаблица е обръщение към клетка или диапазон от клетки, разположен в обобщена таблица или съдържащ такава. Ако диапазонът от клетки съдържа няколко обобщени таблици, се използва последната създадена.

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

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

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

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

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

### Втори синтаксис

ОбобщенаТаблица има същото значение като в първия синтаксис.

Ограничения представлява списък, разделен с интервали. Елементите може да са заградени с единични кавички. Целият низ трябва да бъде ограден с двойни кавички, освен ако е посочен чрез обръщение към друга клетка.

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

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

Може да се добави име на функция във формата Поле[Елемент;Функция]. Тогава ще се разглеждат само тези междинни суми, в които е използвана същата функция. Възможните имена на функции са Sum, Count, Average, Max, Min, Product, Count (само за числа), StDev (за извадка), StDevP (за популация), Var (за извадка) и VarP (за популация), като регистърът на буквите е без значение.

## HLOOKUP

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

Търсенето поддържа заместващи знаци или регулярни изрази. Ако са разрешени регулярните изрази, можете да въведете например „всички.*“, за да намерите първото срещане на „всички“, последвано от произволни знаци. Ако искате да търсите текст, който сам представлява регулярен израз, трябва или да поставите наклонена черта „\“ пред всеки метазнак или операция на регулярния израз, или да оградите текста с \Q...\E. Можете да превключвате автоматичното изчисляване на заместващи знаци или регулярни изрази в LibreOffice - Preferences Инструменти - Настройки - PRODUCTNAME Calc - Изчисляване.

Когато се използват функции, в които един или няколко аргумента са низове с критерии за търсене – регулярни изрази, първо се прави опит низовете с критерии да се преобразуват в числа. Например ".0" ще се преобразува в 0.0 и т.н. При успех няма да се използва сравняване по регулярен израз, а сравняване на числа. Ако обаче се превключи към локал, в който десетичният разделител не е точка, ще сработи преобразуването към регулярен израз. За да наложите изчисляване на регулярен израз вместо числов, използвайте израз, който не може да бъде изтълкуван като число, например ".[0]", ".\0" или "(?i).0".

#### Синтаксис

=HLOOKUP(СравняванаСтойност; Масив; Индекс [; ТърсенеВСортираниДиапазони])

За обяснение на параметрите вижте VLOOKUP (колоните и редовете са разменени).

Обработка на празни клетки

#### Пример

Да предположим, че сме съставили малка таблица на база от данни, която заема диапазона от клетки A1:DO4 и съдържа основна информация за 118 химични елемента. Първата колона съдържа заглавията на редове „Елемент“, „Символ“, „Атомен номер“ и „Относителна атомна маса“. Следващите колони съдържат съответната информация за всеки от елементите, подредени от ляво надясно по атомен номер. Например клетките B1:B4 съдържат „Водород“, „H“, „1“ и „1,008“, а клетките DO1:DO4 – „Оганесон“, „Og“, „118“ и „294“.

| A | B | C | D | ... | DO
--- | --- | --- | --- | --- | --- | ---
1 | Елемент | Водород | Хелий | Литий | ... | Оганесон
2 | Символ | H | He | Li | ... | Og
3 | Атомен номер | 1 | 2 | 3 | ... | 118
4 | Относителна атомна маса | 1.008 | 4.0026 | 6.94 | ... | 294

=HLOOKUP("Олово"; $A$1:$DO$4; 2; 0) връща „Pb“, символа за олово.

=HLOOKUP("Злато"; $A$1:$DO$4; 3; 0) връща 79, атомния номер на златото.

=HLOOKUP("Въглерод"; $A$1:$DO$4; 4; 0) връща 12,011, относителната атомна маса на въглерода.

## HYPERLINK

Когато щракнете върху клетка, съдържаща функцията HYPERLINK, се отваря съответната хипервръзка.

Ако използвате незадължителния параметър СтойностНаКлетката, формулата намира зададения URL, след което показва текста или числото.

За да отворите клетка с хипервръзка чрез клавиатурата, натиснете F2, за да включите режима на редактиране, преместете курсора пред хипервръзката, натиснете Shift+F10 и изберете Отваряне на хипервръзка.

#### Синтаксис

HYPERLINK("URL" [; "СтойностНаКлетката"])

URL указва целта на връзката. Незадължителният параметър СтойностНаКлетката е текстът или числото, което се показва в клетката и резултатът на функцията. Ако параметърът СтойностНаКлетката не е зададен, стойността на URL се изписва в клетката и се връща като резултат.

За празни клетки и елементи на матрица се връща числото 0.

#### Пример

=HYPERLINK("http://www.example.org") показва текста „http://www.example.org“ в клетката и при щракване стартира хипервръзката http://www.example.org.

=HYPERLINK("http://www.example.org";"Щракнете тук") показва текста „Щракнете тук“ в клетката и при щракване изпълнява хипервръзката http://www.example.org.

=HYPERLINK("http://www.example.org";12345) показва числото 12345 и при щракване стартира хипервръзката http://www.example.org.

=HYPERLINK($B4), където клетката B4 съдържа http://www.example.org. Функцията добавя „http://www.example.org“ към URL на клетката с хипервръзката и връща същия текст като резултат от формулата.

=HYPERLINK("http://www.";"Щракнете върху ") & "example.org" показва в клетката текста „Щракнете върху example.org“ и при щракване изпълнява хипервръзката http://www.example.org.

=HYPERLINK("#Лист1.A1";"Към началото") показва текста „Към началото“ и предизвиква преход към клетката Лист1.A1 в същия документ.

=HYPERLINK("file:///C:/writer.odt#Спецификация";"Преход към показалец на Writer") показва текста „Преход към показалец на Writer“, зарежда зададения текстов документ и показва текста, обозначен с показалеца „Спецификация“.

=HYPERLINK("file:///C:/Documents/";"Отваряне на папката Documents") изписва текста „Отваряне на папката Documents“ и показва съдържанието на папката чрез стандартния файлов диспечер на операционната система.

Тази функция се опитва да отговаря на спецификата на системата. Например „c:\path to\file.ext“ ще бъде правилно интерпретирано в Windows като „file:///c:/path%20to/file.ext“, а „..“ ще води към родителската директория на документа.

## INDEX

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

INDEX() връща обръщение, ако аргументът представлява едно или няколко обръщения. Когато се използва в клетка във вида =INDEX(), обръщението се проследява и се показват стойностите. Когато INDEX() се използва в аргументите на други функции, =FUNCTION(INDEX()...), функцията получава предадено обръщението, върнато от INDEX(). Връщането на обръщение е различно от връщането на масив от стойности за функциите, които ги обработват различно.

#### Синтаксис

INDEX(Reference [; [Ред] [; [Колона] [; Диапазон]]])

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

Ред (незадължителен) представлява реда или масива от индекси на редове в диапазона на обръщението, за които да се върне стойност. Ако е 0 или пропуснат (няма определен ред), ще бъдат върнати всички редове от обръщението.

Колона (незадължителен) представлява колоната или масива от индекси на колони в диапазона на обръщението, за които да се върне стойност. Ако е 0 или пропуснат (няма определена колона), ще бъдат върнати всички колони от обръщението.

Ако Ред, Колона или и двата са пропуснати или са дефинирани като масиви от индекси, функцията INDEX трябва да бъде въведена като функция за масиви.

Диапазон (незадължителен) представлява индекса на поддиапазона, ако обръщението е към множествен диапазон, подразбира се 1.

#### Пример

{=INDEX({1,3,5;7,9,10},{2;1},1)} връща масив с 2 реда, съдържащ числата 7 и 1. Индексите на редове {2;1} избират първо ред 2, после ред 1. Индексът на колона 1 избира първата колона.

{=INDEX(D3:G12,{1;2;3;4},{3,1})} връща масив с 4 реда и 2 колони. Масивът с индекси на редове {1;2;3;4} избира редовете от 3 до 6, а {3;1} избира третата (F) и първата колона (D). Колоните 1 и 3 от обръщението източник са разменени в масива резултат.

=INDEX(Цени;4;1) връща стойността от ред 4 и колона 1 на диапазона с данни, зададен в Данни - Дефиниране с името Цени.

=INDEX(СумаX;4;1) връща стойността от ред 4 и колона 1 на диапазона СумаX, зададен в Лист - Наименувани диапазони и изрази - Дефиниране.

{=INDEX(A1:B6;1)} връща стойностите от първия ред на A1:B6. Въведете формулата като формула за масив.

{=INDEX(A1:B6;0;1)} връща стойностите от първата колона на A1:B6. Въведете формулата като формула за масив.

=INDEX(A1:B6;1;1) посочва стойността в горния ляв ъгъл на диапазона A1:B6.

{=INDEX((A1:B6;C1:D6);0;0;2)} връща стойностите от втория диапазон, C1:D6, на множествения диапазон. Въведете формулата като формула за масив.

Теми, свързани с показаната

Уикистраница за INDEX

## INDIRECT

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

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

За съвместимост функциите ADDRESS и INDIRECT поддържат незадължителен параметър, който определя дали да се използва записът R1C1 за адреси вместо обикновения формат A1.

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

Във функцията INDIRECT параметърът се добавя като втори параметър.

И в двете функции ако аргументът е вмъкнат със стойност 0, се използва записът R1C1. Ако аргументът не е даден или има стойност, различна от 0, се използва записът A1.

При записа R1C1 функцията ADDRESS връща низове с адреси, в които имената на листове са отделени с удивителна (!), а INDIRECT очаква удивителна като разделител за име на лист. При запис A1 и двете функции използват точка (.) като разделител на имена.

При отваряне на документи във формат ODF 1.0/1.1 ако функциите ADDRESS имат четвърти параметър – име на лист, той ще бъде преместен като пети параметър. Ще бъде вмъкнат нов четвърти параметър със стойност 1.

При запазване на документ във формат ODF 1.0/1.1 ако функциите ADDRESS имат четвърти параметър, той ще бъде премахнат.

Не записвайте електронна таблица в стария формат ODF 1.0/1.1, ако сте използвали функцията ADDRESS със стойност 0 за четвъртия параметър.

Функцията INDIRECT се съхранява без преобразуване във формат ODF 1.0/1.1. Ако присъства втори параметър, по-старите версии на Calc ще връщат грешки за тази функция.

#### Синтаксис

INDIRECT(Обр [; A1])

Обр е обръщение (в текстова форма) към клетка или област, чието съдържание да бъде върнато.

A1 (незадължителен) – ако е 0, се използва записът R1C1. Ако този параметър отсъства или има стойност, различна от 0, се използва записът A1.

Ако отворите електронна таблица на Excel, в която са използвани косвени адреси, изчислени чрез функции за низове, адресите в листа няма да бъдат автоматично преобразувани. Например, адресът на Excel в INDIRECT("[файл]лист!"&B1) няма да се преобразува в адрес на Calc от вида INDIRECT("файл#лист."&B1).

#### Пример

=INDIRECT(A1) дава 100, ако A1 съдържа обръщението C108, а клетката C108 съдържа стойност 100.

=SUM(INDIRECT("a1:" & ADDRESS(1;3))) сумира клетките в областта от A1 до клетката, чийто адрес е зададен като ред 1 и колона 3. С други думи, сумира се областта A1:C1.

Теми, свързани с показаната

Уикистраница за INDIRECT

## LOOKUP

Връща съдържанието на клетка от област, състояща се от един ред или една колона. Може да бъде върната и съответстваща стойност (със същия индекс) от друга колона и ред. За разлика от VLOOKUP и HLOOKUP векторите за претърсване и за резултат може да са на различни позиции – не е необходимо да са съседни. Освен това претърсваният вектор за LOOKUP трябва да бъде сортиран възходящо, иначе търсенето няма да върне използваем резултат.

Ако LOOKUP не може да удовлетвори критерия за търсене, тя връща най-голямата стойност от претърсвания вектор, която е по-малка или равна на търсената.

Търсенето поддържа заместващи знаци или регулярни изрази. Ако са разрешени регулярните изрази, можете да въведете например „всички.*“, за да намерите първото срещане на „всички“, последвано от произволни знаци. Ако искате да търсите текст, който сам представлява регулярен израз, трябва или да поставите наклонена черта „\“ пред всеки метазнак или операция на регулярния израз, или да оградите текста с \Q...\E. Можете да превключвате автоматичното изчисляване на заместващи знаци или регулярни изрази в LibreOffice - Preferences Инструменти - Настройки - PRODUCTNAME Calc - Изчисляване.

Когато се използват функции, в които един или няколко аргумента са низове с критерии за търсене – регулярни изрази, първо се прави опит низовете с критерии да се преобразуват в числа. Например ".0" ще се преобразува в 0.0 и т.н. При успех няма да се използва сравняване по регулярен израз, а сравняване на числа. Ако обаче се превключи към локал, в който десетичният разделител не е точка, ще сработи преобразуването към регулярен израз. За да наложите изчисляване на регулярен израз вместо числов, използвайте израз, който не може да бъде изтълкуван като число, например ".[0]", ".\0" или "(?i).0".

#### Синтаксис

LOOKUP(СравняванаСтойност; ПретърсванВектор [; ВекторСРезултати])

СравняванаСтойност е търсената стойност от произволен тип, въведена директно или посочена чрез обръщение.

ПретърсванВектор е претърсваната област от един ред или една колона.

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

Обработка на празни клетки

#### Пример

=LOOKUP(A1;D1:D100;F1:F100) претърсва съответната клетка в областта D1:D100 за числото, въведено в A1. Определя се индексът на намерената стойност, например 12-тата клетка в тази област. След това като резултат се връща съдържанието на 12-тата клетка от вектора за резултата.

## MATCH

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

#### Синтаксис

MATCH(ТърсенаСтойност; Масив [; Тип])

ТърсенаСтойност е стойността, която да бъде търсена в масива от един ред или колона.

Масив е обръщение към претърсвания масив. Той може да представлява един ред или колона или част от един ред или колона.

Тип може да приема стойностите 1, 0 и -1. Ако Тип = 1 или този незадължителен параметър липсва, се приема, че първата колона на претърсвания масив е сортирана в нарастващ ред. Ако Тип = -1, се приема, че колоната е сортирана в низходящ ред. Това съответства на същата функция в Microsoft Excel.

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

Ако Тип = 1 или липсва трети параметър, се връща индексът на последната стойност, по-малка или равна на критерия за търсене. При Тип = -1 се връща индексът на последната по-голяма или равна стойност.

Търсенето поддържа заместващи знаци или регулярни изрази. Ако са разрешени регулярните изрази, можете да въведете например „всички.*“, за да намерите първото срещане на „всички“, последвано от произволни знаци. Ако искате да търсите текст, който сам представлява регулярен израз, трябва или да поставите наклонена черта „\“ пред всеки метазнак или операция на регулярния израз, или да оградите текста с \Q...\E. Можете да превключвате автоматичното изчисляване на заместващи знаци или регулярни изрази в LibreOffice - Preferences Инструменти - Настройки - PRODUCTNAME Calc - Изчисляване.

Когато се използват функции, в които един или няколко аргумента са низове с критерии за търсене – регулярни изрази, първо се прави опит низовете с критерии да се преобразуват в числа. Например ".0" ще се преобразува в 0.0 и т.н. При успех няма да се използва сравняване по регулярен израз, а сравняване на числа. Ако обаче се превключи към локал, в който десетичният разделител не е точка, ще сработи преобразуването към регулярен израз. За да наложите изчисляване на регулярен израз вместо числов, използвайте израз, който не може да бъде изтълкуван като число, например ".[0]", ".\0" или "(?i).0".

#### Пример

=MATCH(200;D1:D100) претърсва областта D1:D100, която е сортирана по колоната D, за стойността 200. При достигане на тази стойност се връща номерът на реда, където е намерена тя. Ако при претърсването бъде срещната по-висока стойност, се връща номерът на предишния ред.

## OFFSET

Връща стойността на клетка, отместена с даден брой редове и колони спрямо дадена отправна точка.

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

#### Синтаксис

OFFSET(Обръщение; Редове; Колони [; Височина [; Ширина]])

Обръщение е обръщението, спрямо което функцията формира новото обръщениее.

Редове е броят редове, с който да бъде коригирано обръщението в посока нагоре (при отрицателна стойност) или надолу. Използвайте 0 за оставане на същия ред.

Колони (незадължителен) е броят колони, с който да бъде коригирано обръщението в посока наляво (при отрицателна стойност) или надясно. Използвайте 0 за оставане в същата колона.

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

Ширина (незадължителен) е ширината за областта, която започва от позицията на новото обръщение.

Аргументите Редове и Колони не трябва да водят до обръщение към нулев или отрицателен ред или колона.

Аргументите Височина и Ширина не трябва да водят до нулев или отрицателен брой редове или колони.

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

#### Пример

=OFFSET(A1;2;2) връща стойността от клетката C3 (два реда и две колони, отброени от A1). Ако C3 съдържа стойността 100, тази функция ще върне 100.

=OFFSET(B2:C3;1;1) връща обръщение към B2:C3, отместено с един ред надолу и една колона надясно (C3:D4).

=OFFSET(B2:C3;-1;-1) връща обръщение към B2:C3, изместено с един ред и една колона наляво (A1:B2).

=OFFSET(B2:C3;0;0;3;4) връща обръщение към B2:C3, преоразмерено до 3 реда и 4 колони (B2:E4).

=OFFSET(B2:C3;1;0;3;4) връща обръщение към B2:C3, изместено надолу с един ред и преоразмерено до 3 реда и 4 колони (B3:E5).

=SUM(OFFSET(A1;2;2;5;6)) намира сумата на областта, започваща в клетката C3, висока 5 реда и 6 колони(област=C3:H7).

При зададени Ширина или Височина функцията OFFSET връща обръщение към диапазон от клетки. Ако Обръщение е обръщение към единствена клетка и Ширина и Височина са пропуснати, се връща обръщение към една клетка.

## ROW

Връща номера на ред от обръщение. Ако обръщението е към клетка, се връща номерът на реда ѝ, а при обръщение към диапазон съответните номера на редове се връщат в масив от една колона, ако формулата е въведена като формула за масив. Ако функцията ROW с параметър – обръщение към диапазон не е използвана като формула за масив, се намира само номерът на ред на първата клетка от диапазона.

#### Синтаксис

ROW([Обръщение])

Обръщение e клетка, област или име на област.

Ако не е въведено обръщение, се намира номерът на реда на клетката, съдържаща формулата. LibreOffice Calc автоматично насочва обръщението към текущата клетка.

#### Пример

=ROW(B3) връща 3, тъй като обръщението посочва третия ред в таблицата.

{=ROW(D5:D8)} връща масива от една колона (5, 6, 7, 8), защото обръщението посочва редовете от 5 до 8.

=ROW(D5:D8) връща 5, тъй като функцията ROW не е използвана като формула за масив и се връща само номерът на първия ред от обръщението.

{=ROW(A1:E1)} и =ROW(A1:E1) връщат 1, защото обръщението съдържа само ред 1 като първа колона в таблицата. (Областите от един ред съответстват на единствен номер на ред, затова няма значение дали формулата е за масив, или не.)

=ROW() връща 3, ако формулата е въведена в ред 3.

{=ROW(Заек)} връща масива от една колона (1, 2, 3), ако „Заек“ е името на областта (C1:D3).

## ROWS

Връща броя на редовете в обръщение или масив.

#### Синтаксис

ROWS(Масив)

Масив е обръщението или наименуваната област, чийто брой редове трябва да се намери.

#### Пример

=ROWS(B5) връща 1, тъй като една клетка съдържа само един ред.

=ROWS(A10:B12) връща 3.

=ROWS(Заек) връща 3, ако „Заек“ е името на областта (C1:D3).

## SHEET

Връща номера на лист от обръщение или от низ с име на лист. Ако не въведете параметри, се връща номерът на листа, съдържащ формулата.

#### Синтаксис

SHEET([Обръщение])

Обръщение е незадължителен и представлява обръщението към клетка, област или низ с име на лист.

#### Пример

=SHEET(Лист2.A1) връща 2, ако Лист2 е вторият лист в електронната таблица.

=SHEET("Лист3") връща 3, ако Лист3 е третият лист в електронната таблица.

## SHEETS

Определя броя на листовете в обръщение. Ако не въведете параметри, връща броя на листовете в текущия документ.

#### Синтаксис

SHEETS([Обръщение])

Обръщение е обръщението към лист или област. Този параметър е незадължителен.

#### Пример

=SHEETS(Лист1.A1:Лист3.G12) връща 3 ако Лист1, Лист2 и Лист3 съществуват точно в този ред.

## VLOOKUP

Вертикално търсене с преглеждане на съседните клетки отдясно. Тази функция проверява дали в първата колона на масив се съдържа определена стойност. След това тя връща стойността от същия ред на колоната, посочена чрез Индекс. Ако параметърът Сортиран е пропуснат или има стойност TRUE или единица, се приема, че данните са сортирани в нарастващ ред. В този случай, ако не е намерена СравняванаСтойност, ще бъде върната последната стойност, по-малка от критерия. Ако Сортиран е FALSE или нула, се изисква точно съвпадение, иначе резултатът е Грешка: няма налична стойност. Така при нулева стойност не е необходимо данните да се сортират възходящо.

Търсенето поддържа заместващи знаци или регулярни изрази. Ако са разрешени регулярните изрази, можете да въведете например „всички.*“, за да намерите първото срещане на „всички“, последвано от произволни знаци. Ако искате да търсите текст, който сам представлява регулярен израз, трябва или да поставите наклонена черта „\“ пред всеки метазнак или операция на регулярния израз, или да оградите текста с \Q...\E. Можете да превключвате автоматичното изчисляване на заместващи знаци или регулярни изрази в LibreOffice - Preferences Инструменти - Настройки - PRODUCTNAME Calc - Изчисляване.

Когато се използват функции, в които един или няколко аргумента са низове с критерии за търсене – регулярни изрази, първо се прави опит низовете с критерии да се преобразуват в числа. Например ".0" ще се преобразува в 0.0 и т.н. При успех няма да се използва сравняване по регулярен израз, а сравняване на числа. Ако обаче се превключи към локал, в който десетичният разделител не е точка, ще сработи преобразуването към регулярен израз. За да наложите изчисляване на регулярен израз вместо числов, използвайте израз, който не може да бъде изтълкуван като число, например ".[0]", ".\0" или "(?i).0".

#### Синтаксис

=VLOOKUP(СравняванаСтойност; Масив; Индекс [; ТърсенеВСортираниДиапазони])

СравняванаСтойност е стойността от произволен тип, която се търси в първата колона на масива.

Масив е обръщението, което трябва да съдържа поне толкова колони, колкото е числото, подадено в аргумента „Индекс“.

Индекс е номерът на колоната в масива, съдържаща стойността, която да бъде върната. Първата колона е с номер 1.

ТърсенеВСортираниДиапазони е незадължителен параметър, който определя дали първата колона в масива съдържа граници на диапазони вместо обикновени стойности. В този режим търсенето връща стойността от реда, в който стойността на първата колона е по-малка или равна на СравняванаСтойност. Например, тя може да съдържа датите на промяна на някаква данъчна ставка, така че стойностите представят началните дати на периодите, в които е била в сила определена ставка. Тогава търсенето на дата, която отсъства в първата колона на масива, но се пада между две съществуващи гранични дати, ще върне по-малката от тях, което позволява да се намерят данните, които са в сила за търсената дата. Въведете логическата стойност FALSE или нула, ако първата колона не представлява списък от граници на диапазони. Когато този параметър е TRUE или е пропуснат, първата колона в масива трябва да е сортирана във възходящ ред. Сортираните колони се претърсват много по-бързо и функцията винаги връща стойност, дори ако няма точно съвпадение с търсената стойност, стига тя да е между най-ниската и най-високата стойност от сортирания списък. В несортирани списъци съвпадението с търсената стойност трябва да бъде точно. Иначе функцията ще върне съобщението: Грешка: няма налична стойност.

Обработка на празни клетки

#### Пример

Необходимо е при въвеждане на номера на ястие в клетката A1 името на ястието да се показва незабавно като текст в съседната клетка (B1). Съответствието между номера и имена е зададено чрез масива D1:E100. D1 съдържа100, E1 съдържа името Зеленчукова супа и т.н. – общо 100 реда от меню. Числата в колоната D са сортирани във възходящ ред, така че незадължителният параметър Сортирано не е необходим.

Въведете следващата формула в B1:

=VLOOKUP(A1;D1:E100;2)

След като въведете число в A1, в B1 ще се покаже съответният текст от втората колона на обръщението D1:E100. Въвеждането на несъществуващ номер ще предизвика изписване на следващия наличен номер. За да предотвратите това, въведете FALSE като последен параметър във формулата – така несъществуващите номера ще предизвикват съобщение за грешка.

Теми, свързани с показаната

Функции по категория