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

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

note

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


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

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

В диапазоне A1:E10 содержится список детей, приглашенных на день рождения Кирилла. Для каждой записи указаны следующие сведения: в столбце 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 (from the first row of Database range), place quotation marks around the header name.

SearchCriteria is the cell range containing search criteria. Like Database, its first row is also field names, and following rows are conditions for related fields. If you write several criteria in one row they are connected by AND. If you write the criteria in different rows they are connected by OR. Empty cells in the search criteria range will be ignored.

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

Смотрите также страницу Wiki о Условном счёте и суммировании.

DAVERAGE

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

The search supports wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), place quotation marks around the header name.

Example

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

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

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

DCOUNT | ДСЧЁТ

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

The search supports wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), place quotation marks around the header name.

If you choose to omit the DatabaseField argument, your formula should be of the form =DCOUNT(Database; ; SearchCriteria).

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 wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), place quotation marks around the header name.

If you choose to omit the DatabaseField argument, your formula should be of the form =DCOUNTA(Database; ; SearchCriteria).

Example

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

DGET | ДИЗВЛЕЧЬ

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

The search supports wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), 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 wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), place quotation marks around the header name.

Example

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

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

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

DMIN

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

The search supports wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), place quotation marks around the header name.

Example

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

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

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

DPRODUCT

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

The search supports wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), place quotation marks around the header name.

Example

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

DSTDEV

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

The search supports wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), place quotation marks around the header name.

Example

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

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

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

DSTDEVP

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

The search supports wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), place quotation marks around the header name.

Example

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

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

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

DSUM

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

The search supports wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), place quotation marks around the header name.

Example

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

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

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

DVAR

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

The search supports wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), place quotation marks around the header name.

Example

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

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

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

DVARP

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

The search supports wildcards or regular expressions. With regular expressions enabled, 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 either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


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 (from the first row of Database range), place quotation marks around the header name.

Example

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

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

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

Please support us!