Hozzászólások
-
SzerzőBejegyzés
-
Nem elég, ha figyelsz rá, mert ha megnyitáskor az Excel számként érzékeli, akkor már vége van.
A vezető nullákat még csak-csak vissza tudod tenni, de a végére nem tudod visszatenni a hiányzókat, mert már elveszítetted.
Emiatt megnyitás helyett importálni érdemes.Különben ez a feladat (is) tipikusan PowerQuery automatizációs megoldásért kiált, főleg, ha rendszeresen előfordul.
Egyszer megcsinálod az átalakítást, hozzáveheted a másikat is, megcsináod az összehasonlítást, és kész.Legközelebb csak megadod, hogy mely két fájlban lévőket kell összehasonlítani.
Milyen Excel verziót használsz?Imre
Szia!
Banki kivonat
Gondolom, hogy ahol csak 16 karakteres, ott az utolsó 8 az mind nulla.
Azt is gondolom, illetve remélem, hogy a kötőjeleket nem tartalmazó számlaszámok szöveges formátumban kerülnek az Excelbe, és megvan mind 16 karakter.
Erre nagyon figyelj! Ha megnyirtsz egy CSV-t, amiben 15 karakternél hosszabb számok vannak, ÉS az Excel külön cellába teszi a számlaszámot, akkor a 15. karakter után csak nullák lesznek, mert számmá alakítva nem tud 15 számjegynél többet megjeleníteni.
Próbáld ki, ha begépelsz egy cellába 16 vagy több számjegyet, akkor a 16. karaktertl mind nulla lesz, ha esetleg nullával kezdődne, azokat pedig levágja.
Ezért első feladat, hoyg a CSV-ből szövegesen kinyrni a számlaszámokat.Ezután én a következő logikán mennék:
– Ha a hossza 16 karakter, akkor kiveszek balról 8-at, ahhoz hozzáfűzök egy kötőjelet, és utána mehet jobbról 8, majd egy újabb kötőjel, és végül 8 db nulla
– Ha 24 hosszú, akkor Bal, Közép, Jobb, és közé fűzögeted a kötőjeleket.Imre
Szia!
Örülök, hogy sikerült.
Az UNPIVOT-os részt használod?Ha egy táblázat oszlopára abszolút hivatkozást akarsz csinálni (jobbra másoláskor nem másszon el az oszlpnév), akkor így kell rá hivatkozni:
Táblázatnév[[oszlopnev]:[oszlopnev]]
Pl.
=SZUM(Táblázat1[[Oszlop2]:[Oszlop2]])
Imre
Lehet, hogy a te gépeden csinált egy kapcsolati fájt és azt keresi…
Szia!
Sajnos nekem ebben semmilen tapasztalatom nincs.
De azért ötletem lenne:– Megnézném, hogy tudok-e új csatlakozást csinálni PowerPivot-ból
– Megnézném tudok-e csatlakozni egyáltalán bármivel a kiszolgálóhoz arról a gépről. Én PowerQuery-vel próbálnámAztán mennék a ha ige, ha nem ágakon tovább.
Imre
Ha jól gondolom, akkor a függvénnyel egy új oszlopba megcsinálod az átkódolt változatot, és azt kijelölve futtatod a makrót.
Ahogy megy a ciklus, a name változóba teszi az éppen soron következő cellát a kijelölésben.Ha a lementett PNG-nek az eredeti nevet szeretnéd adni, ami ugye egy oszloppal balra, a kijelölés mellett van, akkor próbáld ezt:
.savetofile ThisWorkbook.Path & Application.PathSeparator & val.offset(0,-1).Value & ".png", 2
Ha meg úgy is jó, akkor hagyd úgy..
Imre
Ha nincs O365, akkor saját URL enkódoló függvény kell.
Erre itt találsz példát:https://stackoverflow.com/questions/218181/how-can-i-url-encode-a-string-in-excel-vba
Imre
Szia!
A QR kódot nem a VBA program gyártja le, hanem egy Google webszolgáltatást hív meg, annak átadja az URL-ben a paramétereket, majd visszaolvassa az eredményt.
Tehát nincs ráhatás a QR kód generáló működésére, de lehet, hogy további paraméterekkel lehet rá hatni.
Egy másik megoldás lehet, hogy a cellában lévő szövegeket URL enkódolni kell, mielőtt kiküldöd az API-nak.
Erre Office 365-ben és lehet, hogy 2019-ben is van egy ENCODEURL függvény. A magyar neve most nincs meg, de valószínűleg valami hasonló…VBA-ban úgyis csak az angol játszik.
ha van O365-öd, akkor próbáld meg ezt:Name = val.Value helyett
Name = Application.WorkSheetFunction.EndodeURL(val.Value)Nézd meg mi lesz
Imre
Szia!
Csak most láttam ezt a kérdést.
Egy kicsit pontosíthatnád ha még aktuális..
Abból ne indulj ki, hogy a fórumozók ismerik a PowerQuery tanfolyam feladatait, mivel az egy fizetős kurzus…Minta adatok nélkül nem tudjuk, hogy
– Milyen szerkezetű a terv és a tény adatod
– Van-e még egyéb tábla?
– A terv és tény táblákat külön tartod vagy egybefűzöd?
– Mit csináltál eddig, és hol akadtál el?
– Egyáltalán milyen eszközzel akarod megoldani? Ha mértékről beszélsz, akkor talán PowerPivot?
– sorolhatnám még…Imre
–Szia!
Ránéztem egy kicsit, azt hiszem értem, hogy mit akarsz.
Mivel a sárga, zöld és narancs színű celláknak más a feltétele, így ugyanazzal a képlettel nyilván nem lehet megcsinálni, de talán arra gondoltál, hogy az azonos színűekben legyen azonos képlet.Szerintem meg lehet csinálni egy strukturális átalakítással, és néhány egyéb változtatással, amennyiben ez lehetséges.
A struktúrális változás az lennem hogy a második munkalapon lévő táblát (adatok) UNPIVOT-álni kellene, és rendes dátum oszlopot tenni bele.Ezután el tudom képzelni, hogy SUMHATÖBB függvénnyel megoldható lenne a történet.
Most csak a kérdés, hogy te el tudod-e képzelni egy másik munkalapra létrehozni egy átstruktúrált adathalmazt PowerQuery-vel?
Csatoltam egy megoldást, amiben a Munka1-en a te adataid alá lemásoltam az első két sort, és oda beképleteztem a három különböző feltétellel, és ugyanazt hozta, mint a te sima minta SZUM függvényed.
Úgyhogy szerintem jó.Előtte pedig megcsináltam a PowerQuery-vel az UNPIVOT-ot a Munka2-re.
Szóval ha csak használni akarod, akkor a képletekben a cellacímeket át kell módosítani, hogy az első adatsorból dolgozzanak,
(egy sárga, egy zöld, egy narancs) és utána ha megvan a színkódolás, akkor „csak” C/P.Imre
Attachments:
You must be logged in to view attached files.A link szövegesen, idézőjelek között van megadva, ezért darabokra szedhető és dinamikusan is összerakható.
Ha az utcák fájl elérési útja adott, akkor ahhoz kel hozzáfűzni a megfelelő lapnevet a városnév cellából.=HYPERLINK("[C:\Users\DELL\Documents\Excel_Bazis\dandras\utcák.xlsx]"&B4&"!A1";"utcák")
Csatolom a város fájlt, abban benne is van, kipróbáltam.
Az útvonalat kell módosítanod benne értelemszerűen.
Imre
Attachments:
You must be logged in to view attached files.Szia!
Hyperlinket össze lehet rakni függvények is.
Próbáltad?Imre
Megnyitottam, azon az egy cellán nem volt beállítva a „Sortöréssel több sorba” tulajdonság.
Bekapcsoltam, és megjavult.Imre
Szia!
Kérdés, hogy nem vagy-e szűrt állapotban, mart akkor nem működik.
Ha nem, akkor nézd meg az Excel beállításaiban (Fájl -> Beállítások -> Speciális -> Kivágás, Másolás, Beillesztés opciók -> Beillesztési opciók megjelenítése (vagy ilyesmi) legyen bepipálva.Nem tudom mi köze a kettőnek, de ezek szerint van, kipróbáltam, és ha ki van kapcsolva, akkor nekem sem jelent meg.
Ja, és mi történik, ha jobb gombbal húzod a kitöltő fogantyút?
Imre
2021-06-02-10:11 Hozzászólás: [Resolved] [Resolved] Ismétlődő értékek módosítása feltétel alapján #8619Örülünk 🙂
2021-06-01-14:18 Hozzászólás: [Resolved] [Resolved] Ismétlődő értékek módosítása feltétel alapján #8614Nem, az egészre kell kicserélni.
A DARABTELI-t kiveszed, és helyette a SZORZATÖSSZEG-től kezdődő teljes képletet kell írni, és annak eredményét hasonlítani össze eggyel.
Értelemszerűen a megfelelő paraméterekkel.SZORZATÖSSZEG(–(AZONOS(O17;$O$17:O17)))=1
Próba magyarázat
Az azonos fv egyesével megnézi, hogy az O oszlop aktuális eleme hányszor fordul elő pontosan az O oszlopban az elejétől az aktuálisig. Az eredmény egy tömb lesz, ami IGAZ/HAMIS értékekből áll.
A Dupla mínusz ezeket 1/0 értékekre cseréli. Tehát annyi egyes, ahány egyezést talált.
A SZORZATÖSSZEG ezt a tömböt összegzi, és így az egyesek összege darabszámot fog adni.Imre
2021-06-01-12:52 Hozzászólás: [Resolved] [Resolved] Ismétlődő értékek módosítása feltétel alapján #8612Először is JÉZUSOM!
Valóban a „09132” és a „9132” két különböző azonosítónak számít nálatok?
Tehát a fenti képen az első oszlopban mindkettő előfordulhat, és különbözőt jelent?És a keresési oldalon is különbözőt jelent?
A leírásod szerint ez van, ami eléggé elképesztő, ha ezek azonosítók.
Na mindegy, a DARABTELI viszont azonosnak tekinti őket, úgyhogy valóban nem lesz jó.Ebben az esetben a pontos egyezőséget vizsgáló egyik függvényt lehet bevonni, ami az AZONOS (EXACT) néven fut.
A képlet nem annyira triviális, mert egy tömbképlet, de most teljesen nem tudom elmagyarázni, csak próbáld ki a fenti DARABTELI-s képletet erre cserélni:=SZORZATÖSSZEG(--(AZONOS(A1;$A$1:A1)))
EZ MEGSZÁMOLJA, HOGY HÁNYSZOR FORDULT ELŐ AZ ELEJÉTŐL AZ AKTUÁLIS SORIG PONTOSAN AZ AKTUÁLIS SORBAN LÉVŐ ELEM.
Próbáld ki!
Imre
Szia Attila!
Hát, ilyet még nem láttam, hogy soronként más pénznem.
Ez jön valahonnan, vagy soronként lett beállítva manuálisan a pénznem?
A cellában ugye csak a szám van, és a formátumkód mondja meg, hogy hogy nézzen ki.
Szóval ezt az én eddigi tudásom szerint natív Excel formulákkal nem lehet megcsinálni, csak makróval.
Azzal ki lehet olvasni a cellában lévő szöveget, és abba szerepelni fog a pénznem is. (ActiveCell.Text)Informatikailag ez teljesen problémás, ezzel csak bajt okozunk magunknak vagy másoknak. Emiatt van szinte mindig külön oszlopban a pénznem.
Na, de van jó hírem is!
Utánanéztem, és találtam rá megoldást, szóval a világban előfordul máshol is ilyesmi 🙂
Igaz, hogy 2002-es bejegyzés, de működikA csatolt fájlban visszatöltöttem, kíváncsi vagyok, hogy nálad is működik-e.
Makrós munkafüzetbe kellet menteni, ezért zip-eltem.
De nem igazi VBA kódot tartalmaz, hanem Excel 4 makró függvényt abból akorból, amikor még az Excelben nem volt VBA, a makrók is függvényekkel dolgoztak. Ez még az előző évezredból való bőven 🙂Leírtam benne a teendőket és ki is próbáltam, nekem működott.
Imre
Attachments:
You must be logged in to view attached files.Szia!
Ahogy látod, RAR csatolmányra nincs felkészítve a rendszer. Zip jöhet, de egy kisebb példához a sima Excel XLSX is megfelel.
Látatlanban: Ha egy cellában van az összeg és a mértékegység, akkor az szöveges típusú lesz. Ez furcsa, de ha keveredve van, akkor már majdnem mindegy.
Ha 3 karakteres a pénznem, ahogy kellene (HUF és EUR), akkor csak az utolső 3 karaktert kell vizsgálni egy HA (IF) fügvénnyel.
Gondolom minden sornak van dátum értéke is, s ehhez még megvan egy másik táblában a napi árfolyam is, amit egy FKERES (VLOOKUP) függvénnyel tudsz kivenni.Imre
Csináltál benne egy ablaktábla felosztást.
Így két részre osztotta a munkalapot, mindkettőben függetlenül lehet görgetni vízszintesen.Ha rámész a függőleges osztóvonalra az egérrel, megváltozik, akkor a bal egérgomb nyomva tartása mellett tudod vontatni az osztóvonalat.
Húzd ki a bal vagy a jobb oldalra teljesen. Akkor eltűnik.Imre
Szerintem még van itt egy apró figyelmetlenség.
Miután kijelölted a teljes munkalapot, a JOBB OLDALI egérgombbal kell kattintani valamelyik betűn (fejléc) és utána választani a Felfedés parancsot.
Ha bal oldalival teszed, akkor új kijelölés lesz azon az oszlopon, amire kattintottál.Imre
Nos, akkor még egyszer fussunk neki, mert a leírásod alapján azt nem próbáltad, amit írtam. Lehet, hogy igen, csak nem tetted a felsorolásba.
1. Ablaktábla rögzítés kikapcsolása
Ha ez be volt kapcsolva, akkor már jó jel.
2. A teljes munkalap kijelölése a tetején, ahol a „A” betű és az 1-es szám találkozik, oda kell kattintani.3. Jobb klikk bármely oszlop fejlécen -> Felfedés.
Ha ezzel nem jön elő, akkor nem tudom….
Ha előjön, akkor örülünk, de fogalmam sincs, mitől tűnt el…Hacsak nem valahogy mégis tőled 🙂Pl. elrejtett állapotban tetted fel az ablaktábla rögzítését.
Imre
Kedves Imre!
Én azt látom, hogy az ablaktábla rögzítés (Feese Panes) be van kapcsolva.
Ha ezt kikapcsolod, akkor vagy egyből megjelennek, vagy még egy teljes munkalap kijelölés után kell egy jobb klikk-> Felfedés (Unhide…)próbáld meg, írj, hogy mi lett!
Imre
Szia!
Hát, nézegettem egy darabig, mire leesett, hogy mit szeretnél, vagy legalább is meg tudom kérdezni:
Szerintem azt akarod, hogy ha változtatod a tetején a dátumot egy hónappal későbbire, akkor a hónapok csökkenően lekövetik a képlet miatt, és a hónapokhoz tartozó értékek is kövessék a hónapok neveinek lefelé csúszását.Ha csak hónap és Összeg oszlop van, akkor ezt nem lehet natívan megcsinálni, csak eseménykezelő makróval, ami valljuk be, így „abszolút kezdőként” kicsit korai lenne.
Ha meghagyod a másik oszlopot (C) is, ahol a C5-től kezdődően eggyel balra és eggyel feljebbi cellára címzel, majd a dátum változásakor ezeket eggyel balra másolod értékként, akkor működhet.
Imre
Kedves Cassis!
Kérlek, hogy nyiss egy új topic-ot! (Jobbra fent találsz hozzá gombot.
Olvasd el figyelmesen az ott javasoltakat!Köszönöm,
Imre
Örülünk?
Szia!
Ha 365 van, akkor ne küzdj ezzel!
A Szűrő fv mindent tud, amit akarsz.Imre
Szia!
ha jól gondolom, akkor dinamikusan szeretnéd, azaz ha megváltozik a szeméy neve a fenti cellában (B2), akkor fusson le a szűrés, és hozza át a megfelelő sorokat az adott oszlopokból.
Ilyesmit natívan csak Office 365-ös Excel tud a SZŰRŐ függvénnyel.
Ha neked nem az van, akkor a következő lehetőségeid vannak:
1. tanulmányozod ezt a cikket, amit 2014-ben írtam: https://excel-bazis.hu/tutorial/dinamikus-szures-keplettel
2. Makrót használsz, ami vagy gombnyomásra vagy a B2 cella változására lefuttatja az irányított szűrést, aminek feltételtartományát a kiválasztott név adja.Imre
Kedves János!
Új téma/kérdés = Új topic.
Pláne ha már le van zárva az a topic azzal, hogy meg van oldva. [Resolved]
A kérdező érdeke is, mert egy korábbi kérdéshez jött hozzászólást a moderátor látja (én) és még azok, akik abban a témában hozzászóltak, és megjelölték követésre.Ha új topicot nyitsz, akkor a fórum minden előfizetője megkapja, hogy új kérdés jött.
Szóval kérlek, hogy nyiss egy újat.
A konkrét munkafüzetet nem kel feltölteni, de egy nem valós adatokat tartalmazót nem lenne rossz.Még mindig nem teljesen értem, de megkísérlem visszamondani.
– Van egy munkafüzeted egy munkalappal.
– Ezen megadod a dátumot (Ma fv),
– Megadod, hogy mennyi tisztítószerrel indulsz, mennyit használtál, mennyi maradt (vagy csak annyit, hogy mennyi maradt?
– Megadod azt is, hogy melyik mosógépen mi történt az adott napon? (Ez nem egyértelmű)Gondolom van kialakítva valami forma, sablon a kitöltéshez.
Azt szeretnéd, hogy ha ezt a munkafüzetet legközelebb megnyitod, akkor a mosógépek adatai legyenek üresen, de a tisztítószerek adatai mutassák az előző napon még megmaradt mennyiségeket, mint kiindulási adatot?
Ezt ugyanazzal a munkafüzettel nem nagyon lehet megcsinálni, esetleg valami makróval, ami a megnyitáskor kitöröl minden mosógép adatot, és az előző tisztítószer maradványt átírja kiindulási adatként.
Az előző napi mosógép adatok elvesznek? Elég furcsa, ha valóban ezt szeretnéd. Kinyomtatod a lapokat, és nem kell fájlban? Vagy egyáltalán nem kell, hogy mi történt a gépekben?Nyiss egy új témát, próbáld meg még egy kicsit jobban megfogalmazni, és ha lehet, tölts fel egy olyan minta munkafüzetet, amit szabad.
Imre
Szia!
Új topic-ot kezdj lszi!
Itt így senki nem fogja meglátni!Egy kicsit gondold át a kérdés megfogalmazását is, mert nem világos.
– Egy munkafüzetben gyűlnek balról jobbra a munkalapok?
– Tehát beszúrsz egy új munkalapot a végére, és azon történjen meg pár dolog automatikusan?Olyan nincs, hogy utoljára kitöltött munkalap, csak ha valahogy meg tudod mondani, hogy melyik az. Például ha mindig a végére teszel egy újat, akkor az előző lesz az utoljára kitöltött.
Imre
Szia!
Bar Chart Racing-nek hívják, jópofa!
Ez vagy egy erre való célprogrammal készült, vagy esetleg PowerBI-al, az már tudhat ilyesmit.
Az Excelben a PowerView is alkalmas különben ilyen animált, általában idősoron futó megjelenítésre.A forrás adattábla felépítése a lényeg, hogy tartalmazzon minden szükséges dimenziót.
Ha jól látom, itt van ember, párt, akciók száma, mindez szerintem napi bontásban lehet.
A dátumokat aztán hét-re osztva kérik az X tengelyenUtánanéztem, és igen, egy un. Custom Visual-t kell betölteni és felkonfigurálni az adatokkal, és ennyi.
Itt van két tutorial:
https://www.youtube.com/watch?v=tks7FDn6vKs&ab_channel=PavanLalwani-POWERBI
https://www.youtube.com/watch?v=sA9FsqB-J6M&ab_channel=AbhishekAgarrwalHa jól tudom, a Google datastudio is tud ilyet.
Imre
-
A hozzászólás módosításra került: 3 years, 12 months telt el-
horvimi.
Örülünk! 🙂
Szia!
Mit csinálsz, ha van két egyforma nevű ember az első lapon?
Ha ez kizárható, akkor elég egyszerű a megoldás, főleg, ha a nevek az első oszlopban vannak.Egy sima FKERES függvénnyel le tudod kérdezni a névhez tartozó bármelyik adatot.
Imre
Hát, akkor örülünk! 🙂
Szia!
Tanulmányozd a TEXTJOIN és a UNIQUE függvényeket a GoogleSheets-ben!
Ezek nemrég bekerültek az Excel 365-be is, de a Sheets már évek óta tudja.A UNIQUE fv egy tartományból kigyűjti az egyedi tételeket egy tartományba, ami ott kezdődik, ahová a képletet írod.
A TEXTJOIN pedig egy tartomány celláit összefűzi. Megadhatsz elválasztójelet is, és azt is, hogy az üreseket figyelmen kívül hagyja-e.Csináltam egy próbát:
Az A-C oszlopba írogattam értékeket
Volt olyan sor, ahol mindhárom ki volt töltve, volt, ahol csak kettő, és volt, ahol tettem ismétlődést is.
Aztán a D1-be beírtam ezt a képletet, mjajd lehúztam:=textjoin(,TRUE,UNIQUE(A1:C1))
A UNIQUE egyedi listát csinál, és ezeket a TEXTJOIN összefűzi elválasztójel nélkül (ezért az első paraméter egy üres vessző), az üresek kihagyásával (ez a második paraméter, ami TRUE)
Ezt kerested?
Szia!
Megmondom őszintén, nem lettem okosabb. De te is érzed, ahogy írtad is 🙂
Szóval a Google sheets az válasz az egyik kérdésemre.
A hosszú leírás talán válasz a negyedikre, bár nem értem.Próbálom másképp kérdezni.
1. Az összefűzendő adatok egy munkalapon vannak egy sorban, egymás mellett, ahogy a mintában írtad?
2. Több különböző is lehet közöttük?
3. Lehetnek közöttük üresek is?
4. Az a cél, hogy ezekből egy egyedi listát készíts, majd fűzz össze egy cellába?-
A hozzászólás módosításra került: 4 years telt el-
horvimi.
Szia!
Több kérdésem is lenne:
1. Melyik Excel verziót használod?
2. három oszlopod van a valóságban is?
3. Van olyan is, hogy 3 különböző van egy sorban, vagy két azonos és egy eltérő?
4. Mi az összefűzés célja?Azért kérdezek, mert egyrészt pontosan szeretném megérteni, amit szeretnél, másrészt elég sokszor kiderül, miután az ember tornázik egy csomót, hogy a valódi feladat jelentősen más, mint ami a mintában látható.
Imre
Szia!
Sikerült összeraknom egy tömbképletet, ami működni látszik, de néhány dolgot tisztázni kell.
Veled kapcsolatban:
1. Milyen verziójú Excel-t használsz?
2. ismered-e a tömbképleteket?
3. Ismered-e a névtartományokat?A modellel kapcsolatban:
1. Jól látom-e, hogy a Consumption lap fejlécében az értékek ugyanolyan sorrendben vannak, mint a Prices lap első oszlopában?
2. Ez a két rész bővülhet, szűkülhet-e a jövőben?
2. A profit képletben a prices lap melyik oszlopát használnád? (Rubel buy/sell vagy Dollár buy/sell), tehát a 4-ből melyiket?Ha várható változás, akkor karbantartási feladat is adódik.
A képlet így néz ki:
=SZORZATÖSSZEG(INDEX(consuption_data;HOL.VAN(B22;buildings;0););TRANSZPONÁLÁS(INDEX(Prices!$B$3:$B$41;SORSZÁMLISTA(39;1;1;1))))
Szívesen megmutatom és elmagyarázom, hogy hogy működik és hogy kell karbantartani, egy konzultáció keretében.
Ha érdekel, levelezzük le.Imre
Szia! (Ez egy köszönés) 🙂
Azt hiszem értem mit szeretnél.
Ugyan a csatolt fájlt nézve szerintem a Main lap B22 alapján szeretnél elindulni, és az eredményt az E21, E22 cellákba szeretnéd, de ez részletkérdés…Ez egy elég összetett művelet, egy képletet nem nagyon lehet rá írni.
Egyik lehetőség a makró.Másik, ha a segéd számításokat (kereséseket) teszel bel.
A „Consumption” lapon a tetejére lehetne tenni két sort, amibe a fejléchez tartozó árakat lehetne kikeresni a „Prices” lapról
Az egyikben a dollár ár, a másikban a rubel ár. Ha scak az egyik kell, akkor csak egy sor
Meg még egy üres sor a fejléc elé.Így a „Consumption” lapon előáll egy olyan, hogy a keresett érték a main lapon kiválasztott tétel sorának és a tetején lévő ár sornak a szorzatösszege lesz.
A nehézséget a Main lapon kiválasztott tétel sorának hivatkozása jelenti. Ez elég bonyolult.
Lehet próbálni INDIREKT függvénnyel, vagy esetleg ELTOLÁS függvénnyel.Imre
Szia!
Online Excelben nincs VBA.
Még még sok egyéb sincs, de most ez a lényeg…Imre
Szia!
Te csináltad a programot?
Kicsit zavaros a kérdésed, próbálom tisztázni.Azt írod, hogy gombnyomásra tetszőleges sort szeretnél átmásolni.
Ez mit jelent? Azt, amelyiken éppen áll a cellakurzor?A program a kettes sor adatait másolja a „Kiadólista” lapról a „Totalkiadas” lap első üres sorába.
Egy sort másol, fixen a kettes sorból az A:G tartományt.Én azt gyanítom, hogy nem jól fogalmaztad meg a kérdést. Talán tetszőleges számú sort akartál írni?
Akkor is az a kérdés, hogy ez mit jelent? Hogy derül ki a tetszőlegesség?
Esetleg azt szeretnéd, hogy a „Kiadólista” lapról minden sort hozzá akarsz fűzni a Totalkiadas” lap végéhez?Imre
Szuper, örülünk! 🙂
Azt hiszem igazad van.
-11-et kell csak visszamenni.Kipróbáltad?
Szia!
Szóval az utolsó 12 adatra van szükséged dinamikusan.
Ezt az ELTOLÁS (OFFSET) függvénnyel meg lehet csinálni. Valószínűleg az INDEX és az INDIREKT is használható lenne,
én az ELTOLÁS-sal oldottam meg.
A logika nagyjából a következő:A B oszlopban vannak az adatok, a fejléce az 1. sorban van.
Egy olyan tartományt kell kijelölni, ami az utolsó sortól visszafelé 12 sorral kezdődik, és 12 sor maga, 1 oszlop széles.
Azért így írom le, mert ezek az ELTOLÁS fv paraméterei.
A fő pont az utolsó sor megtalálása.
Kihasználjuk, hogy az 1. sorban kezdődik az oszlop, így ahány érték van benne, annyi sor van.
Ezt a DARAB2 (COUNTA) függvénnyel lehet megnézni.A tartomány tehát így áll össze:
=ELTOLÁS($B$1;DARAB2($B:$B)-12;0;12;1)
Lefordítva: A B1-től lefelé menjen annyit, ahány kitöltött érték van a B oszlopban, majd onnan menjen fel 12 sort és nulla oszlopot.
Innen jelöljön ki egy 12 sor magas és 1 oszlop széles tartományt.Ez egy tartomány hivatkozás, ami önmagában nem működik, be kell ágyazni valamilyen aggregáló függvénybe, mint pl. neked a DARABTELI.
Az első képlet a 10-nél nagyobbak számát adja vissza az utolsó 12 hónapból:
=DARABTELI(ELTOLÁS($B$1;DARAB2($B:$B)-12;0;12;1);"<10")
Én ilyenkor az ELTOLÁS függvényt el szoktam nevezni a névkezelőben, és a képletekben a nevet használom.
Ha a 40 diagramod 40 Excel fájlban van, akkor ez így kész.
Ha laponként, akkor a névkezelő már kicsit problémás, akkor legyen a beágyazott függvény..Csatoltan a fájl, a névkezelőben az elnevezett képlet.
Imre
-
A hozzászólás módosításra került: 4 years telt el-
horvimi.
Attachments:
You must be logged in to view attached files.Szia!
Ha lapvédelmet kapcsolsz, akkor a sor és oszlop csoportosításról le kell mondanod, az autoszűrő használatáról viszont nem.
Ha bekapcsolod a lapvédelmet (pl. Munkalap neve jobb klikk -> lapvédelem…), akkor feljön egy ablak, aminek az alsó részében azok a a műveletek vannak felsorolva, amiket a védelem ellenére mégis lehet csinálni. A vége felé ott az „Autoszűrő használata”, csak be kel pipálni.Kipróbáltam, a többi művelet közül egyik sem engedélyezi a sor és oszlop csoportosítást.
Viszont a már meglévő csoportok ki-be csukogatását lehet engedélyezni
A fenti kód pedig azért nem jó, mert jelszóval védeni/feloldani egyszerre csak egy munkalapot lehet.
Erre szoktunk ciklust írni, ami végigmegy minden munkalapon.
Valami ilyesmi kellene:Private Sub Workbook_Open() Dim s As Worksheet For Each s In Sheets s.Protect Password:="Demo", AllowFiltering:=True, userinterfaceonly:=True s.EnableOutlining = True Next End Sub
Imre
-
A hozzászólás módosításra került: 4 years telt el-
horvimi.
Megnéztem, nagyjából ugyanaz a megoldás, mint amit én javasoltam, csak egy kicsit másképp.
Lényeg, hogy megoldódott.Imre
A CSV ugye alapból nem ad nagy méretet, tiszta adat.
Az Excelben már van némi overhead.
Emellett az Excel nem adatbázis kezelő.
Ha több év adatait akarod kezelni, akkor az már más kategória szerintem.
Megpróbálhatod első lépésben az eredmény Excel-t XLSB-ben elmenteni és megnézni mekkora lesz.Következő lépés lehet, hogy Nem munkalapra gyűjtöd, hanem PowerPivot adatmodellbe, ami egy idő után amiatt is indokolt lehet, ha elkezded súrolni az Excel sorszám korlátját egy munkalapon.
Egy 35MByte-os Excel különben eléggé hétköznapi méretnek számít.
Imre
Kati!
Bedobnád a linket, hadd okosodjunk itt is?
Végülis az egészet ezért csinálom.Köszi
Ha nem töltesz fel minta táblát, akkor nekem további időt kell szánni arra, hogy teszt adatokat készítsek pont ugyanoda, kiprobaljam, stb…
Te kértél segítséget…Szerintem akkor nem érted, amit leírtam.
Tegyél fel mintát, és válaszolj a feltételezésekreSzia!
Olyan képlet nincs, ami ezt a két részt mondjuk a kódok alapján egymás mellé rendezné.
De másik megoldást viszont el tudok képzelni.Ehhez feltételezem, hogy egyik részben sincs ismétlődés. (Bár még az is lehet, hogy nem baj ha van)
És azt is feltételezem, hogy a második rész minden eleme előfordul az elsőben is.Szóval a következőt csinálnám
1. A két részt egymás alá tenném egy sor kihagyással
2. A tetejére az első szabad oszlopba írnék egy képlette, ami megnézi, hogy az aktuális sor kódja hányszor van meg az egész oszlopban. Ha ez 1-nél több, akkor kiveszi a kódot, különben üres szöveg.
3. A következő oszlopba megy egy ugyanilyen képlet, de az a megnevezést veszi ki.
4. A két képlettel lehúzod az első rész aljáig.
5. A képeteket értékké alakítani
6. A második rész lentről törölhetőHa a feltételezésem nem állják meg a helyüket, akkor mást kell csinálni.
Ha a feltételezés helyes, de nem boldogulsz vele, akkor töltsd fel azt a mintát egy Excel fájlban!
Imre
-
A hozzászólás módosításra került: 4 years telt el-
horvimi.
Örülök, hogy sikerült.
A hibakezeléses dolognak nincs funkciója. Látom, kivetted. Benne maradhat, de a sub-on belül minden hibát el fog nyelni.
Ha pl. egy integer-nek stringet adnál, akkor „type mismatch error” hibát ad futás közben.
Viszont ez nem jön elő a hibakezelés kikapcsolása miatt.Szóval szerintem csak úgy veszélyes beírni egy ilyet anélkül, hogy kezelnéd a potenciális hibát.
Na hajrá!
Örülök, hogy megoldottad.
Valami gond volt a fórum motorral a WordPress-ben.
Frissítettem.Most lehet újra ZIP-et feltölteni és remélem a szerkesztés dolog is megoldódik.
Imre
Szia!
Elég kacifántos, mert a PQ nagyon szigorú, de nekem így sikerült egy biztató kísérlet:
Megvan az eredeti oszlopod, ami 96+1 sor ha jól értem. Ez 15 percenként 0:00-23:45-ig jó.
0. Ráindítod a Powerquery-t
1. PowerQuery-ben felveszel egy Index oszlopot 0-tól kezdődően
2. Felveszel egy egyedi oszlopot, amiben a képlet: = 1/24/60*15 (Ez 15 perc numerikusan)
3. Egy következő oszlopba összeszorzod az index oszloppal, kapsz egy 15 percenként növekvő listát
4. Ennek az oszlopnak módosítod a típusát időre. ha szövegesen akarod, akkor szövegre.Imre
By design nem lehet ilyet csinálni, ahogy írtam az előbb, csak értékmezőkkel lehet dolgozni a számított mezőkben, feltételeket is csak azokra lehet adni. Olvass utána, ha nekem nem hiszed el.
Mondjuk jobb lenne, ha simán hibát adna, de ehelyett hamisnak értékeli a feltételt, mivel soha nem teljesül.
Különben a pivot táblában jelenleg nincs is olyan oszlop, hogy „pénznem”, csak olyan, hogy „Sorcímkék”, de ha átnevezed se fog menni.
Viszont PowerPivot mértékkel, SUMX függvénnyel meg lehet csinálni amit szeretnél.
Az értelmét te látod, azt nem kerestem…
Imre
Különben pedig az a helyzet, hogy ilyet nem lehet csinálni, nem hinném, hogy bármelyik verzióban fut, amennyiben jól használod a számított mező fogalmát.
Számított Pivot mező csak az Érték (Szum) területre behúzott mezőkkel tud dolgozni, feltétel is csak azokra adható.
Egy számított oszlopot kell csinálnod az alap táblába (Ft összeg), és ott megcsinálni a szorzást, ha a pénznem „Ft”, majd azt a mezőt használni a PIVOT-ban
Mivel nem látom a munkafüzetet, a többihez nem tudok hozzászólni.
Imre
Szia!
És min nem fut?
Nem látok csatolt fájlt.
Ja, és gondolom a képletben az „EUR” értékeket akarod szorozni, hogy minden forint legyen nem?
Imre
-
A hozzászólás módosításra került: 4 years, 1 month telt el-
horvimi.
Zip-et tudsz feltölteni. A topic indításakor is odaírtam…
De szerintem meg fogod oldani.A hibakezelés kikapcsolásának semmilyen funkcióját nem látom a kódban.
Csak akkor csináljuk, ha a van egy olyan parancssor, ami hibát okozhat. De ezután meg szoktuk vizsgálni, hogy volt-e hiba…Imre
Azt én honnan tudjam?
Attól függ, mihez kezd vele az a rendszer, ahová importálod.
Mentsd ki, és nézd meg a csv-be mi kerül ezek helyére.
ha egy üres tagolójel, akkor OK.
Ha nem, akkor lehet gond.Ha Excelben rászűrsz ezekre a sorokra, kijelölöd és DEL, akkor megszabadulhatsz tőlük szerintem.
Különben hogyan keletkeztek? Ismered a származását?
Örülök.
Arra nem merek rákérdezni, hogy eddig mit csináltál 🙂Szia!
Ha nagyon gyorsan szeretnéd megoldani, akkor a Villámkitöltést ajánlom.
1. Az egybeírt nevek mellé beteszel két üres oszlopot
2. Az első név mellé beírod a vezetéknevet, majd kijelölöd a beírt vezetéknevet
3. Ctrl+E
4. Ugyanez a keresztnévvel.A szóközök mentén történik a darabolás. ha vannak 3 nevűek, akkor majd meglátod mit találsz ki 🙂
Lehet képlettel is csinálni, de ez a leggyorsabb, viszont nem frissít, ha cseréled a neveket, újra kell futtatni.Ugyanez a dátumokkal, csak itt ugye 3 üres oszlop kell
Elsőbe az évet, majd Ctrl+E
Másodikba a hónapot majd Ctrl+E
stb..Imre
Szia!
Épp ma találkoztam egy ilyen munkafüzettel.
gondolom a HOSSZ fv is nullát mutat.
Azt is gondolom, hogy a Minden törlése parancs (Nem a DEL billentyű, hanem aformátum törlés feletti) meggyógyítja.
A cellában ilyenkor egy üres string van, amit ugye dupla macskakörömmel szoktunk jelölni képletekben, makrókban, stb..
Írj le egy képletet, ami megnézi: Pl.:=C2=""
IGAZ-at fog adni. (szerintem)Lehetséhes, hogy
– A cella tartalma Copy/Paste eredménye, és a forráshelyen egy olyan képlet volt, ami miatt „” lett az értéke,
ide pedig érték beillesztéssel került.
– Saját magára értékbeillesztésként az előbbi
– Volt benne egy üres aposztróf, majd érték beillesztés történt saját magára
– Bármi egyéb… 🙂Imre
Szia!
Több probléma is van akóddal, de a hibát a következő okozza:
Olyan nincs, hogyRange(Cells(Jaavsor + 2, 15)).Value
Ha ezt beírod az immediate ablakba, hibát dob rá.
Mivel kikapcsoltad a hibakezelést (miért is?) ezért simán tovább megy, de a változóban nem lesz semmi.A Range-nem így nem lehet egy cellát megadni, de nem is kell, mert ez elég, és jó is:
Cells(Jaavsor + 2, 15).Value
Ha ezt javítod, valószínűleg jó lesz.
Egyéb problémák:
– A változók deklarációjánál egyenként kell típust adni, nem lehet őket tömegese tipizálni mint mondjuk C-ben
Tehát aDim a, b as integer
azt jelenti, hogy az a variant lesz, a b integer.
Helyesen külön sorrba, vagy :Dim a as integer, b as integer
– Az Inputbox mindig szöveget ad vissza, ezt nem kezeled idejében, a bevitelnél.
Ez lenne jó:TorzsSzam1 = CInt(Application.InputBox("Kérem a törzsszámodat!"))
Utóbbi nem biztos, hogy hibát ad, de megeshet.
És akkor már lejebb nem kell integerre alakítani Torzsszam2-t (sem)A többi részt nem néztem. Ha ezt javítod, és a logika jó, akkor jó lesz.
Imre
Így van!
hajrá!Szia Kálmán!
Ez nem anomália, hanem így működik, ez a helyes válasz.
A kérés a tartomány oszlopára és sorára vonatkozik, nem az aktív celláéra.A tartomány oszlopa és sora az, ahol kezdődik.
Akárhová helyezed a cellakurzort a tartományon belül,attól még az ugyanott fog kezdődni.Mit szerettél volna csinálni?
-
A hozzászólás módosításra került: 4 years, 1 month telt el-
horvimi.
2021-03-15-23:06 Hozzászólás: Dinamikus szűrés függvénnyel, duplikációk figyelmen kívül hagyásával, szummázás #8372Szia!
Ez egy PIVOT tábla probléma. A dinamizmust az oldja meg, hogy a forrás 3 oszlopot táblázattá alakítod.
https://excel-bazis.hu/tutorial/tablazatok-az-excelbenAz új sorok automatikusan belekerülnek a táblázat objektumba.
Aztán ez alapján készítesz egy kimutatást (PIVOT tábla). Azt ismered? (Beszúrás -> Kimutatás)
Ezután, ha változnak az adatok, csak frissíteni kell a kimutatást.
Ebből nem csináltam még ingyenes videókat, de van egy nagyon komoly videótanfolyam róla.
https://videotanfolyam.pentaschool.hu/courses/excel-pivot-tabla-mesterkurzusImre
Nem teljesen.
Én ezt már csináltam teljesen angol környezetben, ahol a Windows is és az Excel is angol, és a többi lehetséges vegyes környezetben is. Magánszemélyek,multik dolgozók, stb…Nálad van valami különleges.
A VB editor környezet pedig mindenhol angol, vagy inkább úgy fogalmaznék, hogy nincs belőle magyar, mert németet és franciát láttam már…
Na mindegy, ezt megjegyzem magamnak. 🙂
Imre
Windows 8.1??? Atyaég!
Az Excel viszont 2016-os. Ezt a kódot 2010-es verzión sokat futtattam, aztán 2013-on és 2016-on, végül 365-ön is.
Nem tudom, hogy mi a baja, valószínű, hogy valami regionális beállítás issue.
találtam egy fórum bejegyzést, ahol ugyanez a baj, ott sem tudták megoldani. Tehát legalább nem vagy egyedül a világegyetemben 🙂
https://www.ozgrid.com/forum/index.php?thread/1229157-recorded-autofilter-macro-using-array-with-date/&pageNo=1Nálad ez nem fog menni, hacsak valami beállítást nem sikerül megtalálni.
Őszintén szólva már vártam ezt a hibát, mert kicsit illékonynak érzem ezt az Array-es megközelítést.
Ennek ellenére kb. 10 év alatt nem jött kiMást kell csinálni, úgy felvenni, hogy 2007 május 1 és 2007 május 31 közöttiekre szűrjön.
Felvettem úgy, hogy az autofilter lenyitásakor „Két érték között”-et választottam, és megadtam 2007 május 1 és 31-et.Ezt vette fel:
ActiveSheet.Range("$A$1:$I$81").AutoFilter Field:=1, Criteria1:= _ ">=2007.05.01", Operator:=xlAnd, Criteria2:="<=2007.05.31"
Ezt futtatva nem működött. Nem dobott hibát, de üres fejléc maradt a szűrésnél.
Cseréltem erre:
ActiveSheet.Range("$A$1:$I$81").AutoFilter Field:=1, Criteria1:= _ ">=5/01/2007", Operator:=xlAnd, Criteria2:="<=5/31/2007"
Ezzel jó.
Nálam.Ha nálad hiba lesz, akkor játszogass a hónap/nap/év sorrendekkel.
Imre
A megoldásban se működik?
Ha abban sem, akkor nagy valószínűséggel a dátum forma más lehet a gépeden…Ha a megoldásban működik, (remélem nem), akkor fogalmam sincs 🙂
Szia!
Gyorsan megnéztem.
Természetesen nálam simán lefut 🙂Ezt a példát több száz ember megcsinálta már, soha nem jött hibajelzés.
Ha kikommentezed a dátum szűrést, a második szűrés lefut jól?
A megoldás munkafüzetben működik?Imre
Szia Kálmán!
Ha még nem derült ki, akkor a válaszodban töltsd fel a makrós fájlt.
VIGYÁZZ!
xlsm-et nem lehet feltölteni, de ha zip-eled, akkor már menni fog.Addig megkérdezem, hogy milyen Excel verzión, milyen nyelvi beállításokkal dolgozol?
Ha kiderült.akkor oszd meg velünk a megoldást 🙂
Imre
Szia!
Ezt csak úgy lehet megcsinálni, ha a táblázaton kívülre egy cellába beírod, hogy melyik értéket kell figyelni.
Egy másikba meg akkor beírhatod, hogy mi a határérték.A feltételes formázás képlete egy ÉS fv lesz.
Az aktuális cella = a figyelt értékkel ÉS az aktuális cella a határtéknél többször szerepel (DARABTELI)Olyat, hogy amelyik számra kattintasz, annak az előfordulásait nézze, és színezze, ha több, mint valami, csak eseménykezelő makróval lehet megoldani.
Imre
Imre
Ezt is segédoszloppal tudod megcsinálni.
Azt kell megnézni, hogy a bal első betű pontosan megegyezik-e a saját maga kisbetűsre konvertált értékével.
ha igen, akkor eredetileg is kisbetűs volt. tegyük fel, a C oszlopban vannak az adatok a 4. sortól, akkor a D oszlopba mellé ezt írod, majd leküldöd az aljáig:=AZONOS(BAL(C4;1);KISBETŰ(BAL(C4;1)))
IGAZ és HAMIS értékeket kapsz, ami alapján lehet szűrni az IGAZ-akra.
Imre
Szia!
Ha ez tömegesen fordul elő, akkor megéri vele foglalkozni. Lehetne rá írni egy makrót pl. hogy ha kettőt kattintasz egy cellán, akkor a tartalmát fűzze hozzá az előző cella tartalmához, majd törölje a sort, de maradjunk a realitásoknál, és nézzük mi az, amit bárki meg tud csinálni.
Annyi a teendő, hogy amit te a szemeddel veszel észre, azt az Excelnek meg kell mutatni.
Szóval én csinálnék egy új oszlopot, és azokban a sorokban, amit az előzővel össze kell fűzni, tennék egy jelet, mondjuk egy „x”-et. Ez nem úszható meg.
Ezután tennék még egy oszlopot, amibe írnék egy képletet, ami a következő sorban megnézi az „x”-et, és ha ott van, akkor a következő sor szövegét összefűzi az aktuális sor szövegével. Esetleg a kettő közé még egy szóközt is betesz.Ezt a képletet lehúzod az aljáig, értékként saját magára visszateszed, majd az eredeti szöveg oszlopot és az „x”-es sorokat törölheted.
Imre
Imre
Szívesen. ezt írtam elsőre is. 🙂
Hát, nem tudom mit csinálsz valójában, és csatolok egy mf-et, amibe betettem különböző esetekre a képletet, szerintem működik.
Attachments:
You must be logged in to view attached files.Szia!
Két probléma is van a képlettel.
Az egyik, hogy a B2-nek nem az óra részéhez akarsz hozzáadni, hanem teljes magához, ezért az ÓRA fv nem kell AS B2-elé.
A másik, hogy a két feltételt fordított sorrendben kell felírni.
Ha a HA fv feltétele IGAZ, akkor az igaz ágat csinálja és soha nem megy tovább a hamis ágra, azaz a második HA függvényre.Ha egy idő több, mint 80 perccel korábban van, mint az M1 ideje, akkor az is igaz lesz rá, hogy több, mint 60 perccel korábbi.
Ebben az esetben mindig az első HA fv igaz ágán megy, és egy felkiáltójelet ír.Szóval szerintem a C2:
=HA(B2+IDŐ(1;20;0)<$M$1;"!!";HA(B2+IDŐ(1;0;0)<$M$1;"!";""))
Imre
Szia!
Mind a két oszlopot megsorszamozod 1-tol végéig, így a párok azonos sorszámot kapnak.
Lesz tehát 4 oszlopos.
Sorszam1, adat, sorszam2, adat2Ezután a második adatoszlopot sorszamaival együtt az első alá másolod, így kapsz egy két oszlopos táblát, elsőben a sorszámot, másodikban az adatok
Végül rendezés sorszám szerint novekvobe, így az azonos sorszámuak egymás alá kerülnek.Egy próbát megér..
Imre
Ez a végén ott hagy egy szóközt!
Szia!
A keresztnév és a HU között a fenti mintában csak egy szóköz van. A valóságban 5?
Vagy valamit félreértek?Mindegy, és megpróbálnám megkeresni a „HU”-t és ahol az van, annyi mínusz egyet levennék balról, majd megtrimelem.
=KIMETSZ(BAL(A2;SZÖVEG.KERES("HU";A2)-1))
Imre
P.S
A KERES függvény nem ilyen jellegű keresésre szolgál különben.De lehet. Kipróbáltad?
De ez már egy másik Topic lenne. Ha próbálod és nem jutsz eredményre, nyiss egy új témát neki.Köszönöm.
A HAHIBA is jó, de én a SZÁM függvénnyel szoktam csinálni.
=SZORZATÖSSZEG(--(SZÁM(SZÖVEG.KERES("e";C5:C11)))*(D5:G11))
A rejtett oszlop elmentését nem igazán értem. Ha elrejted az oszlopot, akkor nem látszik és kész. Mentés és megnyitás után rejtett marad. Attól még lehet rá hivatkozni.
Lehet még beszélgetni erről, de megoldottnak jelölöm a kérdést.
Imre
Én ezt értem, eddig is értettem.
A kérdésem az, hogy a képlet, amit írtam neked, megoldja-e a problémádat?Csak hogy lezárhatom-e mint megoldott kérdést…?
Nem muszáj, sőt! éles fájlt feltölteni, csak mintát! Kizárólag az időspórolás miatt.
A fenti válaszodból nem derült ki, hogy a megoldás jó-e neked.
Kérlek, adj erre visszajelzést!Köszönöm!
Szia!
Nem definiáltad pontosan, hogy adott szövegrészletet tartalmazó, vagy azzal kezdődő legyen a feltétel.
Ezen kívül még annyi, hogy a válaszadók munkáját megkönnyíted, de mindenképpen rövidíted, ha feltöltesz mintát, mint hogy arra kéred őket, hogy fizikailag reprodukálják a képen látható adatokat vagy akár olyasmit.Jelen esetben ez nem volt akkora kaland, csak jelzem…:-)
A C oszlop első oszlopának minden cellája tartalmaz „e” betűt, ezért arra gondolok, hogy az e-vel kezdődőekre vagy kíváncsi.
A képlet:
=SZORZATÖSSZEG(--(SZÖVEG.KERES("e";C5:C11)=1)*(D5:G11))
Ez egy tömbképlet, de mivel Szorzatösszeg függvényt használok, nem kell CSE-vel lezárni. Illetve O365-ben már eleve nem kel CSE
Imre
2013-as Exceltől létezik a FormulaLocal, amiben már lehet használni pontosvesszőt is, ha magyar rendszeren dolgozik.
Én nem szoktam ezt javasolni…Imre
Az INDIREKT meg Volatile, úgyhogy csak óvatosan vele!
Verax!
ha kódot teszel fel, lszi tedd „code” tagek közé, hogy nem formázott szövegként (preformatted) jelenjen meg, és akkor copy/paste-el lehet másolni, nem lesznek rosszak pl. az idézőjelek. Ez egy kezdőnek megfejthetetlen probléma.
Csak kijelölöd a kódrészletet, és megnyomod fent a code gombot.
Köszi!
Imre
A Vlookup-ban is kell a .Cells(iRow,3), ez már csak egy értéket fog oda tenni.
Tehát helyesen (szerintem, nem teszteltem)
.Cells(iRow, 9).Formula = "=iferror(vlookup(" & .Cells(iRow,3) & ";Segédtáblák!$I$4:$J$174;2;0);0)"
Az iferror nulláját nem tesszük idézőjelbe!
Imre
Szia!
Több dolog is problémás.
Az első, hogy a képlet ugye egy szöveg, és ebbe szúrsz be változó részeket.
Ezt úgy kell csinálni, hogy meg kell szakítani a változó előtt a konstans stringet, befűzni a változót, és folytatni a stringet.Kb így:
.Cells(iRow, 9).FormulaArray = "=iferror(vlookup(" & irow,9 & ";Segédtáblák!$I$4:$J$174;2;0);"0")"
Második, hogy a vlookup első paramétere egy db érték szokott lenni, én nem tudom értelmezni az irow,9 részt ott. Tulajdonképpen mit is keresel? A hol keressen rész az jól meg van adva. Ugyan fix címzéssel, ami szintén felvet jövőbeli problémát, ha a Segédtáblák lapon az I:J oszlopokban több adat lesz valaha, mint most, a 174. sorig.
Harmadik, hogy szerintem ez nem egy tömbképlet, a formulaArray nem indokolt, elég a formula is.
És lesz majd még egy negyedik is, hogy az iferror végén miért van a nulla idézőjelben megadva?
Ha így akarod, akkor újabb zavar keletkezik az erőben, mert a mulla előtti macskaköröm lezárja a képlet-stringet.
Erre van megoldás, de eőbb az előzőeket kell rendbetenned.Imre
„Nincs Access a gépeken”
Szia!
Az Excel natívan nem tartalmaz DBF mentési lehetőséget.
Hogy csináltad meg a DOS 850-es kódolással?Találtam egy szoftvert, ami éllítólag képes kódolást változtatni egy létező DBF-ben.
http://dbf-software.com/download.htmlÁllítólag az OpenOffice is tud ilyet, én nem próbáltam…
Imre
Én továbbra is a PIVOT-os megoldás mellett lennék.
És még flexibilis is, csak a vevőt nem szűrőbe, hanem szintén SOR-ba tenném. Aztán lehet játszogatni1. Az egyes termékeket milyen vevők milyen napokon vették, és azok közötti különbség
2. Az egyes vevők milyen termékeket mely napokon és azok közötti különbség.
stb…Egy feltétele ennek az, hogy egy vevő egy bizonyos termékből egy adott napon csak egyszer vásároljon.
Így jó lesz a SZUM (összeg), mert egy dátum csak egyszer szerepel, annak szummája önmaga.De az átlaga is önmaga. Atlag használatakor viszont lehet vásárolni ugyanazon a napon ugyanabból, akkor is jó lesz.
Persze táblázatos elrendezés, részösszegek kikapcsolva…
Imre
Kedves Gábor!
Javasoltam neked, hogy tölts fel mintafájlt, ezzel megkönnyíted és egyben megrövidíted a válaszadók dolgát.
Nem olyan bonyolult ugyan ez esetben az input adat, de mégis…A feladatról:
Kérdés, hogy tulajdonképpen mit szeretnél az információval kezdeni.
Ha megvan vásárlásonként az előző vásárláshoz képest eltelt napok száma minden esetben, utána hogyan elemzel?Szűrögeted vásárlónként, időszakonként, vagy mit csinálsz?
Ez azért fontos, mert ha szűrögeted, akkor Csaba által felvázolt megoldás tökéletes. És nagyon elegáns 🙂
Nekem is ez volt triviális reggel, amikor olvastam, és estére már van is megoldás, ha ilyesmit szeretnél csinálni vagy látni.Az adatfájlba is elkészíthető egy olyan oszlop, ami az előző vásárláshoz képest nézi az eltelt napokat (csak meg kell számozni minden vásárlást vevőnként), de azon elgondolkodni csak akkor van értelme, ha Csaba megoldása valami miatt nem felel meg.
Imre
Szia!
ha nem töltesz fel minta adatforrást, nem tudunk segíteni.
Látni kell, hogy a korábbi húzások számait milyen struktúrában tárolod. érdekes lehet, hogy mi a legkisebb és a legnagyobb húzható szám.
És azt is, (bár az kevésbé érdekes), hogy hogy írod le az aktuális húzás számait.Az is fontos lenne, hogy a korábbi húzások hány sorban vannak, tehát hány soros az adatbázisod.
Ez csak a várható sebesség miatt érdekes.Csináltam valamit, mert érdeket.
Egy tömbképletes megoldásra jutottam.
CsatolvaImre
Attachments:
You must be logged in to view attached files.Klassz! 🙂
Ne fenyegess! 🙂
Szia Bence!
Az Excel natívan nem tud ilyet, csak azonos munkalapon, azon belül is összefüggő tartományban főleg.
Makróval lehet esetleg olyasmit csinálni, hogy ha jobb klikket vagy dupla klikket nyomsz a cellán,esetleg egy billentyűkombinációt nyomsz, akkor felugrik egy kis input legördülő lista, ami a már begépelt karakterek alapján szűri a tételeket, így gyorsan megtalálod a már meglévő elemet. Pont úgy, mint amikor függvényt írsz az egyenlőségjel után. A lista forrása lehet egy másik munkalap dinamikus méretű oszlopa, ami már le van szűrve egyedi előfordulásokra.
Mivel az eseményt te kezdeményezed, tudnod kell, hogy olyan tételt írnál be, ami már biztosan megvan a másik munkalapon.
Egyéb esetben csak simán begépeled.
Az is kihívás, hogy melyik oszlop tételeit ajánlja egyáltalán fel? Az az oszlop melyik sorban kezdődik? Ezt valami megszorítással lehetne megoldani, pl. azt mondani, hogy az adatokat tartalmazó munkalappal azonos szerkezetű, (azonos ozlopsorrendű) táblában lehet használni.Ez szép kihívás, főleg, ha nem makróztál még.
Rákerestem, vannak megoldások, de egy gyorsan adaptálhat verziót nem találtam.
Jónéhány óra kísérlezetgetés lenne pl. nekem.
Ennél több időm viszont most nincs, bocsi… csak az irányt tudom megadni.Imre
-
A hozzászólás módosításra került: 3 years, 12 months telt el-
-
SzerzőBejegyzés