Kezdőlap › Fórumok › Excel témák › [Resolved] Átlagolás tömbfüggvény segítségével
- This topic has 2 hozzászólás, 2 résztvevő, and was last updated 5 years, 1 month telt el by pexcel.
-
SzerzőBejegyzés
-
2019-10-01-14:09 #6332
Sziasztok,
Az alábbi kérdésben szeretném kérni a segítségeteket.
Átlagolni szeretnék egy tartományt két fő kritérium alapján. Az egyik fő kritérium az lenne, hogy az átlagolás során azokat a cellákat vegyük figyelembe, amelyek a csatolt tábla „A” oszlopában két szó közül vagy az egyiket, vagy a másikat tartalmazzák. Ezt a két szót a G1:G2 cellák tartalmazzák a csatolt mintában. (A másik kritérium egyszerűen az, hogy a „B” oszlopban a cellák értke 1)
A probléma megoldása szempontjából adja magát az ÁTLAGHATÖBB függvény, azonban ha jól értelmezem a függvény kritériumrendszere ÉS kapcsolatokon alapul. Sajnos nem tudom azt, hogy ezen függvény szintaktikáján belül le lehet-e kezelni egy VAGY kapcsolatot.
A csatolt mintában egy segédoszlop révén sikerült megkapni a kívánt eredményt, ugyanakkor azt szeretném kérdezni, hogy tömbfüggvény alkalmazásával, segédoszlop nélkül is megoldható-e probléma.
Előre is nagyon köszönöm a segítséget!
PéterAttachments:
You must be logged in to view attached files.2019-10-01-21:58 #6334Szia!
Az egyik lehetőség lehet, ha adatbázis függvénnyel dolgozol.
Ezek az AB-vel kezdődők a magyar excelben, D-vel kezdődők az angolban.
AB.ÁTLAG vagy DAVERAGE lehet a barátod
Ehhez viszont meg kel fogalmazni a feltételt egy külön tartományban úgy, mint az irányított szűrő esetén.
Erről elég sokat írtam már itt a bázison.Ha mindenképpen tömbképletet akarsz használni, akkor bele kell menni egy kicsit.
Mert az ÉS kapcsolathoz ugye használhatjuk a szorzást, az elég egyértelmű.(A1:A10>0)*(B1:B10>0)
Ez ott ad 1-est, ahol mindkettő igaz, a többiben 0-t kapunk
A VAGY kapcsolathoz az összeadást (+) szoktuk használni, de itt ugye 1-es akarunk, ha legalább az egyik igaz, és akkor is 1-est, ha mindkettő igaz. Ha mindkettő igaz, akkor viszont 2-t kapnánk, ezért inkább ezt szoktuk csinálni:
((A1:A10>0)+(B1:B10>0)>0)
Ha a két feltétel egymást kölcsönösen kizárja, akkor elég az összeadás. (A te esetedben talán ez igaz.)
És ehhez teheted szorzással a harmadik oszlopot, ahol átlagolni szeretnél, és ezt átlagolod.
=ÁTLAG(((A1:A10>0)+(B1:B10>0)>0)*(C1:C10))
És mi lesz a nullákkal?
A fenti szorzás által adott tömbben a VAGY művelet által 0-t adó pozíciókban nulla lesz.
Igen, ez gond lehet, mert az ÁTLAG függvény a szövegeket ignorálja, de a nullákat nem!Emiatt ezeket át kell alakítani szöveggé egy HA függvénnyel, mielőtt átlagolod.
=ÁTLAG(HA(((A1:A10>0)+(B1:B10>0)>0)*(C1:C10))>0;((A1:A10>0)+(B1:B10>0)>0)*(C1:C10));""))
És persze tömmb, azaz CSE.
Csatoltam a megoldást
Imre
Attachments:
You must be logged in to view attached files.2019-10-02-08:14 #6338Szia Imre,
Nagyon szépen köszönöm a gyors és alapos választ.
Mint mindig, most is rengeteget tanultam.Péter
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.