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

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

Значок примечания

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


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

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

В диапазоне 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

Федя

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;D1;A13:E14)

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

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

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

DatabaseField specifies the column where the function operates on after the search criteria of the first parameter is applied and the data rows are selected. It is not related to the search criteria itself. For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

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

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

See also the Wiki page about Conditional Counting and Summation.

DAVERAGE

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

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

For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

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

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

DCOUNT | ДСЧЁТ

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

DCOUNT(БазаДанных; [ПолеБазыДанных]; УсловияПоиска)

Если параметр ПолеБазыДанных опущен, DCOUNT возвращает количество всех записей, удовлетворяющих условиям поиска. For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

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

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

DCOUNTA | ДСЧЁТА

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

DCOUNTA(БазаДанных; [ПолеБазыДанных]; УсловияПоиска)

Если параметр ПолеБазыДанных опущен, DCOUNTA возвращает количество всех записей, удовлетворяющих условиям поиска. For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

DGET | ДИЗВЛЕЧЬ

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

DGET(БазаДанных; ПолеБазыДанных; УсловияПоиска)

For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

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

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

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

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

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

DMAX | ДМАКС

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

DMAX(БазаДанных; ПолеБазыДанных; УсловияПоиска)

For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

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

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

DMIN

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

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

For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

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

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

DPRODUCT

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

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

For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

DSTDEV

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

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

For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

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

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

DSTDEVP

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

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

For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

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

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

DSUM

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

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

For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

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

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

DVAR

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

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

For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

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

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

DVARP

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

The search supports regular expressions. You can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in - LibreOffice Calc - Calculate.

Syntax

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

For the DatabaseField parameter you can enter a reference to a header cell or a number to specify the column within the Database area, starting with 1. To reference a column by means of the literal column header name, place quotation marks around the header name.

Example

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

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

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

Please support us!