Hirdetés

Keresés

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

  • Mutt

    senior tag

    válasz pirit28 #19100 üzenetére

    Hello,

    ..Szeretném ebből a táblából egy másik táblába kigyűjteni a neveket akik A műszakosak.
    Kiindulni az if függvényből indultam el ,úgy hogy megnéztem az illető A műszakos-e vagy B.ezt az R és S oszlopban rögzítettem...
    A problémám az az hogyha elfogynak a nevek akkor #num hibaüzenet fogad,amit szeretnél eltüntetni valahogyan, de nem tudom hogyan.

    Ezt úgy tudod megoldani, hogy megszámolod hány értéket lehet kiírni, és ha annyit már kiírtál, akkor a semmit iratod ki.

    A COUNTIF(C:C;"A") megmondja hogy hány értéked van, hogy hányadik írod ki az pedig a SMALL-nál vhogy megadod. Vagyis a képlet vmi ilyen lehet:
    =IF(COUNTIF(C:C;"A")<=small-ban a k értéke;eredeti képleted;"")

    Azonban hadd javasoljak egy másik megoldást is.

    Ha nem akarod ABC sorrendben, akkor nem is kell az R és az S segédoszlop, mivel egy képletben meg lehet oldani. Én az alábbi mintával dolgoztam.

    Ekkor az E3-ba ez a képlet kell:
    =IF(ROWS(E$3:E3)<=COUNTIF($C:$C;E$2);INDEX($B:$B;AGGREGATE(15;6;ROW($C:$C)/($C:$C=E$2);ROWS(E$3:E3)));"")

    Ezt másolhatod lefele és jobbra is hogy a B műszakosok is meglegyenek.

    Ha ABC sorrend is jó lenne, akkor kell egy segédtábla. A mintámban a G és H-oszlopok ezek.
    G3-ban ez a képlet:
    =IF(COUNTIF($B:$B;"<="&$B3)*($C:$C=G$2)>0;COUNTIF($B:$B;"<="&$B3)*($C:$C=G$2);"")

    Ez kihasználja azt, hogy a COUNTIF (DARABTELI) függvényben lehet kisebb v. nagyobb operátort is használni, és ezzel sorrendet meghatározni. pl. COUNTF(B:B;"<Dénes") megszámolja hogy Dénes előtt hányan vannak a listában. Szóval a képlet vagy visszaadja az ABC sorrend szerinti helyezést, vagy egy üres mezőt ad.
    Ezek után már csak a SMALL segítségével a sorszámokat növekvő sorrendben ki kell olvasni, majd egy MATCH (HOL.VAN) függvénnyel megkeresni, hogy ez hol van és az ahhoz tartozó nevet INDEX-el kiíratni.
    A képlet az I3-ban ez:
    =IF(ROWS(I$3:I3)<=COUNTIF($C:$C;I$2);INDEX($B:$B;MATCH(SMALL(G:G;ROWS(I$3:I3));G:G;0));"")

    üdv.

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