Hozzászólások
-
SzerzőBejegyzés
-
Pontosítani kellene egy kicsit.
Elsőként tölts fel egy minta munkafüzetet.
Másodikként a leírásodban keveredik a szám és a számjegy.Én úgy értem, hogy soronként van a 7 szám 1 és 35 közöttiek, véletlenszerűen.
A 7 szám vonatkozásában minden sor egyedi.
Ha csak 6 számot nézünk, akkor viszont vannak ismétlődések.Melyik ha számot kell nézni?
– Elejét
– Végét
– Bárhonnan kiveszünk egyet és a többit? (Ezt mondjuk passzolnám elsőre)
– ???Imre
Feltöltenél egy mintafájlt?
Csak apró időszeleteim vannak, bocs.Imre
Szia!
Elsőként azt kérdezném, hogy ezt manuálisan végigcsináltad, és simán megcsinálta?
Imre
Szia!
ha csak ezért akarsz makrót írni, akkor felesleges, hiszen csak a tartományra kell dinamikusan hivatkozni.
1. megoldáa
—————-
Táblázattá alakítod a tartományt, és azon belül hozzáadsz egy nevet is.
A táblázat és a név magától mindig annyi cellára hivatkozik, amennyi éppen van. Tehát dinamikus.
Erre az utóbbi névre hivatkozz a a képletben, ne a fix tartományra.A dinamukus névtartomány táblázattal cikkben vannak a részletek, ha ennyi nem elég.
http://excel-bazis.hu/tutorial/dinamikus-nevtartomany-hasznalata2. megoldás
—————
Ha nem akarsz táblázatot használni, akkor lehet kapásból dinamikus névtartományt csinálni.
Erről pedig itt olvashatsz:
http://excel-bazis.hu/tutorial/dinamikus-nevtartomany-keplettelA küldött fájl makrójában pedig teljesen hibás a COUNTIF számára összerakott tartomány.
Az ugye az A2-től menne az utolsó sorig.
Te pedig a kezdő és végcella sorának is az rng változót használod, tehát a kezdő és végsor egyforma lesz.Az rng változó számítása is hibás szerintem.
No mindegy, mert ehhez nem kell makró.
Imre
Az Fname változóban benne van, hogy a párbeszédben mit választott ki.
A módosított kód beírja ezt a C1 cellába.If FName <> False Then WindowsMediaPlayer1.url = FName Range("C1").Value = Fname End If
Imre
-
A hozzászólás módosításra került: 6 years, 4 months telt el-
horvimi.
A bal oldali táblából is 7 darab van? Minden napra egy?
Remélem az OpenOffice is tudja az értékeket egymás mellé rendezni, nem csak egymás alá, mint a képen.
A kettő különbségét a PIVOT-on belül számított mezővel meg lehet csinálni.Ha ragaszkodsz a fügvényekhez, akkor látok még esélyt SZUMHA, MINHA vagy MAXHA függvényekkel dolgozni.
Feltételezve, hogy a nevek csak kétszer vannak a táblában. Egyszer az Érkezés oszlopot összesíted az aktuális névre, utána a Távozás oszlopot. Ugyanaz, mintha PIVOT-al csinálnád.Makrót biztosan nem fogok írni…
Imre
Szia!
Ha igaz az, hogy a listán mindenki csak kétszer van rajta, egy érkezés és egy távozás, a nevek pedig egyeznek, akkor ezt PIVOT táblával meg lehet csinálni.
Névre csoportosítasz, és az értékbe behúzod az érkezést és az indulást. Összesítő függvényként szerintem mindegy ezek közül: Max, Min, Szum, Átlag, mert csak egy értékről van szó.
Imre
Szia!
A DARABTELI függvény sok ezer soron lassúvá fog válni.
Ez ellen azt tudod csinálni, hogy a korábbi sorokban az A oszlop képleteit értékké alakítod.
tehát csak az utolsó pár tíz vagy száz sorban legyen képlet.Imre
Szia!
Minden probléma érdekes lehet a maga nemében, mindegyikről nem lehet, és nem is cél Videó tanfolyamot csinálni.
Ennek a feladatnak a megoldásához szükséges oktató anyag különben már született.A feladat nehézségét az a bizonyos kezdő sorszám okozza.
Ha ez nem lenne, akkor csak annyi lenne a feladat, hogy megszámoljuk a D oszlop elejétől az aktuális sorig, hogy az adott Cikk neve hányszor fordul elő.
Az A oszlop képlete így alakulna:
=DARABTELI($D$2:D2;D2)
A kezdő sorszám úgy jöhet hozzá, ha a termék azonosítókhoz egy segédtáblába letároljuk a kezdő sorszámokat. Az előző képlet eredményéhez kell hozzáadni a kezdő sorszám – 1-et.
A kezdő sorszámot pedig FKERES-el lehet megtudni a segédtáblából, amit már megcsináltál az „Adatok” lapon.
Javított képlet
=DARABTELI($D$2:D2;D2)+FKERES(D2;Adatok!$AJ:$AL;3;0)-1
Ahol nullát kapsz, az valószínűleg azt jelenti, hogy nem töltötted ki az adatok lapon a cikk kezdő sorszámát.
Jelezz vissza, hogy jó lett-e!
Imre
2018-08-26-22:31 Hozzászólás: [Resolved] táblázat elemeinek kiválogatása többszörös feltétel szerint #5089Szia!
Ez egy egyszerű PIVOT feladat némi szűréssel és feltételes formázással.
Ehhez persze kézzel kell beállítani a PIVOT szűrését a cikkszámokra.Ezt a szűrést automatizálni a második lap listája alapján csak makróval lehetne.
Másik lehetőség, hogy előbb csinálsz egy szűrést az Irányított vagy speciális szűróvel a kívánt cikkszámokra és lekéred a szükséges oszlopokat, majd ebből csinálod meg a PIVOT táblát.
Akkor ott már nem kel szűrni.Az első megoldást megcsináltam, és csatoltam.
Az eredmény lapon, amit megadtál, nem valódi adatok voltak, csak részben. Erre a PIVOT elkészítése pillanatában lehet rájönni
Imre
Attachments:
You must be logged in to view attached files.Megpróbáltam megfejteni mit is akarsz csinálni.
Ha jól látom, akkor a lenti táblába ki akarod gyűjteni az adott dátumhoz tartozó adatokat a fenti V,W,Y oszlopokból.Mellékesen jegyzem meg, hogy nagyon sajátos a módszer, amint egy FKERES függvény egy egy soros táblában keres, de ez most mindegy.
Mivel fent az egy dátumhoz tartozó adatok idő szerint már eleve rendezett állapotban vannak, azt gondolom, hogy te csak az üres cellákat akarod eltüntetni a kigyűjtésből.
Képlettel ez elég macerás. megoldható, de nagyon bonyolult.
Emiatt egy makrót lehetne írni, ami megcsinálja a kigyűjtést mindhárom dátumhoz.Imre
Szia!
Ugyan nem írtad le, de ha jól látom a második rendezés nem működik.
Az a probléma, hogy a rendezendő tartomány és a kulcs oszlop is képleteket tartalmaz.
A rendezés ugye azt jelenti, hogy a sorok sorrendje megváltozik, ezzel a képletek is megváltozhatnak.Elég sokat játszottam vele, de nem sikerült megoldást találnom rá.
ha átkapcsoltam kézi kalkulációra, akkor megcsinálja a rendezést, de ha visszakapcsolsz automatikusra, akkor megint visszaáll az eredeti sorrend.
Szóval a rendezés előtt értékké kellene alakítani. Ezzel meg elveszíted a képleteket.A fenti (kék) táblán működik, mert az csak értékeket tartalmaz.
Imre
Természetesen le lehet makrózni.
Vedd fel rögzítővel.Autoszűrő?
Irányított szűrő?Utóbbival listázhatod csak az adott dátum összes időpontját.
Itt egy cikksorozat az irányított szűrőről
Imre
Bocs, de én nem értem ezt a kérdést.
Mi a probléma?Mert való igaz, hogy én sem ismerek még egy ilyen idióta vágólap kezelést, mint az excel-é, de akkor sem értem a kérdést.
Addig (talán) értem, hogy
1. felteszel valamit a vágólapra
2. beírsz valamit egy cellába, majd ENTER-rel lezárodEzután mit csinálsz?
„utána beszúráskor a legutolsó vágólapi adatot belöki.”Imre
Figyelj, lszi áruld már el, hogy melyik soron áll meg!?
Biztosan lehet minta adatot is produkálni, ami nem sért semmit.Nem lesz időm soronként bogarászni.
Ez egy sima rögzített kód. Van ugyan benne pár érdekes dolog, de elvileg jó.
Köszi!
Szia!
Az adatérvényesítés lista elemszámát nem lehet 8 főlé tornászni semmiképp jelenleg.
ha csak kevés sor van, akkor Combo box vezérlőt szoktak használni, nem kell az ActiveX, hanem a sima Form (űrlap) vezérlő is elég.
Annek a tulajdonságaiban van ilyen lehetőség.
A vezérlőt ALT lenyomás mellett pontosan rá lehet igazítani a cellára, és csatolt cellaként megadni az alatta lévő cellát. Ide teszi a kiválasztott elem sorszámát (indexét)Ha jól tudom, te tudsz makrózni, úgyhogy biztosan tudod miről beszélek.
Imre
Szia!
Ehhez az kell, hogy az adatok birtokában képletekkel meg tudd oldani a dolgot, azaz ki tud számolni a metszéspontok koordinátáit (X és Y).
Ha ez megvan, akkor a meglévő chart-hoz fel kel venni egy új adatsort, ami egy függőleges vonalat eredményez.
1. Diagram kijelöl, majd Diagram eszközök->Tervezés->Adatok kijelölése
2. Jelmagyarázat adatsor Hozzáadás
Az adatsornak 2 pontja lesz.
Ahhoz, hogy függőleges vonal legyen, az X koordináták megegyeznek, mindkettő a kiszámolt metszéspont X koordinátája lesz. Ehhez egy alatta lévő cellába képlettel át kell venni a kiszámolt értéket.
Az Y koordináták közül az első nulla, a második pedig a metszéspont Y koordinátája lesz.Találtam a neten egy példát, azt átdolgoztam, leegyszerűsítettem egy metszéspontra, és feltöltöttem némi magyarázattal.
Ha több metszéspont van, akkor mindegyiknek akivetítéséhez kell egy új adatsor ugyanígyFontos dolog
A Diagram Pont (XY) vagy Scatter chart legyen vonalakkal (altípus)Hát, ilyesmi…Én sem csináltam még ilyet.
Imre
Attachments:
You must be logged in to view attached files.Ha jól értem, akkor a MUnka3 lapon azt akarod, hogy ha egymás mellé írják be az értékeket az E oszloptól jobbra, akkor minden beírt adat alá tegye be az aktuális időt.
Ehhez csak annyi módosítás kell, hogy a megfelelő helyen a Target.Offset(0,1) helyett azt írd, hogy
Target.Offset(1,0). Azaz a módosított cellához képest 1 sorral lejjebb s nulla oszloppal arrább írja be az időt.Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Target.Offset(1, 0) = Time Application.EnableEvents = True End Sub
Visszatöltöttem,
Erre gondoltál?Imre
-
A hozzászólás módosításra került: 6 years, 7 months telt el-
horvimi.
Attachments:
You must be logged in to view attached files.Hát, olyan területre tévedtél, ami még felfedezés előtt áll. Részben még nekem is.
Relációs adatbázis-kezelési ismereteid vannak?Szóval:
1) A PowerQuery megjehyzi az űtvonalakat. ha elmozgatod a fájlokat, nem fogja megtalálni őket.2) Két tábla között csak 1:N kapcsolat lehet. Az egyik táblában(Lookup tábla vagy törzs tábla) a kulcs oszlopban nem lehetnek ismétlődések. VLOOKUP (FKERES) is csak az elsőt találja meg, ott sem lehet ismétlődés a Lookup táblában.
Az adatmodellben megcsinálod a kapcsolatot a két tábla között.
A Lookup táblát te kódtáblának hívod, amásikat akkor hívjuk eredmény táblának.
A kulcs oszlop mindkettőben benne van ugye, csak a kódtáblában egyedi kulcs, ismétlődések nélkül, a másikban idegen kulcs, ismétlődésekkel.Ugye a PowerPivot táblába mindkét táblából húzhatunk mezőket.
Az a javaslat, hogy a csoportosításhoz a lookup tábla (kódtábla) mezőit használjuk, összesítésre pedig az eredménytábla mezőit.Amit Én tapasztaltam a nem létező kódokkal kapcsolatban:
– Ha az eredmény táblában van egy vagy több olyan kód, ami nem létezik a lookup táblában, és az ajánlás szerint a PIVOT SOR dobozába a lookup tábla kód mezőjét húztad, a Szumma dobozba pedig az eredménytábla bármely mezőjét, akkor a PIVOT kód oszlopában keletkezik egy „Blank”(„üres”) sor, és az összesített érték az összes olyan sorra fog vonatkozni, amihez nem talált megfelelőt a lookup táblában.
Ha ezen az összesített számon nyomsz egy dupla klikket, akkor egy új lapra kibontja , hogy mik azok a sorok az eredmény táblában, amikhez kód alapján nincs pár a lookup táblában.-Ha ugyanabben az esetben a PIVOT táblát az eredmény tábla Kód mezője alapján csoportosítod, és a lookup táblából húzol be egyéb csoportosító tulajdonságokta, akkor az eredmény táblában lévő minden kód megjelenik a csoportban, de a másik táblából nem talál hozzá párt -> blank lesz.
– Ha a lookup táblában van olyan kód, ami nem szerepel az eredmény táblában, és a PIVOT táblát a lookup tábal kód oszlopa alapján csoportosítod és az eredmény táblából húzol be összesítéseket, akkor a páratlan kódok meg sem jelennek.
– Ezen kívül lehetőség az adatmodell oldalon számított oszlopot készíteni, amit Te is említettél, hogy sikerült, és itt használni a RELATED függvényt, ami a PowerPivot-ban a VLOOKUP.
– Végül VLOOKUP jellegű összepárosítást lehet csinálni PowerQuery-ben is.
Csatoltam egy minta fájlt a hiányzó párosítású kapcsolt táblákról. Az adatmodell már készen van.
3) A Power Pivot-ban hagyományos számított mező nincs.
Helyette van aMérték (Maesure), amit 2013-ban Számított mezőnek hívtak.
Ez igazából a lényege a Power Pivot-nak. Ez egy akkora téma, hogy itt nem ios tudok hozzákezdeni. Nézz utána.4) Ezt a kérdést nem értem. Mi az, hogy kiforgatsz egy táblát?
5) A PowerPivotban nincs SQL, csak DAX. Ez összefügg a 3. kérdéssel.
Szóval van minek utánanézni, ha ezekkel akarnál dolgozni.
Érdekes, de más.Imre
-
A hozzászólás módosításra került: 6 years, 7 months telt el-
horvimi.
Attachments:
You must be logged in to view attached files.Hát akkor küldjed, hogy mire jutottál.
Nem tudom megállapítani, hogy mit csinálsz, de lehet, hogy nem teljesen érted a dolgot.
Az utoljára küldött fájlodban a mintafájlon semmilyen műveletet nem végzel el.
Emiatt az összefűzött verzióban bennemaradnak a többi fájlokból a fejlécek és a nem kívánt sorok is.Szóval:
1. Új lekérdezés->Fájlból->mappából–>Kitallózod->Edit (Szerkesztés)
2. A bal oldalon ott lesz a lekérdezés gyűjtemény szerkezete.
3. Mintafájl átalakítása. Ebben neked csak 2 lépés van: Forrás és Navigáció
A forrás a mintafájl, a Navigáció kibontja a mintafájl tartalmát. Itt kellene plusz lépéseket tenni, hogy vegye le az első 2 sort, majd az első sort léptesse fejlécbe, majd szűrje ki az első adatsort (sorkód <> null)
Ezt minden fájllal meg fogja csinálni.
4. Átkattintasz a végére, a végén lévő query-re, és minden jó lesz, be lehet tölteni.Imre
Nagyon érdekelne, hogy ennek mi lett a vége!
Egyáltalán mit akarsz csinálni?
Mik vannak a forrás fájlokban?
Összefűzni? Vagy Összekapcsolni?Az Excel nem alkalmas ennyi adat kezelésére sztem legyen Power bármi.
Szóval mi lett?
Megnéztem.
A belső lekérdezés, ami a mintafájl lépéseit tartalmazza, annyiot módosírtottam, hogy a fejléc előreléptetése után az első sor törlése helyet az első oszlopban kiszűrtem a null-okat. De szerintem ez mindegy.
A végső összefűzésnél (PQ2), nekem is hibát ad az oszlopnevek miatt, de ott csak annyit kell csinálni, hogy az utolsó lépést, ami a típus módosítás, kitörlöd. Ezt nem a DEL billentyűvel lehet, hanem a lépés elején lévó X megnyomásával.
Nekem így jó lett.Imre
Hát, ez elég durva, de valamit valamiért.
A probléma abban áll, hogy az alap adatokat nem így kellene bevinni, hanem rekordonként.
Amikor valaki dolgozik valamit, az egy sor egy táblában.név, tevékenység, dátum, óraszám.
Ha kétféle dolgot csinált, akkor az két sor ugyazazzal a dátummal. ha háromfélét, akkor …
Ezt a táblát kellene töltögetni.És számított oszloppal betenném a végére, hogy az adott nap hétköznap vagy hétvége. Ez magától számolódna.
Ebből csinálnék egy PIVOT táblát, ahol személyenként, hétvégére és hétköznapra kiszámolnám az össz ledolgozott órát (ha jól emlékszem a túlórák számát nem akartad tevékenységenként lebontani),és az össz napok számát, amikor dolgozott bármit.
A hétvégék ugye kapásból túlóráknak számítanak, tehát sz összes hétvégi óra túlóra, a hétköznapokon pedig annyi a túlóra, amennyivel az össz óraszám nagyobb a (napok száma*8) értéknél
Ezek számított PIVOT mezővel megcsinálhatók szerintem.Ha érdekel, akkor csinálhatnánk egy próbát, hogy egy bizonyos adatszettel neked mi jött ki azzal a rettenetes képlettel, és mi jön ki ezzel a módszerrel.
Ha pedig ragaszkodni kell az eredeti formátumhoz, akkor jobb híján maradni kell a Te megoldásodnál.
Imre
Ja, és ha valami vagy valaki fenyegetné a lábujjaidat, akkor tudod már, hogy hol keress segítséget 🙂
Ezt látnom kellene.
Ha nem boldogulsz vele, tölts fel pár fájlt, amiben van néhány rekord, a számlaszámokat randomizáld vagy random módosítsd. És kellene a kívánt összefűzött eredményből is egy minta. Az egész mehet egy zip-be.Biztosan megoldható…
Imre
Szia!
Az a helyzet, hogy nem nagyon értem a problémát, csak sejtem:
Látni kellene a kódot, és a hibaüzenetet is, melyik soron áll meg, meg a körülményeket is ismerni.Néhány dolgot leírok találgatásként_
– Ha a kódban a PIVOT-ot új munkalapra kéred, akkor felveszi, hogy mi volt az új munkalap neve a rögzítéskor. Soha nem lesz ugyanaz.– Más kód születik a rögzítéskor, ha már készült pIVOT az adott forrásról, mint akkor, amikor még nem készült
De inkább nem sorolom, adj még infót, vagy tölts fel DEMO-t!
Imre
Szia!
1. Egy cella tartalma csak akkor lóg át a mellette lévő cellába, ha az üres, de neked egymás mellett képletek vannak a cellákban.
2. Én nem látom, hogy hová szeretnéd kapni a túlórák számát. Gondolom naponta akarod számolni. Ez megoldható lenne úgy, hogy minden emberhez még tartozna két sor: Normál órák és túlórák. A Normál órák a felette lévő tevékenységek óráinak 8-ig eső része, a túlóra pedig a nyolc feletti.
Ha ehhez hozzáadjuk, hogy a nap hétvégére esett-e, akkor egy HA függvénnyel megcsinálható.
Tehát ha hétvége, akkor a tevékenységekre fordított teljes óraszám, azaz a három szummája túlóra lesz, különben pedig csak a nyolc feletti rész.Visszatöltöttem egy megoldást.
Imre
Attachments:
You must be logged in to view attached files.Szia!
Én tanítom ezt a PQ tanfolyamon, de most nem kezdek hosszú cikk írásába képekkel.
Van itt egy link, ami CSV fájlokkal magyarázza el a dolgot:
https://www.myonlinetraininghub.com/power-query-get-files-from-a-folder
Ennek az 5. lépéséig ugyanazt kell csinálnod.
A 6. lépésben látsz egy képernyő képet, amiben középen van egy 1-es, a végén pedig egy 2-es jelzés.
Az 1-es, Transform Sample File-nál lehet megadni azokat a lépéseket, amiket meg kell csinálni minden fájllal az összefűzés előtt. Itt tudod kitörölni a fejléc előtti sorokat, stb…A végén, a 2-es által jelzett utolsó ikonra kattintva már az összefűzött előnézetet látod, és itt lehetne megadni, hogy összefűzés után mit csináljon a cuccal.
Majd betöltöd a 7. lépés szerint.
Ezután a havi plusz új fájlok hozzáfűzéséról is olvashatsz!
Majd jelezz, hogy mi lett!
Imre
Vagy
kedvezmény=1-akciós ár/teljes ár. Ezt kell százalékra formázni.
A példát tekintve 1-2990/5500, ami 0,4563. Ezt százalékra formázva nulla tizedessel fogja kiadni a 46%-ot.Imre
Szia!
Hány fájl?
Milyen formátumban vannak?
Egy mappában vannak?
—————————-
Rákerestél már a dologra?A PowerQuery tud mappából összefűzni fájlokat.
Új lekérdezés->Fájlból->mappából.Ha Excel fáljokról van szó, akkor az még fontos, hogy csak egy munkalap legyen bennük, vagy mindegyikben az első legyen a kérdéses munkalap, és a munkalapokat ugyanúgy hívják minden munkafüzetben.
Imre
-
A hozzászólás módosításra került: 6 years, 8 months telt el-
horvimi.
Az lehet a probléma, hogy az előző frissítés még nem fejeződött be, mikor a ciklus a következővel dolgozik, és azt is frissíteni szeretné.
Erre különböző kísérletek vannak. Ezek közül az egyik, amire elég sok pozitív visszajelzést találtam az, hogy a kapcsolatokban ki kell kapcsolni a háttérfrissítés engedélyezését.
Ezt vagy a makróval lehet megcsinálni menet közben, vagy a fájlokon kézzel végigmész egyszer, és beállítod mindegyiknek:
Kézzel:
Adatok->kapcsolatok->Tulajdonságok (Itt találsz egy háttér frisítési beállítástMakróval:
Sub Refresh_All_Data_Connections() For Each objConnection In ActiveWorkbook.Connections 'Get current background-refresh value bBackground = objConnection.OLEDBConnection.BackgroundQuery 'Temporarily disable background-refresh objConnection.OLEDBConnection.BackgroundQuery = False 'Refresh this connection objConnection.Refresh 'Set background-refresh value back to original value objConnection.OLEDBConnection.BackgroundQuery = bBackground Next End Sub
Tehát a megnyitás és a mentés közé ez a kód kellene, ami minden OLEDB típusú kapcsolatot frissít az aktuális munkafüzetben.
Próbáld ki, és jelez vissza lszi!
Imre
Szia!
Én nem tudom ezt a hibát reprodukálni, lefuttattam a tanfolyami anyag előkészített mappájában.
A tanfolyamon különben időhiány miatt csak a CSV összefűzést néztük meg mappából.De elsőként megnézném a PowerQuery verzióját. Excel fájlok összefűzését régebben nem tudta.
Gyanús, hogy esetleg nálad nem frissült a PQ?
Tanfolyami anyag 49. diaImre
Szia!
Mit szeretnél eredménként?
Színezze őket, vagy külön lista?A külön listához képezni kell a három oszlop gyedi elemeit, és mindegyik mellé egy DARABTELI (COUNTIF) függvény a 3 oszlopra.
A azinezéshez feltetelws formazas ugyanezzel a függvénnyel.
Imre
Gondolom az a cél, hogy bármennyi alkategória lehessen.
Ha már így struktúrálod az adatokat és nem teszed külön oszlopba a kategória neveket, akkor viszont meg kell különböztetned az alkategóriákat a többi bejegyzéstől, amiket x-el jelöltél.Például a végükre írnék egy spec karaktert, mondjuk egy kötőjelet. (Édesség -, Borok -, Testápolók -, stb…)
Majd az összes kitöltött cella számából kivonjuk a kötójelre végződők számát.
És akkor a képlet így nézne ki:=DARAB2(M9:M98)-DARABTELI(M9:M98;"*-")
Imre
-
A hozzászólás módosításra került: 6 years, 9 months telt el-
horvimi.
Szia!
Az első feladatot nem látom reménytelennek, de előbb meg kellene pontosabba értenem, hogy mit szeretnél.
Az első leírásod alapján úgy értettem, hogy ha megadunk egy (azaz egy) érték intervallumot, (ami 2 értéket jelent, alsó és felső határ), akkor nézzük meg, hogy a teljes idő intervallunmban hány olyan sor van, ahol az ár e két érték közé esett. Hogy melyik árat kell nézni (nyitó/max/min/záró), az nem derült ki.Ez elég egyszerű lenne, ha két cellába valahová felvennénk a vizsgálandó intervallunm alsó és felső határát, majd az F oszlopba felvennénk egy plusz oszlopot és ott egy COUNTIFS függvénnyel megnéznénk a dolgot.
Aztán speciális szűrővel kiszűrhetnénk egy másik munkalapra pl. azokat a sorokat, ahol az ár(valamelyik) a két érték között van.
De az alapján, amit valójában csináltál azzal a mátrix dologgal, arra kell következtetnem, hogy nem csak egy ilyen vizsgálandó tartomány van.
Szóval mit is akarunk?A többi feladatrész ennél jelentősen bonyolultabb. Ha jól értem, akkor a historikus adatok alapján predikciót akarsz csinálni, hogy ha most elindul egy változás (emelkedés vagy esés), akkor annak várhatóan mi lesz a folytatása. Gyönyörű feladat, de fogalmam sincs, hogyan kezdenék bele. Valahogy így képzelem:
Elsőként azonosítom a jelenlegi eseményt (pl. emelkedett, és 300 fölé ment)
Meg kellene keresni a historikus adatokban, hogy a korábbiakban, amikor ez megtörtént, mi lett utána?
1. Megkeresem az összes ilyen esetet és az azt következő n nap adatait és egymástól függetlenül kigyűjtöm vagy/és grafikonon ábrázolom. Ezekre ránézve tudok döntést hozni.
2. Az összes eset adatait összevetve egy valószínű számsort/grafikont rajzolunkSzerintem a világban rengetegen akarnak/akartak ilyesmit csinálni. Részvények, Deviza, Crypto valuták, stb…
Lehet,hogy léteznek erre kész megoldások. Ugyan tudjuk, hogy a feladat nem megoldható biztosan, csak a döntésünket támogató eszközöket tudunk használni.Összességében ez szerintem nem Excel probléma, hanem matematikai, pénzügyi és programozási probléma.
Ha az angol megy, akkor keress rá arra, hogy: „excel predict stock price”Én rákerestem, és számtalan blog bejegyzést, fórum kérdést és videót találtam a témában.
Imre
Szia!
Kellene egy minta munkafüzet.
Legyenek benne input adatok, és egy másik, hogy mit szeretnél látni eredményként.
Pl. A mely órákban… esetén az adott sor legyen megjelölve valahogy?
A tartományból kilépés és visszalépés többször is előfordulhat a 4 év során
Olyan is lehet, hogy kilép, de soha nem tér vissza (pl. vége az adatsornak, és ép kint van)
És ha a megadott rész-tartományban tartózkodik, akkor mégis milyen műveletsor kellene? Az hogy jelenjen meg és hol?Úgy hangzik a dolog mint egy iskolai programozási feladat.
Másik kérdésem, hogy te eddig mit tettél az ügyért? Hol tartasz?
Imre
Igen!
Az INDIREKT függvény csak annyit tud, hogy szövegből hivatkozást képez. Ennek minden előnyével és hátrányával.
Előnye, hogy a szöveg darabokból összefűzhető, így meglehetősen rugalmas, lásd a saját megoldásodat.
Hátránya, hogy VOLATILE, ezért sok sor esetén nagyon lelassíthatja az Excelt.Imre
Sajnos ezt csak makróval lehet megcsinálni, azt is két szinten.
Nem létezik formátumot dinamikusan másoló függvény vagy képlet.
Első szint, hogy ha megváltozik bármelyik forrás adat (jelen esetben B4:H4), akkor neked kézzel kellene futtatni egy makrót, ami lemásolja a formátumukat az alattuk lévő cellákra úgy, hogy kiolvassa a forráscella megjelenítési színeit (háttér és betű), majd alkalmazza az alatta lévő cellákra.Második szint, hogy ne kézzel kelljen futtatni, hozzá lehet rendelni a változás eseményhez. Ezután, ha megváltozik a forráscellák valamelyike, és megváltozhat a feltételes formázás színe, lefut a szín másoló kód.
Abba a fájlba amit csatoltál, meg tudom neked mutatni. Kérdés, hogy tudod-e majd az éles fájlba alkalmazni?
Másik kérdés, hogy akarod-e, hogy emiatt makrós legyen a munkafüzet?imre
A napi árfolyamokat weboldalról frissíteni elég egyszerű, több megoldás is van rá, attól is függ, hogy milyen Excel verziót használsz.
Lényegében szükséged van az aktuális HUF/EUR és HUF/USD árfolyamokra, és ezek mindig ugyanabban a cellákban legyenek.Az már izgalmasabb, hogy ez úgy működjön ahogy szeretnéd, mert az csak eseménykezelő makróval lehetséges.
A munkalap change eseményéhez kell rendelni egy makrót, ami megnézi, hogy melyik oszlopban történt változás, és az árfolyamok alapján a másik két oszlopba kiszámolja az értéket.Ha nem makróztál még, akkor ezt a vonalat ne erőltesd szerintem, elég, ha a weboldal lekérdezést meg tudod csinálni, hogy frissítésre lehozza az aktuális árfolyamokat, és az árfolyam számításhoz marad a 6 oszlopos megoldás. Ez is megoldható különben, hogy a munkafüzet megnyitására is frissüljön.
Azért ha akarsz küzdeni, akkor itt találsz valami hasonlót.
https://www.mrexcel.com/forum/excel-questions/1027944-excel-vba-calculate-euro-one-column-usd-adjacent-column-when-currency-value-placed-either-column.htmlImre
A számformátumot esetleg. Milyen formátumra gondolsz?
A textbox, listbox, combobox elemek szövegesek. Ha a cellákban lévő számformátumot is meg akarod jeleníteni benne, akkor kóddal kell importálni és nem a RowSource tulajdonsággal kell beállítani.
A cella Text tulajdonsága az, amit látsz a cellában, azt kell beolvasni. Ebben az esetben mutatja a pénznemet is, vagy az ezres elválasztót vagy tizedes jelet.Itt láthatsz egy példát rá.:
https://www.mrexcel.com/forum/excel-questions/283664-multicolumn-listbox-formatted-fields.htmlJa, eszembe sem jutott, hogy nem makróval akarod, de újra elolvasva… Igen. Ahogy Delila írja.
És nem is a makrós fórumba írtad. 🙂Szia!
Először a lényeg. Az aktív chart (kördiagram) első szeletét így tudod színezni:
Activechart.SeriesCollection(1).Points(1).Interior.Color=RGB(255,0,0)
A kördiagramnak csak egy adatsorozata van (SeriesCollection), ezért ezt így hagyhatod.
Az adatpontok számát (ha nem tudod előre, hogy hány szeleted lesz), azActiveChart.SeriesCollection(1).Points.Count
paranccsal tudod lekérni mondjuk egy változóba.
Az adatpontok a chart-on 12 óránál kezdődnek, tehát az első szelet ott indul.
Amikor a chrt-ot hozod létre, biztosan ő lesz az aktív chart, úgyhogy elvileg ennyi infó elég lesz most.
Imre
Az adatok menüben van egy „Az összes frissítése /Refresh All” gomb. Ez a kapcsolatokat és a PIVOT táblákat is frissíti.
Vedd fel rögzítővel.Látom, javítottam. 🙂
Ha jól értem, akkor azt akarod csinálni, hogy bizonyos Excel fájlokat megnyitni, frissíteni az adatkapcsolatot, majd menteni és bezárni. Mindezt valahogy automatikusan.Nekem elsőre ez jut eszembe:
Egy Excel makrós munkafüzet munkalapjára egy táblázatba soronként felvenném a frissítendő munkafüzetek útvonalait.
Majd írnék egy makrót, ami ezeken egyesével végigmegy, és
1. Kinyit
2. Frissít mindent
3. Ment
4. BezárEzt a makrós fájlt kellene 1-2 naponta elindítani kézzel.
Következő lépés lehet a jövőben, hogy ez az egy makrós fájl is magától induljon el, és a munkafüzet megnyitásához rendelt eseményvezérlőben fusson a fenti ciklus, de az legyen egy későbbi projekt.
Imre
2018-03-27-22:48 Hozzászólás: Excelre hivatkozó Word körlevél abszolút hivatkozásának relatívvá tétele #4583Próbáltad már azt, hogy ha a címzettek Access-ben vannak, és a címlistákat lekérdezésekkel készíted elő?
A Wordből lehetne az Access lekérdezésekhez kapcsolni a körlevelet (iratmintát).
Az Access elvileg alkalmas konkurens használatra.
Így az iratminták is lehetnek a hálózaton, és lehet őket központilag karbantartani, és a címlista is lehet ugyanott, és egy helyen tartod karban.Nem próbáltam több user-rel, de elvileg működnie kell.
Imre
Ez a Date Picker ügy valóban probléma az Excel esetén. Access-ben szépen meg van oldva.
Excel-ben a 32 vs. 64 bites verzió eltérésnél is van gond, 64 biten nem nagyon van ilyen vezérlő. Én most például 64 bites O365 alatt nézem és itt nem létezik Date Control.Egy pár éve találtam egy ingyenes Add-in-t, ami viszont működik.
https://www.rondebruin.nl/win/addins/datepicker.htmHa felteszed, és engedélyezed, akkor a jobb klikk a cellán menüben benne lesz a Date picker.
Időt viszont nem lehet vele választani.Másik lehetőség lehet, hogy az adott munkalap vagy akár munkafüzet adott oszlopainak jobb klikk eseménye egy űrlapot hoz elő (amit Te csinálsz meg), ahol előre feltöltött legördülőkből lehet évet, hónapot, napot, majd órát és percet választani.
Imre
Értem.
Annyit tegyél meg lszi, hogy készítesz egy minta fájlt. Ne nekem kelljen ezzel időt tölteni.Köszi!
Szia!
Egy cellában többször is előfordulhat a keresett szó? Az baj lenne.
Tegyél fel egy mintát, és add meg egy példán, hogy mit szeretnél látni!Imre
Szia!
Egy kicsit trükközni kell. Egy változóba kiolvasom az aktuális sor N oszlopából a cella címét, és azt varázsolom be a felt. formázás képletébe.
Sub Szürke() ' ' Szürke Makró Dim a As Integer Dim b As String For a = 3 To 14 Range(Cells(a, 1), Cells(a, 13)).Select b = Cells(a, 14).Address Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=" & b & "=1" ....
A plusz sorokat tedd be és cseréld ki, és jó lesz!
Imre
A kérdésből nem nagyon tudom mit szeretnél megtudni.
De hátha az aktuális fájl útvonalát:
=CELLA("filenév")
Erre gondoltál?
Imre
Szia!
Úgy látom neked egy alapos PIVOT tábla ismeretre lenne szükséged.
Gyere el a következőre! 🙂
http://pentaschool.hu/excel/excel-kimutatas-pivot-tabla-tanfolyam.phpCsatoltam egy megoldást
Imre
Attachments:
You must be logged in to view attached files.2018-03-04-16:15 Hozzászólás: [Resolved] Adott tulajdonságú elemeket tartalmazó tömb keresése tömbben #4481Szia!
Egy kicsit megizzadtam vele, de összejött.
Erre gondoltál?
Imre
Attachments:
You must be logged in to view attached files.Szia!
Látni kellene azt a fájlt.
Előtte egy checklista:– Ne legyen az adatlapon shape objektum
– Ne legyen activeX vezérlő
– Ne legyen a fejlécben főleg (vagy sehol) megjegyzés
– Ne legyen beállítva sehol a „Sortörésel több sorba – Wrap text)
– Ne legyen feltételes formázás
– Még jobb, ha semmilyen formázás nincs
– Ne legyen semmilyen szegélyezés
– Nyomj egy Ctrl-End-et, hogy hol hiszi az Excel a dokumentum végét.Ha nem jó, javítsd!Végül próbáld ki, hogy az adatokat átteszed egy új munkafüzetbe értékként, és kipróbálod.
Mi lett?
Imre
Arra nincs lehetőség, hogy a kódban ne legyen benne valahogy.
De a kódot le tudod védeni.ha átmész a VBA szerkesztőbe, akkor:
Tools->Options->VBA Project Properties->Protection->Lock Project for Viewing
Itt megadsz egy jelszót.Így ha valaki más megy át a szerkesztőbe, az egész projekt be lesz csukva, és ha ki akarja nyitni, kéri a jelszót.
Másik, vagy további opció, ha nem csak beírod a jelszót, hanem egy valamilyen karaktersorozatot valamilyen algoritmussal transzformálsz, ami nehezen lekövethető, és a végeredménye az eredeti jelszó lesz.
Ennek viszont alaposan utána kell járni.De szerintem a projekt védelme elég biztonságos egy átlag user előtt.
Imre
Szia!
A password dolog így nem kerülhető meg.
Az a biztonságos, ha egy inputbox-ban megkérdezed a jelszót, és nem kerül bele a kódba.Tehát:
Private Sub Workbook_Open() Dim v as string v=inpubox("Jelszó:") Sheets("mlap1").Unprotect Password:=v stb..., mindenhol a v-t beírva End Sub
A frissítés végén a hibaüzenet lehet, hogy azért lehet, mert a frissítés esetleg még nem fejeződött teljesen be.
próbáld ki, hogy a RefreshAll sor után írsz egyApplication.Wait(Now + TimeValue("0:00:5"))
Ez 5 másodpercet vár, mielőtt tovább futna. Addig mehet a frissítés a háttérben.
???Ha ez nem menne, akkor próbáld meg azt, hogy a kapcsolatoknál kézzel kikapcsolod a „Frissítés a háttérben” opciót.
Adatok->kapcsolatok->Tulajdonságok->Háttérfrissítés engedélyezése vagy ilyesmi.Ebben az esetben lehet, hogy a Wait sem kell.
???Imre
Szia!
Ez csak makróval oldható meg.
Ha nem nagyon elriasztó, vagy tilos.A munkafüzet megnyitás eseményéhez rendelhető makró. Titok is ezt próbálta javasolni.
A makró felodja a lapvédelmet, frissíti a kapcsolatot (nem tudom mi az, PIVOT vagy egyéb), majd visszateszi a védelmet. Ha nincs egyéb kapcsolat, akkor a RefeshAll is megteszi.
Ehhez persze indításkor, amikor kérdezi, engedélyezni kell a makrókat.
A makrót neked kell létrehozni, majd mentés másként-el makróbarát munkafüzetként elmenteni.
Megpróbálom leírni a lépéseket:
1. Bármelyik munkalap jobb klikk -> Kód megjelenítése. Ezzel átvisz a makró szerkesztőbe, és az aktuális munkafüzet mint projekt lesz aktív a bal oldalon
2. Kettőt kattints a bal oldalon a ThisWorkbook ikonon
3. A jobb oldali ablak tetején látsz egy legördülőt Most az van belírva, hogy General, ezt váltsd át Workbook-ra
4. Megjelenik az üres WorkBook_Open eseménykezelő Sub. Ebbe kell beletenni azt, amit a megnyitáskor szeretnél.Másold a Sub és End Sub közé a következő kód belsejét, hogy végül így nézzen ki:
Private Sub Workbook_Open() Sheets("lapnév").Unprotect Password:="password" ActiveWorkbook.RefreshAll Sheets("sheetname").Protect Password:="password" End Sub
A lapnév és a password szövegeket cseréld le értelemszerűen.
Mentsd el a munkafüzetet makróbarátként.
Próbáld ki.
???Imre
Szia!
Nem fog működni.
Adatérvényesítésnél lista forrásként nem adható tömb, csak tartomány vagy tartományra mutató név.De ha csak simán felsorolod őket a lista forrásánál pontosvesszővel (vagy angol Excel-nél vesszővel) elválasztva, akkor gyakorlatilag ugyanazt éred el, azaz nem kell felvenni a munkafüzetbe semmilyen tartományba. Nem kell őket idézőjelbe tenni. Ha idézőjeleket is írsz, azok megjelennek a lista választáskor, és végül a cellában is.
Igaz, így nehezebben karbantartható, de ez van.
Imre
Örülök, hogy sikerült.
Ha jól értem, akkor ez egy sima VAGY művelet.
tehát ha C és D oszlop aktuális adatait összefűzöd, akkor elég egy ciklust futtatn, ami ráadásul kiléphet, ha lentről felfelé már talált 10 előfordulást.
Tehát tegyük fel, hogy nev1 és nev2 az, amiket keresel így felcserélve.
Csinálsz két változót. Az egyikbe beleteszed nev1 & nev2-t (legyen a), a másikba nev2 & nev1-et, (legyen b).A ciklusban pedig az a feltétel, hogy
ha az aktuális sorban A oszlop és B oszlop =a vagy A oszlop & B oszlop =b, akkor tegye el a sor számát.
De lehet úgy is, hogy csinálsz egy számított oszlopt előbb, ami összefűzi az A és B oszlopot, és abban keresel. A VAGY ekkor is kelleni fog.
Mit gondolsz?
imre
Szia!
Ez egy 1 dimenziós tömb.
Amikor deklarálod, akkor dinamikus tömbként tedd.
Dim sorszamok() as integer vagy long
Amikor értéket akarsz bele tenni, akkor Redim kulcsszóval újradimenzionálhatod.
Ha a már benne lévő elemeket meg akarod őrizni, akkor a Redim Preserve parancs kell.
Összedobtam egy kis példát, ami az első 500 páros számot beírja egy dinamikus tömbbe While ciklussal.
Külön változóban számolja (i), hogy hol tart a számolással, és külön változót növel akkor, ha párosat talál(tombszamlalo). A tömböt csak utóbbi esetben méretezi át, a végén kiírja a tömb méretét.Sub tomb_proba() Dim sorszamok() As Long Dim i As Integer Dim tombszamlalo As Integer i = 0 tombszamlalo = 0 Do While i <= 1000 If i Mod 2 = 0 Then ReDim Preserve sorszamok(tombszamlalo) sorszamok(tombszamlalo) = i tombszamlalo = tombszamlalo + 1 End If i = i + 1 Loop MsgBox UBound(sorszamok) End Sub
A tömb rendezése már érdekesebb, mert a tömbökön nincs natív SORT metódus a VBA-ban.
Tehát vagy magadnak kell egy rendezést írni (nyilván csak keresni kell egyet a neten), vagy megpróbálod használni a .NET Core libet, azon belül azArrayList konstrukciót.
Erre leírást itt találsz:
http://www.snb-vba.eu/VBA_Arraylist_en.htmlA bal oldali tartalomjegyzékben van rendezés témakör is.
Ez egy szuper dolog.
Ebben az esetben persze a fenti tömböt is ArrayList-ként kell megcsinálni, és az Add metódusal beletenni a sorszámokat.Végül egy felvetés:
ha az egész algoritmust úgy csinálnád meg, hogy lentről lépkedjen felfelé, akkor a tömbbe eleve csökkenő sorrendben lennének a sorszámok nem?
Bár ha a két ciklus egymás után ugyanazon a tartományon megy végig, akkor ugye egymás után lesznek rendezve.
És ha csak egy ciklust csinálsz és vagy feltétellel nézel két dolgot?
Vagy az első ciklus változtat valamit az adatokon?Imre
Hát, akkor azt még kipróbálhatnád, hogy az Excel 2013-ban vannak Római-Arab szám váltó függvények.
Meglepetésünkre RÓMAI és ARAB a nevük.
Ha a szövegedben pontok vannak a kerületek mögött, akkor egy segédoszlopba kiveheted az első pont előtti római számot, majd azt arab számmá alakítod.
Ezután ezen oszlop alapján rendezed a táblát.
Ha például az A2-ben van egy címed, akkor:=ARAB(BAL(A2;SZÖVEG.KERES(".";A2)-1))
???
Imre
Sziasztok!
Ahogy Delila írta. Annyi, hogy ha jól érzékelem, akkor Ő 2007-es Excel-t használ.
20010-től itt találod:
Fájl->Beállítások->Speciális -> Ennek a végén -> Egyéni Listák szerkesztéseA Listaelemeket bepötyögöd egyesével, Enterrel lezárva egymás után, ha végeztél, akkor megnyomod a Hozzáadás gombot, majd az OK-t
Másik lehetőség, ha egy tartományba előre leírod a római számokat egymás alá, és az Egyéni listák szerkestésében beolvasod, majd Hozzáadás és OK.
Ezután adatok->Rendezés
Lásd a csatolt képet.
Én pontokkal a végén vettem fel őket, és simán berendezte, nem volt hiba IX. kerületnél.
Imre
Attachments:
You must be logged in to view attached files.Sziasztok!
Csak annyit tennék hozzá, hogy ha nem akarod letárolni a hónapok neveit egy külön tartományba, akkor ebben a korábbi cikkben leírt „trükkös” megoldással is meg lehet csinálni, mivel a dátumból neked is csak a hónap rész kell.
Imre
Szia!
Ezt makró programozással lehet megoldani.
Tulajdonképpen azt is lehet, hogy az első munkalapon kitöltesz egy rekordot, és utána mondjuk egy gombnyomásra megcsinálja amit szeretnél. Meg lehet csinálni Makrós űrlappal is persze.Natív Excel képletekkel ez nem megoldható szerintem.
Imre
Hogy neked mennyi bajod van! 🙂
1. Kimutatás->Jobb klikk-> Kimutatás beállításai -> Adatok lap
2. Mezőnként megőrzendő elem száma: SemennyiSzerintem itt kell keresni.
???Imre
-
A hozzászólás módosításra került: 7 years telt el-
horvimi.
A Printarea részhez:
resz1.address
Imre
Örülök, ha tudtam segíteni.
A cikket nem most ígérem, de sort fogok rá keríteni, mert nem először jött elő.
Nézz rá néha az oldalra, vagy majd jön egy hírlevél, esetleg a Facebook oldal + az oldal követőinek hírfolyamában.Ha van korábbi Excel verziód, az is fog futni Win 10-en, nincs olyan, hogy Excel for Win10 🙂
Az üres cella probléma csak eseménykezelő makróval (change esemény) lenne megoldható, de ott meg pláne gond lesz, mert az Excel makrók és a LibreOffice (vagy hasonló) makrók nem teljesen kompatibilisek.
Úgyhogy ezt kézzel kell csinálnod, vagy utánanézel.
Imre
-
A hozzászólás módosításra került: 7 years telt el-
horvimi.
Húha, ez egy XLS fájl. Milyen Excel-t használsz?
A kérdéshez találtam megoldást, feltételezve, hogy nincsenek duplikációk a tartományban.
Két megoldást is beletettem.
Valószínű, hogy írok róla majd egy cikket, köszi a kérdést!Imre
Attachments:
You must be logged in to view attached files.Szia!
Ez már egy speciálisabb eset, de van rá megoldás, csak keresni kell 🙂
Én pl. többek között itt találtam:
https://www.mrexcel.com/forum/excel-questions/553903-count-unique-values-filtered-column.htmlA használt képlet elég bonyolult, nem elemeztem.
=SUM(IF(FREQUENCY(IF(SUBTOTAL(3,OFFSET(A9,ROW(A9:A42)-ROW(A9),,1)), IF(A9:A42<>"",MATCH(A9:A42,A9:A42,0))),ROW(A9:A42)-ROW(A9)+1),1))
A képlet nyilván tömbképlet (CSE), a tartomány a képlet szerint az A9:A42-ben van, ezt módosítsd értelemszerűen.
Ezen kívül a függvények neveit magyarra, a vesszőket pontosvesszőre kell változtatni, ha magyar Excelen dolgozol.Hozzátenném még, hogy Excel 2013 óta az egyedi elemszámot a PowerPivot-tal is meg lehet csinálni, semmi tömbképlet.
Imre
-
A hozzászólás módosításra került: 7 years telt el-
horvimi.
Én nem hinném, hogy a LibreOffice makró szinten kompatibilis lenne az Excel-lel.
Szia!
Hát, ez klasszikus FKERES / VLOOKUP problémának tűnik.
Imre
Szia!
Az E1-ben látok egy legördülő listát, ami a K oszlopban lévők közül a Pirosakat kellene hogy tartalmazza,
és az E3-ban ezután a fent kiválasztott piroshoz tartozó meccsek jönnének fel?Jól értem?
Ha igen, akkor ezt sima Excel natív megoldással nem lehet megcsinálni.
Úgy alapból sem, nemhogy még frissüljön is, ha új táblázatot teszel a K:O oszlopokba.Egy makrót lehetne írni arra, hogy ha új táblázatot teszel be, akkor gyűjtse ki külön-külön tartományokba a bajnokságokat és a hozzájuk tartozó meccseket, majd valamiféle összerendelést is csináljon közöttük, végül rendelje őket a legördülő menühöz.
Ez egy elég szép munkának néz ki, és talán túlmutat egy fórum keretein, de hátha lesz valaki, aki kihívásként megpróbálja.
Imre
Ha ez egy hosszabb folyamat része, és automatizálni szeretnéd, akkor ennek a kis résznek a megoldása valóban kevés lesz. Egy fórumban viszont nem elvárhatóm az, hogy komplett feladatokra komplett megoldásokat kapjunk.
Ha minél részletesebben tudod specifikálni a feladatot (lépések, ahogy kattintgatsz), és tudsz szerezni rá pénzt is, akkor biztosan lesz rá jelentkező is, aki elkészíti a makrót.
A kapcsolat menüponton keresztül tudsz levelet küldeni nekünk.
imre
Az autoszűrő nem dinamikus.
Tehát ha változtatod a nevet a legördülőben, akkor előbb ki kell kapcsolni a szűrést a segéd2 oszlopban.
Vagy utána is lehet, kikapcsolod és újra szűrsz az 1-re.Ahhoz, hogy a felhasználó változtatásakor magától menjen a szűrés is, eseménykezelő makrót kellene írni.
Ha ez a tudás neked nincs meg, nézz utána, vagy fogadd el, hogy néhányat még kattintanod kell.imre
Szia!
Visszatettem egy fél-háromnegyed megoldást.
Tettem segédoszlopokat mindkét lapra.
A kettes lapon nevet váltasz fent, s az utolsó oszlopban ott lesz egyes, amiket keresel. A szűrést már kézzel kell megtenni az egyesekre.Mit gondolsz?
Imre
Attachments:
You must be logged in to view attached files.Szia!
Neked sincs jobb dolgod éjjel fél 3-kor? 🙂
Átfutottam a feladatot, értem is asszem.Nagy valószínűséggel ezt csak makróval lehetne automatizálni. Főleg, ha az eredményt helyben szeretnéd megszűrni.
SQL-el még látok megoldást, de annak az eredményét csak egy harmadik táblába lehetne kitenni.Sima Excel lépésekkel jutottál eredményre?
Ha az 1-es lapon szűrsz egy névre, akkor a termék oszlopban nem várható ismétlődés ugye? (remélem)Imre
Szia!
Imádom az ilyesmit!
Megmondom őszintén, fogalmam sincs. Nyilván ennek helyesen kellene működnie, azaz csak a látható cellákba kerülnek bele az értékek. Viszont simán láttam már olyat, ha nem is ennél a problémánál, hogy ugyanott, elvileg ugyanolyan gépen és Excelen más viselkedés volt egy funkció esetén.Nem tudok ilyen beállításról. Milyen Excel?
Próbálj futtatni egy javítást rajta.Megpróbálnám még, hogy ha előtte kijelölöm a szűrt oszlopot, majd megkérem, hogy csak a láthatókat jelölje, és utána másolom, akkor mit csinál.
???
Imre
Szia!
Gondolom a screenupdating-et kikapcsoltad.
FSO-val próbáltad, nem gyorsabb?Itt egy trükk, ha a kézzel jó a sebesség, hátha:
Küldesz neki egy ctrl-S-t, majd bezárod.SendKeys "^s" DoEvents ThisWorkbook.Close
???
Imre
Szia!
Próbálok udvariasan fogalmazni, mert amikor megláttam fájl tartalmát, sok minden eszembe jutott … 🙂
Szóval egy ilyen adatszervezéssel, ami enyhén szólva alulstruktúrált, összesítési feladatokat csak fáradtságos kézi munkával lehet csinálni. Aztán talán lehet rá írni egy makrót, ami talán még működik is, ha a városnevekhez képest valahogy biztosan megtalálható az a bizonyos cella, amiben a hozzájuk tartozó százalékok vannak.De néha az adatbevitel egyszerűen tartása miatt (szépen látszódik minden város külön táblázatrészben), szembe kell nézni a szívással, ami az összesítést illeti.
Azért konstruktív ötletem is lenne:
Ha az én feladatom lenne, akkor dühömben a következőt csinálnám
1. Minden lapon csinálnék egy városonkénti kigyűjtést Ha a munkalapok azonos felépítésűek, ugyanazokkal a városokkal és a városokhoz tartozó összesítő cellák is ugyanott vannak, akkor ez elég gyorsan megvan, mert másolható. (Ez a három lapon igaz volt)2. Az összesítő lapon felírnám az első oszlopba az összes munkanapot az adott hónapban, az első sorba az összes várost. A módszer kihasználja, hogy a dátumok a munkalapok nevei, tehát nem dátumokat írok, hanem a munkalapok neveit.
3. Egy elég bonyolult képlettel behivatkoznám az egyes lapokról az 1. lépésben kigyűjtött százalék értékeket.
Megcsináltam, visszatöltöttem, nézd meg!
Imre
Attachments:
You must be logged in to view attached files.Szia!
A 2016-os Excelre sokan panaszkodnak mindenféle miatt. Lenne pár kérdésem:
– 2013-ban próbáltad?
– Kézzel mentve is lassabb a mentés?
– Excel 2016 vagy Office 365 Excel az, amivel a gond volt?
– Utána kerestél-e már a problémának, és ha igen, mit találtál?Imre
Szia!
Első körben a rendezés cégnév szerint elég sokat segítene, mert az ugyanúgy kezdődők egymás alá kerülnének.
Ha jól sejtem, a részlegesen egyezőeket cégenként más-más színnel akarnád jelölni. Kézzel ez megoldhat lenne, ha egyesével csinálnál egy nagy halom feltételes formázást (Tartalmazza szabály)
Én azt találtam ki, hogy csinálok egy számított oszlpot, ahová megpróbálom generálni az alapnevet a következők szerint:
Ha az eredeti cégnév nem tartalmaz szóközt, akkor az lesz az alapnév, ha tartalmaz, akkor a szóköz előtti rész lesz az alapnév. Ez alapján sorba rendezve az egyforma alapnevűek egymás után kerülnek.Nem lesz jó pl. az Amazon.com-ra, de ilyenből nem sok van szerintem.
A rendezés után lehetne feltételes formázással jelölni a duplikációkat a kalkulált alapnév oszlopban, ugyanazzal a színnel.
Hogy a duplikációk más-más színűek legyenek, az szerintem már makró kérdése
Visszatöltök egy verziót, ahol az alapnév oszlopban van a képlet, és a rádeső részt rendeztem és feltételes formáztam is (Cellakijelölési szabályok -> Ismétlődő értékek..)
Majd szólj vissza, hogy tudod-e használni.
Imre
Attachments:
You must be logged in to view attached files.Én is köszönöm, megint tanultam valamit.
Szia!
Átjött a csatolmány.
Nem semmi, de találtam rá megoldást.
Van egy korábbi cikk, amit az egyedi elemszám megállapításáról írtam, ezt továbbfejlesztve lehet eljutni erre a megoldásra.
Igazi varázslat.
Visszatöltöttem, elemezgesd!Imre
Attachments:
You must be logged in to view attached files.Szia!
Én nem látok csatolmányt.
Másik egy kérdés:
Ha van az első oszlopban egy vagy több ismétlődés, akkor a hozzá tartozó szöveg is ugyanaz minden előfordulásnál?
Ha jól értem, akkor igen.A probléma egy VBA UDF-el valóban megcsinálható.
A másik út egy jó kis tömbképlet lehet.
ha küldesz mintát, eljátszogatok vele.Imre
Megtaláltam, hogy melyik kódot próbálod használni:
https://www.mrexcel.com/forum/excel-questions/601054-send-email-macro-multiple-recipients.htmlVan vele több probléma, de elvileg kellene valamit csinálnia.
Ha D4-től vannak az email címeid, de nem tudod, hogy mennyi, akkor a címzett listát ne állítsd össze nagyobb tartományra, mert akkor tele lesz üres pontosvesszőkkel.Egy ciklus kell a D4-től az utolsó celláig, és úgy összefűzni őket pontosvesszővel tagolva, kb. úgy, ahogy most is van.
Próbáld meg, és ha nem megy, segítek.Imre
Szia!
Kerestél a neten megoldást?
Ha nem, akkor íme néhány. majd jelezd, hogy melyik lett jó!
https://www.rondebruin.nl/win/s1/outlook/signature.htm
https://stackoverflow.com/questions/8994116/how-to-add-default-signature-in-outlookImre
A műszak lapon az első sorban a B oszloptól egy rakás formátum be van állítva feltételes formázással, és még az is be van állítva egyéni formázással, hogy napként és simán sorszámmal jelenítse meg. Azaz az egyéni formátuma „n”.
A képlet másolása sima Ctrl+V beillesztéssel viszi a formátumot és a feltételes formázást is. Többször kipróbáltam. Ha neked nem, akkor a B1 beillesztése után, mielőtt jobbra húznád, másold át a formátumot is.Imre
2017-11-26-15:04 Hozzászólás: [Resolved] Sorbarendezés mezőre kattintva dinamikusan futás közben #4009De ha a rendező gombokat kiteszed a gyors elérési eszköztárra, akkor egy kattintással elérhetők lesznek. Ebben az esetben csak belekattintasz bárhová az oszlopban (lehet a fejléc is), és megnyomod a megfelelő irányú rendezés gombját. Emellett a jobb klikk gyorsmenü rendezés menüjét is használhatod.
Imre
2017-11-22-08:51 Hozzászólás: [Resolved] Sorbarendezés mezőre kattintva dinamikusan futás közben #3995Hali!
Ahogy Delila mondja.
Ha konkrétan meg akarsz spórolni két kattintást, akkor eseménykezelő makrót kell írni.
Meg lehet csinálni, de szerintem nem sok értelme van.Imre
-
A hozzászólás módosításra került: 7 years, 3 months telt el-
horvimi.
Hali!
Tegyél töréspontot ehhez a sorhoz, és amikor megáll, akkor nézd meg, hogy mi van a tömb aktuáls elemében.
Esetleg tedd előbb az egészet egy változóba, és annak a tartalmát nézd meg, mielőtt az Open lefut.Viszont én még továbbra is az összerendeléseken lovagolnék, ugyanis a Dir az oprendszer szerinti un. rendszer sorrendben olvassa a fájlokat. Neked meg szerintem minimum ABC sorrend kellene.
Lehetséges megoldások:
1. A két mappa fájljainak a nevét beolvasod két külön tömbbe, majd rendezed őket (A neten van sok Bubble sort vagy Quick sort minta.2. A két mappa fájlneveit beolvasod Dir-el két Excel tartományba, és külön-külön az Excellel rendezteted őket.
Így egymás mellé kerülhetnek a párok.
Ezután vagy a tömbön, vagy az Excel tartományon lehet ciklus futtatni, és megcsinálni a feldolgozást.Imre
Sziasztok!
Én nem látok csatolmányt. Az lehet?
Delila bemásolta a kódot, azt látom.Elsőre nekem is olyasmi jutott eszembe, mint Delilának, hogy mi alapján történik az összerendelés?
Az intézőben látott sorrend és a Dir által adott sorrend nem biztos, hogy ugyanaz.
Másik, hogy egy kicsivel több információ kellene arról, hogy most mi történik?
Mi az a „nem kívánt működés” ?Debug-oltad?
A tömb két sorának feltöltése után a tartalma rendben van? Jól vannak párban?
Imre
Szia!
Először:
Mindent írj át HAHIBA verzióra. Így csak egyszer keres és nem kétszer. tehát gyorsabb lesz.Másodszor:
A válaszban megírtam, hogy mit kell írnod.
Az nem az, amit te most írtál. Nézd meg jobban. Csak sorokra tördeltem, hogy kiférjen.Imre
Szia!
Sikerült reprodukálnom a problémát.
Ez egészem megdöbbentő.
Ha lesz időm, kipróbálom PowerQuery-vel is, hogy ott igaz-e ez a probléma.A jó hír az, hogy sikerült találnom egy megoldást.
Mielőtt ezt elmondanám, engedd meg, hogy a képletedhez hozzászóljak.
2007 óta nem szokás használni a HA(HIBÁS… szerkezetet, mert így mindenképpen kétszer fut le a keresés.
Mindegy, hogy HOL.VAN vagy FKERES, nagyon nem hatékony. Helyette a HAHIBA függvényt használjuk.
Ez volt az egyik új függvény a 2007-ben.
Olvasd el ezt!Node a fő probléma megoldása az (jobb híján), hogy az INDEX függvényben használni kell az oszlop paramétert is, és azt a fejlécben történő dinamikus kereséssel adjuk meg.
Írtam az INDEX függvényről is nemrég
Tehát 2D keresést kell csinálnod, ami csak a lényeget tekintve kb. így nézne ki:
INDEX(Könyvelés.xlsm!Könyvelés_query; HOL.VAN([@[Bejövő Számlaszám]]; Könyvelés.xlsm!Könyvelés_query[Bizonylatszám];0); HOL.VAN("Bizonylatszám";Könyvelés.xlsm!Könyvelés_query[#Fejlécek];0))
Tehát Az INDEX függvény a teljes „Könyvelés_query” táblában keres, és az adatot az annyiadik sorból adja vissza, amit a HOL.VAN megtalált, és az annyiadik oszlopból, ahol a könyvelési tábla fejlécében a „Bizonylatszám” szöveg van.
Ez nekem működött az összerakott demóban.
Imre
Szia Feri!
Ez a függvény a 2007-es Excelben jelent meg. Kompatibilitási módban elvileg nem használható.
Próbáljátok a fájlt xlsx-ként elmenteni.Imre
Ez egy tömbképlet, valóban nem egyszerű, de nem is érdekes, csak használd.
Ha jobban megnézed, akkor az I34-ben van az a szó, amit keres az A1:N30 tartományban.Ugyanígy találja meg az „óceán” és az „öböl” szavakat is.
Imre
Igen, van.
Visszatöltöttem a megoldást, ami a listák alatt van.
Az eltérések okait is odamásoltam.Imre
Attachments:
You must be logged in to view attached files.A képen lévő listát Speciális szűrővel kaptam meg.
A neked bejövő listából a cikkszámok oszlopot kimásoltam, kivettem az ismétlődéseket és azt használtam kritériumtartományként.
Egy egész sorozatot találsz az eszközről:A többit pedig leírtam az előzőben.
Imre
Szia!
Megnéztem. A problémát a futár oszlop okozza. Ez nem tudom mi. Talán a csomag?
Ha jól látom, akkor ugyanarra a cikkre futáronként meg akarod ismételni a raktárkészlet információkat.
Ezt natívan Excellel vagy akár Access-el sem tudnám megoldani.A feladat egy szűrés, de mivel a futár információ nincs benne a raktárkészlet táblában, ezért azt csak a cikkszám alapján lehet összefüggésbe hozni a kapott listával. Ez egyszerű. Én speciális szűrővel csinálnám.
De ezután generálni kell bele cikkszámonként ismétlődéseket minden futárhoz.
Ez csak kézzel lehetséges, illetve makróval lehet automatizálni.A csatolt képen van, amit egy irányított szűréssel gyorsan meg lehet csinálni. Ezután a nem ismétlődő cikkszámok elé egy sima Index/Hol.van-al ki lehet szedni az első lapról a Futár infót. Az ismétlődő cikkszámok sorait kellene ezután a lista végére másolni még egyszer,és képezni a Futár adatot elé. Na, ez az, ami probléma.
imre
-
A hozzászólás módosításra került: 7 years, 4 months telt el-
horvimi.
-
A hozzászólás módosításra került: 7 years, 4 months telt el-
horvimi.
Attachments:
You must be logged in to view attached files. -
A hozzászólás módosításra került: 6 years, 4 months telt el-
-
SzerzőBejegyzés