Kezdőlap › Fórumok › Excel témák › [Resolved] Hányadik előfordulás – tömbképlet
- This topic has 5 hozzászólás, 3 résztvevő, and was last updated 3 weeks, 2 days telt el by
horvimi.
-
SzerzőBejegyzés
-
2025-11-20-16:00 #11621
Sziasztok!
Van egy munkafüzet, amelybe nyílvántartjuk a bejövő termékeket, illetve egy másik adathalmaz pedig a kiszállításokat kezeli. Mindkettő külső adatforrásból érkezi, csak a példánál ezt kivettem.
Szeretnék minden kiszállított terméknek, egy saját azonosítószámot adni. Egy tartományban gyűjtöm a már kiadott azonosítókat.
Azt meg tudtam oldani, hogy csak a ki nem adott azonosítók kerülnek be automatikusan, de ehhez segédoszlopokat kellet használnom. Kíváncsi vagyok, hogy a sorszamosztas lapon a g2 cellába lehet e olyan képletet írni, ami dinamikus tömbképletként működik, és nem kell hozzá segédoszlop. GYakorlatilag az a cél, hogy kiírja a sorban található termék addigi előfordulási számát.
Köszönöm a válaszokatAttachments:
You must be logged in to view attached files.2025-11-20-20:07 #11623Szia mendre!
Mit gondolsz, a
`=DARABTELI($C$2:C2;C2)
függvény megoldást jelenthet számodra?üdvözlettel
verax2025-11-20-20:36 #11624Szia!
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):rAhol 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
Attachments:
You must be logged in to view attached files.2025-11-20-20:46 #11626Kedves Verax!
A javasolt képlet (illetve 365-ben már darabha) valóban megoldja segédoszlop nélkül, de szeretném dinamikus tömbképlettel megoldani. Csak merő kiváncsiságból, kihívásból töröm rajta a fejem. Szeretném, ha dinamikusan változna a tartomány, és nem kellene húzogatni a képletet.
Ezért kérdeztem, hátha Ti már találkoztatok már valamivel.
De legalább már egy oszloppal kevesebb 🙂
Köszi2025-11-20-20:56 #11627Kedves Imre!
Miközben írtam veraxnak a választ, Te már dobtad a megoldást.
Köszönöm.
Valóban azért szerettem volna, mert az összes oszlopban tömböt használtam, és zavarta a szemem 🙂
Nagyon köszönöm
Ma is tanultam valamit
Szép estét2025-11-21-14:31 #11628Köszönöm, én is tanultam. 🙂
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
