Excel-képlet: Számolja meg az x-et vagy az y-t tartalmazó cellákat

Általános képlet

=SUMPRODUCT(--((ISNUMBER(FIND("abc",rng)) + ISNUMBER(FIND("def",rng)))>0))

Összegzés

Az x-et vagy y-t tartalmazó cellák számlálásához használhatja a SUMPRODUCT függvényen alapuló képletet. A bemutatott példában az F5 cellában szereplő képlet a következő:

=SUMPRODUCT(--((ISNUMBER(FIND("abc",B5:B11))+ISNUMBER(FIND("def",B5:B11)))>0))

Ez az egysejtű képlet megoldás, amelyet az alábbiakban ismertetünk. Lehetséges egy egyszerűbb képlet is, amely egy segítő oszlopon alapul, amelyet az alábbiakban is elmagyarázunk.

Magyarázat

Amikor „VAGY logikával” számol cellákat, ügyelnie kell arra, hogy ne duplázza meg a számot. Például, ha olyan cellákat számlál, amelyek "abc" vagy "def" elemeket tartalmaznak, nem adhat össze két COUNTIF függvényt, mert megduplázhatja az "abc" és a "def" cellákat egyaránt.

Egysejtes oldat

Egyetlen képlethez használhatja a SUMPRODUCT-ot az ISNUMBER + FIND paranccsal. Az F5 képlete a következő:

=SUMPRODUCT(--((ISNUMBER(FIND("abc",B5:B11)) + ISNUMBER(FIND("def",B5:B11)))>0))

Ez a képlet az itt ismertetett képleten alapul, amely a cellában lévő szöveget keresi:

ISNUMBER(FIND("abc",B5:B11)

Amikor cellatartományt ad, ez a kódrészlet TRUE / FALSE értékek tömbjét adja vissza, egy értéket a tartomány minden cellájához. Mivel ezt kétszer használjuk (egyszer az "abc", egyszer pedig a "def"), két tömböt kapunk.

Ezután ezeket a tömböket összeadjuk (a + -szal), ami új, egyetlen számtömböt hoz létre. Ebben a tömbben minden egyes szám az eredeti két tömb TRUE és FALSE értékeinek összeadásának eredménye. A bemutatott példában a kapott tömb így néz ki:

(2;0;2;0;1;0;2)

Összeadnunk kell ezeket a számokat, de nem akarjuk megduplázni. Tehát meg kell győződnünk arról, hogy a nullánál nagyobb értékeket csak egyszer számolják-e. Ehhez minden értéket IGAZ vagy HAMIS értékre kényszerítünk "> 0" -val, majd 1/0-ra kényszerítjük a kettős negatív (-) értékkel.

Végül a SUMPRODUCT visszaadja a tömb összes értékének összegét.

Segítő oszlop megoldás

Egy segítő oszlop segítségével, amely minden cellát külön ellenőriz, a probléma kevésbé összetett. Kétféle értékkel használhatjuk a COUNTIF-et ("tömb konstansként" megadva). A C5 képlete a következő:

=--(SUM(COUNTIF(B5,("*abc*","*def*")))>0)

A COUNTIF egy tömböt ad vissza, amely két elemet tartalmaz: az "abc" és a "def" számát. A kettős számlálás elkerülése érdekében összeadjuk az elemeket, majd az eredményt az IGAZ / HAMIS értékre kényszerítjük "> 0" -val. Végül a TRUE / FALSE értékeket átalakítjuk 1-re és 0-ra kettős negatív (-) értékkel.

A végeredmény 1 vagy 0 minden cellára. A tartomány összes cellájának összesítéséhez egyszerűen összegezze a segítő oszlopot.

érdekes cikkek...