Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: A RAMválság és annak lehetséges hatásai
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- GoodSpeed: Márkaváltás sok-sok év után
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Mutt
senior tag
válasz
underdark
#54723
üzenetére
Szia,
Kicsit haladóba ment át a válaszom, ha vmi nem világos/pontosítást igényel akkor kérdezz nyugodtan. Akár küldj mintát és belerakjuk a képleteket és onnantól menni fog.
Kell hozzá egy "adatbázis", amely tartalmazza hetente az adatokat.
Vhogy így (a mintát AI generálta!):
Fontos, hogy az adatok egymás alatt legyenek. Csábitónak tűnik, hogy egy sorban van egy zeneszám és a heti lejátszásokat mellé oszlopokba írjuk (pl. E-ben a 40 heti, F-ben a 41 heti és így tovább), de ez a feldolgozást nehezíti meg. Szóval sorokban legyenek az adatok.
Amit lehet ezen még javítani azt adatbázis normalizációnak hívnak. Ebben a példában egy elütési hiba (pl. "Greenday", "Green day", "Green Day" vagy akár "green day") már gondot okozhat. Ezt normalizációval érdemes orvosolni, de most hagyjuk figyelmen kívül.
Ezek után kimutatással lehet eredményt mutatni.

Itt a trükk, hogy nem egyszerű pivot, hanem power pivot-ot használtam, mert van két számításom. Az egyik a legutolsó héthez tartozó lejátszásokat adja meg, a másik pedig az egy héttel korábbiakat.
Ezeket Power Pivot menüben a Measures opció alatt lehet létrehozni:

A képletek (a Power Pivotban csak angol nyelven használhatóak a képletek):=var utolso=CALCULATE(MAX(Range[Hét]);ALL(Range))return CALCULATE(SUM(Range[Hányszor játszották?]);Range[Hét]=utolso)illetve
=var elozo=CALCULATE(MAX(Range[Hét]);ALL(Range))-1return CALCULATE(SUM(Range[Hányszor játszották?]);Range[Hét]=elozo)Ezeket a számokat ha behúzzuk a kimutatásba, akkor megkapjuk hogy melyik számot az utolsó hetekben hányszor játszották.
A rangsort a kimutatásban lehet beállítani. Az "aktuálishét" mezőjénél a második fülön lehet számításokat végezni, itt a rangsort választottam. Ugyanezt a másik héttel megtéve megkapjuk az akkori helyezést. (Angol Excelben vagyok, de hasonló helyen van magyarban is.)
Végül pedig a két rangsort kell összehasonlítani, hol volt előrelépés vagy visszaesést vagy nem volt mozgás. Ehhez a "Mozgás" oszlopban ezt a képletet használtam:=IFS(AND(H4<>"";I4<>"";H4>I4);1;AND(H4<>"";I4<>"";H4<I4);-1;AND(H4<>"";I4<>"";H4=I4);0;1;"")
Végül pedig egy feltételes formázást tettem erre az oszlopra.üdv
-
-
Mutt
senior tag
válasz
underdark
#54617
üzenetére
Szia,
Kimutatást javasoljuk erre.
Az újabb Excel-ekben képlettel is lehetséges már.
E2-ben a képlet: =KIMUTATÁS.ALAP.SZERINT(Table1[Name];Table1[Year];Table1[ASC];SZUM;0;0;;0)Van egy másik képletem is de sokkal hosszabb.

=LET(nevek;SORBA.RENDEZ(EGYEDI(Table1[Name]));
evek;SORBA.RENDEZ(EGYEDI(Table1[Year]));
sorszam;SORSZÁMLISTA(DARAB2(nevek));
ertekek;REDUCE(TRANSZPONÁLÁS(evek);sorszam;LAMBDA(s;c;FÜGG.HALMOZÁS(s;TRANSZPONÁLÁS(SZUMHATÖBB(Table1[ASC];Table1[Name];INDEX(nevek;c);Table1[Year];evek)))));
VÍZSZ.HALMOZÁS(FÜGG.HALMOZÁS("";nevek);ertekek))A képletben az "ertekek" sorban van a lényeg, ami a SZUMHATÖBB segítségével kiszámolja mindegyik névhez és évhez az értéket. A REDUCE-t arra használom, hogy a kapott értékeket "egymásra tegyem" (függőleges halmozás), mert ezt tudom majd a munkalapra kiírni. A végén még az elejére teszem a neveket.
üdv
-
Fferi50
Topikgazda
válasz
underdark
#54617
üzenetére
Szia!
Még egy lehetőség: Kimutatást készítesz, ahol a name lesz a sorcimke, a year az oszlopcimke és az asc oszlop összege lesz az értékek mezőben. Mivel minden név és év egy számot tartalmaz, így a kimutatás névsorosan fogja az éves értékeket mutatni.
Az összegző sorokat megjelenítését ki kell venned a kimutatásból (kimutatáson állva - Tervezés - Végösszegek - kikapcsolva sorokban és oszlopokban).
Ha új sort vittél be a táblázatba, akkor a kimutatást is frissítened kell, ennyi a hátránya.
Üdv. -
Fferi50
Topikgazda
válasz
underdark
#54617
üzenetére
Szia!
Ettől tartottam... (nem a kuszábbá válástól, hanem az adatok ilyen struktúrájától).
Ebben az esetben nem használható gazdaságosan az XKERES függvény, mivel mindig csak egy találatot ad vissza.
Mivel legalább 2021-es Exceled van, ezért használni tudod az EGYEDI és a SZŰRŐ függvényeket.
Az A1 : C5 tartományt átalakítottam táblázattá, hogy a táblázatos címzést tudjam használni.
Az éveket az I1 cellától a következő képlettel kaphatod meg:=TRANSZPONÁLÁS(EGYEDI(Táblázat1[year]))
Az E1 cellába írtam be a kívánt nevet.
Ezután az I2 cellában a képlet (ezt látod a képen is):=SZŰRŐ(Táblázat1[[#Mind];[asc]];(Táblázat1[[#Mind];[name]]=$E$1)*(Táblázat1[[#Mind];[year]]=I$1);0)
Ezt a képletet másolni és beilleszteni kell a mellette levő cellákba (nem pedig egérrel húzni!) és akkor megfelelően működik.
Figyelned kell a $ jelekre a cella címzésekben!
Remélem, tudod alkalmazni a saját táblázatodra. Ha nem sikerülne, küldd el privát üziben.
Kiegészítés: Ha a neveket is egy listában szeretnéd látni, akkor a képlet a képen a H2 cellába:=EGYEDI(Táblázat1[name])
Az I2 cella képlete pedig a következő:=SZŰRŐ(Táblázat1[[#Mind];[asc]];(Táblázat1[[#Mind];[name]]=$H2)*(Táblázat1[[#Mind];[year]]=I$1);0)
A nevek helyzetének figyelembe vételével változott.
A képlet az I2 cella mellett levő cellákba másolás - beillesztés továbbra is a megfelelő mód, utána lefelé mindhárom oszlop egyszerre húzható.Üdv.
-
Fferi50
Topikgazda
válasz
underdark
#54615
üzenetére
Szia!
Az XKERES függvény jelen esetben a találat sorában levő értékeket tud visszaadni, az FKERES függvényhez hasonlóan, vagyis az A3 cellában levő név sorát veszi alapul.
A "belső" XKERES függvényed ugyanazon táblázat másik oszlopából fog eredményt keresni, ami nem feltétlenül azonos a külső XKERES által megadott sorral!
Ha sor és oszlop találkozásra vagy kíváncsi (ha az évek oszloponként vannak), akkor a belső XKERES függvény keresési tömbjénél a táblázat FEJLÉC-ét kell megadnod, nem az egész táblázatot (ha egérrel csinálod a tartomány kijelölését, akkor mutatni fogja a helyes szintaxist a fejlécre).
Amit a képen mutatsz, az a belső XKERES függvény eredménye - ezt nem tudja a külső függvény értelmezni. Az ablak alsó sorában egy üres = sort látsz, ott lenne a teljes képlet eredménye.
Remélem, jól értelmeztem a kérdést, ha mégsem így lenne, kérlek mutasd meg képen a Táblázat7 egy részletét a "bal felső" sarkából kiindulva (természetesen fals adatokkal).
Üdv. -
karlkani
aktív tag
válasz
underdark
#53783
üzenetére
Felhasználva Delila_1 képleteit megoldható.
Először is az A, B, C oszlopokat rendezzük A-Z-ig, hogy az adott zenekarok összes lemeze egy helyen legyen.
F2
=SORBA.RENDEZ(EGYEDI(SZŰRŐ(A2:A1000;A2:A1000<>0)))
Kiírja a neveket egymás alá.G2
=MAX(HA(($A$2:$A$1000=F2);$C$2:$C$1000))(húzható)
Legmagasabb pontszám.H
=INDEX($A$2:$C$1000;HOL.VAN(F2&G2;$A$2:$A$1000&$C$2:$C$1000;0);2)(húzható)
Legmagasabb pontszámhoz tartozó lemez címe.E2
=HA(NINCS(FKERES(B2;$H$2:$H$1000;1;HAMIS));"";B2)(húzható)
Legmagasabb pontszámhoz tartozó lemez címe (sajnos arra nem tudok rájönni, hogy ott írja ki, ahol az előadó/zenekar először szerepel).Végül feltételes formázással kitöltjük a nem üres cellák színét. E2-n Feltételes formázás, Szabályok kezelése..., Új szabály..., A formázandó cellák kijelölése képlettel.
Szabály
=E2<>""Érvényesség=$E$2:$E$1000
Formátumnál kiválasztod a kitöltés színét.F, G, H oszlopokat ezután el lehet rejteni. A képletekben az 1000-et módosíthatod, ha több az adat...
Mivel nincs adatbázisom, netről szedtem. A pontszámokat véletlen generálással csináltam (szemléltetés miatt).

-
-
Fferi50
Topikgazda
válasz
underdark
#53097
üzenetére
Szia!
Feltételes formázás: A formázandó cellák kijelölése képlettel:
1. képlet: =A1>=1000000, cellaformátum szám: # ##0 " Millió Ft"
2. képlet: =ÉS(A1>=1000;A1<1000000) cellaformátum szám: # ##0 " Ezer Ft"
A milliókat és ezreseket a kerekítés szabályai szerint felkerekíti. Ha tizedest is szeretnél látni, akkor # ##0,0 "Ezer Ft" egy tizedest mutat.
A formátumot így kell beírnod pontosan.
Üdv.
Ps. mi ez a két pont a cellában, ezt így nem fogja tudni számként értelmezni! -
Mutt
senior tag
-
Fferi50
Topikgazda
válasz
underdark
#48689
üzenetére
Szia!
C2 képlete lehetne pl.=HA(ELTOLÁS(B1;DARAB2(A:A);0;1;1)=1;1;"X")
Ezzel mindig a B oszlop utolsó cellájának értékét nézi meg. Akkor 1 az eredmény, ha abban a cellában 1 az érték, egyébként X.
Ehhez persze soronként kell azA : Boszlopot lefelé húzni, figyelve az eredményt.
Ez a képlet megmutatja, a B oszlop hanyadik cellájában van az első 1 érték a 2.sor után:=HOL.VAN(1;ELTOLÁS(B2;1;0;DARAB2(A:A);1);0)+2
Üdv.
Új hozzászólás Aktív témák
- Újszerű Dell Latitude 7440 -14"FHD+1 IPS - i5-1345U 16GB - 512GB - Win11 - 1 év garancia + Dokkoló +
- Dell USB-C dokkolók: (K20A) WD19/ WD19S/ WD19DC + 130W, 180W, 240W töltők
- 16 GB RTX 4080 SUPER HP OMEN - garanciával
- HP Z-Book G3 ! Csere-Beszámítás! I7 6820HQ / Nvidia Quadro M1000M 2GB / 16Gb DDR4 ! Új Akksi!
- Apple iPhone XR / 128GB / Kártyafüggetlen / 12Hó Garancia / 95% Akku
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest






Remélem, tudod alkalmazni a saját táblázatodra. Ha nem sikerülne, küldd el privát üziben.






Fferi50
