Kezdőlap › Fórumok › Excel témák › [Resolved] Hányadik előfordulás – tömbképlet › Hozzászólás: [Resolved] Hányadik előfordulás – tömbképlet
Szia!
Kicsit eljátszogattam vele.
Először arra hívnám fel a figyelmedet, hogy hagyományos, lehúzható képlettel így szoktunk előfrdulási számot kalkulálni:
=COUNTIF($C$2:C2;C2)
Te az I oszlopban egy SUMIF-es megoldást használsz, ami segédoszlopként a csupa egyesekből álló H oszlopot is igénybe veszi.
Az eredmény ugyanaz, csak a COUNTIF / DARABHA megoldásnál nem kell segédoszlop.
Ugyanezt tömbképletként sokkal bonyolultabb megcsinálni, de azért nem annyira bonyolult, mint amit te hoztál létre.
Épp nemrég ismerkedtem a gyakorlatban a BYROW függvénnyel. Ez magyarul is BYROW.
Egy megadott tömböt soronként dolgoz fel egy megadott függvénnyel, vagy egy LAMBDA egyedi függvénnyel.
A mostani feladatban az a kihívás, hogy tömbön belül hogy kell olyan rész tömböt készíteni, ami az elsőtől az aktuálisig tart.
Ezt nem tudtam, ezért megkérdeztem AI barátunkat, és az kaptam, hogy az INDEX függvénnyel kombinálva lehet ilyet:
INDEX(C2#; 1):r
Ahol r az éppen aktuális eleme a C2-ben kezdődő tömbnek. Ez tehát azt jelenti, hogy az első elem a tartomány kezdete és a kettőspont után az aktuális elem a tartomány vége.
Egyberakva így néz ki:
=BYROW(C2#; LAMBDA(r; COUNTIF(INDEX(C2#; 1):r; r)))
Tehát a BYROW futtat egy ciklust az első paraméterként megadott tömbön. Esetünkben ez a C-ben kezdődő egyoszlopos tömb.
Ahol éppen tart, az lesz az r (row), ami ezek szerint nem értéket, hanem hivatkozást tartalmaz, különben nem működne.
Ha muszáj tömböt használni, akkor ez megoldás. Gondolom azért kérdezted, mert az összes többi oszlop is tömb.
Visszacsatoltam a munkafüzetet a megoldással az utolsó oszlopokban. Így a H és az I oszlopokra nem lesz szükséged.
Imre
