- Friss koncepciót hoz a Nothing Phone (3)
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Amazfit Active 2 NFC - jó kör
- Csak semmi szimmetria: flegma dizájnnal készül a Nothing Phone (3)
- Magisk
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xiaomi 15 - kicsi telefon nagy energiával
- iPhone topik
- Fotók, videók mobillal
- Vivo X200 Pro - a kétszázát!
-
Mobilarena
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
p5quser #38721 üzenetére
Szia,
1. Felveszel egy új adatsort, aminek csak egy eleme, az aktuális napot tartalmazó cella az értéke.
2. Az új adatsort másodlagos tengelyhez rendeled, a tengelynek minimuma 0, maximuma 1 legyen.
3. Az új adatsorhoz engedélyezed a hibasávokat.
4. A vízszintes hibasáv törölhető, a függőlegest formázni kell.
Irány: negatív, végpont stílusa: nyílt, hiba mértéke: rögzített, aminek 1 az értéke (mivel ekkora a másodlagos tengely). Válassz színt és legyen a vonal kicsit vastagabb.
5. Az új adatsort jelöld ki és a jelzőpontnak ne legyen kitöltése, körvonala.
6. Rejtsd el a másodlagos tengelyt.üdv
-
Mutt
senior tag
válasz
huliganboy #38703 üzenetére
Szia,
FFeri50 megoldása mellett még a Power Query-t is lehet erre használni.
Az eredmény automatikusan nem frissül, de be lehet állítani hogy adott időközönként vagy a fájl megnyitásakor nézzen rá a másik fájl(ok)ra.pl. az alább látható felépítésű fájlokból pár lépéssel megoldható hogy számolja össze hány helyen van a kell oszlopban X.
Az eredmény és mellette a lépések amelyek kellettek hozzá.
üdv
-
Mutt
senior tag
válasz
Flowtation #38691 üzenetére
Szia,
A legördülő listát csináld meg nyugodtan, Adatok menű Adatérvényesítés és válaszd a listát, majd pedig a tartománynak jelöld ki az ártáblázatodban a kötéstválságokat vagy kategóriákat. Legrosszabb esetben kézzel is felviheted a listát pontosvesszővel elválasztva. pl. festett;eloxált
A képlet természetesen a kiválasztott kombó árát adja vissza.
Simán lehet másik lapon az ártáblázat, ilyenkor ahogy írod lapnév! kell a cella hivatkozások elé (ha van szőköz a lapnevében akkor még macskakörmök kellenek). A kézzel módosítás helyett javaslom, hogy inkább a képletszerkesztővel próbáld meg létrehozni (akár lépésenként) a végső képletet.
Ha gond az itteni csapat fog segíteni.
üdv
-
Mutt
senior tag
válasz
Flowtation #38663 üzenetére
Szia,
A célod, hogyha a megfelelő paraméterek ki vannak választva, akkor legyen meg a helyes ár az árlista táblázatból.
A leírásod alapján úgy tűnik, hogy minden méretből van neked festett és eloxált terméked minden árkategóriában, így nincs szükség dinamikusan változó legördülő listára. Ha ezt rosszul értelmezem, akkor pedig jöttek tanácsok.Az ár kiválasztása viszont INDEX függvénnyel mehet.
Én egy lapra tettem az árlistát és a fő táblázatot, de az alábbi a lényeg:
1.INDEX($B$3:$I$12;
kijelöli a táblázat csak árakat tartalmazó részét.
2. Az INDEX-nek megmondható, hogy ebből a táblázatból, melyik sort és melyik oszlopot adja vissza. pl 250-es kötéstáv az első sort jelenti, a festett 2-es kategória pedig a második oszlopot.
A HOL.VAN függvény fog itt segíteni. pl. ha a B16-os cellába beírok egy létező kötéstávot, akkor aHOL.VAN($B16;$A$3:$A$12;0)
visszaadja a helyes sor számát.Az oszlopok számánál keressük meg előbb a kategóriát, amit az F16-os cellába beírtunk:
HOL.VAN($F16;$B$2:$I$2;0)
Ez tökéletesen fog működni a festett felületeknél, de az eloxáltakat "elhibázza", mert a HOL.VAN az első találat eredményét adja vissza és mi csak kategóriára kerestünk még, a festett kategóriák pedig előrébb vannak mint az eloxáltak. Én most a legegyszerűbb trükköt használom, ha eloxált kell akkor 4-et hozzáadok az eredményhez, mivel mindig 4-el jobbra van festett adathoz képest az eloxált adat. Ez a képlet erre:+HA($E16="eloxált";4;0)
3. A majdnem végső képlet ez lesz ezek után:
INDEX($B$3:$I$12;HOL.VAN($B16;$A$3:$A$12;0);HOL.VAN($F16;$B$2:$I$2;0)+HA($E16="eloxált";4;0))
4. Utolsó finomítás, hogy ne adjon hibaüzenetet a számítás ha nem adtuk meg az összes választható paramétert. Erre van a HAHIBA függvény.
A végső képlet a G16-os cellában ez lesz:=HAHIBA(INDEX($B$3:$I$12;HOL.VAN($B16;$A$3:$A$12;0);HOL.VAN($F16;$B$2:$I$2;0)+HA($E16<>"";HA($E16="eloxált";4;0);HIÁNYZIK()));"")
Nem szép, de a célnak megfelel, alapot adhat a saját képletedhez.
üdv
-
Mutt
senior tag
válasz
Lokids #38667 üzenetére
Szia,
Jött már megoldás a DÁTUM függvény használatára, vagyis ha pl. A1-ben van az eredeti dátum, akkor az alábbi képletek mind az előző év dec. 31-ét adják vissza:
=DÁTUM(ÉV(A1)-1;12;31)
=DÁTUM(ÉV(A1);1;1)-1
=DÁTUMÉRTÉK(SZÖVEG(A1;"éééé")-1&".12.31")Két dátum között eltelt hónapok számítására pedig van egy elfeledett függvény (DATEDIF, magyarul DÁTUMTÓLIG). Ez a képlet ma már nem elérhető a függvénytárból, de továbbra is rendületlenül műkődik kézzel beírva.
Használata:
=DÁTUMTÓLIG(kezdő dátum; vég dátum; egység)Súgó itten, ami szerintem hibás, mert az egységeket nem magyar, hanem angol rövidítéssel kell megadni (mint VBA-ban), vagyis H helyett m-el fog menni.
üdv
-
Mutt
senior tag
Szia,
Annó volt az IBM Lotus irodai csomagja, amely próbált versenyezni a Microsoft-al, de feladták a harcot. 2007 körül volt belső utasítás, hogy IBM-en saját gépein az Office-t Lotus-ra kell cserélni és csak külön vezetői engedéllyel lehetett MS Office-t használni.
A Corel-nek a WordPerfect csomagja máig próbál versenyben maradni, nagyon régen a Quattro Pro egész jó volt táblázatkezeléshez, de az MS Word már akkor előrébb volt a konkurenciánál.
A Windows 95 bevezetése során világuralomra tört a Microsoft az irodai csomagok terén is, nyomatva az Office 95-öt és a MS Works-öt, kvázi szabványként alkotva meg a saját programjait.
A 90-es évek második felében a Linux az ingyenesség forradalmát elindítva kezdte kitermelni az ingyenes irodai csomagokat is, amelyek jók, de sajnos elterjedtségük és újjító ötleteik nem elegendőek az asztali gépek piacán.
Azonban szerintem a Google képes volt a Microsoft-ot beelőzni az online irodai csomagok és szolgáltatások terén, így ott például az MS-nek kell kapaszkodnia és nem a konkurenciának.
üdv
-
Mutt
senior tag
válasz
Fferi50 #38552 üzenetére
Szerintem a 2-es sorba írja az adatot és közvetlenül a 3-asba akarja a dátumot
If Target.Column > 3 and Target.Row > 1 Then 'D-oszloptól és 2-es sortól figyeljük a bevitelt
Application.EnableEvents = False
If Target <> "" Then
Target.Offset(1, 0) = Format(Now, "yyyy.mm.dd. h:mm")
Else
Target.Offset(1, 0).ClearContents
End If
Application.EnableEvents = True
End If -
Mutt
senior tag
válasz
customer114 #38508 üzenetére
Szia,
..gy új munkalapra a "szöveg" oszlopok tartalma másolva legyen egymás alá annyiszor, ahányas szám van a szöveg oszlop adott cellái előtt..
Makrómentes megoldás Excel 2010-től felfelé:Power Query
üdv
-
Mutt
senior tag
válasz
RedHarlow #38447 üzenetére
Szia,
Ahogy írják a kimutatás nem frissül magától.
A kézi vagy makrós frissítésmellett tudom még javasolni a fájl megnyitásakor történő automatikus frissítést.
Jobb klikk a kimutatáson majd Kimutatás beállításai -> Adatok fül -> Adatfrissítés a fájl megnyitásakor legyen bepipálva.
üdv
-
Mutt
senior tag
válasz
#75376384 #38434 üzenetére
Szia,
Saját számítás nékül sehogy, nincs ilyen opció az Excelben. Deriválni kell hozzá.
Az érintő egyenletének a képlete: y-y0 = m(x-x0) , ahol a meredekség a függvény deriváltja.Trendvonallal meg tudod találni a közelítő függvényt az adatsorodhoz, azán jöhet deriválás amelyben tud segíteni a Wolfram Alpha.
üdv
-
Mutt
senior tag
válasz
KaiotEch #38430 üzenetére
Szia,
A H-oszlopban dátumnak látszó szöveg van, amin a MAX függvény elhasal.
Ilyenkor a COUNTA() függvénnyel meg lehet tudni az utolsó sort (ami csak akkor fogja tartalmazni a legnagyobb értéket ha növekvő sorrendben lettek felvíve az adatok).A javított képlet ezen mintára:
=INDEX(H:I,counta(H:H),2)
Minta jelleggel a G-oszlopban látod a dátumokat átalakított formátumban is, amin a korábban megadott képlet is műkődik. Ezt B1-ben láthatod.
üdv
-
Mutt
senior tag
válasz
KaiotEch #38421 üzenetére
Szia,
Ugyanazok a technikák használhatóak mint Excelben.
1. Ha nincs dátum ismétlődés, lehet foghíj:=VLOOKUP(MAX(masiklap!A:A);masiklap!A:B;2;0)
2. Ha nincs dátum ismétlődés és B-oszlopban szám van.
=SUMIF(masiklap!A:A;MAX(masiklap!A:A);masiklap!B:B)
3. Ha a dátum oszlop folyamatosan ki van töltve
=INDEX(masiklap!B:B;COUNTA(masiklap!A:A))
4. Ha a dátum oszlopban van foghíj:
=INDEX(masiklap!B:B;MATCH(2^99;masiklap!A:A))
üdv
-
Mutt
senior tag
Szia,
Ha az első sorod fejléc, akkor a Z2-es cellára álljál rá.
Feltételes formázás -> Új szabály -> A formázandó cellák kijelölése képlettel opciót válaszd.A képleted pedig ennyi:
=$Z2<>$AJ2
Ezek után kiválasztod a kedvenc formátumodat és leokézol mindent.
Ez a szabály még csak a kettes sorra van beállítva, engedélyezzük a többi sorra is.
Még mindig Z2-ben állva Feltételes formázás -> Szabályok kezelése opcióban a szabály érvényessége
$Z$2-ről legyen kibővítve annyi sorra amire szükséged lehet/van pl. =$Z$2:$Z$100000üdv
-
Mutt
senior tag
válasz
Prancz #38390 üzenetére
Kommentelve és kibővítve az eredeti makró:
Sub csere()
Dim cv As Range, talalat
'a rövidités elnevezésű tartomány elemein végig megyünk
For Each cv In Range("rövidités")
'fkeres/vlookup segítségével megkeressük a teljes elnevezésű tartományban az ehhez az értékhez tartozó nevet
talalat = Application.VLookup(cv, Range("teljes"), 2, 0)
'ha a keresés nem adott eredményt, akkor megpróbálkozunk egy típuskonverzióval
If IsError(talalat) Then
'ha számot keresünk, akkor lehet hogy szövegként van tárolva, alakítsuk számmá fkeresnél
If IsNumeric(cv) Then
talalat = Application.VLookup(cv * 1, Range("teljes"), 2, 0)
End If
End If
'ha van eredmányünk akkor írjuk felül vele a keresett értéket, különben hagyjuk meg
If Not IsError(talalat) Then
Range(cv.Address) = talalat
End If
Next
End Sub -
Mutt
senior tag
válasz
Baky1987 #38365 üzenetére
Szia,
További megoldások:
Ha a számok egy tartományban vannak (pl. A oszlopban) akkor
=DARABTELI(A:A;">=5")
Ha a keresendő érték B1 cellában van, akkor
=DARABTELI(A:A;">="&B1)
Ha a számok egy céllában vannak (A1), vesszővel elválasztva, növekvő sorrendben (pl. 1,3,5,10) és B1-ben van a keresendő érték akkor
=HOSSZ(KÖZÉP(A1;SZÖVEG.TALÁL(B1;A1);HOSSZ(A1)))-HOSSZ(HELYETTE(KÖZÉP(A1;SZÖVEG.TALÁL(B1;A1);HOSSZ(A1));",";""))+1
üdv
-
Mutt
senior tag
válasz
meke11 #38320 üzenetére
Szia,
Vmi ilyet szeretnél a cellában?
1,2,3,4,....,10000Ha igen, akkor nem fog mennni mert egy cellában max ~32 ezer karakter lehet ez meg majdnem 49 ezer karakter.
Ha Excel 2016-od van, akkor az alábbi tömbfüggvény kiadja a maximumot:
=SZÖVEGÖSSZEFŰZÉS(",";;SOR(INDIREKT("A1:A6775")))
Régebbi Excel-ben a következő tömbfüggvényt használhatod, a gond hogy az utolsó szám után is lesz egy vessző:
=FŰZ(SOR(INDIREKT("A1:A6774"))&",")
A másik gond az ilyen hosszű szövegekkel, hogy sok kereső függvény csak az első 255 karakterig keres benne, 255 karaktert az első 88 szám felsorolása el is visz.
üdv
-
Mutt
senior tag
válasz
swoody #38316 üzenetére
Szia,
Szerintem erre a feladatra sokkal jobb megoldás a World-ben található Körlevél (Mail merge).
A másik kérdés: a tagadás az Excelben a leggyorsabban feldolgozott művelet, nem csinál mást mint a megadott adatot megszorozza -1-el, de mivel többnyire nekünk az eredeti előjellel kell az adat ezért ezt kétszer kell megtennünk.
A lenti képletek mindegyike ugyanazt éri el - ha A1-ben szövegként van tárolva a szám, akkor abból számot csinál anélkül hogy az értékét megváltoztatná -, a kettős tagadás a legrövidebb és leggyorsabb megoldás:
=A1*1
=A1+0
=--A1
=A1*-1*-1üdv
-
Mutt
senior tag
válasz
Peddy789 #38297 üzenetére
Szia,
Irányított szűrést (Advanced filter) is ki lehet próbálni.
http://www.contextures.com/xladvfilter01.htmlMondjuk annyiszor kell használni, ahány azonosítód van.
üdv
-
Mutt
senior tag
válasz
amex02 #38293 üzenetére
Szia,
Ha egy üres lappal is csinálja, akkor próbáld meg kikapcsolni a villámkitöltést (Flash fill).
Fájl -> Beállítások -> Speciális -> Automatikus villámkitöltés NE legyen kipipálva.Vmint
Fájl -> Általános -> Gyorselemzési lehetőségek megjelenítése se legyen kipipálva.Ha ekkor sem jó, akkor az Office telepítővel kellene egy telepítési hibákat javítani vagy újratelepíteni.
Ha egy adott fájlal csinálja, akkor lehet hogy
1. van makró ami a bevitelt figyeli és az hibázik
2. van benne olyan képlet ami a beviteli oszlopon összes során végigmegy és elfogasztja az erőforrásokat.A makrót egy mentés másként .XLSX formátumot választva ki lehet dobni.
A képlet esetén a beviteli oszlop celláján állva Képletek -> Utódok mutatása adhat segítséget.üdv
-
Mutt
senior tag
Sziasztok,
Érdekes dolog MrExcel csatornáján: https://www.youtube.com/watch?v=OIjwuuGnrNY
Röviden: ActiveSheet.Pictures.Insert makró parancs a nevével ellentéteben nem beágyazza a képet a fájlba, hanem csak egy hivatkozást hoz létre, így másik gépen a kívánt kép már nem lesz elérhető.
A videoban a megoldás.üdv
-
Mutt
senior tag
-
Mutt
senior tag
válasz
csferke #38209 üzenetére
Szia,
Megelőztek...
Egy DO-LOOP ciklusban addig pörgünk amíg jó a bevitt érték vagy mégsem-et nem nyomnak.
A nagybetűsítésnél pedig engedékenyek vagyunk; ha vmiért jó karaktert kisbetűvel írták akkor is elfogadjuk de már nagybetűvel mentjük el.Sub bevitel()
Dim xpos, ypos, Prompt, Title, Default, MyValue
Dim correct As Boolean
Prompt = ""
Title = "ADATBEVITEL"
xpos = 5000
ypos = 5800
ActiveCell.Offset(0, 1).Select
Default = ""
Prompt = "Pesticid felhasználhatósága" + (Chr(13)) + (Chr(13)) + "H - RR - F - I - A - R - L - N - O"
Do
MyValue = Application.InputBox(Prompt, Title, Default, xpos, ypos, Type:=2)
Select Case UCase(MyValue)
Case "H", "RR", "F", "I", "A", "R", "L", "N", "O"
correct = True
ActiveCell = UCase(MyValue)
Case Else
correct = False
End Select
Loop Until correct Or MyValue = False
End SubFferivel egyetértve a legegyszerűbb megoldás a data validation (érvényesítés), mert ahhoz nem kell makrót írni.
üdv
-
Mutt
senior tag
válasz
morgusz #38199 üzenetére
Szia,
Delila megoldása mellett itt egy nem-makrós megoldás, ami Excel 2010 felett műkődik.
Power Query kell hozzá, amit Excel 2010 esetén külön kell installálni.Lépés:
1. Adatok -> Adatok beolvasása -> Fájlból -> Mappából
2. Kiválasztod a mappát ahol a fájlok vannak, OK-t nyomsz és a Szerkesztés gombra kattintasz.
3. Extension oszlopot kijelölöd, majd az Átalakítás fülön Formátum -> Nagybetűs opciót kiválasztod. Ezzel minden kiterjesztést nagybetűre konvertálunk, így ha véletlenül vki .XLS -ként menti el a fájlt, akkor is be fogjuk olvasni.
4. Extension oszlop jobb sarkában található szűrővel kiválasztjuk a .XLS fájlokat.
5. Name oszlop jobb sarkában a szűrővel kiválasztjuk a xyz kezdetű fájlokat (itt is lehet előtte egy nagybetűsítést csinálni).
6. Kijelőlöd az első két oszlopot (Content és Name), majd jobb klikk a fejlécen (ahol látod hogy Content) és További oszlopok eltávolítását választod (ezzel a többi oszlop eltünik, nincs rájuk szükség)
7. A Content oszlop jobb sarkában van két lefelé mutató nyíl (Fájlok kibontása), kattints rá. Ez elkezdi beolvasni a fájlokat, és felhoz egy mint ablakot, ahol válaszd ki a Munka1 lapot és nyomj okét. Dolgozni fog egy kicsit, de az összes fájlod Munka1 lapját be fogja tölteni.
8. Jobb oldalt lesz egy csomó új lépés ennek eredményeként. A gond, hogy a korábban megtartott fájl nevet vhogy vissza kell kapni. A Többi oszlop eltávolítva 1-es lépésnél található fogaskerékre kattitnts és pipáld be a Name-t, hogy újra lássuk a fájlneveket. Ezek után kattints az utolsólépésre, mert innen folytatjuk.
9. Oszlop hozzáadása menüben válaszd az Indexoszlopot.
10. Most régi adósságot törlesszük, adjunk egy értelmes nevet a lekérdezésnek.
Jobb oldalt a Tulajdonságok alatt a Név-ben van vmi (nekem temp, ami a könyvtár neve ahol voltak a fájlok). Adjunk vmi jobb nevet pl. Frissadatok
11. Egy újabb furcsa lépés fog jönni, az eddigi művet lemásoljuk. Bal oldalon a Lekérdezések részben jobb klikk és Megkettőzést válaszd.
12. Lett egy másolatunk, ami aktív is lett. Esetleg nevezzük át (pl. Utolsosorok), mert itt fogjuk megtudni, hogy az egyes fájlokban hol van az utolsó sor.
13. Kezdőlapon Csoportosítási szempontra kattints. Csoportosítani fogunk a fájlnév alapján, Name oszlop, és amit keresünk az Index oszlop maximum értéke. Egy OK után meg is kapjuk a kért dolgokat. Itt végeztünk.
14. Kattintsuk bal oldalt az Adatsorok lekérdezésre, mert most ezzel megyünk tovább.
15. Kezdőlap fülön Összevonás -> Lekérdezések egyesítése jön. Ezzel az a célünk, hogy a korábban már megkapott utolsósorokat ebben a lekérdezésben meg tudjuk találni.
Három részből áll az ablak: fent látjuk az aktuális lekérdezés képét, alatta lévő listában válasszuk ki az Utolsosorok lekérdezést (amit a 13-as lépésben véglegesítettünk). Meg kell mondanunk az Excelnek, hogy mely oszlopok azonossak a két lekérdezésben. A fenti táblában jelöld ki a Name és Index oszlopot (Ctrl-t kell majd nyomnod kattintáskor). Az alsó táblában is jelöld ki a Name és Index oszlopot. Fontos, hogy a fejlécekben látni fogsz egy kis sorszámot 1 és 2 (ez a kijelőlés sorrendje), ezeknek a sorszámoknak egyeznie kell mindkét táblában a helyes műkődésért.
A harmadik dolog amit itt meg kell adnod az pedig a csatlakozás módja, ami nekünk most Belső (csak egyező sorok).
16. Nyomj egy OK-t
17. Végeredményt 3 felesleges oszlop fogja csúfitani, a fájlneve, az utolsósor száma és egy új oszlop amiben Table szöveg van. Ezeket töröljük. Jobb klikk az oszlop nevén és Eltávolítás.
18. Kezdőlap -> Bezárás és betöltés -> .. adott helyre opcióval meg tudod mondani az Excelnek, hogy hova kéred az eredményt.Sok lépés ez, de segítség azoknak akiknek makróírás még távoli.
Legközelebb pedig ha futtatnod kell, akkor az Adatok fülön Az összes frissítése opciót használod, vagy kattintasz a Lekérdezések és kapcsolatok gombra és a megjelenő panelen a Frissadatok lekérdezésen jobb klikk és Frissítés.
üdv
-
Mutt
senior tag
válasz
w.miki #38137 üzenetére
Szia,
Lent feltételezem, hogy a "Június 4 H Miki" 3 oszlopban van.
A-oszlop a dátuma ("Június 4").
B-oszlop a nap rövidítése ("H")
C-oszlop a név ("Miki")4. lépés:
1. A dátumok átalakítása a kívánt formátumba, "Június 4" -> "06.04."
A=SZÖVEG(DÁTUMÉRTÉK(A2);"hh.nn.")
képlet megcsinálja a módosítást.2. Kimutatás (Pivot) segítségével előállítani egy listát.
Sorok-ba húzni a C-oszlopot, Oszlopokba az 1-es lépésben kapott dátumszöveget. Érték mezőbe pedig a B-oszlopot.3. Összefűzni egy céllába a dátumokat egy tömb-képlettel lehet:
=FŰZ(HA(H3:O3<>"";H$2:O$2&", ";""))
A Htartomány változik attól függően hogy hány dátumod volt.
4. Átrendezni/csinosítani a kért formátumba a kapott eredményt. Ezt lehet kézzel vagy képlettel is csinálni.
Az G8-as cellában másolva, majd lehúzva ez a képlet előbb a nevet írja ki, majd a következő sorban a névhez tartozó dátum listát.=HA(MARADÉK(SOROK($G$8:G9);2);BAL(INDEX($F$3:$G$6;INT((SOROK($G$8:G8)-1)/2)+1;1);HOSSZ(INDEX($F$3:$G$6;INT((SOROK($G$8:G8)-1)/2)+1;1))-2);INDEX($F$3:$G$6;INT((SOROK($G$8:G8)-1)/2)+1;2)&":")
üdv
-
Mutt
senior tag
válasz
csferke #38135 üzenetére
Szia,
Ha a cellában Data Validation-t (Érvényesítés) akarsz használni, akkor kell egy segédoszlop ahol összefűzöd az A-B-C oszlopokat (pl.
=A2&" - "&B2&" - "&C2
) és ezt a tartományt adod meg az érvényesítésnél.Az ActiveX vezérlők közül a Combo box képes több oszlopos listát is kezelni, de ennek a használata már macerásabb lesz. Leírás róla itten.
üdv
-
Mutt
senior tag
válasz
Joe109 #38129 üzenetére
Szia,
A többiektől kapott válasz mellett egy rosszul megírt saját függvénnyel (UDF) is el lehet érni ezt.
Function Osszeg(oszlop As String) As Double
Dim Utolsosor As Long, i As Long
Utolsosor = Range(oszlop & Rows.Count).End(xlUp).Row
Osszeg = 0
For i = 1 To Utolsosor
With Range(oszlop & i)
If Not .EntireRow.Hidden Then
If IsNumeric(.Value) Then
Osszeg = Osszeg + Range(oszlop & i)
End If
End If
End With
Next i
End FunctionHasználata, ha az értékek a B-oszlopban vannak: =Osszeg("B")
Mivel a függvény paramétere nem változik meg a szűrés során ezért nem számolódik újra, tartja a korábbi értéket. Ha frissíteni akarod, a képletet tartalmazó cellába bele kell kattintanod.
üdv
-
Mutt
senior tag
válasz
BullZeye #38114 üzenetére
Szia,
A feltöltött fájlban képlethiba van, a korábban megadott képlet az E3-as cellában nem jól van használva.
A problémák elkerülése miatt inkább hozz létre a névkezelőben egy dinamikus tartományt.
Képlete:=ELTOLÁS(Munka1!$A$1;0;0;DARAB2(Munka1!$A:$A);2)
A 2-es a fenti képlet végén 2 oszlopot jelent (cikkszámok és értékek), ha több oszlopod van (pl. megnevezés a kettő között) akkor ezt módosítsd.Az eredeti képlet erre módosul:
=INDEX(sajatlista;ÖSSZESÍT(14;6;SOR(sajatlista)/(BAL(sajatlista;HOSSZ(sajatlista)-6)=BAL(D2;HOSSZ(D2)-6));1);2)
A végén lévő 2-es az oszlop száma, amit ki akarunk iratni. Ebben a példában az értékek a második oszlopban vannak.
A kért képlet pedig ugyanaz mint fent, csak a végén 1-es van, mert a keresett cikkszámok a dinamikus tartomány első oszlopában vannak:
=INDEX(sajatlista;ÖSSZESÍT(14;6;SOR(sajatlista)/(BAL(sajatlista;HOSSZ(sajatlista)-6)=BAL(D3;HOSSZ(D3)-6));1);1)
üdv
-
Mutt
senior tag
válasz
ny.janos #38094 üzenetére
Szia,
Van korlátja a tömbfüggvényeknek (angolul), de az általad említett számosságnál sokkal nagyobb.
A KERES függvény csak közelítő találatot ad ezért az adatoknak rendezettnek kell lennie.
A SZUMHATÖBB esetén nem kell sorbarendezés. Ott viszont hibát vétettem, mert angolul a MAXIFS függvényt MAXHA-nak gondoltam rosszul.A legjobb ha letöltöd a profi megoldást innen.
A piros színű lapon vannak az eltérő megoldások. A J37-es cellában van a képlet ami unverzálisabb.üdv
-
Mutt
senior tag
válasz
BullZeye #38091 üzenetére
Szia,
Egy kis segítség a megértéshez:
- az INDEX függvény van kívül, ami vár egy tartományt és abból az adott pozícióban lévő elemet adja vissza, pl. a B-oszlop 4-ik elemét,
- a belső függvény ami próbálja megmondani hogy hanyadik elemről van szó.A függvény alapja, az hogy a cikklistában lévő értékeket megfelelő formátumra hozzuk (csonkoljuk az első aláhúzásig) és azt összehasonlítjuk a keresési szöveggel.
Ha csak A1-ben lenne cikklista, akkor a
BAL(A1;SZÖVEG.TALÁL("_";A1))
rész az "alma_1234"-ből "alma_" -t adna vissza.
Mivel nekünk nem csak 1 db cikkünk van, ezértBAL(A1:A10;SZÖVEG.TALÁL("_";A1:A10))
résszel egyszerre több cellán végezzük el a fenti átalakítást. Azonban a BAl/SZÖVEG.TALÁL csak 1 bemeneti értékkel műkődik. Mivel mi most egyből 10 db-ot adtunk neki ez már tömb (array) művelet, ha ilyet akarunk csinálni akkor Ctrl+Shift+Enter-t kell nyomni a bevitel után, hogy az Excel tudja hogy szándékosan adtunk meg több értéket és mindegyiken kérjük a művelet elvégzését. Az eredmény egy tömb lesz: {"narancs_";"alma_";"alma_";"barack_";"banan_";"dinnye_";"alma_";"eper_"}.Megvan a csonkolt szöveg, már csak össze kell hasonlítani a kereső kifejezéssel, erre van a
=BAL(D2;HOSSZ(D2)-6));1)
rész utánna. Ez a tömb összes elemén végigmegy és IGAZ/HAMIS eredményt fog visszaadni. Vhogy így: {HAMIS;IGAZ;IGAZ;HAMIS;HAMIS;HAMIS;IGAZ;HAMIS}A képletben van a két gondolatjel, ami valójában kettős tagadás és felesleges is (törölhető gond nélkül). Egy tagadás egy számból az ellentétes előjelű változatát csinálja, a két tagadás az eredeti számot adja vissza. A HAMIS-ból 0-t, az IGAZ-ból pedig 1-et csinál. A fentiből ez lesz: {0;1;1;0;0;0;1;0}.
A
SOR(A5)
képlet a cella sorszámát adja vissza, aSOR(A1:A10
) pedig egy szép listát azokról a sorokról, ahol a cikkszámok találhatóak, esetünkben 1-10-ig.
Ha ezt a sorszámot elosztjuk a fent kapott 0 és1-et tartalmazó tömbbel, akkor csak azok a sorszámok maradnak meg ahol találatunk van, a többi ZÉRÓOSZTÓ hibát ad vissza. Vmi ilyet: {#DIV/0!;3;4;#DIV/0!;#DIV/0!;#DIV/0!;8;#DIV/0!}A végére maradt
ÖSSZESÍT(14;6;<fenti eredmény>;1)
rész, amiből a 14 a NAGY függvény kódja, a súgóban látható a többi is. A 6-os egy olyan paraméter amely azt mondja a függvénynek hogy a hibás értékeket (pl. a ZÉRŐOSZTÓ) hagyja figyelmen kívül, vagyis ez marad meg {3,4;8}.
A végén az 1-es pedig azt mondja meg hogy a legnagyobb értéket kérjük vissza. Az eredményünk 8, ami azt jelenti hogy a 8-as sorban van ami kell nekünk, az INDEX pedig ki is írja.Az ÖSSZESÍT függvény a kevés függvények egyike ahol a tömbképletet nem kell Ctrl+Shift+Enter-rel bevinni.
üdv
-
Mutt
senior tag
válasz
ny.janos #38084 üzenetére
Szia,
A 37616-ban felvázolt problémára 2 megoldás
=KERES(2;1/(($E$2:$E$8=$A2)*($F$2:$F$8<=$B2));$G$2:$G$8)
=SZUMHATÖBB($G$2:$G$8;$F$2:$F$8;MAXHA($F$2:$F$8;$E$2:$E$8;A2;$F$2:$F$8;"<="&B2);$E$2:$E$8;A2)
Pont ezt a problémát dolgozta fel Mike Girvin (ExcelisFun) 3 hete. Itt láthatók a megoldásai:
1. Keres
2. Keres segédoszloppal kiegészítve
3. Szumhatöbb és Maxha
4. Fkeres, Maxha és segodoszlop
5. Index, Hol.van, Maxhaüdv
-
Mutt
senior tag
válasz
BullZeye #38083 üzenetére
Szia,
Ha A1:A10 tartományban vannak a cikkszámok, B1:B10-ben amit majd ki kell iratani és D2-ben van a keresendő akkor ez a képlet (Office 2013-tól kezdődően) megoldja a keresést:
=INDEX(B1:B10;ÖSSZESÍT(14;6;SOR(A1:A10)/--(BAL(A1:A10;HOSSZ(A1:A10)-6)=BAL(D2;HOSSZ(D2)-6));1))
A hibák kiküszöbölésére nem lehetne az a megoldás, hogy mindig csak az első aláhúzásig lévő szöveget próbáljuk megkeresni? Ha igen, akkor a lenti képlet jó lehet. A fenti képernyőmentésen az F2-ben lévő értéket ez adja meg a hibás bevitel ellenére.
=INDEX(B1:B10;ÖSSZESÍT(14;6;SOR(A1:A10)/--(BAL(A1:A10;SZÖVEG.TALÁL("_";A1:A10))=BAL(D2;HOSSZ(D2)-6));1))
üdv
-
Mutt
senior tag
válasz
p5quser #38070 üzenetére
Szia,
Az EVALUATE Excel 4.0-ás függvény tud neked ebben segíteni, de csak trükkösen hívható elő.
Ha az adatok az A oszlopban vannak, akkor hozz létre a névkezelőben egy változót, aminek a képlete ez:=EVALUATE($A1)
Ahogy látható csak az A-oszlop lesz rögzítve, a sor változik.
Ezek után ahova beírod a változód nevét oda a sor első oszlopának értékét ki fogja számolni.
Alternatív megoldás a Power Query használata.
Itt is igazából a fenti függvényt lehet használni, de a neve Expression.Evaluate.
üdv
-
Mutt
senior tag
válasz
Baky1987 #38060 üzenetére
Alternatíva:
A dátumértéket szövegként olvastatod be az Excel-el és azt utána képlettel átalakítod.
Ha magyar Exceled van és a tizedesjeled vessző, akkor ez műkődik:=DÁTUMÉRTÉK(A2)+IDŐÉRTÉK(HELYETTE(A2;".";",";HOSSZ(A2)-HOSSZ(HELYETTE(A2;".";""))))
A beolvasást és átalakítást egy lépésben Power Query-vel is meg lehet oldani.
-
Mutt
senior tag
válasz
Hunter_HUN #38052 üzenetére
Set myrange = Range("B7").CurrentRegion.Offset(1).Resize(Range("B7").CurrentRegion.Rows.Count - 1)
myrange.SpecialCells(xlCellTypeVisible).Cells(1, 1).Activate -
Mutt
senior tag
Szia,
...ugyan abban a sorrendben hagyja a füleket mint ahogy van...
A lenti kód már figyel a sorrendre is és kitörli az új fájl létrehozásakor automatikusan létrejövö felesleges lapo(ka)t.
A másik hiba pedig abból adódik, hogy mindent másolunk (értéket, képletet, formázást, elnevezett tartományokat stb) és ez ütközést okoz. Mindegyik fájlban ugyanaz a változó van a névkezelőben, így másoláskor ez hibára fog futni.
A Power Query megoldás csak egy lapot kezel, de viszonylag gyorsan lehet mindegyik lapra elkészíteni a lekérdezesét és legközelebb már csak a frissítésre kell kattintani, hogy az összes lapot legenerálja.
Sub ttt()
Dim forraslap As Worksheet, cellap As Worksheet
Dim forrasfuzet As Workbook
Dim lap As Worksheet
Dim ureslapok() As String, c As Long
mappak = Array("D:\Mappa\")
If Dir("D:\Mappa\eredmeny.xlsx") <> "" Then Kill "D:\Mappa\eredmeny.xlsx"
For Each mappa In mappak
Set uj = Workbooks.Add
'megjegyezzük a frissen létrehozott fájlban lévő üreslapokat
ReDim ureslapok(1 To uj.Worksheets.Count)
For i = 1 To UBound(ureslapok)
ureslapok(i) = uj.Worksheets(i).Name
Next i
fajl = Dir(mappa & "*.xlsx")
Do While fajl <> ""
Set forrasfuzet = Workbooks.Open(Filename:=mappa & fajl, ReadOnly:=True)
For i = 1 To forrasfuzet.Worksheets.Count
Set forraslap = forrasfuzet.Worksheets(i)
Set cellap = Nothing
If forraslap.Visible = xlSheetVisible Then 'csak a látható lapok érdekelnek
On Error Resume Next
'próbáljuk megnyitni az új füzetben a forrásban található azonos nevű lapot
Set cellap = uj.Worksheets(forraslap.Name)
On Error GoTo 0
If IsArray(ureslapok) Then
For c = 1 To UBound(ureslapok)
If forraslap.Name = ureslapok(c) Then 'ezt a lapot meg kell tartanunk mert volt a forrásfájlban
ureslapok(c) = ""
End If
Next c
End If
'ha nincs még az új füzetben ilyen nevű lap, akkor létrehozzuk
If cellap Is Nothing Then
Set cellap = uj.Worksheets.Add(after:=Worksheets(forraslap.Index - 1)) 'sorrendben adja hozzá
cellap.Name = forraslap.Name
End If
'ha még nincs fejléc akkor másoljuk
If cellap.Range("A1").CurrentRegion.Rows.Count = 1 Then
forraslap.Range("A1", forraslap.Range("A1").SpecialCells(xlLastCell)).Copy cellap.Range("A1")
Else
'ha már van fejléc akkor azt átugorjuk
forraslap.Range("A2", forraslap.Range("A1").SpecialCells(xlLastCell)).Copy _
cellap.Range("A" & cellap.Range("A1").CurrentRegion.Rows.Count + 1)
End If
End If
Next i
'bezárjuk a forrásfájlt
forrasfuzet.Close False
'jöhet az újabb fájl a mappából
fajl = Dir()
Loop
'felesleges munkalapok tőrlése a végső fájlból
Application.DisplayAlerts = False
If IsArray(ureslapok) Then
For c = 1 To UBound(ureslapok)
If ureslapok(c) <> "" Then
uj.Worksheets(ureslapok(c)).Delete 'erre a lapra már nincs szükség
End If
Next c
End If
Application.DisplayAlerts = True
uj.SaveAs mappa & "eredmeny.xlsx"
uj.Close False
Next
MsgBox "Kész"
End Subüdv
-
Mutt
senior tag
Próbáld meg ezt a javított makrót.
Sub ttt()
Dim forraslap As Worksheet, cellap As Worksheet
Dim forrasfuzet As Workbook
mappak = Array("D:\Mappa\")
If Dir("D:\Mappa\eredmeny.xlsx") <> "" Then Kill "D:\Mappa\eredmeny.xlsx"
For Each mappa In mappak
Set uj = Workbooks.Add
fajl = Dir(mappa & "*.xlsx")
Do While fajl <> ""
Set forrasfuzet = Workbooks.Open(Filename:=mappa & fajl, ReadOnly:=True)
For i = 1 To forrasfuzet.Worksheets.Count
Set forraslap = forrasfuzet.Worksheets(i)
Set cellap = Nothing
If forraslap.Visible = xlSheetVisible Then 'csak a látható lapok érdekelnek
On Error Resume Next
'próbáljuk megnyitni az új füzetben a forrásban található azonos nevű lapot
Set cellap = uj.Worksheets(forraslap.Name)
On Error GoTo 0
'ha nincs még az új füzetben ilyen nevű lap, akkor létrehozzuk
If cellap Is Nothing Then
Set cellap = uj.Worksheets.Add
cellap.Name = forraslap.Name
End If
'ha még nincs fejléc akkor másoljuk
If cellap.Range("A1").CurrentRegion.Rows.Count = 1 Then
forraslap.Range("A1", forraslap.Range("A1").SpecialCells(xlLastCell)).Copy cellap.Range("A1")
Else
'ha már van fejléc akkor azt átugorjuk
forraslap.Range("A2", forraslap.Range("A1").SpecialCells(xlLastCell)).Copy _
cellap.Range("A" & cellap.Range("A1").CurrentRegion.Rows.Count + 1)
End If
End If
Next i
'bezárjuk a forrásfájlt
forrasfuzet.Close False
'jöhet az újabb fájl a mappából
fajl = Dir()
Loop
uj.SaveAs mappa & "eredmeny.xlsx"
uj.Close False
Next
MsgBox "Kész"
End Sub -
Mutt
senior tag
-
Mutt
senior tag
Szia,
Az
.Offset(, 1) =
részben a vessző után 1-es azt jelenti, hogy egy oszloppal mindig menjen jobbra a kiiratás, ha.Offset(1) =
-re cseréled akkor a következő sorra fog ugrani.Sub ChickatAH()
Dim rng As Range, Lstrw As Long, c As Range
Dim SpltRng As Range
Dim i As Integer
Dim Orig As Variant
Dim txt As String
Lstrw = Cells(Rows.Count, "A").End(xlUp).Row
Set rng = Range("A2:A" & Lstrw)
Set kimenet = Sheets.Add 'új lapon legyen az eredmény
For Each c In rng.Cells
'Set SpltRng = c.Offset(, 1) 'felesleges
'txt = SpltRng.Value 'felesleges változóátadás
'Orig = Split(txt, " ") 'nem szököz alapján szabdalunk
Orig = Split(c, ";")
For i = 0 To UBound(Orig)
'Cells(Rows.Count, "D").End(xlUp).Offset(1) = c 'D oszlop üres sorába kiírja az eredeti értéket, nem kell?
'Cells(Rows.Count, "D").End(xlUp).Offset(, 1) = Orig(i) 'az offset(,1) mindig a következő oszlopba ugrik, nem ez kell
kimenet.Cells(Rows.Count, "D").End(xlUp).Offset(1) = Trim(Orig(i)) 'felesleges szóköztől megszabadulunk
Next i
Next c
End Subüdv
-
Mutt
senior tag
Szia,
B1-ben ez a képlet felszabdalja az A1 cella tartalmát:
=HA(SOROK(B$1:B1)-1>HOSSZ($A$1)-HOSSZ(HELYETTE($A$1;";";""));"";KIMETSZ(KÖZÉP($A$1;HAHIBA(SZÖVEG.TALÁL("@";HELYETTE($A$1;";";"@";SOROK(B$1:B1)-1));0)+1;HAHIBA(SZÖVEG.TALÁL("@";HELYETTE($A$1;";";"@";SOROK(B$1:B1)));HOSSZ($A$1)+1)-HAHIBA(SZÖVEG.TALÁL("@";HELYETTE($A$1;";";"@";SOROK(B$1:B1)-1));0)-1)))
Power Query-ben az oszlop felosztása esetén pedig megadhatod, hogy a kimenet sorokba legyen rendezve.
üdv
-
Mutt
senior tag
válasz
szricsi_0917 #37992 üzenetére
Szia,
A logikai függvények (ÉS, VAGY, NEM) függvények nem működnek tömbfüggvényekben, mert mindig csak 1 értéket adnak vissza. Helyettük szorzás és összeadást használhatunk.
Szerintem ez a tömbképlet minden kritériumot figyelmbe vesz:
=SZUM(HA(((HÉT.NAPJA(idosor;11)>5)+(SZÁM(HOL.VAN(idosor;$A$4:$A$20;0)))>0)*(HIBÁS(HOL.VAN(idosor;$A$32:$A$47;0)));--SZÁM(ELTOLÁS(D2;0;0;1;DARAB(idosor)));0))
Hozz létre a névkezelőben egy idosor nevezetű dinamikus tömböt, a képlete:
=ELTOLÁS(Munka1!$D$1;0;0;1;DARAB(Munka1!$D$1:$AH$1))
Ez azért kell, mert az eltérő hosszúságú hónapoknál a képletet mindig át kellene különben írni.
üdv
-
Mutt
senior tag
válasz
szricsi_0917 #37990 üzenetére
-
Mutt
senior tag
válasz
dave0825 #37975 üzenetére
Szia,
A képlet beírása után Ctrl+Shift+Enter -t nyomj, ekkor az Excel a képletet kapcsos zárójelek közé teszi és engedi egyszerre több adaton is elvégezni a műveleteket.
Az általad kiemelt rész ugyanazt csinálja, mint amit Delila javasolt, vagyis próbál létrehozni egyedi értékeket, hogy meg tudjuk különböztetni az ismétléseket.
üdv
-
Mutt
senior tag
válasz
dave0825 #37966 üzenetére
Szia,
Ha nem tudsz segédoszlopot felvenni, akkor ezzel a tömbfüggvénnyel is menni fog:
Nevek:
=INDEX($A$11:$M$85;HOL.VAN(ÖSSZESÍT(14;6;$M$11:$M$85-SOR($M$11:$M$85)/100000;SOROK($C$91:$C91));$M$11:$M$85-SOR($M$11:$M$85)/100000;0);1)
Túlórák:
=INDEX($A$11:$M$85;HOL.VAN(ÖSSZESÍT(14;6;$M$11:$M$85-SOR($M$11:$M$85)/100000;SOROK($C$91:$C91));$M$11:$M$85-SOR($M$11:$M$85)/100000;0);13)
További lehetőség a Kimutatás (Pivot) használata, ahol túlorák szerint csökkenő sorrendbe rendezed az eredményt és csak a Top 3-at iratod ki.
Ugyanez a technika Power Query-vel is megy.
üdv
-
Mutt
senior tag
válasz
Peterhappy #37935 üzenetére
Egy hasonló kérés volt, amire a 37903-es válaszomban van függvényes megoldás is.
-
Mutt
senior tag
válasz
szricsi_0917 #37918 üzenetére
Szia,
Rövidítsük le a képleteket. Az első talán így (nem tudom mi van a B1-ben, de ide szerintem nem kell):
=HA(D1="";"";HA(HÓNAP(D1+1)=HÓNAP(D1);D1+1;""))
A második pedig:
=ÉS(VAGY(HÉT.NAPJA(D1;11)>5;SZÁM(HOL.VAN(D1;$A$4:$A$20;0)));NEM(SZÁM(HOL.VAN(D1;$A$32:$A$47;0))))
Ha a második képlet nem csak féltételes formázásban van, hanem a munkalapon is megvan, akkor ennek segítségével tudunk SZUMHA-t használni.
=SZUMHA(ahol van a második képlet adatsor;IGAZ;adatsor a munkaórákkal)
üdv
-
Mutt
senior tag
válasz
szricsi_0917 #37915 üzenetére
Szia,
Ha a hónap napjai dátumok a fejlécben, akkor a HÉT.NAPJA függvény tud segíteni a hétvégéket megtalálni, amit a SZORZATÖSSZEG vagy a SZUM függvénnyel lehet használni.
A fejléc a B1:AF1 tartományban van, a ledolgozott idő a B2:AF2 tartományban.
=SZORZATÖSSZEG(--(HÉT.NAPJA($B$1:$AF$1;11)>5)*B2:AF2)
A fenti függvény elhasal, ha szöveg (akár csak egy szóköz) is van az alsó sorban, viszont a következő tömbfüggvény ekkor sem hasal el:
=SZUM(--(HÉT.NAPJA($B$1:$AF$1;11)>5)*(HA(SZÁM(B2:AF2);B2:AF2;0)))
Ha az első sor szöveg (vagyis nem 2018.04.01. van ott, hanem "01.V"), akkor pedig "V" és "Szo" szövegre kell keresni a SZUMHA függvénnyel:
=SZUMHA($B$1:$AF$1;"*V";B2:AF2)+SZUMHA($B$1:$AF$1;"*Szo";B2:AF2)
Rövidebben a SZUMHATÖBB-el:
=SZUM(SZUMHATÖBB(B2:AF2;$B$1:$AF$1;{"*V"\"*Szo"}))
Mindegyik megoldás hátránya, hogy mindig 31 napot nézel és előfordulhat hogy a következő hónap elseje (pl. július 1) is hétvégére esik, ha csak az adott hónap hétvégéi számítanak, akkor ez a tömbfüggvény jó lesz:
=SZUM(--(HÉT.NAPJA($B$1:$AF$1;11)>5)*(HA(HÓNAP($B$1:$AF$1)=HÓNAP($B$1);B2:AF2;0)))
üdv
-
Mutt
senior tag
válasz
macilaci78 #37910 üzenetére
Szia,
Egy ötlet részemről, hogy kellene egy kulcsszó készlet, hogy miket várnál el a találatként (pl. kapupántcsavar, lakatcsavar, facsavar stb.) a leírásban és azt megnézni hogy megvan-e a szövegben vagy sem.
Ehhez lehet egy UDF-t készíteni.
Egy nem tökéletes változat.Function Talalat(szoveg As Range, kulcsszo As Range, elvalaszto As Range) As String
Dim c, i As Long
Dim kezdete As Long, vege As Long
Dim cell
Dim txelvalaszto As String
For Each cell In elvalaszto
txelvalaszto = CStr(cell) & txelvalaszto
Next
Talalat = ""
For Each cell In kulcsszo
c = InStr(1, szoveg, cell) 'keressük a kifejezést a szövegben
If c > 0 Then 'ha van találat
For i = c To 1 Step -1 'menjünk visszafelé az első elvalasztó jelig
If InStr(1, txelvalaszto, Mid(szoveg, i, 1)) > 0 Then
kezdete = i + 1
Exit For
End If
Next i
If kezdete = 0 Then kezdete = 1 'ha esetleg nem lenne előtte semmi
For i = c To Len(szoveg) 'most keressük meg a szöveg utáni első elválasztójelet
If InStr(1, txelvalaszto, Mid(szoveg, i, 1)) > 0 Then
vege = i
Exit For
End If
Next i
If vege = 0 Then vege = Len(szoveg) + 1 'ez esetben pedig nincs semmi már utána
Talalat = Mid(szoveg, kezdete, vege - kezdete) 'az eredmény
Exit For
End If
Next cell
End FunctionHa az adathalmaz nincs egységes szerkezetben, akkor tökéletes végeredmény nem fog összejönni.
üdv
-
Mutt
senior tag
válasz
scott_free #37904 üzenetére
A Courier New szerintem ilyen.
-
Mutt
senior tag
válasz
logitechh #37898 üzenetére
Szia,
A legegyszerübb megoldás egy Kimutatás (Pivot) készítése az adatsorra.
Az egyik kimutatás összeszedné az ételeket, a másik pedig az összetevőket.Egy másik megoldás pedig képletekkel:
Az eredeti adatsort táblázattá konvertáltam (neve Receptek) az egyszerűség kedvéért.
Az A2-ben ez a tömbképlet (Ctrl+Shift+Enter-t kell nyomni a bevitel után):=HAHIBA(INDEX(Receptek[kód];HOL.VAN(0;DARABTELI($A$1:$A1;Receptek[kód]);0));"")
A B2 már egy egyszerű FKERES:
=HA(A2<>"";FKERES(A2;Receptek;2;0);"")
A C2 lehet egy SZUMHA, de én SZORAZTÖSSZEG-et használtam,
=SZORZATÖSSZEG(--(Receptek[kód]=A2)*(Receptek[mennyiség]*Receptek[nyilvántartási ár]/Receptek[Egység tömeg]))
A másik táblázatban a recept megnevezését egy listából lehet választani.
F3-ban egy hosszú képlet van:=HA(DARABTELI(Receptek[Recept megnevezés];$G$1)>=SOROK($F$3:F3);INDEX(Receptek[[#Mind];[összetevő]];ÖSSZESÍT(15;6;SOR(Receptek[Recept megnevezés])/(Receptek[Recept megnevezés]=$G$1);SOROK($F$3:F3)));"")
G3-ban a fentivel megegyező a képlet, csak nem az összetevőt hanem a mennyiségét iratjuk ki az INDEX segítségével:
=HA(DARABTELI(Receptek[Recept megnevezés];$G$1)>=SOROK($F$3:F3);INDEX(Receptek[[#Mind];[mennyiség]];ÖSSZESÍT(15;6;SOR(Receptek[Recept megnevezés])/(Receptek[Recept megnevezés]=$G$1);SOROK($F$3:F3)));"")
üdv
-
Mutt
senior tag
válasz
Colin111 #37832 üzenetére
Szia,
Segédoszlop nélküli megoldás nem jön össze, de egy segédoszloppal igen.
Nálam a segédoszlop az M-ben van. M2 képlete:
=HA(A2<>"";HA(KIMETSZ(A2)=KIMETSZ(A1);0;1);"")Ha van a sor A-oszlopában név, akkor ha az előtte lévő sorban ugyanaz a név, akkor ismétlődés van és 0-t iratunk ki, különben 1-et. A KIMETSZ az esetleges felesleges szóközöket szűri, nem kötelező.
Ezt a képletet húzd le jó sok sorba, mondjuk 1000 sor.A Névkezelőben egy új dinamikus tartományt hoztam létre "seged" névvel Képlete:.
=ELTOLÁS(Munka1!$M$2;0;0;DARAB2(Munka1!nevsor))Ezek után a K3-ban a képlet erre változik:
=HA(K2>DARABTELI(seged;1);"Nincs több név";INDEX(nevsor;ÖSSZESÍT(15;6;SOR(INDIREKT("A1:A"&DARAB2(seged)))/seged;K2)))A segédoszlop lehet egy rejtett lapon, vagy elrejtheted az oszlopot, akár az oszlop betű szinét fehérre is állíthatod.
üdv
-
Mutt
senior tag
válasz
PistiSan #37831 üzenetére
Hello,
Alternatív megoldás.
Kimutatás mellett még használható az alábbi tömbfüggvény is az egyedi rendszámok kigyűjtéséhez.
D2-be írd be és húzd le:
=HAHIBA(INDEX(rendszamok;HOL.VAN(0;DARABTELI($D$1:$D1;rendszamok);0));"")A rendszamok legyen egy dinamikus tartomány.
=ELTOLÁS(Munka1!$A$2;0;0;DARAB2(Munka1!$A:$A)-1)Excel 2016-ban van már MAXHA függvény, Ha nincs ilyen függvényed, akkor marad a 37834-ben említett képlet.
üdv
-
Mutt
senior tag
válasz
swoody #37820 üzenetére
A KÖZÉP függvény szöveg eredményt ad.
Ez onnan is látszik, hogy a kapott cella alapból balra van rendezve. Excelben a számok jobbra igazítva jelennek meg alapból. Egy szöveget (ami számnak látszik, de az Excel szövegként kezeli) hasonlítasz össze egy számmal, a típuseltérés miatt mindig hamis eredményt fogsz kapni.Konvertáld a szöveget számmá (pl. szorozd meg 1-el, vagy adj 0-t hozzá, vagy használd a kettős tagadást [--]), vagy alakítsd a másik helyen a számot szöveggé (pl. fűzd össze egy üres stringgel).
-
Mutt
senior tag
válasz
Colin111 #37799 üzenetére
Szia,
Az általam küldött megoldás kiszűri az ismétlődéseket, 1 hiba van a megoldásomban, hogy K1 helyett neked K2-ben van a számlálód, így a helyes és összetett képlet amit K3-ba kell írnod:
=HA(K2>SZORZATÖSSZEG(1/DARABTELI(nevsor;nevsor));"Nincs több név";INDEX(nevsor;ÖSSZESÍT(15;6;HOL.VAN(nevsor;nevsor;0)/HA(GYAKORISÁG(HOL.VAN(nevsor;nevsor;0);SOR(INDIREKT("A1:A"&DARAB2(nevsor))))>0;1;0);K2)
A képlethez kell egy dinamikus tartomány, Képletek -> Névkezelőt használd hozzá.
A képletben a
HA(GYAKORISÁG(HOL.VAN(nevsor;nevsor;0);SOR(INDIREKT("A1:A"&DARAB2(nevsor))))>0;1;0)
rész szűri ki az ismétlődéseket, 1-et írva a név első megjelenéséhez, 0-t pedig az ismétlődéshez.üdv.
-
Mutt
senior tag
válasz
Colin111 #37796 üzenetére
Egy hosszú képlet esetleg Excel 2010 vagy frissebb esetén:
=HA(K1>SZORZATÖSSZEG(1/DARABTELI(nevsor;nevsor));"Nincs több név";INDEX(nevsor;ÖSSZESÍT(15;6;HOL.VAN(nevsor;nevsor;0)/HA(GYAKORISÁG(HOL.VAN(nevsor;nevsor;0);SOR(INDIREKT("A1:A"&DARAB2(nevsor))))>0;1;0);K1)))
Létre kell hoznod a névkezelőben nevsor névvel egy dinamikus tartományt, a képlete (Munka1 füzet esetén):
=ELTOLÁS(Munka1!$A$2;0;0;DARAB2(Munka1!$A:$A)-1)
-
Mutt
senior tag
válasz
MinekMentOda #37757 üzenetére
Tömb függvény:
=--ÉS(SZÁM(SZÖVEG.KERES(KÖZÉP(A2;SOR(INDIREKT("A1:A"&HOSSZ(A2)));1);$A$1)))
-
Mutt
senior tag
válasz
Zola007 #27742 üzenetére
Hello,
...meg kell kerestetni a függvénnyel valahogy a legutolsó nem üres cellát.
Ha összefüggő a tartomány (nincs benne üres sor), akkor egyszerűen:
=INDIREKT("B"&DARAB2(B:B))Ha van benne üres sor és csak számokat tartalmaz: =FKERES(9^99;B:B;1)
Ha csak szöveget: =FKERES(SOKSZOR("z";50);B:B;1)Illetve egy univerzális megoldás tömbképlettel: =INDEX(B:B;MAX(HA(B:B<>"";SOR(B:B);0)))
üdv
-
Mutt
senior tag
válasz
csongi #27684 üzenetére
Hello,
...egy adott cellába, legyen egy képlet, de ha kézzel beleírok akkor a beírt érték legyen, viszont ne vesszen el a képlet sem....
Van egy kevésbé használt függvény az S (angolul N), ami ha szöveget kap értéknek, akkor nem számol vele.
pl. =N("komment") értéke 0 és ezek után =2+N("komment") cella értéke is 2 lesz.Ez a függvény jön itt nekünk segítségre, mivel a cella képletét ebbe a függvénybe elrejtjük.
A lenti makróval első lépésként megjegyezzük a cella tartalmát és képletét ha van a Worksheet_SelectionChange eseménnyel. Az egyszerűség kedvéért csak akkor tesszük, ha egyszerre 1 cella van módosítva.
A második lépésben ha a változik vmi a lapon, akkor a Worksheet_Change esemény lép akcióba és attól függően, hogy volt-e képlet vagy sem, esetleg töröltük a cella bedobja ami kell éppen.
A kód nem tökéletes, iránymutatásnak szántam.
Option Explicit
Dim KepletVanBenne As Boolean
Dim Tartalom As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
KepletVanBenne = False
Tartalom = ""
If Target.Cells.Count = 1 Then 'egyszerűség kedvéért csak 1 cellára dolgozunk
KepletVanBenne = Target.HasFormula 'megnézzük hogy van-e képlet a cellában
If KepletVanBenne Then Tartalom = Target.FormulaLocal 'elmentjük a képletet egy változóba
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim EredetiKeplet
Dim Keresni As String
'Excel nyelvének megállapítása
If Application.LanguageSettings.LanguageID(msoLanguageIDUI) = 1038 Then
Keresni = "+S("
Else
Keresni = "+N("
End If
If Target.Cells.Count = 1 Then 'egyszerűség kedvéért csak 1 cellára dolgozunk
'ha az új cella konstans akkor mögétesszük a képletet, ha volt korábban
If Not Target.HasFormula Then
'megnézzük hogy a korábban volt-e képlet a cellában, ha igen akkor kinyerjük az eredeti képletet onnan
EredetiKeplet = Split(Tartalom, Keresni) 'bízunk benne, hogy nincs a cellában +N( kifejezés más indok miatt
If IsArray(EredetiKeplet) And UBound(EredetiKeplet) > 0 Then
'itt kicsit formázni kell mivel vmi ilyet kapunk vissza "=A1"), de nekünk csak =A1 kell
Tartalom = Mid(EredetiKeplet(1), 2, Len(EredetiKeplet(1)) - 3)
End If
'ha törlik a cella tartalmát, akkor berakuk az eredeti képletet
If Target.Value = "" Then
Target.FormulaLocal = Tartalom
Else
Target.Formula = "=" & Target.Value & "+N(""" & Tartalom & """)" 'az új cellatartalom az lesz, hogy bevitt érték + korábbi formula
End If
End If
End If
End Subüdv.
-
Mutt
senior tag
Sziasztok,
Több tucat könyvet tett angol nyelven ingyenesen elérhetővé a Microsoft a héten.
Innen lehet elérni őket. http://blogs.msdn.com/b/mssmallbiz/archive/2015/07/07/i-m-giving-away-millions-of-free-microsoft-ebooks-again-including-windows-10-windows-8-1-windows-8-windows-7-office-2013-office-365-sharepoint-2013-dynamics-crm-powershell-exchange-server-lync-2013-system-center-azure-clo.aspxVan köztük pár Excel témájú is. Haladóknak javaslom a DAX könyvet is, ha már ennyiszer felmerül mostanában a PowerQuery. VBA témájú könyv nincs köztük.
üdv.
-
Mutt
senior tag
Hello,
...meg kellene adnom egy képletet, amellyel ki tudom számolni a típusonkénti átlagárat.
Felraktam ide 2 megoldást.
Az első megoldás nem használ kimutatást (Pivot-ot), viszont az ismétlődések kiszűréséhez tömb függvényt használ ami lassítja a számítást, valószínű nem éred el azt az adatmennyiséget amelynél ez már zavaró lenne.
A második megoldás kimutatást használ, ez gyorsabb nagy adatmennyiségnél is.
Mindkét esetben a logika, hogy első lépésként a javított neveket bemappeljük az eredeti adatsorhoz (ha nem akarod odarakni a neveket, akkor kell egy plusz lap ahol ez megtehető). Ezek után erre a javított oszlopra dobjuk a számítást rá.
üdv.
-
Mutt
senior tag
válasz
csadi0011 #27258 üzenetére
Hello,
...miért csak számhoz tudok hozzáírni cellaformázással?...
Szövegnél is működik, csak meg kell adnod a formázás negyedik részében a kívánt alakot.
A formázás elő része a pozitív számokat, a második a negatívokat, a harmadik a nulla értéket és az utolsó a szövegeket tartalmazó cellákra vonatkozik.pl. "Pozitív szám:" Normál;"Negatív szám:" -Normál;"Nulla: 0";"Szöveg a cellában:" Normál
üdv
-
Mutt
senior tag
Hello,
Ezt: [link] hogyan tudnám úgy átalakítani, hogy ne cellánként számoljon, hanem egy teljes tartományt? A teljes A oszlopon szeretném használni.
Erre nem láttam választ, de két sort plusz kell. Itt az új kód.
Function SumNums(cell As Range, Optional strDelim As String = " ") As Double
Dim vNums As Variant, lngNum As Long, rngS As Range
For Each rngS In cell 'új sor a tartományhoz
vNums = Split(rngS, strDelim)
For lngNum = LBound(vNums) To UBound(vNums) Step 1
If InStr(1, vNums(lngNum), ",") > 0 Then vNums(lngNum) = Replace(vNums(lngNum), ",", ".")
SumNums = SumNums + Val(vNums(lngNum))
Next lngNum
Next rngS 'új sor a tartományhoz
End FunctionHa a teljes A-oszlophoz akarod használni, akkor be tud lassulni, mert az üres mezőket is kiértékeli ezért érdemes plusz ellenőrzést ennek elkerülésére beletenni. Továbbá tuningolható, hogy a tizedesvesszőt tartalmazó számokat is kezelni tudja.
Function SumNums(cell As Range, Optional strDelim As String = " ") As Double
Dim vNums As Variant, lngNum As Long, rngS As Range
Dim workrange As Range
Set workrange = Intersect(ThisWorkbook.Sheets(cell.Parent.Name).UsedRange, cell)
For Each rngS In workrange 'új sor a tartományhoz
vNums = Split(rngS, strDelim)
For lngNum = LBound(vNums) To UBound(vNums) Step 1
If InStr(1, vNums(lngNum), ",") > 0 Then vNums(lngNum) = Replace(vNums(lngNum), ",", ".") 'tizedesvessző kezelés
SumNums = SumNums + Val(vNums(lngNum))
Next lngNum
Next rngS 'új sor a tartományhoz
End Functionudv
-
Mutt
senior tag
válasz
marcyman #24909 üzenetére
Szia!
Adott egy táblázat ahova az ADOTT napi adatoknak át kellene frissülniük egy másik táblázatból, ahol minden nap új sorba írom az adatokat.
Makróval támogatva megy.
Lépések:
1. A minden nap bővülő táblázatba kell egy függvény egy fix helyen amely megadja az utolsó sort.
pl. legyen a B1 cella
2. Az utolsó sor számát meg lehet tudni DARAB vagy DARAB2, esetleg a HOL.VAN függvénnyel.
pl. legyen a B1 képlete =DARAB2(A:A)
3. Ezt a cellát linkeldbe a másik fájlba.
4. A másik fájl egyik eseményére (ez lehet a fájl megnyitása, vagy az egyik lap módosítása) be lehet tenni az alábbi egy sort (a példában A1-ben van a linkelt mező és alá A2-be írjuk az utolsó sor hivatkozását):
Range("A2").Formula = "=[másik fájl neve,xlsx]Munka1!$A" & Range("A1")
5. Csak ezt a fájl kell makróbarát füzetként menteni, a másikat nem kell.A 4-es lépésben említett sor helyett, itt egy kicsituniverzálisabb megoldás. Ez 3-as lépésben linkelt mezőből kiveszi a másik fájl elérését, így azzal már nem kell foglalkoznod,
Private Sub Worksheet_Activate()
Dim link As Variant
Const oszlop As String = "A" 'A-oszlopban vannak a napi adatok a másikban
link = Split(Range("A1").Formula, "!")
Range("A2").Formula = link(0) & "!" & oszlop & Range("A1").Value
End Subüdv
-
Mutt
senior tag
válasz
tgumis #24837 üzenetére
Hello,
Ha csak akkor induljon a másolás, ha mindegyik másolandó cella ki van jelölve, akkor ezt próbáld ki:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const rngKijelol = "B2:B6" 'ebből a tarományból másolunk
Const wsCel = "Sheet2" 'erre a munkalapra másolunk
Dim rngMasolando As Range
Dim vSor As Long 'a cél munkalap utolsó sora
Dim arryAdatok As Variant
'megnézzük hogy ami ki van jelölve az mennyire fedi a másolandó tartományt
Set rngMasolando = Application.Intersect(Range(Target.Address), Range(rngKijelol))
'ha van fedés és az teljes, akkor mehet az utolsó sor meghatározása és az inverz másolás
If Not rngMasolando Is Nothing Then
If rngMasolando.Address = Range(rngKijelol).Address Then
vSor = Worksheets(wsCel).Range("A" & Rows.Count).End(xlUp).Row + 1
arryAdatok = rngMasolando.Value
Worksheets(wsCel).Range("A" & vSor).Resize(, rngMasolando.Rows.Count) = Application.Transpose(arryAdatok)
End If
End If
End SubAz elején vannak változók amiket igényszerint módosíts. Ahhoz a laphoz kell a kódot bemásolni ahonnan történik a másolás.
üdv,
-
Mutt
senior tag
válasz
Thrawnad #24778 üzenetére
Hello,
Igen, csak ugye a Törzskönyv nálam már Xlsx máshol meg még XLS.
Ezért egy ciklussal végig szaladok rajta a pontigÉn erre a SPLIT függvényt szoktam használni, amely egy szöveget egy adott karakter alapján felszabdal, az eredmény egy tömbbe kerül. A kiterjesztes a tömb utolsó elemében lesz megtalálható.
filenev = Split(utvonal, ".")
File_Ki = Replace(utvonal, filenev(UBound(filenev)), "txt")üdv
-
Mutt
senior tag
-
Mutt
senior tag
válasz
zoli1962 #24715 üzenetére
Hello,
Makrómentes megoldás pedig ez:
1. Hozz létre egy dinamikus tomböt a névkezelőben (pl. Lista).
2. A hivatkozása legyen ez: =ELTOLÁS(Munka2!$C$3;0;0;DARAB(Munka2!$C:$C))
3. Munka1 lapon az utolsó értéket a =INDEX(Lista;DARAB(Lista)) képlet adja meg, ez megy A1-be.
4. A2-be pedig =A1-INDEX(Lista;DARAB(Lista)-1) adja meg az utolsó két elem különbségét.üdv.
-
Mutt
senior tag
válasz
looser #24370 üzenetére
Hallo,
m.zmrzlina képét használva.
Ha felvitted a választható értékeket, akkor G1:G3 tartományt elnevezed "sörök"-nek (pont űgy ahogy F2-ben le van írva). H1:H3 tartományt "borok"-nak.
Ezek után A1-ben egy sima adatérvényesítés van az F1:F2 tartományra.
A B1-be szintén adatérvényesítés, de oda már az alábbi képlet kell:
=INDIREKT($A$1)Ezzel kész is, de ha akarod akkor egy makróval megtámogathatod, hogy ha az első értéken változtatsz, akkor kérje be újra a másodikat.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then Range("B1").ClearContents
End SubBővebben itt olvashatsz erről a módszerről.
üdv
-
Mutt
senior tag
válasz
Zola007 #24342 üzenetére
Hello,
Ennek a 6 képlet eredményének az átlagát kellene megjelenítenem az A2 cellában, de nincs hely külön mellette kiszámoltatni, tehát egy cellába kellene valahogy beírni az egészet
A könnyebb kezelhetőség is feltétel volt, de erre nem láttam választ. Ehhez javaslom, hogy vegyél fel névkezelőben újabb függvényeket.
Az egyedüli gond, hogy a névkezelőben az Excel abszolút hivatkozásokat akar használni (mindig pl. $A$1-et).
A relatív hivatkozásokat pedig trükkösen kell felvinni (INDIREKT függvény).W-re hivatkozz így:
INDIREKT("S[-1]O";0)(Vagyis mindig a cella feletti sort nézze.)
R-re pedig így:
=INDIREKT("S[-1]O[1]";0)(Nemcsak felette, de tőle jobbra eggyek lévő cella.)
Ha megvannak a képletek, akkor az átlag képlet nagyon rövid lesz:
=ÁTLAG(Fugg1;Fugg2;Fugg3;Fugg4;Fugg5;Fugg6;Fugg7)Ezzel a megoldással a függvények átláthatók és a névkezelőn keresztül globálisan javíthatók.
üdv
-
Mutt
senior tag
Hello,
B-oszlop egy segédoszlop, amiben a képlet ez:
=HA(DARABTELI($A$2:A2;A2)=1;HOL.VAN(A2;A:A;0);"")Ez a képlet megmondja, hogy hol fordul elő legelősször a mellette lévő cella. Ha többször fordul elő, akkor ismétléseknél üres cellát ad és csak a legelső találatnál a megfelelő sort.
Ezen segédoszlop segítségével a feltételes formázás képlete.
=PÁRATLANE(HA(B2="";D1*1;DARABTELI(B:B;"<="&B2)))Az a képlet a segédoszlopban taláható számokból (2;3;4;7;9 stb. a mintán) egy sorszámot állít elő (1,2,3 stb) és a páratlanokat kiválogatja amelyeket már ki tudunk szinezni,
üdv
-
Mutt
senior tag
válasz
LordVader80 #24269 üzenetére
Felteteles formazasban a fuggveny =párose(A1/4)
-
Mutt
senior tag
Hello,
Meg lett, de a keresőmotornak is legyen válasz.
Analysis Toolpack-ot kell engedélyezni, és utána Adatok -> Elemzés -> Data Analysis.
üdv
-
Mutt
senior tag
Hello,
..cella formátumot akarok másolni akkor csak a hátteret másolja át és a feltételes formázás képletet ne!
2 lépésben tudod, egyikben formátumot másolsz a másodikkal törlőd a feltételes formázást.
Range(cél).PasteSpecial (xlPasteFormats)
Range(cél).FormatConditions.Deleteüdv
-
Mutt
senior tag
Hello,
Hogyan lehetne sorba rendezni az adatokat, hogy az első oszlopban csak "a" legyen, a másodikban csak "b" stb?
Megint csak egy CSE képletet tudok adni, AA1 mezőben van a szétszabdalandó adatsorod. A1-ben ez a képleted:
=HA(SZÁM(HOL.VAN(KARAKTER(96+OSZLOP());KÖZÉP($AA1;(SOR(INDIREKT("A1:A"&(HOSSZ($AA1)+1)/2))-1)*2+1;1);0));OSZLOP();"")Ezek után másold a képletet Z1-ig.
Az eredmény ilyen lesz:üdv
-
Mutt
senior tag
válasz
soundsthu #21042 üzenetére
Hello,
Az FKERES a keresendő értéktől jobbra add vissza értéket, ami azt jelenti hogy a keresési tartomány első oszlopában keres és csakis azt vagy tőle jobbra lévő értéket jelenít meg.
Esetedben I-oszlopban van a keresési tartomány és attól a BALRA lévő E-oszlopból eredményt akarsz, erre a bevett képlet a HOL.VAN és INDEX együttes használata.
=INDEX(E$15:E$39;HOL.VAN("banán";I$15:I$39;0))FKERES-sel pedig ez fog működni:
=FKERES("banán";VÁLASZT({2\1};E$15:E$39;I$15:I$39);2;0)üdv
Új hozzászólás Aktív témák
Hirdetés
- Azonnali alaplapos kérdések órája
- Feketehalálra váltja a kékhalált a Microsoft
- 3D nyomtatás
- Házimozi belépő szinten
- AliExpress tapasztalatok
- The First Berserker: Khazan
- Friss koncepciót hoz a Nothing Phone (3)
- Fúziós energiát vásárol a Google
- RETRO beárazás (mobil, PC, konzol)
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- További aktív témák...
- Antivírus szoftverek, VPN
- Assassin's Creed Shadows Collector's Edition PC
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060Ti 8GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Xiaomi Redmi Note 10, Xiaomi Redmi Note 10s, Xiaomi Redmi Note 10 Pro
- AKCIÓ! Intel Core i9 14900K 24 mag 32 szál processzor garanciával hibátlan működéssel
- Bomba ár! Lenovo X1 Yoga 2nd - i7-7G I 8GB I 256SSD I 14" WQHD I HDMI I W11 I CAM I Garancia!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest