-
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
-
zsolti_20
senior tag
Sziasztok,
Lehetseges VBA scriptben felugro ablakot krealni amiben bizonzos cellatartalmak jelennek meg legordulo menuben?
-
zsolti_20
senior tag
Udv emberek,
Excel 2013-ban power queryt hasznalok. Van 3 tablam, ebbol 2 Connection onlyra van allitva. Szeretnek meg hozza adni plussz egy oszlopot de valamirt nem jeleniti meg, sot miutan hozza problamtam adni, jobb oldalt mar meg sem jelenik a power query tablazat listam kattintaskor mint elotte. Ha egy table connection onlyra van allitva onnantol kezdve nem lehet szerkeszteni?
Valami megoldas csak van erre, eleg bosszanto igy.
-
Delila_1
veterán
válasz
Delila_1
#45295
üzenetére
Egy kis magyarázat az előbbihez, mert a MEDIÁN függvény nem túl közismert.
A függvény az argumentumában megadott számok középértékét adja.
A példában 3 érték szerepel, a D2, és a hozzá tartozó L2 és M2 érték. Az utóbbi kettőt az FKERES függvénnyel találjuk meg aK:Mtartományban. Ha a D2 nem egyenlő a 3 szám középértékével (nem középre esik), akkor a képlet értéke IGAZ, és piros lesz a háttér. -
baaka
tag
Sziasztok!
Office 365-ben szeretném megcsinálni azt, hogy egyes üdítők esetén amennyiben a mért cukortartalom nincs a megengedett határértékek között, akkor legyen piros a mért érték cellája, ellenkező esetben zöld.
Tehát D2-be beírom az üdítő típusát(V10), E2-be pedig a mért cukortartalmat és a K2:M14 között található adatok alapján szeretném, ha az E2 cella színeződne, jelen esetben zöldre, mert a 10% határértékek(V10 esetén 9,5 - 10,5%) között van.
Előre is köszönöm a segítséget.
-
Fferi50
Topikgazda
válasz
Norbika1493
#45285
üzenetére
Szia!
Úgy nem műxik. Csináld úgy, ahogyan Delila mutatta.
Üdv.
Ps. Érdemes az FKERES helpjét hozzáolvasni. -
modflow
veterán
Hello!
Van egy excel, amiben van 3 munkalap.
Az elsőn van egy adatbázis, a másik kettő munkalap erre hivatkozva van beképletezve.Régebbi excelen ha kimásoltam az első és 2. munkalapot, akkor nemtek a beképletezett adatok is.
Most a 2019-es excelben hiába másolom együtt a két munkalapot, a hivatkozást nem viszi át.
Holott ugyan úgy csinálom, munkalap másolása új fájlba. Hogy lehet ezt megoldani, hogy vigye a hivatkozást? Ha régiben vitte újban miért nem?
-
Delila_1
veterán
válasz
Norbika1493
#45285
üzenetére
Szívesen.
Az FKERES függvény a közelítő érték keresésekor úgy működik, ahogy leírtam. -
Fferi50
Topikgazda
-
szbie
újonc
válasz
Fferi50
#45242
üzenetére
Szia!
Nagyon szépen köszönöm, ez csak félig oldja meg a problémámat, de abszolút jó megoldás arra amit kérdeztem. Nagyobb tételeknél már nincs értelme, mert kb amennyi idő alatt felviszem az adatokat a körlevélhez annyi idő alatt megcsinálom excelben is. A gondom, hogy a felvitt adatokból csak egy kis részt használok fel a körlevélhez, de akkor mindent át kéne variálni.
Köszönöm
Erika
-
Delila_1
veterán
válasz
Norbika1493
#45281
üzenetére
-
Norbika1493
csendes tag
Sziasztok,
Azt milyen függvényel tudom megoldani hogyha van egy oszlopba több idő bejegyzés minden sorba más más időben. Másik oszlopba ki szeretném mutatni, hogy melyik napszakra esik a bejegyzés. Probáltam a HA függvényt de nem sok mindenre jutottam vele.
előre is kösznöm a segítséget.
-
Fferi50
Topikgazda
válasz
genlog
#45279
üzenetére
Szia!
Eseménykezelő makróval meg lehet oldani. Minta:
Az A-D oszlopban van a lista.
Az F-I oszlopban a kiválasztott konfiguráció (csak azért sárga az alap, hogy kitűnjön), az I6 cellában a konfiguráció ára.
Az eseménykezelő makró:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)Dim cl As Range, keres As RangeIf Target.Column < 5 ThenApplication.EnableEvents = FalseSet keres = Cells(Target.Row, 1)Set cl = Range("$F$2:$F$5").Find(what:=keres.Value, LookIn:=xlValues, lookat:=xlWhole)cl.Offset(0, 1).Value = keres.Offset(0, 1).ValueApplication.EnableEvents = TrueEnd IfCancel = TrueEnd Sub
Ezt a munkalap kódlapjára kell bemásolni. (Lapfülön jobb egérgomb - kód megjelenítése).
A makró a G oszlopba teszi a kiválasztott márkát. A H és I oszlopban képleteke vannak.
H2 képlete:=HAHIBA(FKERES($G2;$B$1:$D$12;2;0);"")
I2 képlete:=HAHIBA(FKERES($G2;$B$1:$D$12;3;0);"")
I6 cella képlete:=SZUM(I2:I5)
A tartományokat természetesen mind a makróban, mind a képletben saját adataid szerint változtasd meg.
DuplaKattintással az 1-4 oszlop celláin lehet választani. Ha máshova kattintanak, az nem hatásos.
A kiválasztott konfiguráció elemeit a G oszlopban lehet törölni, csak ott, mert a többi oszlopban képlet van.
Remélem, valami ilyesmire gondoltál.
A munkafüzetet makróbarátként (xlsm) vagy binárisként (xlsb) kell mentened. Engedélyezni kell a makrókat is a biztonsági beállításoknál.
Üdv. -
Fferi50
Topikgazda
válasz
astradejo
#45277
üzenetére
Szia!
Szerintem az egész táblázatodat (A:G oszlop) rendezed a G oszlop szerint és máris megvan az eredmény az A oszlopban. Ha új napi adatot írsz be, akkor ismét rendezed.
Ha aztán akarod, akkor átmásolhatod a két oszlopot külön.
Kicsit nem értem, miért kell bonyolítani a dolgot.
Üdv. -
astradejo
újonc
válasz
Fferi50
#45272
üzenetére

Akkor a minta táblázat szerint nézzük meg légy szíves.G oszlopban sima SZUM függvénnyel kiírja hogy a személyek a héten mennyi almát ettek.
J oszlopban NAGY függvénnyel csökkenő sorrendben mutatja a G oszlopban összesített számokat.
A cél, hogy a K oszlopban megjelenjenek a heti almafogyasztáshoz tartozó megfelelő nevek.Itt lép be az, hogy változnak a számok. Ha beírom a pénteki fogyasztást. új számok lesznek a G oszlopban, a J oszlop sorrendje is megváltozik, így a nevek sorrendje is megváltozna.
Nekem ez nem sikerült.
Ebben kérek segítséget.Üdv.
Dávid -
genlog
aktív tag
Hogy lehet azt megoldani, hogy a táblázat soraiban alternatívák vannak, amik közül klikkeléssel/kiválasztással lehet választani, hogy a szumma melyiket vegye figyelembe?
Pl. sorok: ház, alaplap, processzor, táp, összesen. Oszlopok: márka, típus, ár.
Az alaplapból lenne 3 variáns, a prociból 2, a tápból is 2.
Az összeg attól függően változna alul, melyik variáns van éppen kijelölve az adott soron.
Van erre lehetőség? -
Fferi50
Topikgazda
válasz
astradejo
#45271
üzenetére
Szia!
Pillanatnyilag két dolgot nem értek:
1. Az 5. oszlopban a számok egyedi értékkel szerepelnek - azaz itt már nincs ismétlődés?
2. A 6. oszlopban a nem ismétlődő számokhoz kell az adott 5. oszlopbeli számhoz tartozó összes előfordulást felsorolni?
Mert ha nem ez a feladat, akkor kvázi hiába görcsöltünk eddig rajta, hiszen ezt egyszerű rendezéssel meg tudod oldani: 1. és 3. oszlopot kimásolod az új helyre, majd a két oszlopot kijelölve rendezed az 1. oszlop csökkenő sorrendje szerint - esetleg a 2. oszlopot pedig második szintként betűrendben.
Mit értesz az alatt, hogy az első oszlop számait képlet számolja? Milyen képlet?
Továbbá a mintában nem kell a céges adatokat feltenni, a nevek legyenek légből kapottak és szerintem bőven elég egy 20 sorból álló minta, amiben benne van a kiinduló és az elérni kívánt állapot egyaránt (mondjuk a számok képletestől, ha lehet).
Üdv. -
astradejo
újonc
Köszönöm szépen a segítségeket.
Tudom, hogy benne van az összefoglalóban, hogy pontosan kell leírnom a táblázatot, különben a segítség nem biztos hogy megoldás lesz a problémámra.
Ezt követtem én is el most, de csak azért mert céges adatokat és neveket tartalmaz,amit nem szeretnék megosztani.
A legfontosabb dolog amit kihagytam, az pedig az, hogy a számok gyakran változnak (képlet számolja azokat is).Ezért Fferi50, az általad javasolt megoldás sajnos nem jó, mert ha értékbeillesztést csinálok, a sor száma ugyan az marad, viszont a hozzájuk tartozó számok (és a hozzájuk tartozó nevek) csökkenő sorrendje változik a számok megváltozásával.
Lappy: azt sejtem hogy nem lehetetlen, de pontosan ez volt a kérdésem, hogy hogyan lehetne megoldani
Mutt:
1. verzió: a táblázatomat nyomtatnom kell és a kimutatás miatt nagyon megváltozott, ezért sajnos ezt nem tudom használni.2. verzió: majdnem minden részét megértettem. Magát a SOR függvényt eddig úgy gondoltam, hogy értem, de itt a benne lévő osztást csak félig meddig.
Ennek ellenére megpróbáltam alkalmazni.
Kiírja ugyan a neveket, de ugyanabban a sorrendben, ahogy magában a táblázatban szerepel.Ha esetleg látatlanban még így is lenne ötlet az jó lenne.
Legszívesebben beraknám az egész táblázatot, de nem tehetem, szóval ha így nem tudtok segíteni akkor így jártam.
Köszönöm az eddigi ötleteket.
Üdv:
Dávid -
karlkani
aktív tag
Szia!
Majdnem jó, de az Ünnepnapok között nem csak az adott év szerepel, így az összes azonos hónap, hétköznapra eső ünnepnapjait összegzi. Átírtam a következőképp a képletet, látszólag működik is. Jó így?
=SZORZATÖSSZEG((HÉT.NAPJA(Ünnepnapok;11)<6)*(ÉV(Ünnepnapok)=ÉV(C$szám)*(HÓNAP(Ünnepnapok)=HÓNAP(C$szám)))) -
Fferi50
Topikgazda
válasz
astradejo
#45263
üzenetére
Szia!
Próbáld meg a következőt:
Egy segédoszlopba tedd be a számok mellé a sornak a számát. Ezt a SOR() függvénnyel tudod megtenni. Ezután a segédoszlopot jelöld ki -- másolás -- majd ugyanoda irányított beillesztés értéket.
Ezután a számokat és a sorszámot tartalmazó segédoszlopot együtt rendezd a számok szerint. Tehát az 5. oszlopba kerülnek a rendezett számok és mellé a 6. oszlopba a hozzájuk tartozó sorszámok.
Ezután az INDEX(2. oszlop;6. oszlop) képlet megadja a keresett nevet, mert minden számhoz egyedi sorszám fog tartozni.
A végén a segédoszlopot és a 6. oszlopot eltávolíthatod.
Üdv. -
Mutt
senior tag
válasz
karlkani
#45260
üzenetére
Szia,
A hónap napjai egy oszlopban, egymás alatt helyezkednek el (C oszlop). Az ünnepnapok színezése egy másik lap alapján történik, névkezelőben hozzáadva Ünnepnapok néven
=SZORZATÖSSZEG((HÉT.NAPJA(Ünnepnapok;11)<6)*(HÓNAP(Ünnepnapok)=HÓNAP(C$2)))Hogyan műkődik?
- a HÉT.NAPJA meg mondja hogy az adott ünnepnap melyik napra esik, a <6 a hétköznapokat jelenti.
- a HÓNAP(Ünnepnapok) = HÓNAP(C$2) kiválogatja azokat az ünnepnapokat, amelyek azonos hónapban vannak mint a C2-ben lévő dátum.Ha a két feltétel azonos, akkor 1-et ad vissza a szorzás, különben 0-t.
Végül már csak az 1-et kell összeadni. Lehetn a SZUM-át is használni, de a képlet tömb-képlet és ott előnyösebb a SZORZATÖSSZEG.üdv
-
lappy
őstag
-
astradejo
újonc
Üdv, szeretnék tanácsot kérni.
Adott a táblázatom (A-val kezdődik), amelynek első oszlopában több száz szám van (némelyik többször ismétlődik), a harmadikban pedig nevek.
Arra lenne szükségem, hogy a táblázat 5. oszlopába a számokat csökkenő sorrendbe állítsa, majd a 6. oszlopába az 5-ös oszlopban sorba rendezett számok mellé az ahhoz tartozó neveket párosítsa.
A számok csökkenő sorrendjét megoldottam.
A nevek számokhoz párosítását az FKERES függvénnyel próbáltam, de mivel van olyan szám ami többször is ismétlődik mindig ugyan azt a nevet írja oda az összes azonos szám mellé.
Futtatja a keresést és rögtön kiírja az első találathoz kapcsolódó nevet.
Megpróbáltam a HOL.VAN, INDEX kombinációval is, ugyan ez az eredmény.
HA függvénybe ágyazni is próbáltam, úgy viszont nem tudtam kivitelezni.üdv
Dávid -
karlkani
aktív tag
Sziasztok!
A hónap napjai egy oszlopban, egymás alatt helyezkednek el (C oszlop). Az ünnepnapok színezése egy másik lap alapján történik, névkezelőben hozzáadva Ünnepnapok néven. Szeretném megszámoltatni az aktuális hónap ünnepeit, DE csak azokat, melyek hétköznapra esnek.
Előre is köszönöm!
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#45258
üzenetére
Szia!
Ha "kézzel" nem lehet normálisan beállítani, akkor szerintem makróból sem menne.
Talán meg kellene nézni, hogy a nyomtató kezelési könyve miket mond a vezérlési lehetőségekről illetve a driverről. Esetleg Windows parancssorral rá lehet venni a kétoldalas nyomtatásra, ha a driver vezérelhető így.
Üdv. -
Delila_1
veterán
válasz
customer114
#45256
üzenetére
=SZUMHATÖBB(B1:B8;A1:A8;"a";B1:B8;">" & 2) -
customer114
őstag
Sziasztok!
Az alábbi kérdésemre keresek megoldóképletet:
a 1
b 3
a 2
c 1
a 1
b 3
a 3
c 3Mekkora az összege azon "a" mellett szereplő számoknak, melyek nagyobbak 2-nél?
Köszönöm
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#45254
üzenetére
Szia!
Szerintem sajnos makróból nem lehet ezt a beállítást szabályozni. Tudom, nehéz ügy de én megpróbálnám első körben az Excel nyomtató menüben a nyomtató beállításait kézzel megcsinálni, ha ott lehet kétoldalas nyomtatást beálítani, akkor megtenném. Utána ellenőriztetném egy próbanyomtatással, hogy valóban kétoldalast nyomtat-e.
Ha igen, akkor csak annyit kell tenned, hogy te beállítod kézzel a nyomtatási makró futása előtt ezt az opciót. (Illetve talán meg is őrzi a beállítást az Excel, ezt nem tudom, ellenőrizni kell.)
Egyébként pedig gondolom a printerdrivert kellene tudni programozni.
Üdv. -
m.zmrzlina
senior tag
válasz
Fferi50
#45253
üzenetére
Az a baj hogy nincs lehetőségem személyesen ellenőrizni a nyomtató beállításait, de a kolléga azt mondja, hogy az első oldal előtt kétoldalasra állítja de nem nyomtat kétoldalasan. Nem tudom, hogy miért törlődik - ha egyáltalán ez a baja - de kénytelen vagyok hinni neki.
Egyébként a
.PrintOutmetódust használom (paraméter nélkül) és ez az első ilyen makróm amiben nyomtatást használok. Nincsen benne semmilyen gyakorlatom. -
Fferi50
Topikgazda
válasz
m.zmrzlina
#45252
üzenetére
Szia!
Bocs, de miért nem jó az, ha eleve kétoldalas nyomtatást állít be a user? Egy-egy lista után nem érzékeli a nyomtató, hogy ezt már új lapra kellene nyomtatnia?
Üdv. -
m.zmrzlina
senior tag
Adott egy nagyobb munkalap. Tizenezer sor - az nekem már nagyobb.
Erről a lapról bizonyos feltételek alapján össze kell válogatnom több szűkebb listát majd kinyomtatni azt. Ezek a szűkebb listák kb 0 és 200 sor között mozognak. A válogatás és az egyoldalas nyomtatás megy is nincsen vele gond. Viszont egy 200 soros listát nem szeretnék 4 lapra nyomtatni ha kettőre is elfér A makró úgy működik hogy amint megvan a lista megy a nyomtatóra - ez sokszor 1000-1500 különböző listát jelent - menet közben nincsen ideje a juzernek printer setupot állítgatni.
Kérdésem, hogy meg lehet -e oldani makróból a kétoldalas nyomtatást?
-
EmberXY
veterán
Sziasztok!
Egy számomra eddig ismeretlen problémával találkoztam, de lehet, hogy csak én vagyok láma hozzá...
Adott egy Excel tábla, amiben az oszlopok valamiért csak a C oszloptól kezdve látszódnak. Korábban nem volt ilyen gond, több ehhez hasonló táblával dolgozom, sehol ilyen még nem fordult elő. Nincs Elrejtés opció bekapcsolva az oszlopokon, illetve az Ablaktábla rögzítés sem kavar be, az alsó csúszka is teljesen a bal szélen van. Ami érdekes, hogyha a cellákat léptetem balra a C oszlopból indulva, akkor felül a szerkesztősávon látszik minden cella tartalma, tehát ott van minden, de érthetlen számomra, hogy az A és B oszlop hogyan tűnhetett el... [kép]
Mit állíthattam el?
Ha van valakinek ötlete, azt nagyon megköszönném.
-
Mutt
senior tag
válasz
Carasc0
#45230
üzenetére
Szia,
Egy Excel for Ipad és Excel 2016 között kb hány %-os kompatibilitás van?
Nincs aktív tapasztalatom Excel Apps-al IOS-en, de MS súgót olvasva, ezt látom:
- Nézegetésre megfelelő.
- Szerkesztésre csak az alap fájlformátumok mennek.
- A függvények teljes mértékben mennek, tömb-képletek is (csak újat nem fogsz tudni létrehozni).
- Pivot, fejlesztőeszköz (gombok, vezérlők), VBA nincsen.Kezdő szinten szerintem 100%-os a kompatibilitás, haladó szinten 50%-ot mondanék.
Üzleti fájlok létrehozására alkalmatlan, max. prezentálni lehet vmit vele.üdv
-
Mutt
senior tag
válasz
DeFranco
#45237
üzenetére
Szia,
Támogatja a VBA-t, illetve Office 2013-tól lehet már használni az Office Script-et is, ami nem a fájlban hanem szerveren tárolja a makrót.
üdv
-
Mutt
senior tag
válasz
Lokids
#45235
üzenetére
Szia,
Office 365-ben használd az EGYEDI (UNIQUE) képletet.
Ha régebbi Excel-ed van, akkor pedig egy csúnya tömb-képlet van. https://exceljet.net/formula/extract-unique-items-from-a-listüdv
-
Delila_1
veterán
válasz
tomi_x
#45243
üzenetére
Kevés megjegyzés esetén rákattintasz a megjegyzésre, majd a Delete gombbal kitörlöd.
Sok megjegyzésnél érdemes egy rövid makró futtatni.
Sub OhneMegj()
Dim sz As Object
For Each sz In ActiveSheet.Comments
sz.Shape.Select True
Selection.Delete
Next
End SubLátod, a makró kijelöli, majd kitörli egyenként a megjegyzéseket. Ha elhagyjuk a kijelölést, valamiért a cella jobb felső sarkában megmarad a kis piros háromszög, és nem is enged új megjegyzést beszúrni oda.
Szerk.: Lehet, hogy a képen látható, megjegyzés kinézetű szöveg nem megjegyzés, hanem egy érvényesítéshez csatolt útmutató.
-
Fferi50
Topikgazda
Szia!
Az előző választ kiegészítve:
Előkerestem a mintámat, a következőt találtam: A körlevél mintában minden lehetséges mező fel van tüntetve. Ahol nincs az Excelben érték, ott természetesen nem hoz adatot, üres marad a mező.
Néhány kép:
Az Excel munkalap
A Word körlevél mezőkkel:
A Word körlevél feltöltve (majdnem) minden mező:
A körlevél hiányos mezőfeltöltéssel:
Üdv.
-
Delila_1
veterán
válasz
zsolti_20
#45232
üzenetére
Erre már válaszoltam. A képlet
=JOBB(Munka1!A2;HOSSZ(Munka1!A2)-6)*1Az előző válaszhoz képest annyi a változás, hogy akkor azonos lapon volt a szöveg+szám, itt másikra kell a képlet. Még az is változott, hogy ott csoport szerepelt, itt meg group, ahol a karakterek száma eltér.
-
Fferi50
Topikgazda
Szia!
Az Excelben az egy szerződéshez tartozó tételeket egy sorban kellene felvinni. A körlevél sablonban pedig minden tétel helyét meg kell határozni. Természetesen nem árt egy maximális tételszámot megadni, aminél több egy rendelésben nem lehet - vagy ilyenkor 2/több sorban kell rögzíteni a rendelést.
El lehet érni, hogy az üres tételek ne jelenjenek meg a körlevélben. Erre volt egy példám, de időbe telik előkeresni.
Üdv. -
Fferi50
Topikgazda
válasz
Lokids
#45235
üzenetére
Szia!
Képlet szerintem nincs erre. Viszont az adatok - ismétlődések eltávolítása megoldja a feladatot. Először átmásolod egy új oszlopba az egészet és azon hajtod végre.
Másik lehetőség a Speciális (lánykori nevén Advanced) szűrő, ahol lehetőség van az egyedi adatok kiszűrésére és más helyre áthelyezésére is.
Üdv. -
DeFranco
nagyúr
Sziasztok!
Lehet felmerült már kérdésként, a keresőben nem találtam megfelelő találatot:
Az office 365 támogatja a VBA-t / makrót vagy sem? A neten többféle információ kering, fontos lenne tudnom, hogy egy esetleges váltásnál maradhatnak-e a scriptjeim vagy át kellene őket írni.
Ha egyes verziók (ha van több o365 verzió) támogatják míg mások nem, akkor ebben is szeretnék tisztán látni ha lehetséges.
-
szbie
újonc
Sziasztok!
Szeretnék egy kis segítséget kérni. Olvasgattam a fórumon , de nem találtam meg a választ. Körlevéllel kapcsolatban lenne kérdésem. A probléma a következő:
Van egy excelem adatokkal (tételenként elkészítve), körlevelet készítek belőle ez is rendben. Ami a problémát okozza, hogy lehet-e körlevélben csoportosítani? Ahhoz, hogy jobban értsétek a problémát adott egy szerződés ami több tételt tartalmaz, a partnert ki kéne értesítenem tételenként, hogy hány darab készült el. Igen ám de egy adott partnerhez több tétel tartozik és 1 partnernek nem írnék 10 levelet, ha mondjuk a szerződésben szereplő tételekből 10 db készült el. Esetleg erre lenne megoldás?
Köszönöm
-
Lokids
addikt
Sziasztok!
Excelben melyik képlet képes arra, hogy ha van egy táblám pl:
alma
alma
körte
alma
retek
répa
retek
szőlő
alma
körteakkor a végeredménybe felsorolja egymás alá a tételeket, de csak 1x?
Fentiből ez legyen az eredmény:
alma
körte
retek
répa
szőlő -
Véreshurka
senior tag
Sziasztok!
Nem tudom mennyire illik ide a kérdésem, de a win10 topikban nem érkezett válasz, gondoltam itt is megkérdezem:
Tudnátok-e abban segíteni, hogyha a fájlkezelőből megnyitok egy excel táblázatot akkor az a táblázat csak a háttérben nyíljon meg? Most már kezd nagyon zavaró lenni, hogy más táblázatot is megnyitnék, de mindig felugrik a előzőleg megnyitott táblázat.Előre is köszönöm!
-
Mutt
senior tag
válasz
Misi_D
#45222
üzenetére
Szia,
Ezt próbáld ki.
1. Fájl importálása Power Query-be.
2. Majd csoportosítás és a keresd meg id-nként a ciklusszámláló maximumát.
3. Most jön egy furcsa lépés, de így a legyegyszerűbb. Szóval lekérdezések egyesítése és ott válaszd ki a táblát kétszer és add meg hogy az id és a ciklusszámláló alapján keressen belső egyezést.
4. Jön a második furcsa lépés, de ehhez M-kódot kell módosítani. A szerkesztő lécen vmi ilyen kód lesz:
Ahol a #"Sorok csoportosítva" egy hivatkozás egy korábbi lépésre aminek egy tábla az eredménye. Power Query-ben nem kötelező a közvetlen előző lépésre hivatkozni, lehet bármelyik korábbira hivatkozni. Nekünk pedig az a lépés kell ami még az eredeti (nem csoportosított adatsort) tartalmazza. Az én esetmben ezt a lépést "Típus módosítva"-nak hívják. Még egy módosítás kell, "max" oszlop nincs az eredeti táblázatban hanem ott nekem "counter" van ezt is le kell cserélni.
Ha ezeket javítod akkor ez lesz az eredmény:

5. Most már csak ki kell bontanod a Sorok csoportosítva oszlopot és megkapod kívánt eredményt.
üdv.
Ps. Ha a nagy fájl miatt lassú lenne a feldolgozás, akkor még egy trükk. Lehet puffereltetni egy adott táblát.
Az én esetemben a "Típus módosítva"-t érdemes. Ehhez azt kell csinálni, hogy ezen lépés után beszúrsz egy új lépést (pl. új oszlop hozzáadása). Majd a kapott M-kódot felülírod ezzel: = Table.Buffer(#"Típus módosítva") -
Mutt
senior tag
válasz
zsolti_20
#45217
üzenetére
Szia,
Power Query-s megoldás VBA-mentesen.
1. Alakítsd át a listát és a szűrőt 2 táblázattá.

2. Ezek után Adatok -> Táblázatból vagy tartományból opcióval töltsd be Power Query-be az egyik táblázatot.
3. Kezdőlap -> Bezárás és betöltés -> ... adott helyre majd válaszd a csak kapcsolatot.
4. 2-3-as lépést csináld meg a szűrővel
5. Kapcsolatok alatt jobb klikk a lista lekérdezésen és Szerkesztéssel menjünk vissza a Power Query szerkesztőbe.
6. Most számoljuk meg hogy hány eleme van az egyes csoportoknak. Ehhez a Kezdőlapon a Csoportosítási szempontot használd. Itt elég a sorokat megszámolni, de ha nem bánod akkor haladó üzemmódban inkább ezt állítsd be:
7. Az Elemek egy beágyazott tábla, ami tartalmazza az eredeti listádat és ebből ki fogjuk nyerni a tételeket.
(Természetesen lehet ezt sima lekérdezés egyesítéssel helyettesíteni, ha a hagyományos utat választanád.) Adj egy új oszlopot a táblázathoz, aminek ez legyen a képlete: =[Elemek][Tetel]
8. A Tetel oszlop jobb felső sarkában lévő ikonra kattints és válaszd a kibontást új sorokba. Ezzel visszakaptuk az eredeti listát, csak most már tudjuk hogy hány elem van egy csoportban.
9. Jöhet a Kezdőlap -> Lekérdezések egyesítése. Itt kiválasztjük a szűrő lekérdezést és a közös oszlopot kijelöljük. Alul javasolt a Belső (egyező sorok) opciót használni.
10. Most megint meg kell számolnunk, hogy egyes csoportokban hány elem van. Hasonlót csinálunk mint a 6-os lépésben.
11. Megint lett egy beágyazott táblánk, amiből megint kellenek a tételek, de nyerjük ki még az eredeti elemszámot is. A tételeket ugyanúgy mint a 7-es lépésben egy új oszloppal kapjuk meg.
12. Az eredeti elemszámhoz szintén egy új oszlop kell, aminek a képlete ez: =List.Min([Tetelek][Elemszám])
13. Már látszik, hogy nekünk csak azok a sorok kellenek, ahol az eredeti és az új elemszám azonos. Ehhez megint kell egy új oszlop. Képlete: =[Elemszám]=[EredetiElemszám]
14. Az új oszlopban szűrjünk rá a TRUE sorokra.
15. Töröljük a felesleges oszlopokat (csak a csoport és a tétel kell)
16. Tétel oszlop jobb felső sarkában megint kibontás sorokba.
17. Eredmény visszatöltése Excelbe, Kezdőlap -> Bezárás és betöltés.
18. Jobb klikk megint a Lista lekérdezésen és válasszuk a Betöltés helyét, majd Táblázat.üdv
Ps. VBA-val limitáltan lehet módosítani a Power Query-t.
-
Carasc0
őstag
Sziasztok.
Egy Excel for Ipad és Excel 2016 között kb hány %-os kompatibilitás van?
-
Fferi50
Topikgazda
válasz
Misi_D
#45226
üzenetére
Szia!
Egy lehetőség, logikai szinten leírva:
Az első előfordulást beteszed a munkalap következő sorába. A következő előfordulásnál megkeresed, hol van a munkalapon, megnézed a másik változó értéke milyen, ha nagyobb, akkor kicseréled a sort az újra, ha nem, akkor hagyod békében.
Ezt csinálod végig a fájlon.
Előny, hogy akkor is használható, ha a csv fájlban nem sorban vannak az ID-k.
A munkalapon kereshetsz a Range.Find metódussal vagy kereső függvényekkel egyaránt.
A beolvasásnál a kinput változóban a teljes sor kerül. Ebből neked kell meghatározni, hol az id és a számodra szükséges változó adata. Ha tudod, hogy hanyadik oszlopban van, akkor pl. használhatod a Split függvényt, amelyik a megadott határoló (pl. pontosvessző - ; - ) szerint egy tömbbe transzformálja a szöveget. A tömb indexe 0-val indul. Innen már meg tudod kapni a keresett adatokat.
Egy példa:Sub beolvaso()Dim utja As String, fnev As String, kinput As String, fc As Byte, cl As Range, bejott, holvan As Rangeutja = "C:\Users\user\Documents"fnev = "\xxx.csv"fc = FreeFile()Open utja & fnev For Input As #fcSet cl = ActiveSheet.Cells(1, 1) 'az aktív munkalap első cellájába kerül az első adat'ha nem ide szeretnéd, akkor változtasd meg a Cells paramétereitDo While Not EOF(fc)Line Input #fc, kinputbejott = Split(kinput, ";") 'egy tömbbe transzformáljuk a bejött adatot'megkeressük az azonosítót az első oszlopban. Ha nem ide tetted, akkor írd át az oszlop számát'ha nem az input első adata az ID akkor bejott(0) paraméterét írd át a megfelelő oszlopraSet holvan = ActiveSheet.Columns(1).Find(what:=bejott(0), LookIn:=xlValues, lookat:=xlWhole)If holvan Is Nothing Then 'ha még nincs, akkor bejegyezzük az első szabad sorba'cl.Value = kinput 'ez a sor egy cellába tenné a teljes inputotRange(cl, cl.Offset(0, UBound(bejott))).Value = bejott ' így viszont külön cellába kerülnek az értékekSet cl = cl.Offset(1, 0) 'ez lesz a következő üres sor első cellájaElseIf holvan.Offset(0, 2).Value < bejott(2) Then 'ha a változó nem a második az adatok között, akkor'mindkét 2-est írd át megfelelőre - az offset és a tömb paramétere is 0-tól indul.Range(holvan, holvan.Offset(0, UBound(bejott))).Value = bejott 'kicseréljük az újraEnd If'MsgBox kinputEnd IfLoopClose #fcMsgBox "Az input kész!"End SubRemélem, sikerül.
Üdv. -
Fferi50
Topikgazda
válasz
Misi_D
#45224
üzenetére
Szia!
Excelben van lehetőség arra is, hogy egy fájlt direkt eléréssel nyiss meg és olvass be. Így megoldható, hogy csak azt a rekordot tedd be a munkalapra, amelyikre szükséged van.
Itt a példa:Sub beolvaso()Dim utja As String, fnev As String, kinput As String, fc As Byteutja = "C:\Users\user\Documents"fnev = "\xxx.csv"fc = FreeFile()Open utja & fnev For Input As #fc ' file megnyitásaDo While Not EOF(fc)Line Input #fc, kinput 'egy teljes sor beolvasása a fájlbólMsgBox kinput 'itt megnézheted, mit olvastál be, ennek a helyére ill. ez után jöhet feldolgozásLoopClose #fc ' fájl bezárásaEnd Sub
Ez csak a fájlművelet, természetesen az excel munkalap kezelését is meg kell oldanod előtte illetve közben.
Remélem hasznos lesz neked.
Itt találsz a Line Input-ról súgót, illetve innen megtalálod a direkt fájlkezelés példáit is. [link]
Üdv. -
Misi_D
tag
válasz
Delila_1
#45221
üzenetére
Köszi!
Excelben már megy nekem is, nem ez a gond.
Túl nagy a csv fájl, s mivel a 90%-a haszontalan adat, már a betöltéskor/közben meg szeretném szűrni. Tehát olyan megoldást keresnék, ami során sql-el (vagy M vagy DAX....) meg tudnám szűrni "on the fly" a csv tartalmát.
-
Delila_1
veterán
-
Delila_1
veterán
-
Misi_D
tag
Sziasztok!
Lenne egy csv fájl, amit importálnom kellene excelbe, de úgy, hogy már megszűröm, nem kell minden rekord belőle.
A csv fájl többek között nem distinct id-kat, valamint ciklusszámlálót is tartalmaz - utóbbi egy érték 1-től x-ig, az adott id x különböző alkalommal (rekorddal) szerepel a csv-ben, viszont id-nként az x különböző mértékű lehet. Tehát pl az aaa id 22-szer szerepel, a ciklusszámláló pedig rekordonként 1-től 22-ig veszi fel az értékeket, a bbb id 18-szor, melynél a számláló 1-től 18-ig számlál.
Nekem az import során id-nként csak a legmagasabb ciklusszámú rekordra lenne szükségem. Ezt a szűrést hogyan lehet megoldani? Gondolom powerquery, de az M-hez annyira nem értek...Köszönöm!
-
zsolti_20
senior tag
Sziasztok. Segitseget szeretnek kerni konvertalassal kapcsolabtan. Mar megprobaltam mindent de egyszeruen nem tudok szovegbol szamot generalni.
Power Queryt hasznalok hogy adatokat osszegezzek. A tablazathoz ez a sor van megadva: ""Group " & Text.From([Index])". Elvileg itt konvertalja nekem textre.
Ezt az oszlopot szeretnem hasznalni VBA scripthez ami kepes keresest csinalni ezzel a sorral : "Application.Match(csoport, Columns(1), 0)"
De itt mindig megakad Run time error "13": Type mismatchra hivatkozva. Probaltam hasznalni seged oszlopot ahol levagom a Group reszt es csak a szam marad meg belole, szoval pl Group 1,Group 2, Group 3, ez levagva 1,2,3 de ugyan ugy hibat dob ki. Probaltam ezt =VALUE-val megadni, de ezt sem akarja, sot ha levagom a text reszet es csak a szamok maradnak es azt masolom at manualisan azt sem fogadja el. Csak azt hajlando elfogadni ha kezzel manualisan adom meg a szamozast.
Mar vegig probaltam mindent de itt elakadtam sajnos.
-
Delila_1
veterán
válasz
Lokids
#45212
üzenetére
Így egyszerűbb.
Sub mmm()
Dim s_rnG As Range, p_Osszeg, s_Cell As Range, ev As Integer, honap As Integer
Set s_rnG = Range("ADU2:ADX5")
p_Osszeg = 500
For Each s_Cell In s_rnG
If Year(s_Cell.Value) = Left(Cells(1, s_Cell.Column), 4) * 1 And Month(s_Cell.Value) = Right(Cells(1, s_Cell.Column), 2) * 1 Then
s_Cell.NumberFormat = "General"
s_Cell.Value = p_Osszeg
End If
Next
End Sub -
Lokids
addikt
válasz
Delila_1
#45211
üzenetére
Köszi a választ.
Nem rossz ötlet, hogy case-el megadom, hogy melyik szám melyik év/hónapot takarja.
De akkor sem kerülöm ki azt, hogy tíz év esetén 120 caset kelljen rögzíteni.Kis pontosítás: A makró egy másik listából dolgozik, ahol 1 sor 1 beszerzés.
Itt van olyan tétel, hogy szerződéskötés dátuma és szerződés összege.
A makró által létrehozott új munkafüzetben a fejléc az az év+hónap (2020.01 -> 2023.12) lesz.A lényeg, hogy ha a dátum 2022.01.22, akkor a Szerződés összegét a 2022. 01oszlopba rakja
-
Delila_1
veterán
válasz
Lokids
#45210
üzenetére
Egy leegyszerűsített példa
Sub mmm()
Dim s_rnG As Range, p_Osszeg, s_Cell As Range, ev As Integer, honap As Integer
Set s_rnG = Range("ADU2:ADX5")
p_Osszeg = 500
For Each s_Cell In s_rnG
Select Case Cells(1, s_Cell.Column)
Case 801: ev = 2020: honap = 1
Case 802: ev = 2020: honap = 2
Case 803: ev = 2020: honap = 3
Case 804: ev = 2020: honap = 4
End Select
If Year(s_Cell.Value) = ev And Month(s_Cell.Value) = honap Then
s_Cell.NumberFormat = "General"
s_Cell.Value = p_Osszeg
End If
Next
End Sub -
Lokids
addikt
Sziasztok!
Hogy kell kezelni normálisan makróval azt a problémát, hogy van 1 változó ami dátum.
Ez alapján egy másik változót (szám) el kell helyezni a megfelelő cellába.Eddig 1 évet kértek, ezért én csináltam 12db if-elseif elágazást. Viszont most meggondolták magukat és 3 évet kérnek. És valahogy nem tűnik jó ötletnek 36 db if-et odadobni. Főleg ha majd 10 évet akarnak.
Jelenleg ezt csinálom:
For Each s_Cell In s_rnG
s_CNum = Workbooks(Main_WB_Name).Worksheets(Likvid_WB_Head_Sheet).Cells(4, s_Cell.Column)
If s_CNum = 801 And s_Datum > "2019.12.31" And s_Datum < "2020.02.01" Then
s_Cell.value = p_Osszeg
ElseIf s_CNum = 802 And s_Datum > "2020.01.31" And s_Datum < "2020.03.01" Then
s_Cell.value = p_Osszeg
CNum-al adtam mind a 12 oszlopnak egy számot (801-812), hogy hogy adott hónapban adott mezőbe kerüljön az összeg.
Ezt hogy lehetne egyszerűbben? -
Delila_1
veterán
A Munka1-től Munka4-ig marad úgy, ahogy a 45202-es hsz képe mutatja.
Az összesítő lapon vegyél fel egy új oszlopot. Itt az A oszlopba kell beírnod a keresendő értéket, az új oszlopba pedig a lap nevét. Ezeket érvényesítésből is kiválaszthatod, hogy ne legyenek elírások.A B2 cella képletete
=HAHIBA(INDEX(INDIREKT($G2 & "!$A$1:$G$10");HOL.VAN($A2;Munka1!$A:$A;0);HOL.VAN(B$1;Munka1!$1:$1;0));"–")
amit jobbra és le is másolhatsz. Nem létező adat, vagy lapnév esetén "–" lesz a beírás. -
Zoty4
őstag
válasz
Delila_1
#45202
üzenetére
lehet rosszul fejeztem ki magamat.
Ezt a függvényt szeretném úgy modosítani hogy a többi munkalapról is be tudja kérni az adatokat:
=INDEX(Munka1!$A$1:$G$6;HOL.VAN($A2;Munka1!$A:$A;0);HOL.VAN(B$1;Munka1!1:1;0))
Ha csinálok egy 10-es összehasonlítást akkor mindegy melyik lapon legyenek, meg tudja jeleníteni.
Csak előfordulhat h munka1 és munka2-n is szerepelhet ugyanaz az árú, ez nem hiszem h gond, csak megemíltettem
Új hozzászólás Aktív témák
- BestBuy topik
- PH!otósok beszélgetős, offolós topikja
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Battlefield 6
- Kormányok / autós szimulátorok topikja
- Garancia kérdés, fogyasztóvédelem
- NFL és amerikai futball topik - Spoiler veszély!
- Anime filmek és sorozatok
- Óra topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Bomba ár! HP EliteBook 845 G9 - Ryzen 5 6650U I 16GB I 512SSD I 14,1" Touch I Cam I W11 I NBD Gari!
- Samsung Galaxy S23 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Lenovo X1 Yoga 1st - i7-6G I 8GB I 256SSD I 14" WQHD Touch I HDMI I W11 I CAM I Garancia
- Macbook Pro 2019 // i9 // 32GB / 2TB // Számla+Garancia //
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest








