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.
A #HIÁNYZIK ez esetben ténylegesen azt jelenti, hogy nincs a keresett érték a tartományban. Egyébként a súgóban látni a többi hibajelzéssel ellentétben erre a #HIÁNYZIK-ra némi különlegesség is.
Örűlök, hogy sikerült megoldást találni, de várom mélben. Tényleg kíváncsi vagyok mit kellett "művelned", mert mint írtam annó volt már valami hasonló melóm. Bár az akkori munka ott veszett...
Én excel guru? :))) Csak inas vagyok, aki próbál ellesni ezt azt a mások (guruk, iparosok, amatőrök) munkájából...
Létezik egyáltalán olyan hogy guru? Persze nyilván vannak akik mélyebbre ásták már magukat az excelben mint a tesztleptöltögetők. :))
Na és a "megrendelők", akik aztán megmondják így kéne, úgy kéne, de gőzük nincs az excel lehetőségeiről. (Excel=szinezhető kockáspapír-pótló, na jó egy szum függvény talán, s ami ha már kilóg a képernyőről, átláthatatlan káosszá válik a szemükben). :))
Bocs a kitérőért, de pár főnököm, s kollégám jutott az eszembe a feladatod kapcsán.
egy nagyobb feladat, egy számítást akarok automatizálni, de a kapott adat, amivel számolnom kell felülírandó egy másikkal. A függvényt tkp ismerem, de azt nem tudom, hogy lehet egy makróban használni, aztán kapott eredmény birtokában manipulálni vele a cella paramétereit.
Ezt a kis kodreszletet egy nagyobb halmazbol ragadtad ki, vagy feladat osszesegeben annyi, amit irtal? Mert igy ezt keplettel is meg lehetne csinalni nem? (FKERES-VKERES)
nagyon kéne egy kis segítség egy makróban. Az a feladat, hogy egy tábla celláját kellene felülírni egy másik, fix adattal. Az a tábla, ahonnét azt veszem _amivel_ felülírom, fix, de _amit_ felül kell írnom, az sajnos változó, a sor száma eltérhet. Tehát ebben a sorban, hogy
Range("$A$1'") = Range("[tabla.xls]Munka2!$D$9"), a "Range("$A$1') kifejezésben a sor száma változó, a benne lévő értéktől függ, hogy melyik az. Hátha valaki csípőből vágja... Help, és köszönöm.
Először is köszönöm észrevételeiket, munkátokat és készségességeteket!
Sikerült a Ti és kollégáim segítségével megoldani a problémát! Nekem is sokkal egyszerűbb lett volna egy listába megcsinálni az elvárt táblázatot, de meg volt kötve a kezem! Biztos lenne egyszerűbb megoldás is, de örülök, hogy megvan!
Szóval, akinek látom az e-mail címét, küldöm a táblát!
Lassacskán nekem is kezd világosodni a szege elötti feladat, én is kb úgy képzeltem el, ahogy te, de ez csak növeli zavarom, mert az elképzelt megoldásnak minden további nélkül menni kéne, tehát vagy alapvetően félreértek valamit, vagy szege követ el valami triviális hibát, amire épp a trivialitása miatt, nehéz rájönni. (Saját emlékeimből számosat tudnék sorolni). De az is lehet, hogy túl van komplikálva a feladat, amire elsősorban az utal, hogy az adatbázis tartalmát több kapun keresztül lehet módosítani, ami általában katasztrófális káoszhoz és adatbáziskezelési nehézségekhez vezet. Az én prakszisomban ezért az első lépés mindig egy baromi felhasználóbarát inputfile, amit aztán egy központi modul kontiroz tovább. Mivel nem vagyok professzionális informatikus, e megoldást magamtól izzadtam ki, aztán meglepődve tapasztaltam, hogy a folyamatszervezési szakirodalomban magától értetődő alapkövetelmény, hogy úgy mondjam 2x2.
Az érthetetlen #HIÁNYZIK üzenetre meg az jött elő, hogy gyakran az a magyarázata, hogy a hivatkozás nem azt látja, amit a felhasználó, tehát pl. stringet lát érték helyett, (vagy fordítva), esetleg egy láthatatlan szóközt még, vagy eltérést a számított értékek tízenvalahanyadik tizedeshelyiértékén stb.
A =HA(IGAZ;a;b) függvényt egyértelműen hibásnak tartom, mert nem derül ki belőle, hogy minek kell igaznak lennie. A kérdésem pedig az volt, hogy jól gondolom-e, vagy van-e a HA függvénynek egy általam nem ismert hivatkozási konvenciója.
Ezen én is agyaltam egy darabig. Arra a következtetésre jutottam, hogy a FKERES #hiányzik üzenetét akarta lekezelni ezzel az IGAZ függvénnyel, ami persze nem megy, mert lásd a rávonatkozó képet: emmiatt javasoltam lentebb a HIBÁS függvényt a "tartományok" közötti választásra.
Nem jelentkezik szege, ezért -mert valami hasonló munkám már volt- próbálom én -magamnak is- magyarázni a dolgot.
Szóval a "doboz" jelen esetben azt jelenti, hogy a számláinak egy bizonyos mennyiségét "tartományát" egy fizikailag megfogható dobozban tárol, aminek cimkéjét kell meghatározni egy adott számlaszám keresése esetén. (irattározás)
Azt, hogy kik, mikor, mi célból töltögetik és hogyan ezt a "tartományokat" számomra is homály, de talán arról van szó, hogy többen "könyvelik" más más csoportokban osztályokon a kezelendő számlákat, s ezeket az adatrögzítéseket egy közös adatbázisban kívánják rögzíteni. Ebből aztán ha valaki valamit keresni akar, akkor a számlaszám beírása után, tudja meg, hogy melyik "dobozból" bányászhatja elő a kívánt számlát.
Nyilván más, bővebb adatnyilvántartásról van szó, csak jelen esetben ennek a keresgélős része vált megoldhatatlanná.
Ezeket a tartományokat meg dobozokat ugyan most sem értem de szvsz az FKERES-be beépíthető a második FKERES. De ha nem, akkor a második FKEREST miért nem teszed egy új cellába, és aztán abból hivatkozik az elsőre. Ez ugyanis biztos megy.
Az sem oldható meg, hogy egy másik munkalapon összerendezed úgy a beírt bizonylatokat, hogy könnyen lehessen keresni köztük? ha jóltudom, akár 256 munkalapod is lehet. Ennyi osztály csak nem használja a fájlt!? Tehát simán lehet (szerintem) még egyet bevezetni, a rendezés céljából. Ha fontos a dolog, akkor minden bizonnyal érdemes időnként biztonsági másolatot is készítnei a fájlról. Ami már akár rendezett formában is megtörténhet. Vagy lehet akár egy másik fájl is, ami megnyitáskor átveszi az addig beírt adatokat, összerendezi és abban keresel.
Te tudod, hogy mit akarsz. Ha itt nincs világosan megfogalmazva a feladat, egy részmegoldás nem lesz csak véletlenül jó. Látni kell, miből, honnan, hová...
Természetesen lehetnek egymás alatt a tábláid (nem csak az általam javasolt formában is) akkor egy sima fkeres függvény is elég.
Ha ragaszkodsz a vízszintes táblaelrendezéshez, akkor a következő függvényt, s annak a szükségszerinti tovább bonyolítását javaslom, a táblaszámoktól függően:
Ez a #hiányzik kezelését veszi segítségül a másik táblára való váltáshoz.
Igaz én nem vagyok híve az effejta túlbonyolított függvény-összefűzéses megoldásoknak.
Mit jelent az, hogy többen fogják feltölteni a tartományok tábláját?
Nem olyasmiről van szó, hogy a különböző számlatipusokat iktatod, s egy iktatószám alapján dossziékba rakod? Mert akkor csak tényleg listaszerűen kell vezetni a számlákat, s a rájuk vonatkozó adatokat s lehet szűrni, keresni, kimutatásdit varázsolni, stb. Én az általad felvázolt táblákat, már csak a kimutatásvarázslóval készítetném, ha épp olyasmit kéne látni...
Sajnos nem lehet egymás alá tennem a bizonylattípusokat, mert több osztály dolgozói fogják ezt a táblázatot töltögetni, kölünböző bizonylattípusokra bontva!
A csavar a dologban az, hogy írtam egy FKERES-t [=HA(IGAZ;FKERES("Találat";A:D;4;HAMIS);FKERES("Találat";F:I;4;HAMIS))], aminek ha a számolási lépéseit megnézem, kiszámolja a háttérben és ott van az elvárt végeredmény, viszont a cellába azt írja #HIÁNYZIK!
Kérem adja meg a keresett bizonylat számát!
10000005
A bizonylat a következő dobozban található:000001SegédKIMENŐ SZÁMLÁKDOBOZSegédBEJÖVŐ SZÁMLÁKDOBOZTartomány kezdeteTartomány végeTartomány kezdeteTartomány vége
=B6,$D$1Találat
10000001
20000000
000001
=G6,$D$1
50000001
60000001
000005
=B7,$D$1
20000001
30000000
000002
=G7,$D$1
60000001
70000001
000006
=B8,$D$1
30000001
40000000
000003
=G8,$D$1
70000001
80000002
000007
=B9,$D$1
40000001
50000001
000004
=G9,$D$1
80000001
90000002
000008
Eddig úgy jutottam el, hogy egy HA fg.-nyel
[=HA(ÉS($D$1>=B6;$D$1<=C6);"Találat";"")] kiírja melyik tartományban van a keresett bizonylat és egy FKERS-sel [=FKERES("Találat";A:D;4;HAMIS)] pedig kiíratom, melyik dobozba van!
Már csak az a baj, hogy nem tudom, hogy oldajam meg, hogy akkor is kiírja fent a dobozszámot, ha a második táblázatban a bizonylat! Próbálkozok az FKERES-be beágyazni egy másik FKERES-t, de nem megy!
Tulajdonképpen mi a feladat? Mi az a doboz? Mi az hogy szomszédos cellákban levő számok tartományt képezzenek?
Szóval nem igen értem a feladatot. De ha netán az lenne, hogy keresse meg a tartományba eső bizonylatokat, akkor a kettős szűrő jó megoldás. 1. <20; 2. >10.
Abban kérném a segítségeteket, hogy lehet-e olyat, hogy egy cellában megadott számtartományban (pl.: 10-20) keresni köztes számot, vagy szomszédos cellákban lévő számokat tartományként kezeljen!?
Több ezer archivált bizonylat közti kereséshez kéne csinálnom egy fejlécet, ahova, ha vki beírja a keresett bizonylat számát, kidobja melyik dobozban van!
Hát itt a bökkenő, hogy egyelőre csak a pontszámot tudom. Fogalmam sincs, hogy mely kérdésekre adtam helyes választ, és mi volt az a 9 db, ami rossz volt. Két kérdésről tudom csak, hogy biztosan rossz választ adtam rájuk, ezek nem Exceles kérdések voltak.
Engem is furdal a kíváncsiság! Szóval kedves Abigél, tudasd velünk hogy ezekre a fantasztikus kérdésekre mi is lett volna a válasz korunk legnagyobb információbrókere ( www.gmconsulting.hu ) szerint..
De most annak örülsz, hogy az itt feltett kérdéseidre adott válaszok helyesek voltak, vagy az azokon kívűlíeket meg tudtad helyesen válaszolni. (egy egyszerű kis excel táblában leírhatod a választ, mint sikeres vizsgázó. A helyes válaszokat feltételes formázással szinezd ki zöldre! :))))) )