Warning: This Help page is relevant to LibreOffice up to version 6.0.
For updated Help pages, visit https://help.libreoffice.org.

Функции базы данных

From LibreOffice Help
Jump to navigation Jump to search

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

Note.png Категорию "База данных" можно спутать с базой данных, интегрированной в LibreOffice. Однако между базой данных в LibreOffice и категорией "База данных" нет какой-либо связи.

Пример данных

Следующие данные используются в некоторых примерах описания функций:

В диапазоне A1:E10 содержится список детей, приглашенных на день рождения Кирилла. Для каждой записи указаны следующие сведения: в столбце A указано имя, в столбце B - класс, затем возраст в годах, расстояние до школы в метрах и вес в килограммах.

A B C D E
1 Имя Класс Возраст Расстояние до школы Вес
2 Аня 3 9 150 40
3 Борис 4 10 1000 42
4 Виктор 3 10 300 51
5 Галя 5 11 1200 48
6 Света 2 8 650 33
7 Fранг 2 7 300 42
8 Женя 1 7 200 36
9 Зина 3 9 1200 44
10 Иван 2 8 1000 42
11
12
13 Имя Класс Возраст Расстояние до школы Вес
14 >600
15
16 DCOUNT 5

Формула в ячейке B16: =DCOUNT(A1:E10;0;A13:E14)

Параметры для функции базы данных

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

База данных - это диапазон ячеек, который определяет ее границы.

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

Условия поиска - это диапазон ячеек, содержащий условия, по которым выполняется поиск. Если в одну строку внесено несколько условий поиска, они соединяются с помощью И. Если условия поиска внесены в несколько строк, они соединяются с помощью ИЛИ. Пустые ячейки в диапазоне условий поиска игнорируются.

Выберите команду Сервис - Параметры - LibreOffice Calc - Вычислить, чтобы определить поведение LibreOffice Calc при поиске идентичных записей.

См. также wiki-страницу, посвященную условному подсчету и суммированию.

DSTDEVP

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

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

Синтаксис

DSTDEVP(база данных; поле базы данных; условия поиска)

Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

Чтобы определить стандартное отклонение веса для всех детей одного возраста на дне рождения Игоря (из приведенного выше примера), введите в ячейку B16 следующую формулу:

=DSTDEVP (A1:E10; "Вес"; A13:E14)

В ячейку строки 14 и столбца "Возраст" введите 7, 8, 9 и т.д. Результат представляет собой стандартное отклонение веса для всех детей одного возраста, вес которых был введен.

DSTDEV

Функция DSTDEV служит для расчета стандартного отклонения для совокупности ячеек на основе образца. Для этого используются цифры в столбце базы данных, который соответствует указанным условиям. Записи обрабатываются как образец данных. Это означает, что дети в приведенном выше примере представляют всех детей в целом. Обратите внимание, что репрезентативный результат можно получить только для образца из тысячи записей и более.

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

Синтаксис

DSTDEV(база данных; поле базы данных; условия поиска)

Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

Чтобы определить стандартное отклонение веса для всех детей одного возраста (из приведенного выше примера), введите в ячейку B16 следующую формулу:

=DSTDEV(A1:E10;"Вес";A13:E14)

В ячейку строки 14 и столбца "Возраст" введите 7, 8, 9 и т.д. Показанный результат представляет собой стандартное отклонение веса для всех детей этого возраста.

DPRODUCT

Функция DPRODUCT перемножает все ячейки диапазона данных, содержимое которых соответствует условиям поиска.

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

Синтаксис

DPRODUCT(база данных; поле базы данных; условия поиска)

Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

В приведенном выше примере о дне рождения эту функцию применить невозможно.

DAVERAGE

Функция DAVERAGE возвращает среднее значение для всех ячеек (полей) во всех строках (записях базы данных), которые соответствуют указанным условиям поиска.

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

Синтаксис

DAVERAGE(база данных; поле базы данных; условия поиска)

Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

Чтобы вычислить средний вес всех детей одного возраста (из приведенного выше примера), введите в ячейку B16 следующую формулу:

=DAVERAGE(A1:E10;"Вес";A13:E14)

В ячейку строки 14 и столбца "Возраст" введите 7, 8, 9 и т.д. Будет отображен средний вес всех детей одного возраста.

DMIN

Функция DMIN возвращает минимальное значение ячейки (поля) в базе данных (во всех записях), которая соответствует указанным условиям поиска.

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

Синтаксис

DMIN(база данных; поле базы данных; условия поиска)

Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

Чтобы узнать наименьшее расстояние до школы для детей каждого класса (из приведенного выше примера), введите в ячейку B16 следующую формулу:

=DMIN (A1:E10;"Расстояние до школы";A13:E14)

В ячейку строки 14 и столбца "Класс" введите 1, 2, 3, и т.д. Будет отображено наименьшее расстояние до школы для каждого класса.

DMAX

Функция DMAX возвращает максимальное значение ячейки (поля) в базе данных (во всех записях), которая соответствует указанным условиям поиска.

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

Синтаксис

DMAX(база данных; поле базы данных; условия поиска)

Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

Чтобы узнать вес самого крупного ребенка в каждом классе (из приведенного выше примера), введите в ячейку B16 следующую формулу:

=DMAX(A1:E10; "Вес"; A13:E14)

В столбец "Класс" введите 1, 2, 3 и т.д. После ввода значения для класса будет отображен вес самого тяжелого ребенка в этом классе.

DGET

Функция DGET возвращает содержимое ячейки со ссылкой, которая соответствует указанным условиям поиска. В случае возникновения ошибки функция возвращает либо #ЗНАЧ! для ненайденных строк, либо Ошибка:502 для нескольких найденных ячеек.

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

Синтаксис

DGET(база данных; поле базы данных; условия поиска)

Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

В приведенном выше примере требуется определить, в какой класс ходит ребенок, имя которого было введено в ячейку А14. Формула, введенная в ячейку B16, немного отличается от прежних примеров, поскольку для поля базы данных можно ввести только один столбец (одно поле базы данных). Введите следующую формулу:

=DGET(A1:E10;"Класс";A13:E14)

Введите имя Егор в ячейку A14. Полученный результат будет равен 2. Егор ходит во второй класс. Введите в формулу "Возраст" вместо "Класс" и получите возраст Егора.

Либо введите значение 11 только в ячейку C14, а затем удалите из этой строки все остальные значения. Измените формулу в ячейке B16 следующим образом:

=DGET(A1:E10;"Имя";A13:E14)

Вместо класса запрашивается имя. Отображаемый результат: Галя (единственный ребенок, которому 11 лет).

DCOUNTA

Функция DCOUNTA служит для подсчета в базе данных количества строк (записей), которые соответствуют выбранным условиям поиска и содержат числовые или буквенно-числовые значения.

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

Синтаксис

DCOUNTA(база данных; поле базы данных; условия поиска)

Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

В приведенном выше примере можно определить количество детей, чьи имена начинаются с "Ж" или последующих букв. Измените формулу в ячейке B16 следующим образом =DCOUNTA(A1:E10;"Имя";A13:E14). Удалите предыдущие критерии поиска и введите >=Ж в ячейку A14 столбца "Имя". Результат – 5. Теперь при удалении всех численных значений для имени "Женя" в строке 8 результат изменится на 4. Строка 8 более не учитывается, поскольку в ней отсутствуют значения. Имя "Женя" представляет собой текст, а не значение. Следует отметить, что параметр "Поле базы данных" должен определять столбец, который может содержать значения.

DVARP

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

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

Синтаксис

DVARP(база данных; поле базы данных; условия поиска)

Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

Чтобы определить дисперсию веса для всех детей одного возраста на дне рождения Игоря (из приведенного выше примера), введите в ячейку B16 следующую формулу:

=DVARP(A1:E10; "Вес"; A13:E14)

В ячейку строки 14 и столбца "Возраст" введите 7, 8, 9 и т.д. Будет отображена дисперсия веса для всех детей заданного возраста на дне рождения Игоря.

DVAR

Функция DVAR возвращает дисперсию для всех ячеек всех строк (записей) в поле базы данных, содержимое которых соответствует указанным условиям поиска. Записи из примера обрабатываются как образец данных. Репрезентативный результат можно получить только для образца из тысячи записей и более.

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

Синтаксис

DVAR(база данных; поле базы данных; условия поиска)

Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

Чтобы вычислить дисперсию веса для всех детей одного возраста (из приведенного выше примера), введите в ячейку B16 следующую формулу:

=DVAR(A1:E10;"Вес";A13:E14)

В ячейку строки 14 и столбца "Возраст" введите 7, 8, 9 и т.д. В результате будет отображена дисперсия значений веса для всех детей этого возраста.

DSUM

Функция DSUM возвращает общую сумму для всех ячеек всех строк (записей) в поле базы данных, содержимое которых соответствует указанным условиям поиска.

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

Синтаксис

DSUM(база данных; поле базы данных; условия поиска)

Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

Чтобы вычислить сумму расстояний до школы для всех детей-второклассников на дне рождения Игоря (см. пример выше), введите в ячейку B16 следующую формулу:

=DSUM(A1:E10;"Расстояние до школы";A13:E14)

Введите значение2 в строку 14 под заголовком "Класс". Будет отображена сумма расстояний до школы (1950) для всех детей, которые ходят во второй класс.

DCOUNT

Функция DCOUNT служит для подсчета в базе данных количества строк (записей), которые соответствуют выбранным условиям поиска и содержат числовые значения.

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

Синтаксис

DCOUNT(база данных; поле базы данных; условия поиска)

Для параметра "Поле базы данных" можно ввести ячейку для обозначения столбца или цифру 0 для обозначения всей базы данных. Этот параметр не должен быть пустым. Для создания ссылки на заголовок столбца заключите заголовок в кавычки.

Пример

В приведенном выше примере необходимо узнать, сколько детей проходят до школы более 600 метров. Результат будет сохранен в ячейке B16. Установите курсор в эту ячейку. Введите формулу =DCOUNT(A1:E10;0;A13:E14) в ячейку B16. С помощью Мастера функций введите диапазоны.

База данных - это диапазон данных для оценки, включающий заголовки. В данном случае это A1:E10. Поле базы данных служит для указания столбца для условий поиска. В данном случае это вся база данных. Условия поиска - это диапазон ячеек, в которые можно вводить параметры поиска. В данном случае это A13:E14.

Чтобы узнать, сколько во втором классе детей старше 7 лет, удалите запись >600 в ячейке D14 и введите 2 в ячейку B14 столбца "Класс", а затем введите >7 в ячейку C14 справа. Полученный результат равен 2. Во втором классе двое детей старше 7 лет. Поскольку оба условия введены в одну строку, они соединены с помощью И.


Related Topics

Calc Functions By Category in the LibreOffice WikiHelp