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.
Ez van végül is egymás után 3x, annyi különbséggel, hogy a hónapok változnak 7, 8 és 9. Ezt a hármat szummázom, mert arra nem jöttem rá, hogyan lehetne a hónap feltételnél mind a 3 hónapra összesíteni. Az megvolt, hogy valami "és"-sel, de nem jött össze a függvény
Van egy több ezer rekordos listám, benne az egyik mező városneveket tartalmaz. Hogyan tudnék a listából olyan kigyűjtést csinálni, hogy minden városnév egyszer szerepeljen?
Ez negyedévenként összesít 4 változó alapján. 2010, július, augusztus és szeptember adataiból azokat, amelyek mellett az egyik sorban szerepel az "anyagi" szó, illetve egy másikban megegyezik az M3-ban lévő (egyébként "DP") szóval. Mindegyik feltételnek teljesülni kell, és azokat számolja össze. Nem értékeket összegez, hanem a feltételek teljesülését számolja össze.
Ráadásul nem tömbképletként vannak bevíve.
De, ha jól értem, amit írtatok, ennek nem kellene működnie.
Az eredeti kérdéshez visszakanyarodva. Lassú a számolás. Most úgy oldottam meg, hogy a második fülön (az elsőbe viszem be az adatokat, a 2. összesít) van egy újraszámol gomb ezzel:
Sub Gomb1_Kattintáskor() Application.Calculation = xlCalculationAutomatic End Sub
Az adat fülön lévő bevitelnél, a makrók futásánál ki van kapcsolva ez a számolás, így az adatbevitel gyors. Majd amikor kész vagyok, akkor vagy rányomok az újraszámol gombra, vagy rámentek/bezárom.
A bonyolultnak tűnő függvények miatt elképzelhető a lassú számolás? Vagy fogadjam el SQLkerdes véleményét, hogy sokat számolunk, sok időt vesz igénybe?
Szóval klasszikus kipontozást akarsz csinálni. Ehhez tudni kell, hogy hol vannak a tábládban a bejövő pénzösszegek és hogy hol vannak a számlák. Milyen struktúrában?
Jól értem, hogy egy sorban szerepel az összes bejövő utalás összege? Hol vannak a számlák? Hány számla van? Csinálj egy screenshot-ot a file-ról és rakd ide be. Nem az adatok érdekelnek, hanem a tábla szerkezete.
olyan excelproblémával már találkoztatok, hogy bizonyos felhasználónál nem lehet a cellákba írni. Minden más (word, notepad) szoftverbe tudok írni.... Rendszergazda alól simán megy. Valamilyen jogosultsági probléma...de nem tudom, hogy hol állíthatnám be. Már kapott a felhasználó rendszergazda jogot is, de így sem ment. Csak helyi rendszergazdával tudtam a cellákat módisítani..
Szerintem válaszoltam: 1 oszlop - 0 sor (nincs üres oszlop)
Igen bejövö utalásom van (érték).
Egy francia vevömnek több vevöi kódja van, és utalásoknál nem tünteti fel, hogy mely számlákat egyenlítenék ki. Mert van úgy, hogy mivel egy cég, de több telephely, több vevöi kódon vannak a számlái..
Szóval le tudom szürni az összes nyitottszámlájukat, ezt teszem egy oszlopba. Ebben az oszlopban kellene meglelni, hogy az utalás mely nyitott számlák kombinációja lehet, hogy tudom a bankot velük kiegyenlíteni.
Az utolsó, ; után bevitt tartománynak az összegzendő értékeket kell tartalmaznia. IGEN értékeket nem tud összeadni.
Nálad valamelyik oszlop értékeinek az összegét kellene kiszámolnia a képletnek, ha a B oszlop kezdete 2010.07 , és a G oszlop IGEN. De melyik oszlop összegeit számolja? Ezt az utolsót kell ;-vel írni az előző 3 után, és ebbe már nem jön feltétel.
Ezt a képletet csak az Adat lapon lehet alkalmazni, vagyis a feltételeknél azt nem kell megadni.
Tömbfüggvényekben való hibakeresés módja: - jelöld ki az - esetedben - SZORZATÖSSZEG egy önálló elemét. A lenti példádban, pld HÓNAP(Adat!$B$12:$B$2000)=7 - nyomd le az F9-et (ez megmutatja az adott művelet eredményét, az összeset) - UNDO-val csináld vissza - ezt csináld meg mindegyik önálló elemre - ahol hibát látsz eredményként az f9 után, ott a problémád
Ha nincs az egyedi elemek között hiba, akkor jelöld ki az egyedi elemek valamely kombinációját (lenti példa szerint: HÓNAP(Adat!$B$12:$B$2000)=7)*(ÉV(Adat!$B$12:$B$2000)=2010)
F9, hiba keresése, UNDO
Ezt addig kell csinálni amíg meg nem leled a hibát.
Ez a technika sokat segít abban hogy megértsd az adott függvény működését.
Boolean adatot (IGAZ v. HAMIS) a SUMPRODUCT nem tud szorozni. Amikor két boolean eredményt szorzásjellel összeszorzol a SUMPRODUCT-on belül, akkor az excel automatikusan számmá alakítja az eredményt (1 v. 0 lesz belőle). Ha viszont a SUMPRODUCT-ot próbálod meg arra használni, hogy az IGAZ v. HAMIS-t alakítsa át számmá, akkor az nem megy.
Szóval a nem működő képleted megpróbál pld. egy TRUE-t meg egy 1-est összeszorozni, mivel ez nem megy neki, hibaüzenetet ad.
Ezért van az, hogy az IGAZ, HAMIS eredményt adó dolgokat a SUMPRODUCT-on belül átalakítjuk. Ennek módjai: - dupla negatív előjel - 1-el szorzés, vagy - N függvény.