В тази статия е описан синтаксисът и употребата на функцията DCOUNTA в Microsoft Excel.
Описание
Преброява непразните клетки в поле (колона) от записи в списък или база данни, които отговарят на зададени от вас условия.
Аргументът поле е незадължителен. Ако се пропусне, DCOUNTA преброява всички записи в базата данни, които отговарят на критериите.
Синтаксис
DCOUNTA(база_данни; поле; критерий)
Синтаксисът на функцията DCOUNTA има следните аргументи:
-
"база_данни" Задължително. Диапазонът от клетките, които съставят списъка или базата данни. База_данни е списък от свързани данни, в който редове са записи, а колоните са полета. Първият ред на списъка съдържа етикети за всяка колона.
-
"поле" Незадължително. Показва коя колона да се използва във функцията. Поле може да бъде зададено като текст с етикета на колоната, поставен в двойни кавички, например "Възраст" или "Добив", или като число, представящо позицията на колоната в списъка: 1 за първата колона, 2 за втората и т. н.
-
"критерий" Задължително. Диапазонът от клетки, съдържащ зададените от вас условия. За аргумента "критерий" (критерии) можете да използвате всеки диапазон, стига да включва поне един етикет на колона и поне една клетка под етикета на колоната, в която задавате условие за колоната.
Забележки
-
За аргумента "критерий" можете да използвате всеки диапазон, стига да включва поне един етикет на колона и поне една клетка под етикета на колоната за задаване на условието.
Ако например диапазонът G1:G2 съдържа етикета на колоната “Доход” в G1 и сумата 10 000 в G2, можете да дефинирате диапазона като “НамериДохода” и да използвате това име като аргумента "критерий" във функциите за базата данни.
-
Въпреки че диапазонът на критериите може да бъде разположен навсякъде в работния лист, не го поставяйте под списъка. Ако добавите още информация към списъка, новата информация се добавя към първия ред под списъка. Ако редът под списъка не е празен, Excel не може да добави новата информация.
-
Уверете се, че диапазонът на критериите (аргументът "критерий") не припокрива списъка.
-
За да изпълните една операция върху цяла колона в база данни, въведе празен ред под етикетите на колоните в диапазона на критериите.
Примери
Копирайте примерните данни в следващата таблица и ги поставете в клетка A1 на нов работен лист на Excel. За да покажат резултати формулите, изберете ги, натиснете клавиша F2 и след това натиснете клавиша Enter. Ако е необходимо, коригирайте ширините на колоните, за да видите всичките данни. Ако копирате някой от следните примери в Excel, уверете се, че сте избрали всички клетки в тази таблица, включително тази в горния ляв ъгъл.
Дърво |
Височина |
Възраст |
Добив |
Печалба |
Височина |
="=Ябълка" |
>10 |
<16 |
|||
="=Круша" |
|||||
Дърво |
Височина |
Възраст |
Добив |
Печалба |
|
Ябълка |
18 |
20 |
14 |
105,0 |
|
Круша |
12 |
12 |
10 |
96,0 |
|
Череша |
13 |
14 |
9 |
105,0 |
|
Ябълка |
14 |
15 |
10 |
75,0 |
|
Круша |
9 |
8 |
8 |
76,8 |
|
Ябълка |
8 |
9 |
6 |
45,0 |
|
Формула |
Описание |
Резултат |
|||
=DCOUNTA(A4:E10; "Печалба"; A1:F2) |
Преброява редовете (1), които съдържат "Ябълка" в колона A с височина >10 и <16. Само ред 8 удовлетворява тези три условия. |
1 |
Примери за критерии
-
Когато въведете =текст в клетка, Excel интерпретира това като формула и опитва да я изчисли. За да въведете =текст, така че Excel да не го изчислява, използвайте синтаксиса:
=''= запис ''
Където запис е текстът или стойността, които искате да намерите. Например:
Какво въвеждате в клетката |
Какво изчислява и показва Excel |
="=Думанова" |
=Думанова |
="=3000" |
=3000 |
-
Когато филтрирате текстови данни, Excel не прави разлика между главни и малки букви. Може обаче да използвате формула, за да извършите търсене с отчитане на разликата между главни и малки букви.
Следващите секции съдържат примери на сложни критерии.
Няколко критерия в една колона
Булева логика: (Продавач = "Думанова" OR Продавач = "Димитров")
За да намерите редове, които отговарят на няколко критерия за една колона, въведете критериите директно един под друг в отделни редове на диапазона на критериите.
В следващия диапазон от данни (A6:C10) диапазонът на критериите (B1:B3) се използва за преброяване на редовете, които съдържат или "Думанова", или "Димитров" в колоната "Продавач" (A8:C10).
|
Продавач |
|
="=Думанова" |
||
="=Банков" |
||
|
||
Категория |
Продавач |
Продажби |
Напитки |
Тодоров |
5122 лв. |
Месо |
Думанова |
450 лв. |
продукти |
Банков |
6328 лв. |
Продукти |
Думанова |
6544 лв. |
Формула |
Описание |
Резултат |
'=DCOUNTA(A6:C10;2;B1:B3) |
Пресмята броя на редовете (3) в A6:C10, които изпълняват всяко от условията за "Продавач" в редове 2 и 3. |
=DCOUNTA(A6:C10;2;B1:B3) |
Няколко критерия в няколко колони, където всички критерии трябва да бъдат изпълнени
Булева логика: (Тип = "Продукти" AND Продажби > 2000)
За да намерите редовете, които отговарят на няколко критерия в няколко колони, въведете всички критерии в един и същ ред от диапазона на критериите.
В следващия диапазон от данни (A6:C12) диапазонът от критерии (A1:C2) се използва за преброяване на редовете, съдържащи "Продукти" в колоната "Категория", и стойност, по-голяма от 2 000 лв. в колоната "Продажби".
Категория |
Продавач |
Продажби |
="=Продукти" |
>2000 |
|
Категория |
Продавач |
Продажби |
Напитки |
Тодоров |
5122 лв. |
Месо |
Думанова |
450 лв. |
Продукти |
Банков |
935 лв. |
Продукти |
Думанова |
6544 лв. |
Напитки |
Банков |
3677 лв. |
Продукти |
Маринова |
3186 лв. |
Формула |
Описание |
Резултат |
'=DCOUNTA(A6:C12;;A1:C2) |
Пресмята броя на редовете (2) в A6:C12, които изпълняват условията в ред 2 (="Продукти" и >2000). |
=DCOUNTA(A6:C12;;A1:C2) |
Няколко критерия в няколко колони, където може да бъде изпълнен всеки критерий
Булева логика: (Тип = "Продукти" OR Продавач = "Думанова")
За да намерите редове, които отговарят на няколко критерия в няколко колони, където всеки критерий може да бъде изпълнен, въведете критериите в различни редове от диапазона на критериите.
В следващия диапазон от данни (A6:C10) диапазонът от критерии (A1:B3) показва всички редове, съдържащи "Продукти" в колоната "Тип" или "Маринова".
Категория |
Продавач |
|
="=Продукти" |
||
="=Маринова" |
||
Категория |
Продавач |
Продажби |
Напитки |
Тодоров |
5122 лв. |
Месо |
Маринова |
675 лв. |
продукти |
Банков |
937 лв. |
Продукти |
Банков |
|
Формула |
Описание |
Резултат |
'=DCOUNTA(A6:C10;"Продажби";A1:B3) |
Пресмята броя на редовете (2) в A6:C10, които изпълняват всяко от условията в A1:C3, където полето "Продажби" не е празно. |
=DCOUNTA(A6:C10;"Продажби";A1:B3) |
Няколко множества от критерии, където всяко множество включва критерии за няколко колони
Булева логика: ( (Продавач = "Думанова" AND Продажби >3000) OR (Продавач = "Димитров" AND Продажби > 1500) )
За да намерите редове, които отговарят на няколко множества от критерии, където всяко множество включва критерии за няколко колони, въведете всеки набор от критерии в отделни редове.
В следващия диапазон от данни (A6:C10) диапазонът от критерии (B1:C3) се използва за преброяване на редовете, съдържащи едновременно "Думанова" в колоната "Продавач" и стойност, по-голяма от 3000, в колоната "Продажби", или редовете, съдържащи както "Димитров" в колоната "Продавач", така и стойност, по-голяма от 1 500 лв., в колоната "Продажби".
Категория |
Продавач |
Продажби |
="=Думанова" |
>3000 |
|
="=Банков" |
>1500 |
|
Категория |
Продавач |
Продажби |
Напитки |
Тодоров |
5122 лв. |
Месо |
Думанова |
450 лв. |
продукти |
Банков |
6328 лв. |
Продукти |
Думанова |
6544 лв. |
Формула |
Описание |
Резултат |
'=DCOUNTA(A6:C10;;B1:C3) |
Пресмята броя на редовете (2) в A6:C10, които изпълняват всички условия в B1:C3. |
=DCOUNTA(A6:C10;;B1:C3) |
Няколко множества от критерии, където всяко множество включва критерии за една колона
Булева логика: ( (Продажби > 6000 AND Продажби < 6500 ) OR (Продажби < 500) )
За да намерите редове, които отговарят на няколко множества от критерии, където всяко множество съдържа критерии за една колона, включете няколко колони с едно и също заглавие.
В следващия диапазон от данни (A6:C10) диапазонът на критериите (C1:D3) се използва за преброяване на редовете, съдържащи стойности между 6 000 лв. и 6 500 лв., и стойности, по-малки от 500 лв., в колоната "Продажби".
Категория |
Продавач |
Продажби |
Продажби |
>6000 |
<6500 |
||
<500 |
|||
Категория |
Продавач |
Продажби |
|
Напитки |
Тодоров |
5122 лв. |
|
Месо |
Думанова |
450 лв. |
|
продукти |
Банков |
6328 лв. |
|
Продукти |
Думанова |
6544 лв. |
|
Формула |
Описание |
Резултат |
|
'=DCOUNTA(A6:C10;;C1:D3) |
Пресмята броя на редовете (2), които изпълняват условията в ред 2 (>6000 и <6500) или изпълняват условието в ред 3 (<500). |
=DCOUNTA(A6:C10;;C1:D3) |
Критерии за намиране на текстови стойности, които имат някои общи знаци
За да намерите текстови стойности, в които някои (но не всички) знаци съвпадат, направете едно или повече от следните неща:
-
Въведете един или повече знаци без знак за равенство (=), за да намерите редове с текстова стойност в колона, която започва с тези знаци. Ако например въведете текста Дум като критерий, Excel намира "Думанова", "Думбар" и "Думков".
-
Използване на заместващ символ.
Като критерии за сравнение могат да бъдат използвани следните заместващи символи.
Използване |
За да намерите |
? (въпросителен знак) |
Произволен единичен знак . Например б?т намира "бит" и "бут" |
* (звездичка) |
Произволен брой знаци . Например *рок намира "Срок" и "Барок" |
~ (тилда), следвана от ?, * или ~ |
Въпросителен знак, звездичка или тилда Например fy91~? намира "fy91?" |
В следващия диапазон от данни (A6:C10) диапазонът от критерии (A1:B3) се използва за преброяване на редовете с "Me" като първи знаци в колоната "Тип" или редове с втори знак, равен на "у" в колоната "Продавач".
Категория |
Продавач |
Продажби |
Аз |
||
?у* |
||
Категория |
Продавач |
Продажби |
Напитки |
Тодоров |
5122 лв. |
Месо |
Думанова |
450 лв. |
продукти |
Банков |
6328 лв. |
Продукти |
Думанова |
6544 лв. |
Формула |
Описание |
Резултат |
'=DCOUNTA(A6:C10;;A1:B3) |
Пресмята броя на редовете (3), които изпълняват всяко от условията в A1:B3. |
=DCOUNTA(A6:C10;;A1:B3) |
Критерии, създадени в резултат на формула
Можете да използвате като ваш критерий изчислена стойност, която е резултат на формула. Запомнете следните важни правила:
-
Формулата трябва да изчислява стойност TRUE или FALSE.
-
Тъй като използвате формула, въведете я по нормалния начин, а не въвеждайте израза във вида:
=''= запис ''
-
Не използвайте етикети на колони за критериите. Или оставете етикетите празни, или използвайте етикет, който не е етикет на колона от диапазона (в примерите по-долу – "Изчислена средна стойност" и "Точно съвпадение").
Ако използвате във формулата етикет на колона вместо относителна препратка към клетка или име на диапазон, Excel показва стойност за грешка, като например #NAME? или #VALUE!, в клетката, която съдържа критерия. Можете да игнорирате тази грешка, защото тя не засяга начина, по който е филтриран диапазонът.
-
Формулата, която използвате за критерии, трябва да използва относителна препратка, за да препрати към съответната клетка в първия ред.
-
Всички други препратки във формулата трябва да бъдат абсолютни препратки.
Филтриране на стойности, по-големи от средната на всички стойности в диапазона от данни
В следващия диапазон от данни (A6:C10), диапазонът на критериите (C1:C2) се използва за преброяване на редовете, чиято стойност в колоната "Продажби" е по-голяма от средната стойност на всички стойности в "Продажби" (C7:C10). Средната стойност се изчислява в клетка C4 и резултатът е обединен в клетка C2 с формулата =">"&C4, за да създаде използваните критерии.
Продажби |
||
=CONCATENATE(">";C4) |
||
Изчислена средна стойност |
||
=AVERAGE(C7:C10) |
||
Категория |
Продавач |
Продажби |
Напитки |
Тодоров |
5122 лв. |
Месо |
Думанова |
450 лв. |
продукти |
Банков |
6328 лв. |
Продукти |
Думанова |
6544 лв. |
Формула |
Описание |
Резултат |
'=DCOUNTA(A6:C10;;C1:C2) |
Пресмята броя на редовете (3), които изпълняват условието (>4611) в C1:C2. Условието в C2 е създадено чрез съединяване на =">" с клетка C4, което е изчисленото средно за C7:C10. |
=DCOUNTA(A6:C10;;C1:C2) |