Új hozzászólás Aktív témák

  • Fferi50

    Topikgazda

    válasz ben11 #51356 üzenetére

    Szia!
    Csak hogy még jobban főjön a fejed, itt egy másik megoldás:
    A könnyebb képletezés miatt két tartományt a névkezelőben neveztem el:
    értékelő1 =ELTOLÁS(Munka1!$B$1;0;0;DARAB2(Munka1!$B$1:$B$3000);1)
    értékelő2 =ELTOLÁS(Munka1!$D$1;0;0;DARAB2(Munka1!$D$1:$D$3001);1) A két név mindig az adott oszlop aktuálisan kitöltött részére hivatkozik. Ha 3000-nél több sorodban lenne adat, akkor légy szíves módosítani a 3000-t a végén. FIgyelj a $ jelekre kérlek.
    Ezután a képletek:
    F2 cella =RANG.ÁTL($C2;INDEX(ELTOLÁS($C$1;HOL.VAN($B2;értékelő1;0)-1;0;DARABHA(értékelő1;$B2);1);0;1);0)
    G2 cella
    =RANG.ÁTL($E2;INDEX(ELTOLÁS($E$1;HOL.VAN($D2;értékelő2;0)-1;0;DARABHA(értékelő2;$D2);1);0;1);0)
    A két képlet húzható lefelé, ameddig adatod van.
    A DARABHA függvény korábbi Excel verziókban DARABTELI névre hallgatott, de úgy gondolom nálad már ez van. Mielőtt a korreláció képletet mutatnám, a tartományok szétválasztásának módszeréről írok:
    A magyarázat az F2 cella függvényeit veszi alapul:
    Az INDEX függvény képes tartományt visszaadni a következőképpen: Ha a sor paraméter értékét 0 -ra állítjuk be, akkor a tartomány adott oszlopát, ha az oszlop paraméter értéke 0, akkor a teljes sort adja vissza. (Figyelem, nem elhagyjuk a sort/oszlopot, hanem 0-t írunk be paraméternek.)
    A számunkra szükséges tartományt pedig az ELTOLÁS (lánykori nevén OFFSET) függvény és a HOL.VAN (MATCH) függvény használatával kaphatjuk meg:
    Az ELTOLÁS függvény paraméterei:

    1. A cella címe, ahonnan a tartományt elmozdítjuk. (A fix pont, ahonnan Arkhimédész kimozdítaná a Földet... :) )
    Ez nálunk a C1 cella, mivel itt kezdődnek az értékelő1 által adott eredmények
    2. A sorok száma, amennyivel lejjebb-feljebb tesszük a kezdősor értékét.
    Ez lesz annak a sornak a száma, ahol az értékelő1 először fordul elő a B oszlopban (az értékelő1 elnevezésű tartományban). HOL.VAN($B2;értékelő1;0)-1 Azért kell a végére -1, mert a függvény a paraméter úgy használja, hogy a kiinduló sorhoz hozzáadja a sor eltolás mértékét. MIvel az első találat a 2. sorban lesz és az elsőből indulunk, ezért vonunk le 1-et.
    3. Az oszlopok száma: esetünkben 0, mert a kiinduló oszlopban maradunk
    4. Magasság: Az új tartomány sorainak száma: DARABHA(értékelő1;$B2) ahányszor előfordul az első értékelő neve a tartományban.
    5. Szélesség: Az új tartomány oszlopainak száma: esetünkben 1, mivel maradunk az eddig oszlopban.
    Így az új tartományunk a C2 cellában kezdődik és a C7 cellában végződik. Ezt az oszlop tartományt adja vissza nekünk az INDEX függvény, mivel a sor paraméternek 0-t adtunk meg.
    Most pedig a korreláció függvény: Egyszerűbb képlet:
    H7 cellába =KORREL($F$2:$F$7;$G$2:$G$7)
    H11 cellába =KORREL($F$8:$F$11;$G$8:$G$11)
    Ezeket gondolom nem okozna nagy problémát beírni akár egyenként.
    De lehet automatizálni:
    I2 cella képlete:
    =KORREL(INDEX(ELTOLÁS($F$1;HOL.VAN($B2;értékelő1;0)-1;0;DARABHA(értékelő1;$B2);1);0;1);INDEX(ELTOLÁS($G$1;HOL.VAN($B2;értékelő1;0)-1;0;DARABHA(értékelő1;$B2);1);0;1))
    Ez húzható lefelé. Ezután az ízlésednek megfelelő cellában hagyod meg a képletet.
    FIGYELEM!
    A tartományok ilyetén szétválasztása csak akkor működik, ha az értékelők szerint sorba van rendezve a táblázatod.
    Ne ijedj meg, megcsinálni sokkal könnyebb és rövidebb ideig tart, mint ezt az egészet elolvasni.
    Üdv.

Új hozzászólás Aktív témák