В тази статия е описан синтаксисът и употребата на функцията 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 да не го изчислява, използвайте синтаксиса:
=''=entry''
Където запис е текстът или стойността, които искате да намерите. Например:
| Какво въвеждате в клетката | Какво изчислява и показва 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.
- Тъй като използвате формула, въведете я по нормалния начин, а не въвеждайте израза във вида:
=''=entry'' - Не използвайте етикети на колони за критериите. Или оставете етикетите празни, или използвайте етикет, който не е етикет на колона от диапазона (в примерите по-долу – "Изчислена средна стойност" и "Точно съвпадение").
Ако използвате във формулата етикет на колона вместо относителна препратка към клетка или име на диапазон, 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) |