데이터베이스 함수

이 섹션에서는 레코드 하나를 하나의 데이터 행으로 관리하는 함수에 대해 소개합니다.

note

LibreOffice에 통합된 데이터베이스의 분류가 명확치 않을 수 있습니다. 하지만 LibreOffice 의 데이터베이스와 LibreOffice Calc 의 데이터베이스 분류는 서로 무관합니다.


예제 데이터:

다음 데이터는 함수 설명 예의 일부에서 사용됩니다.

범위 A1:E10은 Joe의 생일 파티에 초대된 아이들을 나열합니다. 열 A가 이름을 표시하고 열 B가 학년을 표시하는 방식으로 나이, 학교까지의 거리(미터), 몸무게(킬로그램) 등의 정보가 각 항목에 주어집니다.

A

B

C

D

E

1

이름

학년

나이

학교까지의 거리

몸무게

2

Andy

3

9

150

40

3

Betty

4

10

1000

42

4

Charles

3

10

300

51

5

Daniel

5

11

1200

48

6

Eva

2

8

650

33

7

학년

2

7

300

42

8

Greta

1

7

200

36

9

Harry

3

9

1200

44

10

Irene

2

8

1000

42

11

12

13

이름

학년

나이

학교까지의 거리

몸무게

14

>600

15

16

DCOUNT

5


셀 B16의 수식은 =DCOUNT(A1:E10;0;A13:E14)입니다.

데이터베이스 함수 매개 변수:

다음은 모든 데이터베이스 함수에 대한 매개 변수 정의입니다.

Database is the cell range defining the database. The first row of the range contains the field names, and following rows are records with corresponding field values.

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.

Choose - LibreOffice Calc - Calculate to define how LibreOffice Calc acts when searching for identical entries.

See also the Wiki page about Conditional Counting and Summation.

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 등으로 입력합니다. 그러면 각 나이별 평균 몸무게가 표시됩니다.

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(데이터베이스; 데이터베이스필드; 검색조건)

If the DatabaseField argument is omitted, DCOUNTA returns the count of all records that satisfy Criteria. 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

위의 예에서(위로 스크롤) 이름이 E 또는 그 다음 문자로 시작되는 어린이의 수를 찾아볼 수 있습니다. B16 의 수식을 =DCOUNTA(A1:E10;"Name";A13:E14)으로 변경합니다. 이전 검색 조건을 지우고, 이름 아래쪽의 A14 란에 >=E를 입력합니다. 결과값은 5 입니다. 여기서 8행에 있는 Greta 의 값들을 모두 지우면 빈 8행은 결과에서 제외되어 결과값이 4 가 됩니다. 그리고 Greta 는 텍스트이지만 값이 아닙니다. 데이터베이스필드 매개 변수는 값이 있는 열만 가리킨다라는 것을 유의하십시오.

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(데이터베이스; 데이터베이스필드; 검색기준)

If the DatabaseField argument is omitted, DCOUNT returns the count of all records that satisfy Criteria. 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 셀에 저장할 것이므로, B16 을 선택하고 다음 수식을 입력하십시오. =DCOUNT(A1:E10;0;A13:E14) 함수 마법사를 이용하면 쉽게 범위를 입력할 수 있습니다.

데이터베이스 는 헤더를 포함한 사용할 데이터의 범위입니다.(예제: A1:E10) 데이터베이스필드 란에는 검색조건에 해당하는 열을 지정합니다.(예제: 데이터베이스 전체) 검색조건 란에는 검색 매개 변수를 범위로 입력합니다.(예제: A13:E14)

2학년 중 7살을 넘은 학생이 몇 인지 알아보려면, 셀 D14 의 >600 을 지우고, 학년 밑의 셀 B14 에 2 를, 그리고 오른쪽에 있는 셀 C14 에 >7 을 입력합니다. 결과값은 2 입니다. 2학년 중 7살을 넘은 학생은 두 명이 있습니다. 두 개의 조건이 한 행에 있으면, 조건들은 AND 로 연결됩니다.

DGET

DGET는 지정된 검색 기준과 일치하는 데이터베이스의 참조된 셀 내용을 구합니다. 오류가 발생할 경우 이 함수는 행을 찾을 수 없다는 #VALUE!나 둘 이상의 셀을 찾았다는 Err502를 표시합니다.

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(Database; Database Field; Search Criteria) 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

위 예제에서는(위로 스크롤) 셀 A14 에 이름이 입력되는 학생의 학년을 알아볼 것입니다. 수식은 셀 B16 에 있는 것을 사용하되, 이전 예제와는 달리 데이터베이스필드 란에 한 열(한 데이터베이스 필드)만 입력합니다. 다음 수식을 입력하십시오.

=DGET(A1:E10;"학년";A13:E14)

A14 에 Frank 라는 이름을 입력합니다. 그러면 결과가 2 가 나옵니다. Frank 는 2학년입니다. "학년" 대신 "나이" 를 입력하면 Frank 의 나이를 알 수 있습니다.

혹은 셀 C14 에만 11 을 입력하고, 행의 다른 항목들을 모두 삭제합니다. 그리고 B16 의 수식을 다음과 같이 수정합니다.

=DGET(A1:E10;"이름";A13:E14)

학년 대신에 이제는 이름을 알아보는 것입니다. 답이 바로 표시됩니다: 11살인 어린이는 Daniel 뿐입니다.

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(Database; Database Field; Search Criteria) 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

위의 생일 파티 예(위로 스크롤)의 경우에는 이 함수가 의미 있게 적용되지 않습니다.

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

Joe의 생일 파티에 있는 나이가 같은 모든 아이들의 몸무게에 대한 표준 편차를 구하려면(위로 스크롤) 다음 수식을 B16에 입력합니다.

=DSTDEVP(A1:E10;"몸무게";A13:E14)

14번째 행에 나이가 적은 순서대로 7, 8, 9 등으로 입력합니다. 그러면 몸무게가 입력되어 있는 학생들 중 나이가 같은 학생들의 몸무게 표준편차가 표시됩니다.

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 등으로 입력합니다. 그러면 각 나이별로 몸무게의 표준편차가 표시됩니다.

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

Joe의 생일 파티에 있는 아이들 중에서(위로 스크롤) 모든 2학년 아이들이 학교까지 가는 거리를 합친 길이를 구하려면 다음 수식을 B16에 입력합니다.

=DSUM(A1:E10;"학교까지의 거리";A13:E14)

학년 아래쪽의 14번째 행에 2 를 입력합니다. 그러면 2학년 학생들의 등교거리의 총합인 1950 이 표시됩니다.

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

Joe의 생일 파티에(위로 스크롤) 있는 나이가 같은 모든 아이들의 몸무게에 대한 분산을 구하려면 다음 수식을 B16에 입력합니다.

=DVARP(A1:E10;"몸무게";A13:E14)

14번째 행에 나이가 적은 순서대로 7, 8, 9 등으로 입력합니다. 그러면 Joe의 생일파티에 참석한 학생들 중 같은 나이를 가진 학생들의 몸무게 분포가 표시됩니다.

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 등으로 입력합니다. 그러면 각 나이별로 몸무게 분포가 표시됩니다.

Please support us!