Функции электронных таблиц

From LibreOffice Help
Jump to: navigation, search

Этот раздел содержит описание функций электронных таблиц, а также примеры.

Вставка - Функция - Тип Электронная таблица

GETPIVOTDATA

Функция GETPIVOTDATA возвращает значение результата из сводной таблицы. Значение адресуется с помощью имён поля и элемента, поэтому оно остаётся действительным даже при изменении структуры сводной таблицы.

Синтаксис

Можно использовать два разных синтаксиса:

GETPIVOTDATA(Целевое поле; Сводная таблица; [Поле 1; Элемент 1; ... ])

GETPIVOTDATA(сводная таблица; ограничения)

Второй синтаксис используется при наличии двух параметров, первый из которых является ячейкой или ссылкой на диапазон ячеек. Во всех других случаях применяется первый синтаксис. В мастере функций отображается первый синтаксис.

Первый cинтаксис

Целевое_поле: строка для выбора одного из полей данных сводной таблицы. Эта строка может содержать имя исходного столбца или имя поля данных, отображаемое в таблице (например, "Сумма – Сбыт").

Сводная_таблица является ссылкой на ячейку или диапазон ячеек, расположенный в сводной таблице или содержащий сводную таблицу. Если диапазон ячеек содержит несколько сводных таблиц, то используется таблица, созданная последней.

При отсутствии пар поле n/элемент n возвращается общий итог. В противном случае каждая пара добавляет ограничение, которому должен удовлетворять результат. Поле n является именем поля из сводной таблицы. Элемент n является именем элемента из этого поля.

Если сводная таблица содержит только одно значение результата, которое удовлетворяет всем ограничениям, или результат промежуточного итога, который является суммой всех сопоставимых значений, то возвращается этот результат. При отсутствии результата сопоставления или при нескольких результатах без промежуточного итога возвращается ошибка. Эти условия относятся к результатам, включённым в сводную таблицу.

Исходные данные, которые содержат записи, скрытые настройками сводной таблицы, игнорируются. Порядок пар "поле/элемент" не имеет значения. Регистр имён полей и элементов не учитывается.

При отсутствии ограничения для поля страницы выбранное значение поля используется неявно. Если ограничение для поля страницы существует, оно должно совпадать с выбранным значением поля, в противном случае возвращается ошибка. Поля страницы - это поля в верхнем левом углу сводной таблицы заполненные с использованием области "Поля страницы" диалогового окна "Разметка сводной таблицы". Из каждого поля страницы можно выбрать элемент (значение), которое означает, что в расчёт включён только этот элемент.

Значения промежуточных итогов из сводной таблицы используются только для функции "Авто" (кроме значений, включённых в ограничения, см. ниже Второй синтаксис).

Второй cинтаксис

Сводная_таблица: аналогично первому варианту синтаксиса.

Ограничения: список значений, разделённых пробелами. Элементы списка могут заключаться в кавычки (одиночные). Вся строка заключается в двойные кавычки (за исключением случая ссылки на строку из другой ячейки).

Одна из записей может быть именем поля данных. Если сводная таблица содержит только одно поле данных, имя поля данных можно не указывать; в противном случае его необходимо определить.

Все остальные записи указывают ограничение в форме Поле[Элемент] (с символами "[" и "]"), либо только Элемент, если имя элемента уникально среди всех полей, используемых в сводной таблице.

Имя функции можно добавить в форме Поле[Элемент;Функция], в результате чего сопоставление ограничится только значениями промежуточных итогов, для которых эта функция используется. Допустимые имена функций - Sum, Count, Average, Max, Min, Product, Count (только числа), StDev (выборка), StDevP (заполнение), Var (выборка) и VarP (заполнение) без учёта регистра.

VLOOKUP

Поиск в вертикальном порядке со ссылкой на соседние ячейки справа. Эта функция проверяет, содержится ли определенное значение в первом столбце массива. Функция возвращает значение в той же строке в столбце с названием Индекс. Если параметр Порядок сортировки опущен или соответствует TRUE, предполагается сортировка данных в порядке возрастания. В этом случае, если точный Критерий поиска не обнаруживается, возвращается последнее значение, меньшее, чем критерий. Если параметр Порядок сортировки соответствует FALSE или равен нулю, требуется поиск точного совпадения, в противном случае выдаётся сообщение Ошибка: значение недоступно. Таким образом, при нулевом значении данные не требуется сортировать в порядке возрастания.

Поиск поддерживает регулярные выражения. Например, можно ввести "all.*", чтобы найти первое вхождение "all", за которым следует любое количество символов. Чтобы выполнить поиск текста, который также является регулярным выражением, необходимо ввести символы \ перед каждым символом. Чтобы включить или отключить автоматическую оценку регулярных выражений, используйте команду Сервис - Параметры - LibreOffice Calc - Вычислить.

Синтаксис

=VLOOKUP (Условия поиска; Массив; Индекс; Порядок сортировки)

Условие_поиска: значение для поиска в первом столбце массива.

Массив: ссылка, которая должна включать, по крайней мере, два столбца.

Индекс: количество столбцов в массиве, который содержит возвращаемое значение. Первому столбцу соответствует номер 1.

Порядок_сортировки: необязательный параметр, который позволяет сортировать значения в первом столбце в порядке возрастания. Для отмены сортировки по возрастанию введите для параметра логическое значение FALSE или нуль. Если значение для поиска находится между минимальным и максимальным значением в списке, то поиск в отсортированных столбцах выполняется значительно быстрее, а функция всегда возвращает значение даже при нестрогом соответствии. В списках без сортировки соответствие должно быть строгим. В противном случае функция возвращает следующее сообщение: Ошибка: значение недоступно.

Обработка пустых ячеек

Пример

В ячейку A1 требуется ввести номер блюда из меню, чтобы его название немедленно отобразилось в смежной ячейке (B1). Соответствия номера и названия содержатся в массиве D1:E100. Ячейка D1 содержит значение 100, ячейка E1 содержит название Овощной суп и т.д. для всех 100 пунктов меню. Номера в столбце D отсортированы по возрастанию, поэтому использовать параметр Порядок сортировки не требуется.

Введите следующую формулу в ячейку B1:

=VLOOKUP(A1;D1:E100;2)

При вводе номера в ячейку A1 в ячейке B1 будет отображен соответствующий текст, который содержится во втором столбце массива D1:E100. При вводе несуществующего номера в ячейке отображается текст для следующего номера. Для исключения этого задайте последнему параметру формулы значение FALSE, чтобы при вводе несуществующего номера отображалось сообщение об ошибке.

COLUMNS

Возвращает количество столбцов для заданной ссылки.

Синтаксис

COLUMNS(Массив)

Массив: ссылка на диапазон ячеек, для которого требуется подсчитать общее количество столбцов. Аргументом также может являться отдельная ячейка.

Пример

=COLUMNS(B5) возвращает значение 1, поскольку ячейка содержит только один столбец.

=COLUMNS(A1:C5) возвращает значение 3. Диапазон содержит три столбца.

=COLUMNS(Rabbit) возвращает значение 2, если Rabbit – указанный диапазон (C1:D3).

COLUMN

Возвращает номер столбца для ссылки на ячейку. Если ссылка указывает на ячейку, возвращается номер столбца для этой ячейки; если ссылка указывает на область ячеек, возвращаются соответствующие номера столбцов в виде массива из одной строки при условии ввода формулы в качестве формулы массива. Если функция COLUMN со ссылкой на область не используется в качестве функции массива, возвращается только номер столбца для первой ячейки области.

Синтаксис

COLUMN(Ссылка)

Ссылка: ссылка на ячейку или область ячеек, для которой требуется определить номер первого столбца.

Если ссылка не указана, возвращается номер столбца для ячейки с формулой. 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(Rabbit)} возвращает массив с одной строкой (3, 4), если " Rabbit" – указанный диапазон (C1:D3).

INDIRECT

Возвращает ссылку в виде текстовой строки. Эту функцию можно также использовать для получения области соответствующей строки.

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

В функции ADDRESS этот параметр вставляется в качестве четвертого параметра, смещая при этом необязательный параметр имени листа на пятое место.

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

В обеих функциях, если аргумент вставлен со значением 0, используется нотация R1C1. Если аргумент не используется или его значение не равно нулю, используется нотация A1.

Если используется нотация R1C1, функция ADDRESS возвращает строки адреса, используя в качестве разделителя имён листов восклицательный знак '!', а функция INDIRECT ожидает, что в качестве разделителя имён листов используется восклицательный знак. В нотации А1 обе функции по-прежнему используют в качестве разделителя имён листов точку '.'.

При открытии документов в формате ODF 1.0/1.1 функции ADDRESS, отображающие имя листа в качестве четвертого параметра, сместят имя листа на место пятого параметра. Будет вставлен новый четвертый параметр со значением 1.

Если при сохранении документа в формате ODF 1.0/1.1 в функциях ADDRESS имеется четвертый параметр, этот параметр будет удален.

Note.png Не сохраняйте электронную таблицу в старом формате ODF 1.0/1.1, если четвертый параметр функции ADDRESS использовался со значением 0.
Note.png Функция INDIRECT сохраняется без преобразования в формат ODF 1.0/1.1. Если имеется второй параметр, более старая версия Calc возвратит для этой функции ошибку.

Синтаксис

INDIRECT(Ссылка; A1)

Ссылка: ссылка на ячейку или область (в текстовой форме), содержимое которой подлежит возврату.

A1 (необязательный параметр): если для этого параметра установлено значение 0, то используется нотация R1C1. Если этот параметр отсутствует или имеет значение, отличное от 0, то используется нотация A1.

Note.png При открытии электронной таблицы Excel, в которой используются косвенные адреса, рассчитанные с помощью строковых функций, автоматическое преобразование адресов листа не выполняется. Например, адрес для Excel в функции INDIRECT("filename!sheetname"&B1) не преобразуется в адрес для Calc в функции INDIRECT("filename.sheetname"&B1).

Пример

=INDIRECT(A1) возвращает значение 100, если ячейка A1 содержит ссылку на ячейку C108, а ячейка C108 содержит значение 100.

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

INDEX

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

Синтаксис

INDEX(Ссылка; Строка; Столбец; Диапазон)

Ссылка: ссылка, введенная вручную или определенная посредством указания имени диапазона. Если ссылка содержит несколько диапазонов, то эту ссылку или имя диапазона следует заключить в скобки.

Строка (необязательный параметр): индекс строки в диапазоне, для которого возвращается значение. В случае нуля (строка не указана) возвращаются все вызванные строки.

Столбец (необязательный параметр): индекс столбца в диапазоне, для которого возвращается значение. В случае нуля (столбец не указан) возвращаются все столбцы в ссылке.

Диапазон (необязательный параметр): индекс поддиапазона в случае ссылки на составной диапазон.

Пример

=INDEX(Цены;4;1) возвращает значение для строки 4 и столбца 1 из диапазона в базе данных, определенного по пути Данные – Определить как Цены.

=INDEX(SumX;4;1) возвращает значение из диапазона SumX для строки 4 и столбца 1, как определено по пути Вставка – Имена – Определить.

=INDEX(A1:B6;1) возвращает ссылку на первую сроку диапазона A1:B6.

=INDEX(A1:B6;0;1) возвращает ссылку на первый столбец диапазона A1:B6.

=INDEX((multi);4;1) указывает значение, содержащееся в строке 4 и столбце 1 из (множественного) диапазона, который назван вами в Вставка - Название - Определить как multi. Множественный диапазон может состоять из нескольких прямоугольных диапазонов, и в каждом будет строка 4 и столбец 1. Если хотите обратиться ко второму блоку множественного диапазона, вводите его номер 2 как параметр диапазон.

=INDEX(A1:B6;1;1) возвращает значение левой верхней ячейки диапазона A1:B6.

=INDEX((составной);0;0;2) возвращает ссылку на второй диапазон составного диапазона.

ERRORTYPE

Возвращает номер типа ошибки в другой ячейке. С помощью этого номера можно воспроизвести текст сообщения об ошибке.

If an error occurs, the function returns a logical or numerical value.

Note.png В строке состояния при щелчке ячейки с ошибкой отображается стандартный код ошибки LibreOffice.

Синтаксис

ERRORTYPE(Ссылка)

Ссылка: адрес ячейки с ошибкой.

Пример

Если в ячейке A1 отображается ошибка Err:518, функция =ERRORTYPE(A1) возвращает номер 518.

DDE

Возвращает результат для ссылки DDE. Если содержимое диапазона или раздела изменилось, возвращаемое значение также меняется. Чтобы просмотреть обновлённые ссылки, следует перезагрузить электронную таблицу или выбрать команду Правка - Ссылки. Межплатформенные ссылки, например, ссылки в установке LibreOffice, запущенной в ОС Windows на документ, созданный в ОС Linux, запрещены.

Синтаксис

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

Server is the name of a server application. LibreOfficeapplications have the server name "soffice".

Файл: полное имя файла, включая путь.

Диапазон: область, содержащая данные для оценки.

Режим: необязательный параметр для управления методами преобразования данных в числа на сервере DDE.

Режим Результат
0 или отсутствует Формат числа из стиля ячейки "По умолчанию"
1 Данные всегда преобразуются в стандартный формат для английского языка (США)
2 Данные извлекаются в виде текста; преобразование в числа не выполняется

Пример

=DDE("soffice";"c:\office\document\data1.sxc";"лист1.A1") считывает содержимое ячейки A1 на листе1 в LibreOffice электронной таблице Calc data1.sxc.

=DDE("soffice";"c:\office\document\motto.sxw"; "Девиз на сегодня") возвращает девиз из ячейки, содержащей эту формулу. Сначала необходимо ввести строку в документ motto.sxw, содержащий текст девиза, и определить её в качестве первой строки раздела с именем Девиз на сегодня (в LibreOffice Writer по пути Вставка – Раздел). При изменении девиза (и его сохранении) в документе Writer LibreOffice девиз обновляется во всех ячейках LibreOffice Calc, в которых определена соответствующая ссылка DDE.

HYPERLINK

При щелчке ячейки с функцией HYPERLINK открывается соответствующая гиперссылка.

В случае ввода необязательного параметра Текст_ячейки формула выполняет поиск URL–адреса, а затем отображает его в виде текста или числа.

Tip.png Чтобы открыть ячейку с гиперссылкой с помощью клавиатуры, выделите ячейку, нажмите клавишу F2, чтобы включить режим редактирования, поместите курсор в начало гиперссылки, нажмите сочетание клавиш SHIFT+F10, а затем выберите команду Открыть гиперссылку.

Синтаксис

HYPERLINK("URL") или 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" к адресу веб-страницы в ячейке с гиперссылкой и возвращает этот текст в качестве результата формулы.

=HYPERLINK("http://www.";"Щёлкните") & "example.org" выводит на экран текст "Щёлкните example.org" в ячейке и при щелчке переходит по гиперссылке http://www.example.org.

=HYPERLINK("#Лист1.A1"; "Перейти наверх") выводит на экран текст "Перейти наверх" и осуществляет переход к ячейке A1 листа1 этого документа.

=HYPERLINK("file:///C:/writer.odt#Specification"; "Перейти на закладку Writer") выводит на экран текст "Перейти на закладку Writer", загружает указанный текстовый документ и переходит на закладку "Спецификация".

AREAS

Возвращает количество отдельных диапазонов, входящих в составной диапазон. Диапазон может состоять из смежных ячеек или одной ячейки.

В функцию передаётся только один аргумент. При определении составных диапазонов их необходимо заключать в дополнительные скобки. Составные диапазоны указываются через точку с запятой (;), но этот знак автоматически преобразуется в оператор "тильда" (~). Тильда используется для объединения диапазонов.

Синтаксис

AREAS(Ссылка)

Ссылка. Ссылка на ячейку или диапазон ячеек.

Пример

=AREAS((A1:B3;F2;G1)) возвращает значение 3, поскольку это ссылка на три ячейки или области. После ввода выполняется преобразование в =AREAS((A1:B3~F2~G1)).

=AREAS(Все) возвращает значение 1, если в окне Данные – определить диапазон была определена область с именем "Все".

ROWS

Возвращает количество строк в массиве или ссылке.

Синтаксис

ROWS(Массив)

Массив: ссылка или имя области, для которой требуется определить общее количество строк.

Пример

=ROWS(B5) возвращает значение 1, поскольку ячейка включает только одну строку.

=ROWS(A10:B12) возвращает значение 3.

=ROWS(Rabbit) возвращает значение 3, если " Rabbit" – указанный диапазон (C1:D3).

ROW

Возвращает номер строки для ссылки на ячейку. Если ссылка указывает на ячейку, возвращается номер строки для этой ячейки. Если ссылка указывает на диапазон ячеек, функция возвращает соответствующие номера строк в массиве с одним столбцом, если формула используется как формула массива. Если функция ROW со ссылкой на диапазон не является формулой массива, возвращается только номер строки для первой ячейки диапазона.

Синтаксис

ROW(Ссылка)

Ссылка: ячейка, область или имя области.

Если ссылка не указана, возвращается номер строки для ячейки, которая содержит формулу. 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(Rabbit)} возвращает массив с одним столбцом (1, 2, 3), если "Rabbit" – указанный диапазон (C1:D3).

HLOOKUP

Служит для поиска значения и ссылки на ячейки в выделенной области. Эта функция проверяет первую строку массива на наличие определенного значения. Функция возвращает значение в тот же столбец в строку массива в соответствии с её номером в индексе.

Поиск поддерживает регулярные выражения. Например, можно ввести "all.*", чтобы найти первое вхождение "all", за которым следует любое количество символов. Чтобы выполнить поиск текста, который также является регулярным выражением, необходимо ввести символы \ перед каждым символом. Чтобы включить или отключить автоматическую оценку регулярных выражений, используйте команду Сервис - Параметры - LibreOffice Calc - Вычислить.

Синтаксис

HLOOKUP(Условия поиска; Массив; Индекс; Сортировка)

См. также VLOOKUP (столбцы и строки меняются местами)

Обработка пустых ячеек

CHOOSE

Эта функция использует индекс для возврата значения из списка, содержащего до 30 значений.

Синтаксис

CHOOSE(Индекс; Значение1; ...; Значение30)

Индекс: ссылка или число в диапазоне от 1 до 30, указывающее на значение, которое требуется извлечь из списка.

Значение1...значение30: список отдельных значений или ссылок на ячейки.

Пример

=CHOOSE(A1;B1;B2;B3; "Сегодня"; "Вчера"; "Завтра"), например, возвращает содержимое ячейки B2 для A1 = 2; для A1 = 4 функция возвращает текст "Сегодня".

STYLE

Определяет стиль для ячейки, содержащей формулу. После заданного промежутка времени стиль можно поменять. Эта функция всегда возвращает значение 0; таким образом, её можно добавить к другой функции без изменения значения. Используя эту функцию совместно с функцией CURRENT, к ячейке можно применить цвет вне зависимости от её значения. Например: =...+STYLE(IF(CURRENT()>3;"красный";"зелёный")) позволяет применить к ячейке стиль "красный", если значение ячейки больше 3; в противном случае применяется стиль "зелёный". Для обеих ячеек необходимо предварительно определить формат.

Синтаксис

STYLE("Стиль"; Время; "Стиль2")

Стиль: имя стиля, назначенного ячейке. Имена стилей заключаются в кавычки.

Время (необязательный параметр): промежуток времени в секундах. Если этот параметр не задан, то по истечении определенного промежутка времени стиль остаётся без изменений.

Стиль2 (необязательный параметр): имя стиля, применяемого к ячейке по истечении определенного промежутка времени. Если этот параметр не определен, то используется стиль "По умолчанию".

В функциях LibreOffice Calc необязательные параметры можно оставлять пустыми только в том случае, если за ними не следуют другие параметры. Например, если у функции четыре параметра и два последних параметра являются необязательными, то можно оставить пустыми параметры 3 и 4 или параметр 4. Оставить пустым параметр 3 невозможно.

Пример

=STYLE("невидимый"; 60; "по умолчанию") применяет к ячейке прозрачный формат на 60 секунд после повторного расчета или загрузки документа, после чего применяет формат "По умолчанию". Для обеих ячеек необходимо предварительно определить формат.

Поскольку функция STYLE() имеет числовое возвращаемое значение нуля, это возвращаемое значение добавляется к строке. Этого можно избежать с помощью T(), как показано в следующем примере:

="Текст"&T(STYLE("myStyle"))

Еще один пример см. в описании CURRENT().

LOOKUP

Возвращает содержимое ячейки из диапазона, равного либо одной строке, либо одному столбцу. Кроме того, присвоенное значение (с тем же индексом) может возвращаться в другом столбце и строке. В отличие от функций VLOOKUP и HLOOKUP вектор просмотра и вектор результата могут иметь разные позиции и могут быть не смежными. Кроме того, вектор просмотра для функции LOOKUP должен быть отсортирован по возрастанию; в противном случае поиск не даст нужных результатов.

Note.png Если с помощью функции LOOKUP не удаётся установить критерий поиска, то он соответствует самому большому значению в векторе просмотра, который меньше, чем критерий поиска, или равен ему.

Поиск поддерживает регулярные выражения. Например, можно ввести "all.*", чтобы найти первое вхождение "all", за которым следует любое количество символов. Чтобы выполнить поиск текста, который также является регулярным выражением, необходимо ввести символы \ перед каждым символом. Чтобы включить или отключить автоматическую оценку регулярных выражений, используйте команду Сервис - Параметры - LibreOffice Calc - Вычислить.

Синтаксис

LOOKUP(Условие поиска; Вектор поиска; Вектор результата)

Условие_поиска: значение для поиска, которое вводится вручную или посредством создания ссылки на него.

Вектор_поиска: область для выполнения поиска, состоящая из отдельной строки или столбца.

Вектор_результата: другой диапазон из одной строки или одного столбца, из которого извлекается результат функции. Функция возвращает ячейку для вектора результата с тем же индексом, что и экземпляр, найденный в векторе просмотра.

Обработка пустых ячеек

Пример

=LOOKUP(A1;D1:D100;F1:F100) позволяет выполнить поиск соответствующей ячейки в диапазоне D1:D100 для числа, указанного в ячейке A1. Для найденного экземпляра определяется индекс, например, 12-я ячейка в этом диапазоне. Затем содержимое 12-й ячейки возвращается в виде значения функции (в векторе результата).

OFFSET

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

Синтаксис

OFFSET(Ссылка; Строки; Столбцы; Высота; Ширина)

Ссылка: ссылка, начиная с которой функция выполняет поиск новой ссылки.

Строки: количество строк, на которое ссылка была смещена вверх (отрицательное значение) или вниз.

Столбцы (необязательный параметр): количество столбцов, на которое ссылка была смещена влево (отрицательное значение) или вправо.

Высота (необязательный параметр) высота области, которая начинается с новой позиции ссылки.

Ширина (необязательный параметр): ширина области, которая начинается с новой позиции ссылки.

Аргументы Строки и Столбцы не должны привести к нулю или отрицательной строке или столбцу начала.

Аргументы Высота и Ширина не должны привести к нулю или отрицательному количеству строк или столбцов.

В функциях LibreOffice Calc необязательные параметры можно оставлять пустыми только в том случае, если за ними не следуют другие параметры. Например, если у функции четыре параметра и два последних параметра являются необязательными, то можно оставить пустыми параметры 3 и 4 или параметр 4. Оставить пустым параметр 3 невозможно.

Пример

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

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

= OFFSET(B2:C3;-1;-1) возвращает ссылку на диапазон B2:C3, поднятый на 1 строку и сдвинутый влево на 1 столбец (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 столбца (B2:E4).

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

MATCH

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

Синтаксис

MATCH(Условие поиска; Массив; Тип)

Условие_поиска: значение для поиска в массиве с одной строкой или столбцом.

Массив: ссылка для поиска. Это может быть одна строка или столбец, либо часть одной строки или столбца.

Тип: параметр, который может принимать значения 1, 0 или -1. Если этот параметр имеет значение 1, либо значение не указано, предполагается, что значения в первом столбце массива отсортированы по возрастанию. Если этому параметру присвоено значение -1, это означает, что значения столбца отсортированы по убыванию. Эта функция соответствует аналогичной функции в Microsoft Excel.

Если параметр имеет значение 0, выполняется поиск только строгих соответствий. Если условие поиска найдено несколько раз, функция возвращает индекс первого из найденных значений. Поиск регулярных выражений возможен, только если этот параметр равен 0.

Если параметр "Тип" имеет значение 1 или третий параметр не задан, возвращается индекс последнего значения, которое меньше либо равно условию поиска. Это условие действует, даже если значения в массиве не отсортированы. Если параметр "Тип" равен -1, возвращается первое значение, которое больше либо равно условию поиска.

Поиск поддерживает регулярные выражения. Например, можно ввести "all.*", чтобы найти первое вхождение "all", за которым следует любое количество символов. Чтобы выполнить поиск текста, который также является регулярным выражением, необходимо ввести символы \ перед каждым символом. Чтобы включить или отключить автоматическую оценку регулярных выражений, используйте команду Сервис - Параметры - LibreOffice Calc - Вычислить.

Пример

=MATCH(200; D1:D100) выполняет поиск значения 200 в области D1:D100, отсортированной по столбцу D. По достижении этого значения возвращается номер соответствующей строки. Если найденное значение больше искомого, возвращается номер предыдущей строки.

SHEETS

Служит для определения количества листов для ссылки. Если параметры не заданы, возвращается количество листов в текущем документе.

Синтаксис

SHEETS(Ссылка)

Ссылка: ссылка на лист или область. Этот параметр является необязательным.

Пример

=SHEETS(Sheet1.A1:Sheet3.G12) возвращает значение 3, если листы лист1, листt2 и лист3 стоят в указанной последовательности.

SHEET

Возвращает номер листа для ссылки или строку с именем листа. Если параметры не заданы, возвращается номер листа с формулой.

Синтаксис

SHEET(Ссылка)

Ссылка (необязательный параметр): ссылка на ячейку или область, либо строка с именем листа.

Пример

= SHEET(Лист2.A1) возвращает значение 2, если лист2 является вторым листом электронной таблицы.

ADDRESS

Возвращает адрес (ссылку) ячейки в виде текста в соответствии с указанными номерами строки и столбца. Можно выбрать отображение адреса как абсолютного (например, $A$1), относительного (A1) или смешанного типа (A$1 или $A1). Можно также указать имя листа.

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

В функции ADDRESS этот параметр вставляется в качестве четвертого параметра, смещая при этом необязательный параметр имени листа на пятое место.

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

В обеих функциях, если аргумент вставлен со значением 0, используется нотация R1C1. Если аргумент не используется или его значение не равно нулю, используется нотация A1.

Если используется нотация R1C1, функция ADDRESS возвращает строки адреса, используя в качестве разделителя имён листов восклицательный знак '!', а функция INDIRECT ожидает, что в качестве разделителя имён листов используется восклицательный знак. В нотации А1 обе функции по-прежнему используют в качестве разделителя имён листов точку '.'.

При открытии документов в формате ODF 1.0/1.1 функции ADDRESS, отображающие имя листа в качестве четвертого параметра, сместят имя листа на место пятого параметра. Будет вставлен новый четвертый параметр со значением 1.

Если при сохранении документа в формате ODF 1.0/1.1 в функциях ADDRESS имеется четвертый параметр, этот параметр будет удален.

Note.png Не сохраняйте электронную таблицу в старом формате ODF 1.0/1.1, если четвертый параметр функции ADDRESS использовался со значением 0.
Note.png Функция 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;;"Sheet2") возвращает следующий результат: Лист2.A$1

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


Related Topics

функции Calc по категориям в LibreOffice WikiHelp