Az „Excel” fórum célja, hogy keretet adjon az Excel felhasználók széles táborának tapasztalataik megosztására, és lehetőséget a segítséget kérőknek. Az alábbi összefoglaló azért készült, hogy segítse a helyes kérdésfeltevést.
– Írd le szabatosan a problémát. Úgy fogalmazz, hogy ne csak te magad, de a szakértő is megértse, mire szeretnél választ kapni.
– Írd le, hogy milyen verziójú Excellel dolgozol. (Vagy ha nem – ill. nem csak – Excel, akkor micsoda?)
– Írd le, hogy milyen úton indultál el, és hol akadtál el rajta.
– A kérdés megértése szempontjából sokat segíthet, ha feltölteszt egy képet, amin látszik, hogy mit szeretnél, vagy illusztrálja azt.
– Még jobb, ha feltöltesz egy minta munkafüzetet valahová (pl. data.hu). Feltöltés előtt távolítsd el belőle a nem publikus adatokat.
– Ha a feladat jellege olyan, célszerű az "előtte" és "utána" állapotokat bemutatni. (Miből kellene csinálni mit?)
– Ha VBA kódon kell javítani, másold be a releváns kódrészt. Rövid kód mehet hozzászólásba, hosszú kód inkább ide: http://pastebin.com/
– Ha valami nem úgy működik, ahogy kellene, add meg a rendellenes viselkedés jellemzőit, a hibaüzenetet, és a hibát okozó programsort.
Sajnos már nincs meg az a füzetem, amit anno kitettem, és letölteni sem lehet.
Úgy emlékszem, hogy volt az ofszeten belül egy indirekt függvény is, aminek az első paramétere az oszlop betűjele idézőjelek között, ehhez jön & jellel a sor száma. A sorszámot úgy kapom, hogy a valahova beírt kezdődátumot a hol.van függvénnyel megkerestetem az oszlopban. Ezzel megvan a kiinduló cella.
=indirekt("A"&hol.van(f1;A:A;0)) [f1-ben van a kiinduló dátum] ezt ágyazom be az ofszet függvénybe.
Az ofszet első paramétere ez a kezdőcella, a fenti képlet.
A 2. és 3. paraméter 0, mert ennyi sorral és oszloppal eltolva kell nekünk a kezdőcella értéke.
A 4. paraméter azt adja, ahány sorral lentebbi celláig vegye az oszlop adatait a grafikonhoz. Ezt valamiképp kiszámoltuk a H(?)1-be bevitt utolsó dátumból a hol.van függvénnyel, és kivontuk belőle a kezdőcella sorának a számát.
Az utolsó paraméter azt adja meg, hogy a névvel ellátott tartomány hány oszlop adatait tartalmazza, ez a grafikonnál értelemszerűen 1.
=ofszet(kezdő_cella_címe;0;0;utolsó_cella_címe;1)
Ez így nagyon összetett, hátha valaki kézzelfoghatóbban el tudja mondani a lényeget.
Using the default date system in Microsoft Excel for Windows, the date_text argument must represent a date between January 1, 1900 and December 31, 9999
Vagy azt is lehet, hogy a Windows alapértelmezett dátum formátumát változtatod meg a file-odban lévő formátumra. Az excel általában visszanyúl a window alapbeállításaihoz ilyen esetben. Egészen kicsi szerencsével a windows default date formátum átállítása után az Excel már rögtön felismeri dátum formátumnak a cellád tartalmát, utána pedig csak annyit kell tenni, hogy C1=A1+B1 és a C1 formátumát meg kell változtatni dátum ÉS idő kijelzésre.
Hello ! Már csak azt nem tudom ezekkel az offszet függvényekkel hogyan zsonglőrködjek ha új oszlopot akarok beszúrni. Szánom-bánom de erre nem jöttem rá. :) Azt látom hogy a sorszámokkal az oszlopok számát adod meg de hogy ezeket hogyan és hova illesszem be arra nincs ötlet.
Először az adatokat a Szövegből oszlopok (Adatok menüben) szétválasztod, a határoló jeleknél a vesszőt megadva. Ez az A:C tartományba szedi szét az adataidat, amik közül a C már meg is adja az időt.
Azt esetleg meg lehet oldani, hogy az alaptábládból referenciákkal csinálsz egy olyan táblázatot (segédtábla), amely x-re rendezve van (LARGE függvény), majd ezekhez VLOOKUP-pal hozzákeresődik a megfelelő y érték. Ezután a segédtáblázatból tudsz olyan grafikont csinálni, amilyen csak akarsz, ha meg változnak az adatait a segédtábla is változik a LARGE miatt.
azt tudom, hogy pl egy halmozott oszlopos diagram oszlopaiban a különböző értékeket tudom tetszés szerint sorbarendezni. (2010-esben ha kiejlölöm a diagramon az oszlopot, akkor a szerkesztőlécen megjelenik egy "ADATSOR" képlet. Ennek a paramétereiben szerepel egy sorszám, és azt szoktam átírni. Lehet működne a te esetedben is.
Segítségeteket kérném. Van egy excel worksheet-em és abban két oszlopban vannak értékek x és y. Ezeket szeretném egy grafikonon ábrázolni, de nem találtam nekem megfelelőt. Próbáltam a "Line" típusút de ott az x értékeket nem rendezi sorba, az nem jó. Próbáltam az "xy scatter" típusút, az rendezi az x értékeket, de ott meg a vonalak vannak nem jól kötve a pontok között, mert keresztezik egymást stb. Szóval nincs erre valami megoldás, hogy az x ek rendezve jelenjenek meg és a vonalak a pontokat balról jobbra kössék össze, de pedig abban a sorrendben ahogyan a táblázatban volt?
A B értekeket (a példámban B1-B9 az első munkalapon), ha megfelel valamilyen feltételnek, akkor másik B cellába írja ki másik munkalapon, így ahol az elsőn a B9=6, ott a másik munkalapon a B4 lesz 6. Ez nem zavar be a képletekbe, mert ott már B4=6-tal számol és a képletet nem érdekli, hogy az az adat honnan került oda.
Először ezt írtad: "És ha beírok az első munkalap B10-be egy számot,...", majd "Előre beírt képletekkel és különböző, bonyolult feltételekket vizsgálom és számítom ki az alapadatokat..."
Ez nem mindegy, mert az előbb küldött makró a beírásra reagál. Ha a B oszlop értéke attól változik meg, hogy a lap egy másik helyén módosítasz valamit, akkor a makrónak azt a "másik hely"-et kell figyelnie.
Szóval akkor a B-be írsz, vagy máshova, amitől a B értéke megváltozik?
A lapodhoz kell rendelned az alábbi makrót (lapfülön jobb klikk, Kód megjelenítése, bejutottál a makrószerkesztőbe, jobb oldalon kaptál egy üres lapot, oda másold be):
Private Sub Worksheet_Change(ByVal Target As Range) Dim usor% If Target.Column = 2 And Target > 5 Then usor% = Application.WorksheetFunction.CountA(Sheets(2).Columns(2)) + 1 Sheets(2).Range("B" & usor%) = Target End If End Sub
Ez a makró a kiindulási lap B oszlopába beírt adatok közül az 5-nél nagyobbakat sorban bemásolja a füzet 2. lapjának B oszlopába. Ha változtani akarsz az értékhatáron, a pirossal írtat módosítsd.
Később írtad, hogy több lapod van a füzetben. Ha mindegyikről 1 lapra akarod összegyűjteni a feltételnek megfelelő adatokat, akkor mindegyik laphoz (kivéve a gyűjtő lapot) be kell másolnod a kódot. Mivel a gyűjtő lap nem feltétlenül második a füzetedben, a makróban 2× szereplő Sheets(2)-t írd át Sheets("Munkalap_Neve") formában a gyűjtő lapod nevére.
ok küldj egyet, az a baj, hogy haza kell menjek otthon nem biztos, hogy tudok vele foglalkozni, de hátha jón valaki aki megcsinálja Neked, ha nem akkor hétvégén valamikor megcsinálom!
Több ezer sor és 10-12 munkalap van egy munkafüzetben, ezeket az alapadatokat használja az összes munkalap,az oszlopok ugyanazok. Előre beírt képletekkel és különböző, bonyolult feltételekket vizsgálom és számítom ki az alapadatokat, de csak azokat a rekordokat, melyek az adott feltételeknek megfelelnek. Ha nem világos, küldük egy minta fájlt és úgy érthtő lesz.