-
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
-
Mutt
senior tag
válasz
Geryson
#54694
üzenetére
Szia,
Kaptál már helyes válaszokat, de MS365-ben van még más lehetőség is.
A legegyszerűbb a SZÖVEGELŐTTE és SZÖVEGUTÁNA függvények használata, de egy kis AI segítséggel a leghatékonyabb egy reguláris kifejezés használata.
A többi pedig csak poén.=SZÖVEGELŐTTE(SZÖVEGUTÁNA(A1;"(");")")=REGEXKIVONÁS(A1;"(?<=\()\w+(?=\)$)")=INDEX(SZÖVEGFELOSZTÁS(A1;{"(";")"});;2)=PY("text = xl(""A1"")text.split(""("")[1].split("")"")[0]",0)
üdv -
Mutt
senior tag
válasz
Geryson
#54675
üzenetére
Szia,
Klasszikus képlettel kaptál már választ, de Excel 2024-től már van SZÖVEGELŐTTE függvény is, amelyet egyszerű használni.
ü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. -
Delila_1
veterán
válasz
Geryson
#54257
üzenetére
[Itt levezeti] a Mutt által mutatott függvényt.
-
Mutt
senior tag
válasz
Geryson
#54257
üzenetére
Szia,
MS365-ben van neked CSOPORTOSÍTÁS.ALAP.SZERINT (GROUPBY) függvényed is amit kipróbálhatsz.
T1-ben a képletnek próbáld ki ezt:
=CSOPORTOSÍTÁS.ALAP.SZERINT(F:F;K:K;SZUM;3)üdv
-
Pá
addikt
válasz
Geryson
#54250
üzenetére
Irányítószám egyszerű, feltételezve, hogy A1 cellában van a szöveg, amiből ki akarod nyerni
Ez mindig a szöveg első 4 karakterét adja vissza=LEFT(A1,4)A helységnévre most hirtelen két módszert látok, de talán lehetne ennél elegánsabban is?
Itt a 6. karaktertől az első vesszőig adja vissza az értéket:
=MID(A1, 6, FIND(",", A1)-6)Itt pedig az első space és az első vessző közti értéket adja vissza
=MID(A1, FIND(" ", A1) + 1, FIND(",", A1) - FIND(" ", A1) - 1)Ezek a függvények az angol excelben működnek.
Ha magyar exceled van, akkor
LEFT helyett használd, hogy BAL
MID helyett, hogy KÖZÉP
FIND helyett, hogy SZÖVEG.TALÁL -
-
válasz
Geryson
#48032
üzenetére
Nekem csak a "A másik oldalon kb. 200 összeszámolandó változó van" + 17 kritérium keltette fel a figyelmem. (Változó alatt 200 oszlop értendő?)
Ha igen, akkor nyilván ez egy igen összetett táblázat kell, hogy legyen, és mint olyan, (ráadásul egy számlázóprogi is képben van), hibának helye nincs.Segítséget vagy akár megoldást is jó eséllyel fogsz kapni(mint, ahogy már írtak előttem(lappy megközelítése járható útnak tűnik)), csak azt nagyon ellenőrizd le, hogy tényleg azt csinálja, amit szeretnél.
A legjobb megoldás az lenne - amit Fferi50 is említett- , hogy magával a számlázóprogival megoldani, már ha alkalmas rá.
(Modernebb, szabványos adatbázis-alapú(Access, Dbase, Paradox stb stb) számlázókban az ilyen feladatokra vannak lehetőségek, pl. lekérdezések, adatbázismezők frissítése/törlése stb stb, egy lekérdezéssel (cikkszám alapján) mindenféle összesítés elvégezhető) -
Fferi50
Topikgazda
válasz
Geryson
#48032
üzenetére
Szia!
Bocs, de a számlázó program nem tudja összeadni ezeket az értékeket?
Ha ennyire sok adatod van, akkor ki lehetne tenni a kivételeket egy segédoszlopba.
Esetleg a segédoszlopban jelölni, hogy melyik cikkszámot kell összeadni és akkor egy két feltételes SZUMHATÖBB függvénnyel (DÁTUM, Cikkszám kell-e oszlop) össze tudod adni.
Üdv. -
-
Fferi50
Topikgazda
válasz
Geryson
#48029
üzenetére
Szia!
Így ismeretlenül számomra elképzelhetetlen amit írsz...
Elhiszem, hogy így van, de biztos Excelben kell ezt megcsinálni?
Részösszeg függvény és szűrés használata nem lenne célravezetőbb, mivel megfelelő függvény használatával a kiszűrt tételek nem kerülnek be az összesítésbe?
Esetleg kimutatás és annak szűrése?
Talán mutass egy egyszerűbb példát, hogy mire szeretnéd használni, hátha akkor jobb ötleteink születnek.
Üdv. -
Fferi50
Topikgazda
válasz
Geryson
#48026
üzenetére
Szia!
Nem lenne egyszerűbb a "fordítottját" számolni és kivonni a teljes összegből? A 17 kritérium túl soknak tűnik.
Ha szöveges feltételekről van szó, akkor próbálkozhatsz a helyettesítő karakterekkel ( csillag és kérdőjel) esetleg, hogy kevesebb legyen a kritériumok száma.
Üdv. -
Fferi50
Topikgazda
válasz
Geryson
#47177
üzenetére
Szia!
Vegyél fel egy nevet a következő képletnek:=ELTOLÁS($B$2;0;0;DARAB2($B$2:$B$500);1)
(A névkezelőben adsz neki egy nevet, pl. Tart1, a hivatkozáshoz pedig beírod a fenti képletet)
Ez dinamikusan követi a nem üres cellák állományát - persze fontos, hogy közben ne legyen üres cella, tehát B2-től folyamatos legyen a feltöltés.
Ezután az INDEX első paramétere legyen a név.
Üdv. -
-
ny.janos
tag
válasz
Geryson
#30631
üzenetére
Erre fapados megoldásként azt javaslom a majd 1500 sorból a hibás adatok egyenkénti javítása helyett, hogy másold ki a hibákkal tarkított teljes oszlopot egy jegyzettömbbe (.txt), ami ezzel minden formázást elveszít. Az oszlop adatait törlöd ezt követően, az oszlopformátumot állítsd be dátumra, majd a jegyzettömbből másold vissza az értékeidet. Így minden egyes dátumodnak meg kellene javulnia.

-
Delila_1
veterán
válasz
Geryson
#30627
üzenetére
Mégis baj lehet a B oszlop adataival.
Újra tedd a teljes oszlopot dátum formátumúvá, majd lépkedj végig azokon a cellákon a B oszlopban, ahol nem hozta az M oszlop képlete a jó értéket.
Cellán F2, majd Enter. Az F2 hatására szerkesztő módba kerül a cella, a kurzor az adat végén lesz, az Enter fixálja az értéket. Ha az van beállítva, hogy az Enter után lefelé lép a kurzor (ez az alapérték), akkor már adhatod is a következő F2-t, Entert. -
Louro
őstag
válasz
Geryson
#26887
üzenetére
Csak a logika kell. A középpel is működhet, de valamiért nem esik annyira kézre, mint a BAL meg a JOBB.
=KÖZÉP(A1;SZÖVEG.KERES("-";A1)+1;SZÖVEG.KERES("-";A1;SZÖVEG.KERES("-";A1)+1)-SZÖVEG.KERES("-";A1)-1)
A SZÖVEG.KERES ebben az esetben fontos, mert folyton a kötőjeleket kell keresgelni

-
Louro
őstag
válasz
Geryson
#26884
üzenetére
Szia,
ha fix, hogy 6 szám - 3 betű - valami, akkor könnyű...
=JOBB(BAL(A1;6+1+3);3)
Ha rugalmas az adatok hossza, akkor meg kell keresni a kötőjeleket és azokhoz kell viszonyítani.
=JOBB(BAL(A1;SZÖVEG.KERES("-";A1;SZÖVEG.KERES("-";A1)+1)-1);HOSSZ(BAL(A1;SZÖVEG.KERES("-";A1;SZÖVEG.KERES("-";A1)+1)-1))-SZÖVEG.KERES("-";A1))
Hirtelen jobbat nem tudok....
-
Fferi50
Topikgazda
válasz
Geryson
#26241
üzenetére
Szia!
"Ja, hogy ezt a felhasználó szintű dolgot ezt programozni kellene?"
Néhány dolog megoldható (pl. tartományok módosítási lehetősége), tartományok védelme. De változó körülményeket csak programozás árán tudsz kezelni általában.
(pl. azt biztosan nem tudod menüből, hogy Kis Piroska csak egy munkalapot, Nagy Márton viszont kettőt lásson.)Üdv.
-
Fferi50
Topikgazda
válasz
Geryson
#26212
üzenetére
Szia!
Az Excel munkafüzet és munkalap védelmét érdemes átnézned. Ebben szerintem egy olyan rész van, ami felhasználóhoz köthető, a tartományok módosítási lehetőségének felhasználóhoz kötése.
Más jogosultság kezelésről nem tudok az Excel eszközei között. A felhasználó függő "korlátozások és beállítások" ügyét, ahogy korábban is írtam, neked kell meghatároznod és leprogramoznod. Kezdve onnan, hogy megnézed, ki lépett be (ezt meg tudja mondani az excel is pl. a munkafüzet userstatus tulajdonsággal, vagy az Applicaiton.Username tulajdonsággal).
Az információ alapján mutatsz neki lehetőségeket.Üdv.
-
azopi74
addikt
válasz
Geryson
#26209
üzenetére
Azt viszont azért tartsd észben, hogy az összes fenti módszer olyan, hogy egy átlagosnál nagyobb informatikai affinitással rendelkező júzer egy pillanat alatt megkerüli a védelmet.
Szóval kritikus adatokat ne ilyen módon akarj védeni se olvasás, se írás elől, mert erre alkalmatlan az excel. Ha csak arra szolgál a védelem és a jogosultsági rendszer, hogy "egység sugarú" felhasználók nehogy véletlenül olyat csináljanak, amit nem kéne, arra megfelelő. -
Fferi50
Topikgazda
válasz
Geryson
#26206
üzenetére
Szia!
Több lehetőség is van rá.
Pl. indításkor bekéred a felhasználó nevét és jelszavát és a belépett felhasználótól függően határozod meg, hogy mit láthat és mit tehet. Viszont a felhasználókat és a hozzájuk tartozó jelszavakat és jogosultságokat neked kell nyilvántartani és kezelni.
Lehet védeni a munkalapot, illetve kijelölni felhasználótól függően módosítható területeket.
Elrejtheted az adatokat tartalmazó munkalapokat úgy, hogy csak programból lehet előhívni (visible tulajdonság xlveryhidden értéke).
A felhasználónak csak az adatbevitelre szolgáló munkalapot mutatod meg. Esetleg csinálsz egy userformot az adatbevitelre és azt egy teljesen üres/ vagy semleges munkalapon mutatod meg.Fontos, hogy legyen koncepciód, ki mit és miért tehet.
Üdv.
-
Delila_1
veterán
válasz
Geryson
#25007
üzenetére
Az Adatok | Rendezés és szűrés | Speciális menüpont szerint szűrheted kedved szerinti oszlopokra és értékekre a tartományodat.
Fel kell venned egy kritérium tartományt, ami az "igen" oszlopod címét, és alatta az igen szót tartalmazza. Egy másik tartomány azoknak az oszlopoknak a címe legyen, amiket az új tartományban akarsz szerepeltetni (és olyan sorrendben, ahogy majd kellenek). A kritérium oszlopnak nem kell feltétlenül szerepelnie ebben a tartományban.
A két, előre meghatározott tartomány hátterét színeztem.
-
Delila_1
veterán
válasz
Geryson
#23940
üzenetére
Mint kiderült a személyes megbeszéléskor, csak a lényeg, a makró maradt le. Elnézést!
Function JobbKotjel(cella)
Dim b As Integer
For b = Len(cella) To 1 Step -1
If Mid(cella, b, 1) = "-" Then
JobbKotjel = Right(cella, Len(cella) - b) * 1
Exit Function
End If
Next
End Function -
Delila_1
veterán
válasz
Geryson
#23927
üzenetére
A kész függvényekkel ezt nem oldhatod meg, de írtam egy újat.
Beviszed egy új modulba, a füzetben pedig az =JobbKotjel(A1) megadja a kért eredményt.
Ha csak ebben a füzetben akarod alkalmazni, ennek egy moduljába másold be – mentés xlsm-ként –, ha több helyen, akkor a personalba másold be. -
mexel
veterán
válasz
Geryson
#21414
üzenetére
Függőlegesen kell összeadni őket. Ha 10 sorban szerepel a "nem" szó akkor azokban a sorokban lévő számokat kell összeadni. A többivel ne csináljon semmit. De lehet hogya HA az jó lesz, megnézem, köszi!
Szerk: a SZUMHa jó is volt, köszi! Nem tudom miért nem ugrott ez be
Túl akartam bonyolítani. -
Delila_1
veterán
válasz
Geryson
#21031
üzenetére
Szia!
A lapokat elrejtheted. Ha úgy gondolod, hogy ezt könnyen felfedik, a VBA szerkesztőben szigorúbb tiltást adhatsz. Lapfülön jobb klikk, Kód megjelenítése. Ha nem látszik a Properties menü bal oldalon, akkor a View menüből megnyitod.
Az utolsó paraméter a lap láthatósága (visible), ezt weryhidden-re állítva a lap a füzetből nem, csak a VB szerkesztőből tehető ismét láthatóvá.
Másik kérdés:
A HOL.VAN függvény megadja az utolsó kitöltött sorod számát, ha olyan nagy számot kerestetsz vele, amilyen biztosan nincs az adataid között.Vegyük, hogy az árfolyamok a B oszlopban vannak, a képlet:
HOL.VAN(10000;B:B;1)Ezt beágyazzuk az INDIREKT függvénybe, ami megadja a tartományt az átlag kiszámításához:
INDIREKT("B2:B" & HOL.VAN(10000;B:B;1))Utolsó lépésként jön az ÁTLAG függvénybe történő beágyazás:
=ÁTLAG(INDIREKT("B2:B" & HOL.VAN(10000;B:B;1))) -
Delila_1
veterán
válasz
Geryson
#20603
üzenetére
...az A oszlopban nagyon sokszor 2-5-10 ismétlés is található, ezeket szeretném kitakarítani.
- Hogy oldható meg az, hogy ezeket jelölje nekem?A =DARABTELI($A:$A;$A2) képlet megadja, hányszor szerepel az A2 értéke az A oszlopban.
A feltételes formázás a képletét úgy kell érteni, hogy ha a beírt függvény értéke igaz, akkor... (formátum). Nyilván sok tételed van az A oszlopban, ami többször is szerepel, azért olyan szép színes a tartományod.
-
Delila_1
veterán
válasz
Geryson
#20585
üzenetére
Nézd meg az A oszlopban az adataidat. Valószínű, hogy az A24 és A25 cellák tartalma nem azonos, csak annak látszik. Valamelyik a kettő közül tartalmaz egy szóközt, vagy egyéb, nem látható karaktert. A HOSSZ függvénnyel le tudod kérdezni az egyes cellák tartalmának a hosszát. Vagy: a cellán állva F2-re (szerkesztő üzemmód) a kurzor a cella végén jelenik meg, és azonnal látható, hogy van-e előtte szóköz.
Az A oszlopban feltehetően máshol is előfordul az A2 érték, abból adódik a C2 értéke.
Feltételes formázás:
Feltételes formázás | Új szabály | A formázandó cellák kijelölése képlettel | Értékek formázása, ha ez a képlet igaz. -
Delila_1
veterán
válasz
Geryson
#18503
üzenetére
Az új "sokat" (
) eleve szöveg formátumú cellákba vidd be, akkor nem kell külön cirkuszolni a szöveggé alakításukkal. Most, hogy már a teljes oszlopot szöveg tip-ra állítottad, nincs más dolgod, mint bevinni az adatokat.A FIX függvény numerikus adatot alakít át alfanumerikusra.
Új hozzászólás Aktív témák
- Xiaomi 15T Pro - a téma nincs lezárva
- Spórolós topik
- Számítógépház-választás 2025: airflow, kompatibilitás és hibák
- Teljes verziós játékok letöltése ingyen
- Autós topik
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- Milyen monitort vegyek?
- Milyen billentyűzetet vegyek?
- PlayStation 3
- Battlefield 6
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Bomba ár! Lenovo ThinkPad T495 - AMD Ryzen 5 PRO I 8GB I 256GB SSD I 14" FHD I Cam I W11 I Gari!
- Honor 200 Lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! 10TB WD Purple Pro SATA HDD meghajtó garanciával hibátlan működéssel
- AKCIÓ! Asus ROG STRIX Z490-G Gaming WiFi alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest






Elhiszem, hogy így van, de biztos Excelben kell ezt megcsinálni?


![;]](http://cdn.rios.hu/dl/s/v1.gif)


Fferi50
