Excel COUNTIF і COUNTIFS з логікай АБО

  • Падзяліцца Гэтым
Michael Brown

У падручніку тлумачыцца, як выкарыстоўваць функцыі Excel COUNTIF і COUNTIFS для падліку ячэек з некалькімі ўмовамі АБО, напрыклад. калі ячэйка змяшчае X, Y або Z.

Як усім вядома, функцыя COUNTIF у Excel прызначана для падліку ячэек на аснове толькі аднаго крытэрыю, у той час як COUNTIFS ацэньвае некалькі крытэрыяў з дапамогай логікі І. Але што, калі ваша задача патрабуе логікі АБО - калі прадугледжана некалькі ўмоў, любая з іх можа адпавядаць, каб быць уключанай у падлік?

Ёсць некалькі магчымых рашэнняў гэтай задачы, і гэты падручнік ахоплівае іх усе ў поўная дэталь. Прыклады азначаюць, што вы добра ведаеце сінтаксіс і агульнае выкарыстанне абедзвюх функцый. Калі няма, вы можаце пачаць з перагляду асноў:

Функцыя Excel COUNTIF - падлічвае ячэйкі па адным крытэрыю.

Функцыя Excel COUNTIFS - падлічвае ячэйкі з некалькімі крытэрыямі І.

Цяпер, калі ўсе на адной старонцы, давайце паглыбімся ў:

    Падлічыце ячэйкі з умовамі АБО ў Excel

    Гэты раздзел ахоплівае самы просты сцэнар - падлік ячэек, якія адпавядаюць любому (прынамсі аднаму) з указаных умоў.

    Формула 1. COUNTIF + COUNTIF

    Самы просты спосаб падлічыць вочкі, якія маюць тое ці іншае значэнне (Countif a або b ) - напісаць звычайную формулу COUNTIF для падліку кожнага элемента паасобку, а затым дадаць вынікі:

    COUNTIF( range, criterion1) + COUNTIF( дыяпазон, крытэрый2)

    У якасцінапрыклад, давайце даведаемся, колькі ячэек у слупку A змяшчае "яблыкі" ці "бананы":

    =COUNTIF(A:A, "apples") + COUNTIF(A:A, "bananas")

    У рэальных працоўных аркушах добрай практыкай з'яўляецца аперацыя з дыяпазонамі чым цэлыя слупкі, каб формула працавала хутчэй. Каб не абнаўляць формулу кожны раз пры змене ўмоў, увядзіце цікавыя элементы ў загадзя вызначаныя ячэйкі, скажам, F1 і G1, і спасылайцеся на гэтыя ячэйкі. Напрыклад:

    =COUNTIF(A2:A10, F1) + COUNTIF(A2:A10, G1)

    Гэты метад выдатна працуе для некалькіх крытэрыяў, але даданне трох ці больш функцый COUNTIF разам зробіць формулу занадта грувасткай. У гэтым выпадку вам лепш прытрымлівацца адной з наступных альтэрнатыў.

    Формула 2. COUNTIF з канстантай масіва

    Вось больш кампактная версія формулы SUMIF з умовамі АБО ў Excel:

    SUM(COUNTIF( дыяпазон, { крытэрый1, крытэрый2, крытэрый3, …}))

    Формула пабудаваны такім чынам:

    Спачатку вы пакуеце ўсе ўмовы ў канстанту масіва - асобныя элементы, падзеленыя коскамі, і масіў у фігурных дужках, напрыклад {"яблыкі", "бананы", "лімоны"}.

    Затым вы ўключаеце канстанту масіва ў аргумент крытэрыя звычайнай формулы COUNTIF: COUNTIF(A2:A10, {"яблыкі","бананы","лімоны"})

    Нарэшце, дэфармуйце формулу COUNTIF у функцыі SUM. Гэта неабходна, таму што COUNTIF верне 3 асобныя падлікі для "яблыкаў", "бананаў" і"лімоны", і вам трэба скласці гэтыя лічбы разам.

    Наша поўная формула выглядае наступным чынам:

    =SUM(COUNTIF(A2:A10,{"apples","bananas","lemons"}))

    Калі вы Калі б вы лепш паставілі свае крытэры ў выглядзе спасылак на дыяпазон , вам трэба будзе ўвесці формулу з дапамогай Ctrl + Shift + Enter, каб зрабіць яе формулай масіву. Напрыклад:

    =SUM(COUNTIF(A2:A10,F1:H1))

    Звярніце ўвагу на фігурныя дужкі на скрыншоце ніжэй - гэта найбольш відавочны паказчык формулы масіва ў Excel:

    Формула 3. СУММПРАДУКТ

    Іншы спосаб падліку ячэек з логікай АБО ў Excel - гэта выкарыстанне функцыі СУММПРАДУКТ наступным чынам:

    СУММПРАДУКТ(1*( дыяпазон= { крытэрый1, крытэрый2, крытэрый3, …}))

    Каб лепш наглядна ўявіць логіку, гэта можна таксама запісаць як:

    СУММАПРАДУКТ( ( дыяпазон= крытэрый1) + ( дыяпазон= крытэрый2) + …)

    Формула правярае кожную ячэйку ў дыяпазоне адносна кожны крытэрый і вяртае TRUE, калі крытэрый выкананы, FALSE у адваротным выпадку. У якасці прамежкавага выніку вы атрымаеце некалькі масіваў значэнняў TRUE і FALSE (колькасць масіваў роўная колькасці вашых крытэраў). Затым элементы масіва ў аднолькавай пазіцыі складаюцца разам, гэта значыць першыя элементы ва ўсіх масівах, другія элементы і г.д. Аперацыя складання пераўтворыць лагічныя значэнні ў лікі, так што вы атрымаеце адзін масіў з 1 (адзін з крытэрыяў супадае) і 0 (ні адзін з крытэрыяў не супадае). Таму што ўсе крытэрыі ёсцьпратэставана на тых жа ячэйках, у атрыманым масіве немагчыма з'явіцца іншае лік - толькі адзін пачатковы масіў можа мець TRUE у пэўнай пазіцыі, іншыя будуць мець FALSE. Нарэшце, SUMPRODUCT складае элементы атрыманага масіва, і вы атрымліваеце патрэбны лік.

    Першая формула працуе аналагічным чынам, з той розніцай, што яна вяртае адзін 2-мерны масіў значэнняў TRUE і FALSE. , якія вы памнажаеце на 1, каб пераўтварыць лагічныя значэнні ў 1 і 0 адпаведна.

    У дачыненні да нашага выбарачнага набору даных формулы прымаюць наступную форму:

    =SUMPRODUCT(1*(A2:A10={"apples","bananas","lemons"}))

    Або

    =SUMPRODUCT((A2:A10="apples") + (A2:A10="bananas") + (A2:A10="lemons"))

    Заменіце жорстка закадаваную канстанту масіва спасылкай на дыяпазон, і вы атрымаеце яшчэ больш элегантнае рашэнне:

    =SUMPRODUCT(1*( A2:A10=F1:H1))

    Заўвага. Функцыя SUMPRODUCT працуе павольней, чым COUNTIF, таму гэту формулу лепш за ўсё выкарыстоўваць для адносна невялікіх набораў даных.

    Падлік ячэек з дапамогай логікі АБО, а таксама І

    Пры працы з вялікімі данымі наборы, якія маюць шматузроўневыя і міжузроўневыя адносіны паміж элементамі, вялікая верагоднасць таго, што вам трэба будзе адначасова лічыць ячэйкі з умовамі АБО і І.

    У якасці прыкладу давайце падлічым колькасць «яблыкаў» , «бананы» і «лімоны», якія «дастаўляюцца». Як нам гэта зрабіць? Для пачатку, давайце перакладзём нашы ўмовы на мову Excel:

    • Калонка A: "яблыкі", "бананы" або "лімоны"
    • Калонка C: "дастаўлена"

    Гледзячы адпад іншым вуглом, нам трэба падлічыць радкі з «яблыкі і дастаўка» АБО «бананы і дастаўка» АБО «лімоны і дастаўка». Такім чынам, задача зводзіцца да падліку вочак з 3 умовамі АБО - менавіта тое, што мы рабілі ў папярэднім раздзеле! Адзіная розніца ў тым, што вы будзеце выкарыстоўваць COUNTIFS замест COUNTIFS для ацэнкі крытэрыю AND у кожнай умове OR.

    Формула 1. COUNTIFS + COUNTIFS

    Гэта самая доўгая формула, якая з'яўляецца прасцей за ўсё напісаць :)

    =COUNTIFS(A2:A10, "apples", C2:C10, "delivered") + COUNTIFS(A2:A10, "bananas", C2:C10, "delivered")) + COUNTIFS(A2:A10, "lemons", C2:C10, "delivered"))

    На скрыншоце ніжэй паказана тая ж формула са спасылкамі на ячэйкі:

    =COUNTIFS(A2:A10, K1, C2:C10, K2) + COUNTIFS(A2:A10, L1, C2:C10, K2) + COUNTIFS(A2:A10, M1,C2:C10, K2)

    Формула 2. COUNTIFS з канстантай масіва

    Больш кампактная формула COUNTIFS з логікай І/АБО можа быць створана шляхам пакавання крытэрыяў АБО ў канстанту масіва:

    =SUM(COUNTIFS(A2:A10, {"apples","bananas","lemons"}, C2:C10, "delivered"))

    Калі выкарыстоўваючы спасылку на дыяпазон для крытэраў, вам спатрэбіцца формула масіва, завершаная націскам Ctrl + Shift + Enter :

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2))

    Савет. Пры неабходнасці вы можаце выкарыстоўваць знакі падстаноўкі ва ўмовах любой формулы, разгледжанай вышэй. Напрыклад, для падліку ўсіх гатункаў бананаў, такіх як «зялёныя бананы» або «бананы голдфінгер», вы можаце выкарыстоўваць наступную формулу:

    =SUM(COUNTIFS(A2:A10, {"apples","*bananas*","lemons"}, C2:C10, "delivered"))

    Аналагічным чынам вы можаце пабудаваць формулу для падліку ячэек на аснове па іншых тыпах крытэрыяў. Напрыклад, каб атрымаць падлік «яблыкаў», «бананаў» або «лімонаў», якія «дастаўляюцца», і іх колькасць перавышае 200, дадайце яшчэ адзін дыяпазон крытэрыяў/пару крытэрыяўCOUNTIFS:

    =SUM(COUNTIFS(A2:A10, {"apples","*bananas*","lemons"}, C2:C10, "delivered", B2:B10, ">200"))

    Або выкарыстайце гэту формулу масіва (уводзіцца праз Ctrl + Shift + Enter):

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2, B2:B10, ">"&F3))

    Падлічыць вочкі з некалькімі ўмовамі АБО

    У папярэднім прыкладзе вы даведаліся, як праверыць адзін набор умоў АБО. Але што, калі ў вас ёсць два або больш набораў, і вы хочаце атрымаць агульную колькасць усіх магчымых адносін АБО?

    У залежнасці ад таго, колькі ўмоў вам трэба апрацаваць, вы можаце выкарыстоўваць альбо COUNTIFS з канстантай масіва, альбо SUMPRODUCT. з ISNUMBER MATCH. Першы адносна просты ў стварэнні, але ён абмежаваны толькі 2 наборамі ўмоў АБО. Апошні можа ацэньваць любую колькасць умоў (вядома, разумная колькасць, улічваючы абмежаванне Excel да 255 аргументаў і 8192 сімвалаў агульнай даўжыні формулы), але можа спатрэбіцца некаторы намаганне, каб зразумець логіку формулы.

    Падлічыце ячэйкі з 2 наборамі ўмоў АБО

    Калі маеце справу толькі з двума наборамі крытэрыяў АБО, проста дадайце яшчэ адну канстанту масіва да формулы COUNTIFS, разгледжанай вышэй.

    Каб формула працавала, адна хвілінная, але важная змена неабходная: выкарыстоўвайце гарызантальны масіў (элементы, падзеленыя коскамі) для аднаго набору крытэрыяў і вертыкальны масіў (элементы, падзеленыя кропкай з коскі) для другога. Гэта загадвае Excel «спалучыць» або «перакрыжавана вылічыць» элементы ў двух масівах і вярнуць двухмерны масіў вынікаў.

    У якасці прыкладу давайце палічым «яблыкі», «бананы» або"лімоны", якія альбо "дастаўлены", альбо "у дарозе":

    =SUM(COUNTIFS(A2:A10, {"apples", "bananas", "lemons"}, B2:B10, {"delivered"; "in transit"}))

    Звярніце ўвагу на кропку з коскай у другой канстанце масіва:

    Паколькі Excel з'яўляецца 2-мернай праграмай, немагчыма пабудаваць 3- або 4-мерны масіў, і таму гэтая формула працуе толькі для двух набораў крытэраў АБО. Для падліку з большай колькасцю крытэрыяў вам трэба будзе пераключыцца на больш складаную формулу СУММАПРАДУКТ, якая тлумачыцца ў наступным прыкладзе.

    Падлічыць ячэйкі з некалькімі наборамі ўмоў АБО

    Каб падлічыць ячэйкі з больш чым двума ўмовамі наборы крытэрыяў АБО, выкарыстоўвайце функцыю SUMPRODUCT разам з ISNUMBER MATCH.

    Напрыклад, давайце атрымаем колькасць «яблыкаў», «бананаў» або «лімонаў», якія або «дастаўлены», або «ў дарозе» і спакаваныя альбо ў "мяшок", альбо ў "паднос":

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"apples","bananas","lemons"},0))*

    ISNUMBER(MATCH(B2:B10,{"bag","tray"},0))*

    ISNUMBER(MATCH(C2:C10,{"delivered","in transit"},0)))

    У цэнтры формулы функцыя MATCH правярае крытэрыі, параўноўваючы кожную ячэйку у паказаным дыяпазоне з адпаведнай канстантай масіва. Калі супадзенне знойдзена, яно вяртае адноснае становішча значэння ў масіве, у адваротным выпадку - Н/Д. ISNUMBER пераўтворыць гэтыя значэнні ў TRUE і FALSE, якія роўныя 1 і 0 адпаведна. SUMPRODUCT бярэ яго адтуль і памнажае элементы масіваў. Паколькі множанне на нуль дае нуль, выжываюць толькі ячэйкі, якія маюць 1 ва ўсіх масівах, ісумаваць.

    На скрыншоце ніжэй паказаны вынік:

    Вось як вы выкарыстоўваеце функцыі COUNTIF і COUNTIFS у Excel для падліку вочак з некалькімі І як а таксама ўмовы АБО. Каб больш падрабязна разгледзець формулы, якія абмяркоўваюцца ў гэтым уроку, вы можаце загрузіць наш узор кнігі ніжэй. Я дзякую вам за чытанне і спадзяюся ўбачыць вас у нашым блогу на наступным тыдні!

    Практычны сшытак

    Excel COUNTIF з умовамі АБО - прыклады (.xlsx файл)

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.