-
Fototrend
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
-
Fferi50
Topikgazda
Szia!
Megírnád, hogy milyen Excel verziót használnátok. Továbbá, miért írtad, hogy
" Néhányan majd Google Táblázatokkal, vagy ingyenes LibreOffice Calc-cal próbálják majd."
ha otthon fogják kitölteni és nincs Excel náluk?
A jelölőnégyzet helyett megfontolandó szerintem a cellához érvényesítési listát tenni (Adatok - érvényesítés) igen/nem listával. Ezt elvileg illene tudnia minden másik táblázatkezelőnek is. Ennek még az is az előnye, hogy nem csak két lehetőséget tudunk megadni, a lista akárhány elemű lehet.
Így nem beleírni kell a cellába, csak kiválasztani, ráadásul csak a listából tud választani a felhasználó.
Viszont a "kérdésfeltevést/definíciókat" úgy illene megfogalmazni, hogy az igen/nem (esetleg pl soha) válasz logikus legyen.
Üdv. -
Fferi50
Topikgazda
Szia!
Én inkább a Google Sheet-et használnám, azt mindenki eléri, akinek van Google-s email címe.
Sőt a Google-ben szerkeszthetsz kérdőívet, aminek a linkjét kiküldheted. Ebben lehet pipálós mezőt is csinálni úgy emlékszem. Egyedi kitöltéseket nyilvántartja és összesítési lehetőségre is emlékszem.
Excel munkalapon a jelölő négyzet nem cella, csak fölötte egy form eszköz.
Üdv. -
Fferi50
Topikgazda
Szia!
Meg lehet esetleg próbálni, hogy az adatokat számodra megfelelőbb formában kapd meg, elvileg az exportot tudják a rendszerek rendezettebb módon is kiadni magukból, ez gyakran még további programozást sem igényel.
Ha pedig toldozni-foldozni kell az input adatokat, akkor azzal együtt át lehet forgatni olyan struktúrákba, ami a kimenő adatok előállításához megfelelőbb és egyszerűbben használható.
Üdv. -
Fferi50
Topikgazda
Szia!
Mutatok egy példát kimutatásra és SZUMHATÖBB időszaki képletre is.
Az adatok az A-F oszlopokban vannak sorfolytonsan. Ezt a tartományt táblázattá alakítottam a könnyebb kezelhetőség miatt (Beszúrás - táblázat - fejlécekkel).
Az A oszlopban valódi dátumértékek vannak, nem szövegek! Így a kimutatásban az évek- hónapok (sőt a negyedévek) bontása is automatikusan megjeleníthető.
Az évekre és a hónapokra szeletelőt tettem. Így kiválasztható egy vagy több érték.
Az oszlopokra beállítottam az összegzést, a soroknál kivettem.
Látható, hogy az 1-5-ig kiválasztott szeletelők esetén az oszlop összesen a halmozott adatokat mutatja.
A SZUMHATÖBB függvény alkalmazása a P-R oszlopokban van. A P oszlopban a tényezők, a Q1 cellában van az év, az R1 cellában a hónap.
A képlet a Q2 cellában a halmozott összegre:=SZUMHATÖBB(INDIREKT("Táblázat1[" & P2 &"]");Táblázat1[Dátum];">="& DÁTUM($Q$1;1;1);Táblázat1[Dátum];"<" & DÁTUM($Q$1;$R$1+1;1))
amely lehúzható.
Láthatod, hogy egyik esetben sincs szükség segédoszlopokra az eredmény eléréséhez.
Üdv. -
Fferi50
Topikgazda
Szia!
Bocs, hogy belevau. Kérdés: Honnan tudja majd a képleted, hogy nem az 5. hónap adataira, hanem az 1-5 hónapra összesített érdekel?
Egyébként a SZUMHATÖBB függvény ugyanazon összegzendő tartomány többféle feltétel szerinti összegzését végzi, ahol a feltételek ÉS természetűek.
Ha több hónapot szeretnél összesíteni, akkor a SZUMHATÖBB függvényben érdemesebb kezdő és befejező dátumot megadni - ahogy Föccer már korábban is írta. Vagy a SZUMHATÖBB függvényt többször alkalmazni és az eredményt összeadni. Ez sem megoldhatatlan. De az indító kérdésem így is érdekes.
Szerintem érdemesebb lenne egy kimutatást készíteni, amiben akár évre, akár hónapra szűrhetsz, csinálhatsz hozzá szeletelőket stb. Sokkal kényelmesebb.
Ha teszel fel példát (bocsi nem igazán tudom a képekről rekonstruálni a feladatot, ez nyilván az én hibám), akkor könnyebben tudunk javaslatot adni.
Üdv. -
Fferi50
Topikgazda
válasz
szricsi_0917
#54861
üzenetére
Szia!
Szerintem a szinkronizálásnál a VisibleSlicerItems propertiet kellene használni. Kb. így:' --- 3->4 szinkronizálás ---Dim selectedNames3 As SlicerItemsSet selectedNames3 = sc3.VisibleSlicerItemssc4.ClearManualFilterFor Each si In sc4.SlicerItemssi.Selected = FalseFor Each name In selectedNames3If si.name = name.name Then si.Selected = TrueNext nameNext si
De úgy gondolom, hogy az évek szinkronizálása így az igazi.
Üdv. -
Fferi50
Topikgazda
válasz
Fire/SOUL/CD
#54856
üzenetére
Szia!
Mielőbbi jobbulást havernek. Neked pedig gratula a cocaaprításhoz!
Üdv. -
Fferi50
Topikgazda
Szia!
Ha az éveket folyamatosan növekvőneAk alapul véve rendezzük az adatokat, akkor a
RENDEZÉS.ALAP.SZERINT függvény használata esetén a változó "hozam" érték is figyelembe vehető, minden érték a megfelelő évhez fog tartozni.
A képlet a korábbi képem alapján:=SZORZATÖSSZEG(RENDEZÉS.ALAP.SZERINT($E$5:E5;$E$3:E3;1);RENDEZÉS.ALAP.SZERINT($E$6:E6;$E$3:E3;-1))
Igazából még az évek szerinti növekvő rendezésre sincs szükség:=SZORZATÖSSZEG(RENDEZÉS.ALAP.SZERINT($E$5:E5;OSZLOP($E$5:E5);1);RENDEZÉS.ALAP.SZERINT($E$6:E6;OSZLOP($E$5:E5);-1))
Az a lényeg, hogy egymás után párban legyenek sorban az adatok. Így akkor is könnyű a képletet adaptálni, ha nem itt kezdődnek.
Üdv. -
Fferi50
Topikgazda
válasz
Fire/SOUL/CD
#54849
üzenetére
Szia!
A 2021-es verziótól már van rá megoldás:
A RENDEZÉS.ALAP.SZERINT függvénnyel lehet az egyik tartományt rendesen, a másikat fordítottan vagy egyformán rendezni.
D5 topiktársnak írtam a képletet.
Üdv. -
Fferi50
Topikgazda
Szia!
Megmagyaráznád, hogy mik ezek a bejelölt ismétlődések a számolásban, miért kerültek ide és miért pont ezek ismétlődnek?
Ha ezektől eltekintünk és legalább 2024-es Exceled van, akkor a képlet az E= cellába:=SZORZATÖSSZEG(SORBA.RENDEZ($E$5:E5;;1;1);$E$6:E6)
Ez húzható jobbra. Ha az ismétlődések is kellenek, akkor azok szabályára is szükség van.
Üdv. -
Fferi50
Topikgazda
válasz
lumpy92
#54838
üzenetére
Szia!
"(én összefűz paranccsal gondoltam még megoldani, de ahhoz kell egy plusz oszlop)."
Miért kellene?

Az A1 cella képletét látod, amit húzhatsz lefelé.
Ha nem az első sorban kezded a beírást, akkor a SOR() függvény értékét (vagy a kezdő értéket) kell módosítani a megfelelő eredmény eléréséhez.
Üdv. -
Fferi50
Topikgazda
válasz
lumpy92
#54835
üzenetére
Szia!
A húzás és villámkitöltés különbözó módon működik. A mintád alapján te húztad a tartalmat, itt a bal oldali értéket növeli az Excel.
A villámkitöltés a mellette levő cellák alapján, a "megadott minta" szerint működik:
Az A - B oszlopot húzással hoztam létre (bocs az 53-55 miatt, csak szemléltetés)
A C1 cellába beírtam a 41-2025 értéket, ezután kiválaszottam a villámkitöltést
A C oszlopba írt számokat a C1 cella szerinti minta alapján a villámkitöltés hozta létre.
Vagyis a villámkitöltés alkalmazásához kell legalább egy "alaposzlop" és mellette egy db mintát tartalmazó cella. A villámkitöltés addig tölti ki az oszlopot, ameddig az "alaposzlop" ki van töltve.
(A villámkitöltés után az alaposzlopot akár el is dobhatjuk, törölhetjük, mert a kitöltött oszlop nem képletet tartalmaz!)
Üdv. -
Fferi50
Topikgazda
válasz
modflow
#54825
üzenetére
Szia!
Ahogyan Föccer írja, leginkább makró kell hozzá.
Ha feltételes formázással megy a színezés, akkor a feltételnek megfelelő cellákat lehet megszámoltatni képlettel. Pl. számok esetén DARABHA(A:A;">3") régebbi Excelben DARABTELI a függvény neve.
Szöveges formázás esetén is a szöveges feltételt kell a képletben alkalmazni.
Üdv. -
Fferi50
Topikgazda
válasz
CsonkaImo
#54820
üzenetére
Szia!
A kék színű Series1 nevű adatsorod töröld ki lsz. Utána jelöld ki x tengelynek az első oszlopod. Az x tengely formázásánál állítsd be a fő léptéket 0,5 - re.
Lépések:
A diagramon jobb klikk - Adatok kijelölése
Itt elvégezheted a szükséges módosításokat.
Vedd figyelembe, hogy a kijelölésnél igazából az első oszlop mindig az x tengely (elfordításnál az y tengely) értékeit adja.
Tehát neked egy adatsorod van - vízszintes tengelyen az x és hozzá tartozik a bending moments.
Az x tengelyt kiválasztod, jobb egérgomb és tengely formázása. Itt beállítod a fo léptéket 0,5-re
Üdv. -
Fferi50
Topikgazda
válasz
Geryson
#54817
üzenetére
Szia!
Ha a beszerzési árra tetted rá a 15 % árrést, akkor a képlet az A3 cellába:A2/A1-1
Két tizedes pontossággal 0,15 -> százalékos formában 15%
Ha a mínusz egyet elhagyod, akkor pedig 1,15 -> 115%
Üdv.
Ps: nem tudom, neked miből lett az A2/A1 111,98, ott valamit elírtál a képletben. -
Fferi50
Topikgazda
válasz
repvez
#54793
üzenetére
Szia!
Az újabb Excel verziókban a DARABTELI függvény DARABHA néven szerepel.
A DARAB függvény teljesen másként működik, a számokat tartalmazó cellákat számolja össze. Mivel a képlet végére tettél egy pontosvesszőt, ezért azt 0 -ként értékeli, ezért a DARAB függvényed értéke 1 lesz. Ha lehagyod a pontosvesszőt, akkor 0 értéket kapsz vissza.
A DARABTELI/DARABHA függvénynél lehet olyan probléma esetleg, hogy a szöveg nem pontosan egyformán van beírva a cellákba (bár, ha lenyílós érvényesítés van, akkor ez nem valószínű).
Ezért lenne fontos, hogy lássuk a képletedet.
Üdv. -
Fferi50
Topikgazda
válasz
repvez
#54791
üzenetére
Szia!
Tudnál egy képet mutatni, ahol látszik a képlet is?
Mi történik, ha az F3 cellában először csak az összeget hagyod meg? Ha az helyes, akkor nézd meg, mi a Darabteli függvény értéke. Valamelyik biztosan "helytelen" lehet.
Megvizsgálhatod az eredményt úgy is, hogy a cellát kijelölve, de nem belekattintva, a képletek menücsoportból a képletkiértékelést választod. Így lépésenként láthatod a műveletek eredményét. Ebből valószínűleg rájössz a hiba okára is.
Üdv. -
Fferi50
Topikgazda
Szia!
Ha csak egy cellát jelölsz ki, akkor mit ír ki összegnek?
Próbáld ki, F2 majd a szerkesztőlécen nézd meg, mit látsz. Ha ugyanezt látod - vagyis a két nullát és a tizedest vesszőt is - akkor szöveg van a cellában.
A cella számformátummá alakítása után kell még egy F2 és egy Enter. Így szokott "helyrejönni" a szám, nem elég a cellaformátum változtatása.
Számmá alakíthatod még az Adatok - Szövegből oszlopok varázslóval is.
Üdv. -
Fferi50
Topikgazda
válasz
lanszelot
#54757
üzenetére
Szia!
"egy példát pl 2020 április elejetól végéig G (money per month) és H (kWh per month) oszlopban mi lenne a képlet?"
Ezt a képletet próbáld ki (az A-C oszlopokból kiindulva), mondjuk az E2 cellába:=SUMIFS(B:B ; A:A; ">=01.04.2020";A:A; ">=30.04.2020")
F2 cellába pedig:
=SUMIFS(C:C ; A:A; ">=01.04.2020";A:A; ">=30.04.2020")
Így nem kell semmilyen plusz információ hozzá.
Ezért indultam ki az eredeti adatokból.
Üdv. -
Fferi50
Topikgazda
válasz
lanszelot
#54754
üzenetére
Szia!
Ha nincs hó eleji és hó végi adatod - miért is lenne - akkor viszont a SUMIFS függvény kell. Egyik feltétel dátum >=hó eleje, másik feltétel dátum <=hó vége. Ezt két külön feltételként kell megadni, ezért SUMIFS
Ha ki tudod írni az év - hónapot külön, akkor elég a SUMIF.
Mit írtál az F oszlopba, amit átírt?
Üdv. -
Fferi50
Topikgazda
válasz
Dragon27
#54753
üzenetére
Szia!
A feltételes formázás érvényességi tartományára állítsd be az egész $A$7:$K$98 tartományt egyben.
A képletben pedig legyen =$G7="Nyert".
A formázás beállításakor pedig jelöld ki a teljes tartományt (akkor az első mondatban írtak nem is kellenek)...
Tehát én törölném a mostani feltételes formázást, utána kijelölném a teljes tartományt a 7 sortól. Beírnám a képletet és megadnám a formázást mindkét feltételre külön-külön.
Üdv. -
Fferi50
Topikgazda
válasz
lanszelot
#54750
üzenetére
Szia!
Ami ezen a képen van, az szerintem jó kiindulási alapnak. A másik az nekem nem szimpi.
A SUMIFS képletet egy másik munkalapon - illetve a munkalap másik részén lehet használni.
Ehhez kellene még egy oszlop, ahol az év/hó szerepel a dátumból. Ezután ezt az oszlopot átmásolni arra helyre, ahová az összesítő értékeket szeretnéd - Erre jó az EGYEDI (UNIQUE) függvény. Ezután lehet a SUMIFS vagy lehet elég a SUMIF függvényt használni a hónapok összesítésére mindkét kívánt értékre.
Így érintettem a másik hsz-t is.
MS Office-ben (Excel) egy kimutatás megoldja a problémádat.
Üdv. -
Fferi50
Topikgazda
válasz
lanszelot
#54745
üzenetére
Szia!
Szerintem először egy kis rendet kellene csinálni, pl. Dátum mindig ugyanabban az oszlopban, nem kell sorrendben lenni. A pénzmozgás is egy oszlopba legyen rendezve.
Fogyasztás - leolvasás külön oszlopban.
SZUMHATÖBB függvénnyel számolhatsz fogyasztást és pénzmozgást havi szintre.
Készíthetsz kimutatást is, lehet én azzal kezdeném. Makró nem kell ehhez sem.
Ha mintát teszel fel, akkor még többet tudnánk segíteni.
Hasonló függvények (SUMIFS) a GoogleSheet-ben is vannak. Kimutatásra nem emlékszem.
Üdv. -
Fferi50
Topikgazda
válasz
Dragon27
#54741
üzenetére
Szia!
Az Excel frissebb verzióiban már DARABHA függvényre "magyarították" a korábbi DARABTELI elnevezést, ezért van a #NÉV? hiba.
E2 cellára megpróbálhatod:= DARABHA($G$7:$G$98;"Nyert")/DARAB2($G$7:$G$98)*100
(a nyert bejegyzések darabszámát viszonyítja az összes bejegyzés darabszámához a tartományban).
Úgy látom, a B4 cellád helyesen tartalmazza a profit összegét.
Így az E3 cella képlete lehetne:=$B$4/SZUM($E$7:$E$98)*100
A képleteknél fontos a $ jel, mert ezzel rögzítjük a tartományt.
Üdv. -
Fferi50
Topikgazda
válasz
Lasersailing
#54730
üzenetére
Szia!
Pl.:ktext=Range("A1").Comment.TextRange("A1").Comment.Text Text:=chr(10) & "Új comment", Start:=len(ktext)+1, Overwrite:=False
A := kombinációval a paramétereknek tudunk értéket adni.
Üdv. -
Fferi50
Topikgazda
válasz
Lasersailing
#54728
üzenetére
Szia!
A"Sheets(sob).Cells(3, sob_om).Comment.Text"sorba nem kell egyenlőségjel, szóköz után írhatod a szöveget, amit bele szeretnél tenni, mert az paraméter.
Comment.Text method (Excel) | Microsoft Learn
Üdv. -
-
Fferi50
Topikgazda
Szia!
Borzasztóan egyszerű??? az oka:
A Thisworkbook mindig azt a munkafüzetet jelenti, amiből a makró elindult. Ha a Personalból indítod az ikonnal, akkor azt. Ha a munkalapra/munkafüzetbe másolod és onnan indítod, akkor pedig az a munkafüzet.
Így aztán - mivel a Personal aktív munkalapján nyilvánvalóan nincsenek adatok, ezért nem is talál semmit.
Megoldás szerintem, hogy a Thisworkbook helyett ActiveWorkbook legyen a hivatkozás.
Üdv. -
-
Fferi50
Topikgazda
válasz
PeLa87
#54702
üzenetére
Szia!
Az Fkeres, Xkeres esetében a keresendő értéknek olyan formátumban kell lenni, mint ami a keresési oszlopban van.
A kép alapján az OVTJ2025 kód oszlopban szövegként tárolt szám van. Így a Keresőfüggvényben a keresendő paraméterként szövegként kell beírnod az értéket. Másik megoldás, hogy a kód oszlopban levő értékeket átalakítod számmá - erre több módszer is van, a hibaüzenetre kattintva is megteheted, kiválasztva ezt az opciót - és akkor számként írhatod be az EV fülre a keresett értéket.
Üdv. -
Fferi50
Topikgazda
Szia!
Szerintem szöveges cellára sajnos nem lehet ilyen formátumot. Makróval megoldható:Sub idezojelo()Dim cl As RangeFor Each cl In SelectionIf TypeName(cl.Value) = "String" ThenIf Left(cl.Value, 1) <> Chr(34) Thencl.Value = Chr(34) & cl.Value & Chr(34)End IfEnd IfNextEnd Sub
Kijelölöd a cellákat és elindítod a makrót. A szöveg tartalmú cellákba elhelyezi az idézőjeleket, ha már van benne, akkor nem változtatja.
A makrót elhelyezheted egyéni makró füzetben (Personal.xlsb), így minden munkafüzetben használható. Rendelhetsz hozzá gyorsbillentyű kombinációt is.
Ha csak ebben a munkafüzetben használod, a munkafüzetet makróbarátként kell elmentened.
Üdv. -
Fferi50
Topikgazda
válasz
szricsi_0917
#54685
üzenetére
Szia!
Más, Mutt hozzászólása alapján jutott eszembe a következő:
Mi lenne, ha használnád a BackgroundQuery tulajdonságot False -ra állítva. Ekkor minden lekérdezésnél megvárja a VBA a teljes lefutást, ezután megy tovább a következő műveletekre.
Üdv. -
Fferi50
Topikgazda
válasz
szricsi_0917
#54685
üzenetére
Szia!
Én kiíratnám debugba az időpontot, a lekérdezés nevét, állapotát és a stableCount változó értékét minden ciklusban.
Talán kevés neki a 2 mp késleltetés?
Üdv. -
Fferi50
Topikgazda
válasz
makoss
#54678
üzenetére
Szia!
Az első sorba - ahova a napok kerülnek - dátumot írsz. A példádban C1-be 2025.10.01. Ezután cellaformázás, egyéni - magyarban nnn, angolban ddd - a napok egyértelmű kezdőbetűit látod a cellában. Ezután jobbra húzod és a húzással kitöltődik a növekvő dátumokkal.
A cellák értéke dátum marad, de látni a napokat fogod. Kitöltés után beállítod az automatikus oszlopszélességet.
Üdv. -
Fferi50
Topikgazda
-
Fferi50
Topikgazda
Szia!
Új ikont csak a menüszalag szerkesztővel tudsz felvenni... (pl Office RibbonX Editor).
A personal munkafüzetben levő makrót így tudod az egyéni menüszalagra tenni:
A VBA ablakban láthatóvá teszed a Personal.xlsb munkafüzetet: Immediate ablakban Workbooks("Personal.xlsb").Windows(1).Visible=True
Ezután átváltasz a Munkalap ablakra (maradsz a Personal munkafüzetben!) - majd Fájl - Beállítások - Menüszalag testreszabása - A választható parancsok helye lenyílóban kiválasztod a Makrók tételt. Itt megjelennek az egyéni makrók is. Kiválasztod a szükségese(ke)t és felveszed a saját menüszalagodra.
Ezután vissza a VBA ablakra és elrejted a Personal.xlsb-t.
Workbooks("Personal.xlsb").Windows(1).Visible=False
Mented az eredeti fájlodat.
Ezután eléred az így átvitt makrokat az egyéni menüszalagodról.
Megjegyzés: Az így átvitt makrok megjelennek az Excelben megnyitáskor a menüszalagon. Működésük pedig függ az adott fájl szerkezetétől.
Üdv. -
Fferi50
Topikgazda
válasz
makoss
#54659
üzenetére
Szia!
Szerintem ezt egy A4 oldalra tisztességes láthatósággal nagyon nehezen lehet - ha egyáltalán - kinyomtatni.
Az oldalbeállítás paraméterezésben kísérletezhetsz részben a legyen 1 oldal széles 1 oldal magas beállítással, illetve a legyen az eredeti méret x %-a. A nyomtatási képen láthatod az eredményt kinyomtatás nélkül.
Üdv. -
Fferi50
Topikgazda
Szia!
Próbáld ki ezt a képletet:=SZUMHATÖBB($B$2:$B$16;$A$2:$A$16;">="& A6;$A$2:$A$16;"<=" & A10)
De az A6 és A10 cellák helyett másik cellákba is írhatod a határokat, akkor azt kell megadnod helyettük.
Üdv.
PS. Ha konkrét célösszeget szeretnél megkapni adott dátumok között, akkor viszont az Excel Solver bővítményét kell használnod a kalkulációhoz. A SZUMHATÖBB függvény kalkulációra nem alkalmas, nem tudsz vele "válogatni" a számok között, hogy egy megadott érték legyen az eredmény, csak az összes feltételnek megfelelő értékeket adja össze.
(Ezt a megjegyzést a pl. 20 legyen kitétel miatt fűztem hozzá.) -
Fferi50
Topikgazda
válasz
föccer
#54633
üzenetére
Szia!
" a laphoz rendelve Sub Worksheet_SelectionChange(ByVal Target As Range) eljárást használom, ellenben nem indul el a makró "
Szerintem Selection_Change eseménynek el kell indulnia. Kivéve, ha az eseménykezelés le van tiltva.
Megjegyzés (bár gondolom tudod): Az eseménykezelő eljárás elején le kell tiltani az eseménykezelést, a végén pedig vissza kell kapcsolni, különben akár végtelen ciklusba is eshet a folyamat.
Üdv. -
Fferi50
Topikgazda
válasz
föccer
#54633
üzenetére
Szia!
"ez utóbbit kipróbáltam csak akkor fog tovább menni a makró, ha eltüntetem az userformot"
A userform megjelenítését megoldhatod úgy is, hogy a makró továbbfut a láthatóság alatt, majd a folyamat végén eltünteted.
A Show metodnak van egy paramétere - modal - ami alapértelmezésben (vagyis amikor paraméter nélkül jelenítjük meg a formot) érvényes, addig "nem tűnik el" a form, amíg a user nem kattint rá.
Ha tovább szeretnénk futtatni a form láthatósága idején a makrót, akkor meg kell adni a modal paraméternek a vbModeless (0) értéket, vagyis userform.show vbModeless formában kell láthatóvá tenni a formot.
[link] itt a help hozzá.
Ü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. -
Fferi50
Topikgazda
válasz
Silious
#54580
üzenetére
Szia!
Csak makróval lehet megoldani, mert egy cella nem tartalmazhat képletet és számot is.
Én azt javaslom, hogy ne gombot tegyél a cellába, hanem csak egy plusz ill. mínusz jelet. A cellát akár színezheted is.
A cellára dupla kattintással kiváltod a növelést ill. csökkentést. Ehhez az alábbi makrót kell a munkalap kódlapjára bemásolnod:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Target.Column = 1 ThenTarget.Offset(0, 1).Value = Target.Offset(0, 1).Value + 1End IfIf Target.Column = 3 ThenTarget.Offset(0, -1).Value = Target.Offset(0, -1).Value - 1End IfCancel = TrueEnd Sub
Az első oszlop bármelyik cellájába írhatod a + jelet ill. a harmadik oszlopba a - jelet. Mindegyikre működik a makró.
Figyelj rá, hogy hibakezelés és védelem nincs a makróban, tehát megváltoztathatók az értékek (a + és - jel is)!
Nálam így néz ki (az első sorba tettem, de bármelyik sorba teheted, a lényeg az A és C oszlop):
Üdv. -
Fferi50
Topikgazda
válasz
Sziszifeca
#54576
üzenetére
Szia!
Solver használatával tudod megoldani. A Solvert először aktíválnod kell, a következőképpen:
Fejlesztőeszközök (ha nincs ilyen menücsoportod, akkor a Fájl - Beállítások - Menüszalag testreszabása - Fő lapok csoportnál be kell jelölnöd a Fejlesztőeszközök menüpont előtti négyzetet) menücsoportban az Excel bővítményeket megnyitod és bejelölöd a Solver bővítményt.
Ezután az Adatok menücsoport végén fogod megtalálni a Solvert.
Használatához elő kell készülni.
A B10 cellába beírod ezt a képletet:=SZORZATÖSSZEG($A$4:$A$9;B4:B9)-B3
amit áthúzol a C10 cellába is.
Ezután a két oszlopra külön-külön kell elvégezni az optimalizálást a Solverrel.
B oszlopra:
Célérték beállítása: $B$10 cella - értéke 0
Változó cellák módosításával: $B$4:$B$9
Vonatkozó korlátozások - hozzáadás
$B$4:$B$9 - bináris (ezt kell kiválasztanod).
Ezután rákattintasz a megoldásra és ahol 1 az érték, azok a számlák vannak benne az összegben.
Majd megcsinálod ugyanezt a C oszlopra értelemszerűen.
Megcsinálni gyorsabb, mint leírni. 
Persze, előfordulhat, hogy nem talál megoldást... akkor nem jók a számláid.
Üdv. -
Fferi50
Topikgazda
válasz
andreas49
#54336
üzenetére
Privátban megoldódott!
Ha valaki kíváncsi lenne rá:
Nem megjegyzés/jegyzet volt a cellában, hanem hivatkozás (hyperlink).
Az egérmutató rávitele pedig a HIVATKOZÁS munkalapfüggvény megjelenő szöveg paraméterbe kerülő szöveget mutatja meg.
Ezt VBA-val a Range.Hyperlink ScreenTip paraméterével lehet kinyerni. Mivel egy cellához több hyperlink is csatolható, ezért az egyikek (akár az egyetlent is!) a Hyperlinks(index) formában lehet kinyerni. Vagyis a B2 cellához kapcsolódó érték kinyerése:Range("B2").Hyperlinks(1).ScreenTip
Üdv. -
Fferi50
Topikgazda
válasz
andreas49
#54336
üzenetére
Szia!
Az egérmutató rávitele a cellára sajnos nem kezelhető eseményként, így nem lehet hozzá eseménykezelőt sem írni.
Két egéresemény van, a BeforeDoubleClick és a BeforeRightClick. Kényelmi szempontból a jobb egérkattintást látom használhatónak, erre írtam is egy makrót, amit a munkalap kódlapjára kell beírni:Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)Dim cmts As CommentsThreaded, cmt As CommentThreaded, cmtas As Comments, cmta As Comment, cmtjel As BooleanIf Me.CommentsThreaded.Count > 0 ThenSet cmts = Munka1.CommentsThreadedFor Each cmt In cmtsIf Target.Address = cmt.Parent.Address ThenApplication.EnableEvents = FalseTarget.Offset(0, 1).Value = cmt.Textcmtjel = TrueExit ForEnd IfNextEnd IfIf Not cmtjel ThenIf Me.Comments.Count = 0 ThenCancel = FalseExit SubElseSet cmtas = Me.CommentsFor Each cmta In cmtasIf Target.Address = cmta.Parent.Address ThenApplication.EnableEvents = FalseTarget.Offset(0, 1).Value = cmta.Textcmtjel = TrueExit ForEnd IfNextEnd IfEnd IfApplication.EnableEvents = TrueEnd Sub
A makró jobb egérkattintásra indul, mind a megjegyzést, mind a jegyzetet figyeli és amennyiben a cellához kapcsolódik, akkor a mellette levő cellába kiírja az értékét.
Ezután láthatóvá válik a jobb egérkattintás menüje. (Erre azért van szüksége, mert másként nem tudnád törölni a cella megjegyzését/jegyzetét.)
Ha nincs sem megjegyzés, sem jegyzet, akkor csak a menü jelenik meg.
Amire figyelned kell: Az adott cellára akárhányszor megcsinálhatod a jobb egérkattintást, mindannyiszor újra felülírja a megjegyzés/jegyzet értékét. Ha közben változtattál a szövegen, akkor egy plusz jobb egérkatt kell ahhoz, hogy a mellett levő cellában megjelenjen az új szöveg.
Ha bármilyen más értékek lennének az adott cella mellett, azok is felülíródnak a megjegyzés/jegyzet szövegével!!!
Mindig csak azt a cellát vizsgálja, amin kattintottál - egyértemű működés érdekében csak egy db cellát jelölj ki a kattintásra!
A munkafüzetet makróbarátként kell elmentened!
Üdv. -
Fferi50
Topikgazda
válasz
Dr. Mózes
#54324
üzenetére
Szia!
Bocsi, úgy látom 2 malomban őrölünk. A Power Qery nem azonos a Power Pivottal. Te a hibaüzenet szerint ez utóbbival dolgozol. Ebben valószínűleg nincs DateDiff függvény. Nem igazán ismerem, gondolom más szintaktikát használ ez is.
Egyébként mit szerettél volna a DateDiff függvénnyel kiszámítani?
Üdv. -
Fferi50
Topikgazda
válasz
csferke
#54317
üzenetére
Szia!
Akkor próbáld ki légy szíves ezt:
Nézet - Új ablak majd az egyik ablakban Nézet - Ablak - Mozaik - a megjelenő párbeszéd ablakban bejelölöd Egymás mellett.
Így a két ablakod egymástól függetlenül fog mozogni, viszont a változtatás mindkét ablakban megjelenik. Amikor elhagyod az excelt, majd ismét visszatérsz, akkor a Nézet menüben a Ablakváltással tudod mindkét ablakot ismét megjeleníteni.
Üdv. -
Fferi50
Topikgazda
válasz
szbjns
#54311
üzenetére
Szia!
A PQ szerkesztés lépései (az előző leírásnak megfelelően):
3. Pont: Kijelölöd a Tervezett oszlopot majd Ctrl nyomva a Bevétel oszlopot. Ezután Átalakítás fülön Oszlopok egyesítése - a párbeszéd panelen elválasztó nincs és beírod az új oszlop nevét (nálam Adatok).
Ezután: Az új oszlop kijelölve - Kezdőlapon - Adattípus - egész szám
4. pont
Nem a Rendelés mezőbe, hanem a Típus_terv oszlopba fogunk helyettesítőt írni:
Kijelöljük a Típus_terv oszlopot. Ezután Átalakítás fülön Értékek lecserélése:
Null helyett Bevétel lesz az oszlopban.
Ezután Kezdőlapon Bezárás és betöltés.
Innen már jöhet a kimutatás.
Még annyi turpisság, hogy a Típus_terv mezőnél a részletezést kikapcsoljuk, de az összesítést meghagyjuk Automatikus opción.
A Típus mezőnél kikapcsoljuk az összesítést, a Rendelés mezőné pedig meghagyjuk az Automatikus opciót.
A kimutás akkor változik meg, ha rajta állva a Kimutatás_tervezés menüben a Frissítésre kattintunk.
Üdv. -
Fferi50
Topikgazda
válasz
szbjns
#54305
üzenetére
Szia!
Power Queryvel (PQ) egy kis munkával össze lehet fésülni a két fájlt úgy, hogy utána a kívánt formában jelenjen meg a kimutatásod.
1. Először a két fájlt olvastam be PQ-ba. Adatok – Adatok beolvasás – Más forrásokból – Táblázatból vagy tartományból menüpontban. (Van erre egy külön kis ikon is a menücsoportban.)
2. Az Adatok – Adatok beolvasása – Lekérdezések kombinálása – Összefűzés menüpontban kiválasztottam a két előző táblázatot és beolvastam.
3. Ezután egy új oszlopba egyesítettem a Tervezett és a Bevétel oszlop adatait – határoló jel nélkül, majd megváltoztattam a típusát egész számra.
4. A következő lépésben a Rendelés oszlop üres (null értékű) celláiba beírtam a Terv szót.
5. Mentettem az egészet, a továbbiakban nincs szükség a PQ használatára.
6. Az így kapott táblázatra elkészítettem a kimutatást a képen látható mező elrendezésekkel. A terv sorokat felvittem a Típus alá elsőnek és félkövér betűket adtam neki. (Kijelölöd a cellát és addig mozgatod az egeret, amíg a szálkereszt meg nem jelenik, amivel mozgatható.)
7. Így változáskor csak frissíteni kell a lekérdezéseket és a kimutatást.
(A PQ „makrója” az alábbi --- a szerkesztés, kezdőlap – speciális szerkesztő menüpontjában érhető el:letForrás = Table.Combine({Táblázat1, Táblázat3}),#"Oszlopok eltávolítva" = Table.RemoveColumns(Forrás,{"Dátum"}),#"Egyesített oszlop beszúrva" = Table.AddColumn(#"Oszlopok eltávolítva", "Adatok", each Text.Combine({Text.From([Tervezett], "hu-HU"), Text.From([Bevétel], "hu-HU")}, ""), type text),#"Típus módosítva" = Table.TransformColumnTypes(#"Egyesített oszlop beszúrva",{{"Adatok", Int64.Type}}),#"Érték felülírva" = Table.ReplaceValue(#"Típus módosítva",null,"Terv",Replacer.ReplaceValue,{"Rendelés"})in#"Érték felülírva")
A képek:
1.Részle az összefűzött fájlból:
2.
A kimutatás mező elrendezése:
3. A kimutatás maga:
Ha bármilyen kérdésed lenne, keress bátran.
Üdv. -
Fferi50
Topikgazda
válasz
flash-
#54298
üzenetére
Szia!
Egyéni ormázással megoldható, hogy a számok az általad kívánt formátumban jelenjenek meg. A formátum az alábbi:[<=3619999999]"+"##_ #_ ###_ ####;[<=3699999999]"+"##_ ##_ ###_ ###;"+"##_ ##_ ###_ ##_ ##
Ezt kell bemásolnod a formátumkód mezőbe.
Ráállsz egy cellára, azon jobb egérgomb, cellaformázás - egyéni majd a formátumkód mezőbe bemásolod a fentieket nagyon pontosan.
Ha egy cellát megformáztál, utána a formátum másolható.
Ez a kód csak a magyarországi telefonszámokat formázza az általad kívánt formába (nem csak a mobil számokat).
A telefonszámot + nélkül, mindig 36-tal kezdve számként! kell a cellába beírni, akkor hatásos a formázás. Ha a celláidban benne van a + is a számok előtt, azt le kell vágni. ha szöveg maradna azt számmá kell alakítanod formázás előtt.
Üdv. -
Fferi50
Topikgazda
válasz
Zola007
#54272
üzenetére
Szia!
Próbáld a következő szerint:
A feltételes formázáshoz kiválasztod a név mezőben a Táblázatod. Megadod hozzá a szabályt.
Amikor beszúrsz, akkor kiválasztod az adott sor első celláját, jobb egérgomb beszúrás - táblázatsorok felülre (gondolom nem probléma egy sorral lejjebb menni, ha alá szeretnél sort beszúrni).
Nekem ebben az esetben automatikusan bővítette a szabályokban az érvényességi tartományt és nem tett be új szabályt.
Üdv. -
Fferi50
Topikgazda
válasz
Geryson
#54267
üzenetére
Szia!
Például feltételes formázás az adott oszlopra (vagy a mellette levőre). Szabály alkalmazásával, a szabály pedig, ha a C oszlopot figyelnéd, akkor:
=C1=C2
Kijelölsz hozzá és nem piros és nem zöld hátteret a cellához. Az érvényességi tartomány pedig az adott oszlop. Ha a C-t figyeled, de a D-be tennéd a megjelölést, akkor az érvényességi tartományként a D oszlopot add meg. A képlet marad ugyanaz!!!
Üdv. -
Fferi50
Topikgazda
válasz
Derron
#54216
üzenetére
Szia!
Milyen módon olvasod be a vonalkódot és a QR kódot (milyen szoftverrel), hogyan kerül be a cellákba az értékük?
Eseménykezelő makróval lehet figyelni a cellák tartalmának változását.
Ha táblázattá alakítod, akkor a C oszlop képletezése automatikusan megy tovább, amikor beírsz egy új értéket az A-B oszlopba. (Ezt a beállításoknál tudod elérni.)
Az alábbi makró figyeli az A és B oszlop változását: A oszlop esetén továbblép a B oszlopra, B oszlop esetén továbblép az A oszlop következő cellájára.
A makrót a munkalap kódlapjára kell bemásolni:Private Sub Worksheet_Change(ByVal Target As Range)If Target.Column = 1 Then Target.Offset(0, 1).SelectIf Target.Column = 2 ThenIf Target.Offset(0, -1) <> "" ThenApplication.EnableEvents = FalseTarget.Offset(1, -1).SelectApplication.EnableEvents = TrueEnd IfEnd IfEnd Sub
Így nézne ki a táblázat:
Viszont fontos tudni, hogyan kerül az A B oszlopba a beolvasott érték.
Üdv.
Új hozzászólás Aktív témák
- Canon MILC: EOS R és M topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Elektromos autók - motorok
- Mibe tegyem a megtakarításaimat?
- Path of Exile (ARPG)
- mefistofeles: Az elhízás nem akaratgyengeség!
- Gitáros topic
- Macska topik
- PlayStation 5
- A fociról könnyedén, egy baráti társaságban
- További aktív témák...
- PC Game Pass előfizetés
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- 231 - Lenovo Legion 5 (15IRX10) - Intel Core i7-13650HX, RTX 5060
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Blue Titanium-1 ÉV GARANCIA - Kártyafüggetlen, MS4240
- iPhone 14 Plus 96% (1év Garancia) - AKCIÓ
- OnePlus Nord CE3 Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Asus ROG Z790 i9 13900K 32GB DDR5 1TB SSD RX 7900 XTX 24GB Lian LI LANCOOL 207 ROG 750W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Láthatod, hogy egyik esetben sincs szükség segédoszlopokra az eredmény eléréséhez.

Ha ezektől eltekintünk és legalább 2024-es Exceled van, akkor a képlet az E= cellába:



Az x tengelyt kiválasztod, jobb egérgomb és tengely formázása. Itt beállítod a fo léptéket 0,5-re

Üdv.
Üdv.
Üdv.
Remélem, tudod alkalmazni a saját táblázatodra. Ha nem sikerülne, küldd el privát üziben.
Megcsinálni gyorsabb, mint leírni.
Így a két ablakod egymástól függetlenül fog mozogni, viszont a változtatás mindkét ablakban megjelenik. Amikor elhagyod az excelt, majd ismét visszatérsz, akkor a Nézet menüben a Ablakváltással tudod mindkét ablakot ismét megjeleníteni.
Ezután: Az új oszlop kijelölve - Kezdőlapon - Adattípus - egész szám
Null helyett Bevétel lesz az oszlopban.



