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.
Nem dolgozom túl gyakran megosztott munkafüzetekkel, ezért a finomságokat nem tudom. Gondolom, a szinkronizációs problémák elkerülése érdekében le van tiltva egy csomó funkció. (Mer az hogy nézne ki, hogy A user ír a Munka1 celláiba, miközben B user törli a Munka1-et.) Annyi viszont bizonyos, hogy megosztott munkafüzetről nem lehet levenni a lapvédelmet, se feltenni rá, makróval sem. Így a larallaral által leírt makró az első műveletnél hibaüzenettel leállna. Hacsak nem egy hibakezelő rész fedi el a dolgot...
Ez nekem is feltűnt. Nem lehet, hogy meg van osztva az a munkafüzet? Mert a megosztott táblázatban az Excel nem dolgozik rendesen az egyesített cellákkal. Pl. egyesíteni és felosztani sem lehet, talán levédeni sem, és akkor ezt a makró sem végzi el. Lehet, hogy fel kell oldani a megosztást arra az időre. Ehhez hasonlóval szenvedtem itt évekkel ezelőtt, és a topikosok segítségével hoztam össze egy megosztott makrós táblázatot, ami aztán az Office365-re való átálláskor romlott el. :-(
Le tudnád írni kicsit egyértelműbben, hogy mi a gond? Ha egyesítek n darab cellát (ami alapból már zárolt, ugye), és levédem a munkalapot, nekem védettnek tűnik az egyesített tartomány. Legalábbis nem tudok bele írni.
Egy matematikai technikával is megoldható, ha mindig 4 üres cellát követően jönnek a szükséges adatok. Ekkor a 2-es munkalapon az A1-be írd a következőt: =INDIREKT("Munka1!A" & (SOR()-1)*5+1)
Ha az 1-es munkalap neve nem Munka1, akkor azt írd a felkiáltójel elé (Ha véletlenül több szavas, akkor még aposztrofok közé is kell tenned a munkalap nevét). És ezt húzd végig lefelé.
Köszönöm, ez nagyon jó, sajnos nem jutott eszembe, pedig szoktam néha használni! :)) Viszont most ezt nem tudtam használni, mert a szoftver eleve Excel-be írja az adatokat, tehát nem kell beolvassam (bár tudja szövegfile-ba is, de azzal sok baj van, mert minden adat ömlesztve lesz kiírva, hosszabb-rövidebb szóköz-sorozatokkal elválasztva, akkor inkább menjenek egyenesen az adatok az Excelbe, külön-külön munkalapra az összetartozó értékek, és rendesen kerüljön táblázatos formába mindaz, ami táblázatos jellegű). Azért köszönöm az emlékeztetést, egyszerű, szép megoldás!
Jimmy the Hand! Köszönöm szépen! Remekül működik, tök jól lehet vele ellenőrizni! 1000 hála és köszönet!
De rögtön jött egy másik kérdés. Az feltűnt már eddig is, amit most ezzel a megoldással látok is, hogy az egyesített cellákat nem védi le az excel. A védelemre egyébként egy nyitási makrót írtam, mivel a táblát folyamatosan töltik a kollégák és változnak a védendők. A makró lényege annyi, hogy feloldja a lapvédelmet, sorban kijelöli az írható blokkokat és az üres cellákat (mert ezekbe még írhatnak) és ezeket fel is oldja a védelem alól, majd az egészet levédi. Viszont az egyesített cellákat valamiért nem. Nem óriási probléma, de ha esetleg van ötlet rá, azt nagyon megköszönöm!
Szeretném megkérdezni, hogy egy összetett táblázatot tartalmazó oldalakon, ahol vegyesen vannak védett és nem védett cellák is "össze-vissza"; valahogy ki lehet-e mutatni, hogy melyik cella védett, és melyik nem. Szeretném ezt tenni ellenőrzés céljából a táblázat elkészítése után, hogy ne próbálgatással kelljen megnéznem, hogy a megfelelőeket védtem-e le és amit kell, azt szabadon hagytam-e. Lehet ez egy lista, vagy kiszínezés, vagy hasonló, ahol áttekintően látom, hogy jól dolgoztam-e.
Esetleg próbáld meg a szövegfájl beolvasását a felső menüben az Adatok->Külső adatok átvétele menüben a szövegből történő beolvasással megnyitni.Itt az adott oszlopnál az 'irányított' gombra kattintva ki tudod választani a beolvasandó fájlban használt tizedespontot:
Köszönöm! Nem egyszerű, mert vannak üres cellák is (bár ezekkel nincs gond) és szöveges cellák is vannak, miközben mindent (a számokat is) szövegnek vesz az Excel. Még töprengek egy gyors és egyszerű módszeren. A tipp mindenesetre hasznos, köszönöm!
A Val() függvény jól megérti a tizedespontot, szóval ha tutibiztos, hogy a szöveges értékeid kizárólag tizedespontot tartalmazó számok, akkor megteheted azt, hogy cellánként lecseréled az értéket:
cella.Value = Val(cella.Value)
Így biztos, hogy a cellában szám lesz, és csak a megjelenési formája függ az adott gépen érvényes területi/nyelvi beállításoktól.
Vannak nyers adataim (egy más szoftverből kapott kimeneti szövegfile-ban), amit Excel-ben szeretnék tovább feldolgozni és kiértékelni. A tizedespontok a szövegfile-ban '.' ám nálam az Excelben ',' kellene legyen. Egy trükkös megoldást találtam (még régen ti mutattátok itt, azóta is használom):
Sub SetFormat() Dim Displ As Worksheet For Each Displ In Worksheets With Displ If Not .Name = ExpJointsName And Not .Name = ResName Then .Columns("B:G").Replace What:=".", Replacement:=".", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False .Columns("B:D").NumberFormat = "0.000" .Columns("E:G").NumberFormat = "0.0000" End If End With Next Displ End Sub
Ez bár működik, de gyanítom, hogy más Windows-os területi beállítások mellett nem fog működni! Mit kellene tegyek, hogy a szövegfile '.' tizedespontjával megadott számértékeket az Excelben minden tizedespont beállítás mellett számkért értelmezve tudjam kezelni? A Replacement:="." helyett kellene valami univerzálisabb megoldás. Talán le kellene kérdezni az aktuális beállítást, mi a tizedespont, és ha az nem '.' (ami a nyers adatokban), akkor arra cserélni a nyers adatok tizedespontjait, amit az Excel elvár. De ezt hogyan?
Bár a HA függvény látszólag adja magát, és elsőre talán logikusnak tűnik a használata a feltételes formázásban, valójában egyáltalán az.
A feltételes formázás képletének egy logikai IGAZ vagy logikai HAMIS eredményt kell adnia, ez alapján vagy érvényesül a megadott formázási szabály, vagy nem.
Viszont a HA függvény maga is azt csinálja, hogy kiértékel egy feltételt, és a feltétel teljesülése esetén az egyik, nem teljesülése esetén a másik értéket adja vissza eredményként.
Így ha eleget akarunk tenni a feltételes formázás elvárásainak, tudniillik, hogy a képletünk IGAZ/HAMIS eredményt szolgáltasson, akkor a HA függvényt csak az alábbi formában tudjuk használni:
=HA(<valami feltétel>;IGAZ;HAMIS)
Ám itt valójában semmi mást nem teszünk, mint hogy kiértékeltetjük a feltételt a HA függvénnyel, teljesen feleslegesen, hiszen ugyanezt a kiértékelést a feltételes formázás szabálykezelője is el tudja végezni. Tehát eredményét tekintve a fenti képlet egyenértékű azzal, hogy teljesen elhagyjuk a HA függvényt:
=<valami feltétel>
Összefoglalva: a HA függvény használata a feltételes formázásban nem tilos, működik is, viszont felesleges, mert csak bonyolultabbá teszi a képletet, lassítja a végrehajtást, és eltereli a figyelmet a lényegről, mely utóbbi a <valami feltétel> szabatos megfogalmazása lenne.
Szeretnék segítséget kérni feltételes formázással vagy egyéb módon hogy tudom megoldani egy táblázaton belül hogy minden második sor háttere legyen szines, de csak akkor ha a sor valamely cellája értéket tartalmaz.
Köszi a hozzászolást megoldódott, nekem valahogy nem esett le ez a szöveges dolog.
A hiba az volt hogy a táblázatban az összes adat mögött ott volt a "g" gramm emiatt beolvasta de nem adta össze, miután kitöröltem a szöveget a bázis táblából így már összeadja és a cellaformázásnál pedig beállítom a számot egyénire mögé írva egy "g" ot és tökéletes kiadja amit akarok.
Nem jártam messze tőle de nem esett le szóval köszi még egyszer.
Amúgy valóban számok vannak azokban a cellákban? Attól hogy egy érték az FKERES függvény eredménye, attól még a SZUM függvénynek vígan össze kellene adnia, feltéve, hogy szám. De pl. olyat, hogy 17g + 92g + 32g, olyat nem fog a SZUM összeadni, mert ezek szövegek, nem számok.
(Fura ez, mert aki legördülő listát létre tud hozni, annak a fentieket csípőből vágnia kellene, de a kérdésed megfogalmazásából nekem ez jutott eszembe.)
ebből az adathalmazból csináltam egy legördülő listát majd a mellette lévő cellákba az "FKERES" függvénnyel beolvastattam a hozzá tartozó fehérje szénhidrát stb adatokat
Mivel étkezésekre van bontva pl egy étkezés 6 sort tartalmaz ahova mindenki beirhatja hogy reggeli pl eszik kenyeret joghurt zabpehely stb a végén szeretném összeadva látni hogy az étkezés mennyi fehérjét zsirt tartalmaz de a "SZUM" függvény nem veszi figyelembe mivel amiket összekéne adnia cellákban ugyan én látom az értéket de valójában ugye az "FKERES" függvény van benne.
Van e valakinek valami ötlete hogyan lehetne az Fkeres által kiadott eredményeket összeadni illetve megszorozni pl.
Na egy ilyen ember előtt én is leborulnék. Einstein sem tudná eldönteni az 123,123 karaktersorozatról (ha csak ennyit lát), hogy az mi is valójában.
Annak mondjuk van némi realitása, hogy a szövegkörnyezetet megvizsgáljuk programmal, és abból következtessünk. Ha pl. a forrás szöveg kizárólag olyan - felismerhető - számokat tartalmaz, amelyeknél a tizedesjel pont, akkor feltételezhető, hogy az 123,123 is ilyen, csak nincs tört része. De csak feltételezhető. Mert mi van, ha ez itt épp egy kivétel. Tegyünk a kódba szövegértelmező algoritmust is? Hát... akkor már inkább ráhagyom a felhasználóra a döntést.
Ember legyen a talpán, aki teljesen kötetlen szövegre talál erre egy biztos algoritmust, ami jól behatárolja az előjelet, helyiértéket, tizedeshelyet (Regexszel)
Elég sokat izzadtam a témával, és nem sikerült megtalálnom a bölcsek kövét.
Valóban akkor van a legnagyobb probléma, ha az egy szem tagolójel után még három számjegy jön.
De egyéb esetekben is előfordulhat, hogy olyan helyesírási hiba van a számban, amit a humán olvasó a szövegkörnyezet alapján tud korrigálni, vagy olyan, amit a humán olvasó sok utánjárással tud dekódolni, de gépi átalakításkor bizony információt veszíthetünk. Ha egy jól definiált speciális esetet meg tudsz oldani, már vállon veregetheted magad.
Igazából rövid távon nem gond, mert a szövegfájlokat, amelyeket fel akarok dolgozni, programok állítják elő, és így egész korrekt feltételezéssel tudok élni mindegyik esetben. Csak szerettem volna egy általánosabb megoldást, amit egy ctrl+c/ctrl+v kombóval be tudok tenni akármelyik későbbi programomba. De odáig nem terjed az önbizalmam, hogy majd pont én fogom megírni a Nostradamus-algoritmust, szóval a nem szabályos alakokat valószínűleg kivételként fogom kezelni. Meglátjuk.
Sehogy. Csak feltételezéssel vagy manuális jelöléssel tudsz élni, esetleg a szövegkörnyezetből találod ki... Üdv az aknamező közepén. Vedd hozzá a nem szabályos alakokat is, mert az emberek többségének rossz a helyesírása, és összevissza írogatnak számokat is.
Igen, köszönöm, erre közben rájöttem, és mindegyiknek elé tettem ezt: -?
Most azt nem tudom, hogy hogyan állapítsam meg, hogy pl. a "123,123" sztringben a vessző tizedesjelet ábrázol (magyar), vagy ezres szeparátort (angol).
Dolgozom egy kódon, ami tetszőleges, számot ábrázoló sztringből numerikus értéket (számot) csinál. Ehhez először is meg kell állapítani, hogy a sztring valóban számot takar-e, mert hátha nem. Az is cél továbbá, hogy magyar és angol számábrázolások felismerésére, konvertálására egyaránt alkalmas legyen. Úgyhogy ma kicsit elmélyedtem a Regular Expressions világában, és a szám-jelölt sztringek tesztelésére az alábbi kifejezéseket hoztam létre (remélem jól jeleníti meg a motor...):
Igen, naluk meg az ertelem az elso, es ahogy anno a matektanarom is mondta, az ertelem elso lepese, hogy valaki kepes elmondani, hogy mit nem ert.
A kisiskolasok gyorsan rajottek, hogy az abrat negy reszre bontva lehet gyorsan szemleltetni, pl. igy:
1. A-nak B, annak C, annak F teljes resze
2. A-nak D teljes resze
3. A-nak E, annak G teljes resze
4. H-nak I teljes resze
A vegen A-t kell H-val valahogy osszevetni, ami mar bonyolult.
A kerdesem ennyi volt, hogy ilyen feladat eseteben hogyan lehet az ilyen fuggosegeket gyorsan vizualisan megjeleniteni, de ugy tunik, halmaz abrazolasnal tovabbra is a max. 3 halmaz a dominans Excelben, igy nem alkalmas ra.
A gépelés során a tizedesjel helye pozitív és negatív irányban is befolyásolható. Ennek átállításával egyébként a kollégák az őrületbe kergethetők :o)
Beállítások menü -> Speciális fül -> Szerkesztés csoporton belül -> "Tizedesjel automatikus beszúrása" pipa alatta pedig a helyiérték plusz vagy mínusz irányban.
Ha ezt választottad, akkor érdemes úgy csinálni, hogy az ÖSSZEFŰZ függvényben teszel a két elem közé egy elválasztójelet. Ellenkező esetben - ha az adatsorod olyan - véletlen találat is lehet.
Ebben a konkrét (szemléltetett) esetben a SZUMHATÖBB függvény megoldást jelent.
FKERES függvénnyel viszont csak úgy, ha csinálsz egy segédoszlopot a jelenlegi első és második oszlopod előtt, abban szövegként összefűzöd a két oszlopod tartalmát, és abban keresed a feltétel 1 és feltétel 2 összefűzés utáni értékét.
Biztos, hogy már felmerült kédésként, de nem találom rá a megoldást.
Hogyan lehet megoldani, hogy az FKERES ne az első adatot adja meg válaszként, hanem egy másik változót is vegyen figyelembe. Jelen esetben az A3 és a C3 cella alapján szertném az adattábla C oszlopában szereplő számot eredményként.
Biztos, hogy már felmerült kédésként, de nem találom rá a megoldást.
Hogyan lehet megoldani, hogy az FKERES ne az első adatot adja meg válaszként, hanem egy másik változót is vegyen figyelembe. Jelen esetben az A3 és a C3 cella alapján szertném az adattábla C oszlopában szereplő számot eredményként.
Igazából ez a viselkedés ismerős lehet, mert ha az iskolában egy másodfokú egyenlet megoldása a 2 és az 5 volt, akkor azt nem írhattad le úgy, hogy "x=2 vagy 5", hanem "x=2 vagy x=5" volt az a megoldás, amiért a pont járt.
A matematikában a VAGY és az ÉS mindig állítmánnyal rendelkező mondatok, állítások között állhat, a hétköznapi beszédben pongyolán használjuk.
egy HA függvény feltételében másik függvényre (VAGY fgv.) hivatkozom pl. HA(fgv...=VAGY("a";"b");"+";"-") valamiért #érték! hibát jelez. Ilyen téren nem lehet akkor másik függvényt alkalmazni feltételként?
Más: ha egy cellában úgy állítom be a dátumformátumot, hogy szövegesen kiírja az adott naptári dátum napjának nevét, az fkeres függvénnyel később nem tudom levizsgálni adott szempontból. Namost nekem pedig kellene, hogy ha "péntek" szerepel, azzal tudjak vmit kezdeni. Tulajdonképp tehát ez jelenik meg a cellákban a nyomtatásban (hétfő, ... péntek), de nyilván mélyebb szinten csak számok szerepelnek amiből ő tudja hogy az dátum. Kérdés: van-e olyan függvény, ami a cella nyomtatható megjelenített tartalmát tudja vizsgálni?
Köszönöm szépen! Nekem mindegy, hogy mi van odaírva csak össze tudjam számolni vagyis kimutatni, hogy ki hány repülésen vett részt. Akár lehetne a segéd a C=crew a pilóta= P is F = függeszkedés és színek se kellenek. Csak nem tudom még így se, hogyan tudnám kimutatni, ebben kellene segítség. Én átírom a az egyeseket és a színeket így ha tudsz ebben segíteni. De szívesen el is küldöm átírás után ha így könnyebb.
Off: Egy 2000-ben történt műtét (középső tüdőlebeny eltávolítás) miatt - aminek ugyan semmi szövődménye nincs - jogosult vagyok minden évben 3 hét kékestetői szanatóriumra államköltségen. Kikapcsolódás, absztinencia, napi néhány km túrázás, sok olvasás, semmi rádió/TV, éppen csak annyi számítógép, hogy képben maradjak a világ fő eseményeiről. És nyugdíjasként megengedhetem magamnak.
Szia, kösz a bizalmat, de én sem tudok jobbat, mint az előttem szólók. Különösen most nem, mert 3 hétig nyaralni vagyok, és nem tudok elmélyedni a felvetett kérdésekben.
Az ábrámon a piros mező az A halmaz, a zöld a B halmaz, a kék a C halmaz, a lila pedig a D halmaz. Szerintem elég jól le lehet olvasni róla, hogy melyik csoport melyik halmazokban van benne.
Azért nem csináltam tovább I halmazig, mert nem volt kedvem, továbbá reméltem, hogy pofonegyszerű lesz megérteni és kiegészíteni.
Ha nem egyest írnál mindenhova, hanem egy számot vagy egy betűt, akár a szín nevének a kezdőbetűjét (pl. S=sárga, K=kék stb.), akkor ez egy pofonegyszerű feladat lenne, és feltételes formázással be lehetne állítani a színeket is a számokhoz vagy betűkhöz rendelve. Tehát ne a színezés legyen az elsődleges adatbeviteli mód, hanem valamilyen kódnak a beírása, és a színek majd kijönnek belőle.
Az egyetlen kerdesem az, hogyan lehet ezt vizualisan vagy mas modon abrazolni Excel-ben, hogy rajtam kivul mas is azonnal lassa az osszefuggeseget.
Az koztudott, hogy 3, max. 5 halmazt lehet abrazolni, itt viszont csak 15 megoldas van, es az lathato, hogy abbol 14 az A-hoz kotodik, 10 az A-hoz es B-hez, stb.
Az elmult egy het soran megbizonyosodtam, hogy kisikolasok szamara is vilagos a tablazat.
Ha szamotokra nem az, akkor illett volna megirni, hogy mi a gond.
Az elso abran ott volt a 9 oszlop es a 10 sorban a 30 elem, also sorban osszesitve.
Lattam, hogy ez tul bonyolult, ezert elhagytam az elemszamokat es betukkel, most a teljes, 15 fele csoportot adtam meg.
Ha vizualisan akarod elkepzelni, akkor van egy 9 halmazbol allo semad, de csak 15 helyen szerepel adat - ebbol 14 az A halmazban van, az utolso azon kivul.
Az egyetlen kerdesem az, hogyan lehet ezt vizualisan vagy mas modon abrazolni, hogy rajtam kivul mas is azonnal lassa az osszefuggeseget.
Rajzoljunk Excellel köröket a halmazok szerkezetéről?
Nem, mert az lehetetlen, csak 3, legfeljebb 5 halmazig mukodik, de mar akokr is attekinthetetlenul bonyolult az abra.
Az a kerdes, hogy ilyen feladat eseten - amikor sokfele halmazban csak nehany fele csoport van - hogyan lehet ezeket vizualisan abrazolni, hogy mindenki lassa, hogy pl. az elso 14 csoport az A halmaz reszhalmazai es az utolso egeszen mas.
Maskent szolva: ha barmelyik elem a B-G halmazokban szerepel, akkor az A-ban is szerepelnie kell
A kifakadasom azert tortent, mert az egy het soran megbizonyosodtam, hogy kisikolasok szamara is vilagos a tablazat, az A-I oszlopok a halmazok, es azokba 30 elem szerepel, (elso abran soronkent voltak az elemszamok, az also sorban a halmazokba tartozok osszege) de ezek 15 fele modon csoportosulnak.
Lattam, hogy ez bonyolult, ezert egyszerusitettem az abrat, ezert lett az A-I oszlopokban csak a 15 sor, betukkel, hogy a szamok ne zavarjanak meg senkit.
Nekem az lenne a lényeg, hogy egy egy névhez meg tudjam mondani, hogy hány darab sötétkék hány darab világoskék, sárga ... szín tartozik, hogy ne kelljen külön megszámlálni mert már most is hosszabb a táblázat de év végéig még hosszabb lesz :D
El is tudom küldeni ha valakinek ez segítene nincs benne semmi olyan dolog ...
Azonban az elgondolás valóban nem szerencsés, a színek az eredmény megjelenítésére, formázására valók, nem pedig arra, hogy azokkal számoljunk tovább. Általában az eredményhez rendelünk színeket, és nem a színekhez eredményeket.
Az alábbi excel táblában szereplő adatokat szeretném rendszerezni színek szerint. Minden szín jelent valamit és azt szeretném, hogy név szerint mellette vagy egy másik munkalapon kimutatná, hogy színenként hány darab van. Ezért is van beírva az 1 es hogy azokat össze lehetne adni színek szerint.
Ez egy jelenléti ív és azért lenne jó a színek szerinti összeadás minden névhez külön! Lehet már az alap elgondolásomba is probléma van és egyszerűbben is meg lehetne oldani ...
Szeretném plusz ha még hozzáírok év végéig vagy plusz oszloppal gyarapítom esetleg akkor is számolja bele.
Nekem ez már magas és ha érti és tudja valaki, hogy mit szeretnék az legyen szíves segítsen! Köszönöm!
Ez a makró esetleg segíthet. A munkalap kódlapjára kell bemásolnod, akkor lép működésbe, ha a cellából kilépsz. Vigyázz, mert ha a cellában már van adat és változtatás nélkül kilépsz belőle, a szorzás akkor is végrehajtódik!!! Tehát javítani az újra beírással lehet.
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("$A$2:$C$10")) Is Nothing Then 'ide azt a tartományt írd be, ahol szeretnéd érvényesíteni a "rövidített" bevitelt Application.EnableEvents = False If IsNumeric(Target) Then Target.Value = Target.Value * 1000 Application.EnableEvents = True End If End Sub
Esetleg azt megpróbálhatod, hogy az automatikus korrekciós listába (Fájl->Beállítások->Nyelvi ellenőrzés->Automatikus javítási beállítások) felveszel 10 tételt, valahogy így:
0ű -> 0000
1ű -> 1000
2ű -> 2000
...
9ű -> 9000
így ha beírsz egy számjegyet és utána "ű" betűt, akkor az ű-t kicseréli 3 db nullára. Amivel 2 leütést megspórolsz.
Természetesen az ű helyett lehet bármi más karakter, ami normál esetben nem fordul elő számjegyek után.
Aztán lehet, hogy ezzel több lesz a gond, mint amennyit segít, de majd legfeljebb kikapcsolod.
Ja, hát ha ilyen egyszerű a dolog, akkor nem kell azzal vacakolni, hogy más legyen az érték, mint ami oda van írva, hanem egyszerűen oda kell írni a táblázat tetejére, hogy miben kell érteni a számokat, ezerben millióban, vagy csilliárdban. Ugyanúgy, mint ahogy a fordulatszámmérőkben sem szoktak ezreket írni a skálán, hanem egyszer ráírják, hogy *100 (például), és aztán 15, 20, sb.
Amúgy nagyon sok helyen alkalmaznak ilyet táblázatokra, pl millió vagy milliárd forint megjelenítésnél, hogy ne kelljen 88 nullát írkálni. Azt hittem ez bevitel szintjén is elérhető, de akkor marad az egyszerűbb segédtáblázatos módszer, csak sztem kevésbé elegáns...
Válaszolok a kérdésedre, hátha magadba nézel végre.
Azért, mert te nem vagy képes érthetően leírni, és már nem először.
Azért, mert te elvárod tőlünk, hogy mi fektessünk energiát a te silányul megfogalmazott kérdéseid értelmezésére, és már nem először.
Azért, mert túl nagy az arcod és túl kevés benned a tisztelet. Azt hiszed, hogy a mi dolgunk utánajárni a kérdéseidnek és nemcsak a válaszra, de a kérdés megfogalmazására is rászánni a saját időnket, amit ingyen használsz. És nem először.
Na ezért nem gondolkodom rajta, hogy mit jelentenek a kérdéseid.
Neked írtuk ezt a tájékoztatót itt fent a topikcím alatt, neked linkeltük be a kérdezési útmutatót, de a jelek szerint hiába.
Ezért nem gondolkodom rajta, hogy mit is jelenthet a kérdésed. Ha csakugyan pofonegyszerű, akkor még nagyobb szégyen rád nézve, hogy nem bírod érthetően feltenni.
Tovabbra se ertem, hogy ha egy pofonegyszeru feladat nem ertheto, akkor miert nem vagytok kepesek leirni, hogy mit nem ertetek rajta?
Tessek, megcsinaltam a teljes szetosztast, itt az osszes, amit tetelesen abrazolni kell.
Ha a szamok zavarnak, akkor soronkent is lehet betuket irni, es akkor lehet latni, hogy mely halmazoknak a kozos reszeibe kell beirni az adott elemeket.
Egy hete szenvedek vele, kezzel nem megy, ha excelben vagy mas programban lehet ra talalni megoldast, ahol van egy vizualis vegeredmeny, az jo lenne.
ööö nem akarok ünneprontó lenni, de szerintem nem az a módja a segítségkérésnek, hogy a kérdező feladatokat osztogat, hanem inkább kezét-lábát töri, hogy minél jobban és érthetőbben megfogalmazza a kérdést, főleg miután felhívták a figyelmét rá, hogy az eredeti kérdésből szar se derül ki. Csaxólok.
A legnagyobb gondom, hogy a cikkszámokat kellene kikapni a linkből. A webcím még ctrl+H-val megoldható, de mivel a cikkszámok nem egységes hosszúságuak, ezért ezeket valahogy ki kellene szednem egy függvénnyel?
Bár az előttem szólók valószínűleg jobb megoldást adtak, de van egy olyan is, hogy ilyen cellákat kijelölve (általában) megjelenik a kijelölés bal felső sarkában egy kis felkiáltójel, amely tartalmi hibát jelez, jelen esetben úgy szól, hogy "A cellában lévő szám szövegként van formázva, vagy aposztróffal kezdődik". Aztán van itt a felkiáltójel mellett egy kis lenyíló, amelyből ha kiválasztod az "Átalakítás számmá" műveletet, azzal is célt érhetsz.
Egy olyan problémám van, hogy egy partnercégünk vállalati információs felületéről lementett excel táblázatban szereplőszámok valamiért nem igazi számok (ezért műveleteket sem lehet végzni velük), hanem csak azután válnak azzal, ha a cellába lépve nyomok egy entert, de sajnos jelenleg még ott tartok, hogy ezt cellánként kell csinálni.
A kérdésem, hogy lehet-e ezt egy tartomány kijelölésével "tömegesen", egy lépésben csinálni.
Azt már próbáltam, hogy cellaformázásnál állítottam a formátumon, de nem vált be.
Én is máig abban a hitben voltam, hogy ha másik munkalap a forrás, akkor nevet kell adni a tartománynak. Most éppen egy tutorialt írok a kollégáknak, és nem akartam hülyeséget írni, ezért kipróbáltam, és hát.. működik...
Most látom, hogy a kérdőjel ellenére ez egy kijelentés (megállapítás) volt. Nekem sima 2016-osom van, abban a régi módszerrel lehet előcsalni a más lapon lévő listát.
1) Legyen az opciók felsorolása a Munka2!A1:A25 cellákban
2) A legördülő listákat a Munka1!A2:E6 tartományba akarod.
3) Munka2!B1-be kerüljön ez a képlet: =HA(DARABTELI(Munka1!$A$2:$E$6;A1)>0;"";A1) és húzd le B25-ig
4) Munka2!C1-be kerüljön ez a képlet: =HA(B1="";"";SOR(A1)) és húzd le C25-ig
4) Munka2!D1-be kerüljön ez a képlet: =INDEX($A$1:$A$25;KICSI($C$1:$C$25;SOR(A1))) és húzd le D25-ig
5) A Képletek/Névkezelőben hozz létre egy új nevesített tartományt "SzövegesOpciók" névvel, a hivatkozás legyen: =ELTOLÁS(Munka2!$D$1;0;0;DARAB(Munka2!$C:$C);1)
6) A Munka1!A2:E6 tartományban add meg Adatok/Érvényesítés alatt állítsd be, hogy
Nem biztos, hogy értem a problémát, de esetleg próbáld ki ezt:
Alt+F11 -gyel válts át VB Editorba.
a Project explorer ablakban válaszd ki az egyik elrejtendő munkalapot
a Properties ablakban állítsd be a Visible tulajdonságot erre: 2 - xlSheetVeryHidden
ugyanezt végezd el a többi elrejtendő lappal is
a VB Editor Tools/VBAProjet Properties menüponttal előhívott ablak Protection lapján ikszeld be, hogy "Lock project for viewing", és add meg a feloldó jelszót.
mentsd el a munkafüzetet, de vedd ki belőle az olvasási és írási jelszókat (ha egyéb ok miatt nem kell bele)
Ezzel mit érsz el:
Alapból (az Excel user interfészről) a munkalapok elrejthetők és megjeleníthetők, ilyenkor a Visible tulajdonságuk ebben sorrendben xlSheetHidden és xlSheetVisible értéket kap. De VB Editorban beállítható az xlSheetVeryHidden is. Ezt a beállítást a user interfészről nem éred el, tehát sem beállítani, sem visszavonni nem lehet. Más szavakkal a Lap felfedés funkció előhívásakor a "nagyon rejtett" munkalapok neve nem kerül felsorolásra, tehát nem lehet őket láthatóvá tenni.
A VB Projekt jelszavas levédésével pedig azt éred el, hogy a VB Editor ablakban is csak az tud matatni, aki ismeri a jelszót.
Adott egy régóta, "nyúzott" excel fájl több lappal. Újabb riport készült a benne lévő adatokból, melyet egy teljesen új lapra készítettem el.
Azért, hogy a többi lapot ne lehessen megnézni (illetékteleneknek) ezért füzetvédelemmel látnám el a fájlt.
És ez így jó is lenne, csakhogy a megnyitáskor, az amúgy teljes méretűre optimalizált lapot kb 70-80% os méretben jeleníti meg, és nem is lehet rajta módosítani, míg fel nem oldom.
Ezt meg lehet valahogy oldani, hogy a lapokat ne lehessen felfedni de mégis teljes méretű legyen a lap? (makró nélkül).
1) Legyen az opciók felsorolása a Munka2!A1:A25 cellákban
2) A legördülő listákat a Munka1!A2:E6 tartományba akarod.
3) Munka2!B1-be kerüljön ez a képlet: =HA(DARABTELI(Munka1!$A$2:$E$6;A1)>0;"";A1) és húzd le B25-ig
4) Munka2!C1-be kerüljön ez a képlet: =KICSI(B:B;SOR(A1)) és húzd le C25-ig
5) A Képletek/Névkezelőben hozz létre egy új nevesített tartományt "Opciók" névvel, a hivatkozás legyen: =ELTOLÁS(Munka2!$C$1;0;0;DARAB(Munka2!$C:$C);1)
6) A Munka1!A2:E6 tartományban add meg Adatok/Érvényesítés alatt állítsd be, hogy
- Megengedve: "Lista"
- Forrás: "=Opciók"
A színeket csak azért használtam, hogy hangsúlyozzam az egyes hivatkozások azonosságát. Tehát pl. ha Opciók-nak nevezed a tartományt, akkor Opciók legyen megadva az érvényesítésben. Ha káposztás tésztának nevezed, akkor meg az.
A legördülő listával kapcsolatban szeretnék kérdezni.
Az lenne a problémám, hogy a listában maradnak azok az opciók is, amiket már egyszer kiválasztottam. Azt szeretném elérni, hogy ami már egyszer volt, az többet ne is szerepeljen a listában.
Azt megtudom oldani, hogy üres legyen a helye, vagy esetleg egy "-" legyen helyette, de akkor is ott van. (nem túl elegáns)
Azt tudom, hogy az indirekt függvénnyel kell megoldani, de sehogy sem sikerül sajnos.
Munkalap 2: OPCIÓK
Munkalap1: Maga a legördülő lista
Az esetleges megoldásnak nagyon örülnék. Előre is köszönöm.
Kedvem volna szavakba önteni úgy általában a jogászokkal kapcsolatban folyamatosan növekvő frusztrációmat, de eleget OFF-oltam már, úgyhogy maradjunk ennyiben. Az érveid jogosak amúgy.
Éééén? :-) Sajnos többet kellett foglalkoznom ezzel a dologgal, mint szerettem volna, és tényleg azt látom, hogy még az ezzel foglalkozó szakjogászoknak is csak álláspontjuk van. Ez teljesen más világ, mint amihez mi az informatikában szokva vagyunk, mert az Excelben vagy jól számoltál ki egy átlagot, vagy nem, és ezen két informatikus ritkán fog vitatkozni. Itt nincsenek objektív igazságok, csak lehetőségek, főleg a jogászok szép megélhetésére.
Tavaly május előtt is volt egy alapvetően jó szabályozásunk, ugyanazokkal az alapelvekkel, csak áttekinthetőbb, követhetőbb és végrehajthatóbb volt. Ez van.
Nem tudjuk, melyik az a cég, és milyen okból őrzik a belépőkártyák adatait. Valóban más eset, mint a munkaviszony adatai, de nem ítélhetjük meg innen, csak felhívhatjuk a figyelmet a problémára, ahogy nagyon helyesen meg is tetted.
Pl. nálunk az adatbázisban minden módosítás mellett van egy név, hogy ki mikor követte el. Aki tíz éve kilépett, annak a neve is ott van, mert adott esetben jelentősége lehet, ha egy adat útját vissza akarjuk követni (és ez is kötelesség).
Bocs, talán rosszul hangsúlyoztam. Nem a tíz év vagy a 80 év számít, hanem a cél. Olvashattad 32819-ben, hogy "addig tárolható, amíg a cégnek a feladatai ellátásához szüksége van rá, és ezt igazolni is tudja, és a mérlegelés során az derül ki, hogy nagyobb érdek fűződik a megtartásához, mint a törléséhez"
A HR dolgok tárolása törvényi előírás, nyilván kell a nyugdíjszámításhoz, meg ki tudja mihez. Vannak még ilyenek. Ha például veszélyes üzemben dolgozol, akkor a munkaalkalmassági orvosi vizsgálataid eredményét, az összes leletedet is évtizedekig tárolják, ha már rég nyugdíjba mentél, akkor is, sőt, ha meghaltál, akkor is még egy darabig, mert bármikor előugorhat az unokád, hogy egy munkaegészségügyi pert akasszon a volt céged nyakába, mondván, hogy a halálodat vegyi/biológiai expozíció krónikus hatása okozta. Így tehát ezek az adatkezeléseket nagyon is indokoltak, amellett valószínűleg törvények is előírják/szabályozzák, amelyeket a GDPR nem ír felül.
De a belépőkártyád számának összerendelése a neveddel, születési dátumoddal, kocsid rendszámával, és még ki tudja mivel, annak mi a létjogosultsága, miután kiléptél a cégből, és leadtad a kártyádat? Főleg úgy, hogy ezeket az adatokat feltehetőleg nem is a HR kezeli, hanem a biztonsági szolgálat, ami nagy valószínűséggel nem a munkáltató cég része, hanem egy külső szolgáltató.
Ha belépsz hozzánk, de a próbaidő alatt megszűnik a munkaviszonyod, 80 évig tárolni fogják az adataidat. :-)
(A belépőkártya-adatokat és mondjuk a szakszervezeti anyagaidat nem, de a bércuccokat, munkaköröket (mettől meddig) igen. De mi mondjuk egy óriási cég vagyunk, és érdemes különszedni. Simán el tudom képzelni, hogy valahol ez egy naaagy tábla, sok oszloppal és kész.)
"Irányárat tudnátok mondani, hogy ha valaki nekiáll, mennyiért lesz reális megoldania?"
Elég nehézkes ezt jól belőni, mert - ahogy SK megjegyezte - még sok a nyitott kérdés. Üzleti nyelven: a beszerzési igény műszaki tartalma nincs megfelelően specifikálva.
Először tehát pontosítani kell a feladatot úgy, hogy a fejelsztő is megértse. (Sőt, várhatóan ő fog feltenni olyan kérdéseket, és megvilágítani a feladatot olyan szempontokból, amelyekre eddig nem is gondoltál, így te magad is jobban meg fogod érteni.) És már ezért is simán kérhet pénzt, pedig még semmi nem történt, csak azt fizeted meg, hogy az illető rászánja az idejét, energiáját a feladat pontosítására. Ez olyasmi, mint egy kiszállási díj, vagy mint egy javítandó gép állapotfelérése. Aztán ha már a fejlesztő átlátja a teljes feladatot, akkor mond egy árat arra, hogy mennyiért csinálja meg, mennyiért vállal 1-2-3-12 hónap utógondozást, egyéb kívánságok teljesítését. Fontos lehet az időfaktor is, hiszen a nap csak 24 óra, és lehet, hogy abból a fejlesztő csak 1-2 órát tud kényelmesen rááldozni erre a munkára. Ha sürgetős a dolog, akkor annak nyilván felára van.
Egy dolog biztos: minden egyedi fejlesztés többe kerül, mint egy átlag dobozos bolti szoftver. Egy ilyen rendszer igényes összerakásába simán belemegy 15-20-25 esetleg több fejlesztői munkaóra, és ugyan nem vagyon naprakész az aktuális piaci trendeket illetően, de szerintem 2000 HUF/óra alatt nem találsz fejlesztőt, hacsak nem valami önbizalomhiányos szamaritánust. Mert itt van pl. ez a 2018-as cikk:
Meg hát tudtommal a régi munkakönyves időkből való adatok egyáltalán nincsenek is meg ott, ha jól tudom, de lehet, hogy tévedek. Ha elvesztette valaki a munkakönyvét, csak a cégtől szerezheti be a másolatot.
Ott elveszhetnek adatok, és időnként el is vesznek. A cégeknél megmaradó munkaügyi adat a biztonsági másolat. Kerülnek emberek olyan helyzetbe, amikor azt mondják, hogy szerezd be magadnak az adatokat, és ezen múlik a nyugdíja, a megélhetése, az egész öregkora. Ez egy nagyon is fontos cél.
Az szerintem picit más. Olvass csak vissza, a kérdező szerint van aki X éve elment a cégtől, de még mindig tárolják az adatait az egykori belépőkártyájával összefüggésben. Ezt ugyan milyen igazolható üzleti cél érdekében teszik?
De nem időhatárhoz, hanem célhoz köti a jogszabály az adattárolást. Tehát addig tárolható, amíg a cégnek a feladatai ellátásához szüksége van rá, és ezt igazolni is tudja, és a mérlegelés során az derül ki, hogy nagyobb érdek fűződik a megtartásához, mint a törléséhez.
Bár nem a megoldáshoz kapcsolódik, de azért én megnézném ezt a célkitűzést GDPR szemüvegen keresztül. Szerintem kizárt, hogy a GDPR engedi több évtizedre visszamenőleg, kvázi határozatlan ideig a személyes adatok tárolását/nyilvántartását. Így még az is kiderülhet, hogy nem kell megoldani a feladatot, vagy nem ezt a feladatot kell végül megoldani.
Ez a ChartObject szembe jött már korábban, csak amennyire tudom, .NET 4.8 kell hozzá, és kétséges, hogy ez elérhető lesz ott, a hová a program készül. Amúgy VB.NET-ben készül.
Viszont a kérdésre a cikk részben választ ad, ha jól látom. (A C# kottaolvasás még nem megy folyékonyan, de majd kibogarászom.) És akkor már csak a form méretváltozás lekövetését kell még valahogy kezelni.
A legegyszerűbb az, hogy a születési dátumot és a nevet összekapcsolod - mivel ettől egyedivé válik egy-egy dolgozó.
Ezt megteheted egy segédoszlopban (tehát név&szüeltési dátim, vagy jó az összefűz fgv is), ami aztán az fkeres függvényed keresési (első) oszlopa lesz, a keresési feltétel pedig szintén összefűzve, hogy egymásra találjanak.
Fentieken kívül még meg kéne nézned, hogy nincs e esetleg egy olyan ID, ami a dolgozót azonosítja egyedileg - ez lehet akár egy adószám is. Ha van ilyen, akkor ezzel már lehetne keresni fentiek nélkül is.
Ha a Kártyák tábla tartalmazza a dolgozó nevét is akkor abban a táblában szűrj rá a kártyatípusra és megkapod a kívánt listát. Persze ha a néven kívül nincs más azonosító a kártyák táblában, akkor sajnos azonos nevek esetében nem tudhatod, hogy melyik kártya melyik dolgozóhoz tartozik !
Ha a Dolgozók táblában szeretnéd jelölni, hogy ki milyen kártyával rendelkezik - kvázi kereszttáblás módon -, akkor ugyanez a probléma áll fenn. A név nem megfelelő egyedi azonosító. Kell valami más kulcsot találni, ami egyedi azonosító. Cégeknél ilyen szokott lenni a törzsszám pl.
Ezt az egyedi azonosítót kell mindkét táblára applikálni. Utána készíthetsz összekapcsolt listákat.
A problémám amelyhez segítséget kérnék nekem bonyolult és kevés a rutinom egy jó megoldáshoz.
Lényeg: -Van egy cég, ahol dolgoznak 7000-en (Dolgozók tábla)
-Van egy szigorúan sorszámozott belépőkártya nyilvántartás (Kártyák tábla), visszamenőleg több évtizedre személyre kiadva
A Kártyák tábla több tízezer soros, mert többféle kártya van, továbbá aki elmegy a cégtől és visszajön, az ismét új kártyát kap, tehát ebben a listában ugyanaz a személy akár 6X is előfordulhat (több féle kártya, elmegy-visszajön...)
Listáznom kéne azokat a (Dolgozók) táblából, akik rendelkeznek ilyen kártyával
Fkeres függvénnyel kezdtem (A dolgozó nevét összevetette a kártya tábla "név" oszlopával), de nagyon sok név ismétlődik (Nagy János, Tóth Gábor...) és többen születtek egy napon is, ez bonyolítja a listázást.
(570 alkalommal ismétlődő név)
(236 alkalommal ismétlődő születési dátum)
Egy pozitívum van, hogy nincs olyan egyező nevű, aki egy napon született volna a másikkal :)
Van valami ötletetek, hogy milyen logikai úton lehetne áthidalni ezeket a dolgokat?
Felvetném az alábbi kérdést, mert szerda az ötletgyűjtő napom.
Dolgozom egy programon, amelynek van egy olyan része, amely grafikonon ábrázolja egy bizonyos mennyiség változását az idő függvényében. Nem Excel program, tehát nem az Excel beépített grafikonjait használom, hanem - jobb híján - nekem kell gondoskodni a teljes ábra kirajzolásáról, beleértve az X és Y tengelyeket, meg magukat az adatsorokat is. Egy-egy adatsor több tízezer vagy akár százezer pontból is állhat, ezért be kell építenem egy zoom funkciót, amivel a finomabb részletek is megjeleníthetők. Mindez azért lényeges, mert zoom közben változik mindkét tengely nullpontja és a befoglalt értéktartományok is.
A tengelyeket természetesen feliratozni kell, mellé- illetve alátenni a skálát, nagyobb és kisebb beosztásoknak megfelelő kis vonalkákat behúzogatni, hozzájuk tartozó értékeket kiírni. Ennek favágó módja az, hogy fogom a tengely elejét meg a végét, felosztom pl. 10 egyenlő részre, kiszámolom, hogy az egyes osztásokhoz milyen érték tartozik, megrajzolom, és kiíratom a számokat. És így kapok egy időtengelyt, pl. ilyen osztásokkal:
7,7658
8,2327
8,6996
9,1665
9,6334
10,1004
10,5673
11,0342
11,5011
11,9680
12,4350
Aztán ember legyen a talpán, aki erről bármit leolvas. Ezért én egy nem-favágó módszert szeretnék, ahol a tengelyek intelligens módon követik az aktuális zoom-ot, és a lehető legkerekebb értékeknél vannak a beosztásjelek elhelyezve. A fenti példánál talán úgy lenne optimális, ha 7,8-tól kezdve 0,1 percenként helyeznék el számozott osztásjeleket, 0,02 percenként pedig nem számozottakat. Vagy esetleg 0,2 percenként számozott, 0,05 percenként nem számozott osztásokat. Vagy nem tudom. De fontos, hogy az eredmény jól nézzen ki.
Hab a tortán, hogy a grafikon (természetesen) egy form-on van, és a form átméretezhető. Ha átméretezik, akkor a grafikon mérete is változik. Nagyobb grafikon tengelyein több karakter fér el, pl. egy teljes képernyős grafikon X tengelyén el tudok helyezni akár 20 vagy több feliratozott beosztást is. De ha ugyanezt a form-ot lekicsinyítem mondjuk 400x100 pixelre, akkor az X tengely által befoglalt értéktartomány ugyanaz marad, de a 400 pixel helyen nem fér el 20 felirat, csak egymás hegyén-hátán.
A kérdés tehát a következő:
milyen algoritmussal lehetne meghatározni, hogy
- az aktuális, pixelben mért grafikonméret, és
- az aktuálisan befoglalt értéktartomány
mellett mi lenne az - esztétikai és leolvashatósági szempontból - optimális tengelybeosztás?
Másodsorban: Ez egy jó hely a segítségre szorulóknak
Harmadsorban: Ez egy jó hely a vállveregetést, elismerést($) más fáradtságán bezsebelő, tudást nélkülöző kollégáknak.
Negyedsorban: Ez egy jó hely a játékhoz, a fejlődéshez, feladatok megoldásához - azzal az eszközzel, amit szeretünk.
Ha a kereslet(kérdés) és a kínálat(válasz) megfelelő szinten találkozik, működik. De van amikor:
Ahogy JTH írta: "...meghaladja a jótékonysági keretemet...."
Ennél az embernél nincs jótékonysági keret, elfogadom - "Harmadsorban" gondolkodik. Persze lehet, hogy itteni másodnick és majd itt kérdezi meg, ha kap valakitől "cash" típusú feladatot ;)
...és tényleg nem egy ilyen közösségben kéne szpemmelni...
Pont azon töprengtem, hogy megkeresem ezt a Tamást egy szaftos kis problémával, hogy oldja meg nekem.
Meg azon is, hogy vajon ki lesz az első, aki a fórumon elérhető ingyenes tanácsadás helyett az ő fizetős megoldásait választja majd. Anélkül, hogy egyébként bármit bizonyított volna itt.
Borsos Miklós szobrász a tihanyi háza elé kőoroszlánokat faragott, és alájuk ezt véste: "Nem haragom, alakom Őrködik e falakon"
Mivel az oroszlánok inkább hasonlítanak kutyákra, a szobrász barátja, Szedő Dénes írt egy kétsorost, ami annyira megtetszett Borsosnak, hogy ezt is bevéste. "Ülök napszám, áloroszlán, ebül vésett ki a gazdám."
Figyu, ezt egy nappal és 5 hozzászólással ezelőtt írtad be utoljára, még félig se süllyedt el. Ez agy nagyon nem lesz jó! És fogadni mernék, hogy nem tartottad be a netikettnek azt az ajánlását, hogy olvass vissza, és ismerd meg a szokásokat, és nem olvastad el a fórumszabályzatot sem.
Ez itt egy segítő fórum, nem egy ingyenes reklámfelület. Az első beírásodért nem szólt senki, elfért. De ez már sok így. Ha idejössz közénk fórumozni, és 100 alkalommal ingyenesen segítesz másoknak, és a 101. alkalommal azt mondod, hogy bocs, de ez már pénzes meló, megint nem fog szólni érte senki. De azért nézz körül, hogy mások mekkora munkát tesznek bele, amit még jófejségből csinálnak, pl. mekkora makrókat írnak meg. Bizonyára nem kerülte el a figyelmedet baloldalt a nicked alatt a Maga itt mit reklámoz? link, ahol a legális reklámozás feltételeiről tájékozódhatsz.
Excel megoldások területén (is) dolgozom, szívesen ajánlom fel szolgáltatásaimat szakdolgozatok excellel összeállítandó részeinek (kimutatás, diagram, pivot, vizuális megjelenés-tervezés stb.) kreatív előállításában. Vállalom továbbá munkahelyi rutinfolyamatok automatizálását, prezentációk összeállítását, összefoglalva: bármilyen excel alapú feladat megoldását. Bármilyen jellegű excel problémába ütközöl, kérlek, keress az alábbi elérhetőségen, találunk rá megoldást!
A LibreOffice-t nem írtam fel, mert még a szabad szoftver elszánt hívei is elismerik, hogy az adatbázis-kezelő egy gyengén sikerült rész benne. Nem olyan önálló, egységes program, mint az Access, hanem egy felület + egy motor, a motor régebben kénytelen volt MySQL lenni, mert a sajátja csapnivaló volt, most már a sajátja is kezd felzárkózni, de én egyelőre nem tudom jó szívvel ajánlani, addig még sok víznek kell lefolyni a Dunán.
A 3. pontod kicsit másképp fogalmazva: az Excelben vészesen összekeveredik az adattárolás az eredményekkel, számított értékekkel. Egyszerű esetekben ez nem okoz problémát, ilyen bonyolult esetekben káoszhoz is vezethet.
Ha cél oldalról közelítjük, akkor a főnökök és egyéb steak holderek kötözködését csak profi rendszerrel lehet kivédeni, és ha profi rendszerről beszélünk, akkor az Excelt felejtsük el. A nyugdíjas mami bevezetése is ezt a vonalat erősíti (kivéve, ha nyugdíjas informatikusról van szó). Viszont ezt feladatot profi és laikus-barát módon megoldani nem kis munka. Nekem biztosan meghaladja a jótékonysági keretemet. Arról nem beszélve, hogy bármennyire is profi egy rendszer 1. verziója, mire eléri végleges formáját, számos új igényt és módosítást kell utólag beleépíteni, tehát a leszállítás után még terméktámogatás is kell 1-2 évig. Szerintem ez nem megy ingyen. Szóval itt a vezetőségnek első körben arról kellene döntést hoznia, hogy hajlandó-e megfizetni egy profi rendszer árát.
Valamiért az a gyanúm, hogy nem lesz hajlandó. Akkor viszont, mint szerencsés nyertesnek, neked kell eldöntened, hogy hogyan tovább. Én az alábbi 3 utat látom:
1) adatbázis-alapú megoldás:
Ehhez kell vagy Access, vagy az SK által felsorolt rendszerek bármelyike, de szerintem az ingyenes LibreOffice adatbázis-kezelője is jó lehet, bár én ez utóbbival sosem dolgoztam, de legalább magyar nyelvű a kezelőfelülete. Kell továbbá az a bizonyos adatbázis-szemlélet, amely lehetővé teszi, hogy az adatbázisod felépítését jól tervezd meg. Merthogy lehet rosszul is tervezni, ami legalább akkora szívás, mint ha nem adatbázissal oldod meg. Ha viszont jól tervezed meg, akkor viszonylag kevés erőfeszítéssel bármilyen szükséges információt ki tudsz nyerni belőle.
Ha még ilyesmivel sosem foglalkoztál, akkor az már rövid távon jó sok tanulást jelent, illetve annak elfogadását, hogy ez nem könyvből bemagolható, hanem tapasztalati tudás, más szóval: gyakorlat teszi a mestert.
2) Excel-alapú megoldás adatbázis-szemlélettel:
Ez lényegében ugyanaz, mint az 1), csak az adatbázis-kezelést nem egy erre dedikált alkalmazásban, hanem Excelben valósítjuk meg. Az Excel munkalapokat adatbázis-tábláknak tekintjük, megtervezzük a felépítést, létrehozzuk a kapcsolatokat, lekérdezéseket, stb. Az Excel - bár nem való, de - alkalmas erre, és vannak különösen jól használható részek, mint pl. MS Query, vagy újabban Power Query. De egy csomó olyan dolgot, ami egy adatbázis-kezelő alkalmazásnak magától értetődő, itt kézzel kell megcsinálni, nem ritkán VBA programozással. Úgy gondolom, nulláról indulva ez nagyobb kihívás, mint megtanulni az Access használatát, ezért ez az út lényegében csak akkor ajánlható, ha az 1) valamiért nem járható. Ami jelenleg nem áll fenn, ha jól értem.
Ez az, amivel eddig is próbálkoztatok. Nehéz szabatosan leírni, de talán úgy fogalmaznám, hogy az adattárolás nem normalizált táblákban történik, hanem olyan formában, aminek egy normál adatbázisban lekérdezésnek vagy riportnak kellene lennie. Rögtön látszik belőle az az egy információ, aminek a szemléltetésére ki lett találva. De ha bármi mást be akarsz mutatni, akkor kiderül, hogy - rosszabb esetben - a keresett információ nem nyerhető ki az adatokból, de - jobb esetben - transzformálni kell a meglévő adatokat egy új formába, amiből látszik a válasz az új kérdésre. És ezt gyakran annyiszor meg kell csinálni, ahányszor szükség van az új adatra, pl. hetente, havonta, mígnem a kezelő megunja, és azt mondja, hogy jó, akkor gondoljuk újra az egészet. Nem beszélve az adatnormalizálás elmaradásából adódó problémákról.
Ennek az útnak előnye, hogy viszonylag hamar, kevés szakmai tudással is meg lehet valósítani. Hátránya a rugalmatlanság, a sok hibalehetőség, és hogy jó strapabíró ülep kell az üzemeltetéséhez.
Excel megoldások területén dolgozom, szívesen ajánlom fel szolgáltatásaimat különböző pl. munkahelyi rutinfolyamatok automatizálására, prezentációk összeállítására, vagy akár szakdolgozatok kimutatásainak kreatív előállításában.
Bármilyen jellegű excel problémába ütközöl, kérlek, keress az alábbi elérhetőségen, találunk rá megoldást! :)
Durván így nézne ki táblákban, de nagyon sok a nyitott kérdés. A sorrenden variáltam.
Terem lista a befogadóképességgel. OK, ez így egy tábla, mindegyiknek lesz azonosítója. Klub lista az aktuális klubvezetövel és az aktiv létszám számával, szintén most már havonta (a vezetőségnek kell havi statisztikához) Egy táblában a klubok, a vezető azonosítója az emberek közül, a létszám lekérdezés eredménye. Terem lista heti naptárban, mikor melyik klub foglalja - havi változat kell, igy évente 12 kell belöle (a vezetőségnek kell havi statisztikához) Nem stimmel, a hetek és a hónapok átfedik egymást. Egy terem hétfőtől vasárnapig egy klubé? Akárhogy is, ez nem tárolandó adat, hanem lekérdezés.
Klublista havonta, melyik termekben a hét mely napján és mikor vannak es mennyi a tagsági díj (mert az új jelentkezőket ezek érdeklik) Az eleje lekérdezés, a tagsági díj tárolható a klubok táblájában, ha mindig csak az aktuális kell, és visszamenőleg nem, de kötve hiszem, hogy ne akarja egyszer valaki visszamenőleg is tudni. Klubok taglistája a belépés havi dátumával Egy ember ugye több klubban is lehet tag? Kiléphet és beléphet többször is? Az emberekből kéne egy tábla, aztán egy kapcsolótábla: klubazonosító, belépési dátum. Klubonkent az aktív és passzív tagok listája (aki tagdíjat fizet, az aktív, de most már havonta van tagdíjfizetés, igy havi lista kell) Helyett egy tábla, az ember azonosítója, a klub azonosítója, fizetés dátuma, ebből a többi lekérdezhető. *
Szintlén most akarnak egy új listát is, hogy melyik teremben melyik klub mikor okozott kárt és mennyit fizetett érte (hátralék soha nincs, a könyvelőnek kell) Ez egy külön tábla, teremazonosító, klubazonosító, dátum, összeg.
Most akarnak olyan személyenkénti listát is, hogy ki melyik klubban mikortól tag és mikor fizetett tagdíjat és mennyit (vezetőségnek, illetve a program kezelőjének és a könyvelőnek is kell) Lásd fent a * részt, ugyanaz, másik lekérdezés.
Ja, az Sqlite nem angol, mivel senki nem fogja direktben konzolról használni, aki nem informatikus. Ahhoz kell írni egy programot, ami olyan nyelvű lesz, ahogy megírják. Ugyanez a helyzet a MySQL-lel és a PostgreSQL-lel is. A nyelv egyedül az Accessnél szempont, de egy nyugdíjas néni is tudhat angolul, vagy megtanulhatja azt a pár szót, vagy készíthet neki valaki egy sillabuszt. Az űrlapok már lehetnek magyar nyelvűek.
Egy dolog nem fog menni akkor sem, ha a vezetőség nagyon szeretné: a gyakorikerdesek.hu-stílusú megoldás, hogy a) azonnal b) ingyen, c) házilagos módszerrel, szakember nélkül, és még jó is legyen.
Ha most belefeccölsz egy csomó munkát egy működő táblázatba, akkor hamar fognak jönni az újabb kívánságok, amikre nem tudsz reagálni.
Access2003, Sqlite, MySQL, PostgreSQL is jó lehet.
Sok mindent meg lehet oldani Excelben, csak nem biztos, hogy célszerű. Különösen akkor, ha az idők során újabb kívánságok merülnek fel. Ezeket egy adatbázisos megoldásba könnyebben be lehet építeni, Excelben újra és újra szenvedés lesz vele. Szóval ez így valóban adatbázisos feladatnak tűnik, és ha komolyan szükség van rá, érdemes pénzt áldozni rá.
A D2 cellába beírom az = jelet, rákattintok az A2-re, megjelenik a [@név]. Folytatom a képletet & " " & , majd rákattintok a B2-re. Ha jól emlékszem, a 2007-es verziótól kezdve írja automatikusan így a táblázatok képleteit, hogy a címsorra hivatkozik. Személy szerint nekem szimpatikusabb a rongyos régi =A2 & " " & B2 forma.
Bocsánatot kérek mindenkitől, most egybe írom, mert múltkor nem engedett a fórum többet írni, így nem tudtam pimrének is megköszönni a javaslatokat, nagyon sokféle tábla van és kell még.
Jimmy kérdésére válaszolva az igazi cél az, hogy végre béke legyen.
Órákig tudnék írni, csak amit hallottam, hogy a könyvelőktől kezdve a különböző cserélődő kisfőnökökig ki mibe kötött bele és milyen balhék voltak. A legújabb mánia az, hogy a teremfoglalást havonta lehessen változtatni.
Ami biztosan kell: Terem lista a befogadóképességgel. Terem lista heti naptárban, mikor melyik klub foglalja - havi változat kell, igy évente 12 kell belöle (a vezetőségnek kell havi statisztikához) Klub lista az aktuális klubvezetövel és az aktiv létszám számával, szintén most már havonta (a vezetőségnek kell havi statisztikához) Klublista havonta, melyik termekben a hét mely napján és mikor vannak es mennyi a tagsági díj (mert az új jelentkezőket ezek érdeklik) Klubok taglistája a belépés havi dátumával Klubonkent az aktív és passzív tagok listája (aki tagdíjat fizet, az aktív, de most már havonta van tagdíjfizetés, igy havi lista kell)
Szintlén most akarnak egy új listát is, hogy melyik teremben melyik klub mikor okozott kárt és mennyit fizetett érte (hátralék soha nincs, a könyvelőnek kell)
Most akarnak olyan személyenkénti listát is, hogy ki melyik klubban mikortól tag és mikor fizetett tagdíjat és mennyit (vezetőségnek, illetve a program kezelőjének és a könyvelőnek is kell)
Ahogy nézegettük, lényegében négy adatsort kell egymással variálni, de többnyire egyszerre csak három kell belőlük egy táblában: Klubok, Nevek, Termek, Hónapok (évek szerint)
Arra jöttünk rá, hogy a Klubok és Nevek és Hónapok és a fizetett tagdíj együtt kezelésével jön az aktív Klubtagok listája, és máris megvan rögtön havi bontásban.
Delila megoldása jónak tűnik, hogy kettőt (klubok és nevek) összevon és egy harmadikkal összekapcsolja, csak kellene egy kis tanfolyami okítás, hogyan csinálta és hogyan működik.
Ha lehet valahogy definiálni, hogy vannak termek, és vannak klubok és vannak emberek, akik vagy klubtagok vagy nem, illetve aktívak vagy passzívak, és lehet ezeket úgy kezelni, hogy nincsen véletlen törlés vagy felülírás, és másik lapon is az a név jelenik meg, ami az elsőn és a többin, az nagyon jó lenne.
Vártam eddig, de sajnos Delila nem válaszol egy ideje, hogy hogyan csinálta és nem jövök rá magamtól, a szögletes zárójeleknél semmi kapcsolatot nem találok mással. Ha valaki tudna segíteni, miért és hogyan működik, örömmel megvilágosodnék.
És valóban fontos kérdés az is, ha sok név lesz, hogyan lehet őket használni, főleg, ha egy nyugdíjas nénire fogják bízni a kezelést, ahogy a legújabb ötletet hallottam.
Utána kérdeztem, van 2003 Access is egy külön gépen, de angol nyelvű Professional csomagban, adomány volt, eddig senki se használta, most a nyakamba akarják varrni, ha excelben nem lehet megoldani.
Valamint valaki említette a Sqlite-ot is, de az nemcsak angol, hanem ahhoz már programozó is kell, hogy működjön.
De amúgy ha ezen bukik el a keresés, azon tudunk segíteni. A Workbooks.Open utasításnak van egy ReadOnly paramétere, ha azt beállítom Igaz-ra, akkor nem fog rákérdezni az írásvédelmi jelszóra. A keresést meg írásvédett módban is el lehet végezni.
Később a nap folyamán módosítom a kódot, aztán posztolom az új verziót.
A Mentés Másként ablakban a Mentés gombtól balra van egy Eszközök feliratú lenyíló, abban a Beállítások menüpont. Itt tudsz megadni két egymástól független jelszót, egyiket a fájl megnyitásához, másikat az írási jog megszerzéséhez. Illetve itt tudod törölni is őket, ha be vannak állítva.
Én 3 védelmi lehetőséget ismerek az excelben, a fájl védelem, a füzetvédelem és a lapvédelem.
Most szembesültem azzal, hogy van még valamiféle írásvédelem. Ezt hol lehet elérni, vagy kikapcsolni ?
Ha meg akarok nyitni egy olyan fájlt ami így van levédve akkor előbb bekéri a fájl védelmi jelszót, utána pedig ezt. Nem láttam még ilyet.
(ez még mindig az előző bejegyzésemhez kapcsolódik, most sem akarom a védelmet megkerülni, tudom a jelszót, csak így még mindig akadályba ütközik a szókeresés :( , pedig Jimmy the Hand programja tökéletes lenne).
Nem vagyok biztos benne, hogy ez mindegyik verzióra és díjfizetési modellre igaz, ezért nem mondtam. A Microsoft visszatért a korábbi modellhez, hogy az Accesst igyekszik leválasztani és külön megfizettetni. De egy XAMPP-ot fel lehet dobni pár perc alatt.
Ha az Excel használható, akkor az Access is. Az Excel ugyanis az Office csomag része, amiben ugyanúgy benne van az Access is. Ha esetleg az utóbbi nincs telepítve, akkor minimális erőfeszítéssel lehet telepíteni, és nem kell hozzá külön kód, vagy bármi más.
Amúgy mi a célja a rendszernek? Milyen adatokat kellene tárolni benne, és mit kellene kimutatni a tárolt adatok alapján? Gondolok pl. ilyenre, amit pimre is hozott, hogy mikor melyik terem szabad, vagy ki mikor fizetett és nem fizetett tagdíjat, és mennyit kell még behajtani rajta, stb..
Sziasztok, ismét a segítségeteket kérném. Egy szabadság nyilvántartó táblát finomítgatok és szeretnék egy olyan felületet készíteni ahol a user kiválaszt egy nevet és az arról a névről elnevezett fájlból befrissíti az adatokat Mellékelek egy képet, hogy átlátható legyen. Tehát ha A1 ben kiválasztom a nevet (az egy legördülő cella) akkor a B3 cellában a gipsz jakab.xls helyett a legördülőben kiválasztott nevű fájlból töltse be az adatokat. Sehogy sem tudok rá hivatkozni, hogy a fájl direkt neve helyett az A1-ből vett adat legyen a cél fájl neve.
Köszi! Elsőre azt mondtam, hogy fogalmam sincs, mi lehet az oka, én nem vagyok olyan nagy Excel guru, és adtam három nevet, akik talán tudnak segíteni. Nemrég arra jártam, és meg akartam kérdezni, hogy megoldódott-e a probléma, de éppen beszélgetett valakivel, így csak üzenetet hagytam, hogy erről érdeklődtem. Ha megint szól, hogy még mindig gond van, akkor elkérem ezt a táblázatot, és megpróbálom ezeket ellenőrizni.
Hát az egy kb. a "fáj a hasam, mitől van?" kérdés.
Meg kell nézni, milyen adatérvényesítés van abban a cellában, nevet vagy cellatartományt tartalmaz-e, hova mutat, ott még megvan-e az az adat, a név még a megfelelő tartományra mutat-e.
Az egyik kolléganő gépén Office 2010 van. Kapott egy táblázatot xlsx-ben, és annak egy vagy több cellájában állítólag egy legördülő listának kellene lennie, amiből ki lehetne választani a megfelelő értéket. Igen ám, de nem látszik a lista, és ha rákattint a cellára, akkor sem történik semmi. Nem látszik, hogy védett nézetet látna. Akkor mi lehet ennek az oka? Van olyan, hogy ott van a legördülő lista, és valami beállítás miatt mégsem látszik?
Azt írták az okosok, hogy ilyenkor valószínűleg "elfoglalt" az Excel, és nem ér rá azzal foglalkozni, amit kérek tőle, hanem visszadobja kérést. De amikor legközelebb próbálkozol, addigra valószínűleg már túljutott a nagy elfoglaltságon, így a hiba nem jön elő többé.
De ha mégis előjön, bármikor, akkor javaslom, hogy ismételd meg a keresési műveletet változatlan feltételek mellett, pusztán a Keresés (vagy hogy neveztem el) gomb újra megnyomásával. Feltételezem, hogy annak a munkafüzetnek az átvizsgálása, amelyiknél a hiba jelentkezik, a hiba miatt nem lesz teljes, így a keresési eredmény sem lesz teljes.
Segítség alatt meg azt értettem, hogy ha tudod reprodukálni a hibát, akkor küldd el nekem a teljes tesztkörnyezetet (fájlokat, kereső- és jelszavakat), hogy fel tudjam deríteni a jelenséget. De ez most már nem aktuális, azt hiszem.
Igaz, azóta én sem tudom reprodukálni a hibát, ugyanazokat a szavakat beírva sem ad hibát,(és még 10 keresés után sem) szóval, lehet hogy gép-állapot függő volt a "hiba".
Csak tippelni tudok, hogy mit jelent a hibaüzenet. Nem hinném, hogy a 4 szó miatt van, 5 szóval is teszteltem, és simán vitte. Abból kiindulva, amit a neten találtam az rpc_e_call_rejected -re keresve, még az sem biztos, hogy tudod reprodukálni. De ha te tudod is reprodukálni, én biztosan nem, így kivizsgálni sem, hacsak nem segítesz benne.
Pontosítsunk a fogalmakon, a közös nyelv érdekében.
A "munkafüzet" az az excel fájl maga, aminek valami.xlsx a neve.
A munkafüzet egy vagy több "munkalapot" tartalmaz. A Munkalap az az 1048576 x 16384 cellát tartalmazó nagy cellatér, amelyeket sokan "füleknek" neveznek, és alapértelmezésben a Munka1, Munka2, stb. nevet kapják.
A táblázat pedig a munkalapon egy teszőleges téglalap alakú cellatartomány.
Ha jól értem, akkor azt szeretnéd, hogy a munkafüzeted 3. lapjára, bizonyos cellákba fixen bekerüljenek adatok. Az általad leírt viselkedés természetes, a cellába írt képlet a bemenő paraméterek változása után aktualizálja az értékét. A célod elérésére két lehetőséget látok:
1) ha a számításhoz szükséges feltételek/adatok a 3. munkalapon is adottak, akkor nem a 2. munkalapon kellene mókolni a napi teljesítmény manuális kiszámolásával, hanem a 3. munkalapon a kívánt cellába kellene beírni azt a képletet, amely ezt kiszámolja.
2) Ha ez nem lehetséges, akkor egy makró (programkód) tudná a manuálisan kiszámolt értéket áttenni a megfelelő helyre. A makró megírásához több infó kellene, a munkalapok felépítéséről, pl. mit kell áttenni, mi alapján lehet megtalálni a cél cellát, stb.. Ezen kívül meg kellene határozni, hogy milyen akcióra vagy történésre induljon a makró. Ez lehet gombnyomás, duplakatt egy adott cellára, a munkafüzet mentésa, vagy sok minden egyéb is.
Segítséget szeretnék tőletek kérni. Nem vagyok profi exceles, de próbálom az életem megkönnyíteni.
Kérdés: hogyan lehet megoldani, hogy eredmény kerüljön át egy munkafüzetre?
A kiinduló, egy táblázatban három munkafüzet van. Az első az adatokat tárolja (termékek, normatívák, nevek, dátum lista). A második munkafüzeten van két lista érvényesítés egy dátum és egy név. Ez legördíthető ennyi.
Azt szeretném elérni, hogy ha kiválasztom a dátumot a listából, a nevet a listából és az alatta lévő részen a napi teljesítményt kiszámolom, akkor a harmadik munkafüzetbe a szintén kiválasztott naphoz és személyhez rendelje azt az összeget a dátum név metszésében lévő cellához, és az eredmény maradjon is ott meg állandó jelleggel.
Remélem megfelelő volt a leírás. Nem nagyon találtam rá megoldást, mert megpróbáltam, de abban a pillanatban hogy a második munkafüzeten a listán nevet és dátumot váltok kitörli az eredményt.
Fel tudnád tölteni valahová azt a jelszavas fájlt, amiben a programom nem talált meg semmit? És megírni, hogy mit kell keresni benne? Letesztelném, hogy miért nem működik, Nekem ugyanis mindig megtalálta, amit kellett.
Elsőre úgy gondoltam, de csak azért mert nem tudtam, hogy úgy bonyolultabb :)
Majd egy szimpla másolással megoldom, hogy a fájlok egy könyvtárban legyenek, az nem gond.
A szókereső program tesztelése során arra jutottam, hogy a jelszóval védett fájlban nem találja meg a keresett stringet, amellett, hogy a megnyitható oszlopban az igaz szó szerepel. Tehát elvileg a jelszavast is meg tudja nyitni. A jelszót nem ronthattam, el, teszt jelleggel csak egy "a" betű volt.
(3db xls fájlt csináltam, az egyik nem jelszavas, a másik kettő jelszavas eltérő tartalommal, de a nem jelszavas adatai is szerepelnek bennük, a nem jelszavasban megtalál mindent, a jelszavasokban semmit).
Pedig ez a bekérős formula nagyon jó lenne, a még nálam gyengébb userek is használni tudják :)
Mármint mire nincs kész megoldás? Hiszen Te magad írtad nemrég, hogy a Jimmy által küldött szókereső program elvégzi a dolgot. Én nem próbáltam ki, csak elhittem. Ha tényleg elvégzi, akkor minek kellene ezen görcsölni?
Jogos. Ha szükséges lesz, és nincs kész megoldás rá valahol, akkor megpróbálom. Egyébként a permutációra végül a saját szórakoztatásom céljából megcsináltam. Így már több elem permutálása is megoldható lenne. Csak nem tettem közkinccsé. Gyakorlati haszna úgysem sok lenne.
Pontosítom a kérdést: Remélem, nem úgy gondolod, hogy az adott könyvtár összes alkönyvtárában, meg azok alkönyvtáraiban? Mert az túl bonyolult lenne.
A legjobb, ha egy könyvtárban összegyűjtöd a fájlokat. Az nem lesz gond.
De ha több könyvtárról van szó, akkor kellene egy lista azokról a könyvtárakról, amelyekben keresni kell a fájlokat. Ez a lista lehetne a programot tartalmazó munkafüzet egyik munkalapján, aminek legyen a neve például "Könyvtárak". Ebben az esetben az eredményt tartalmazó munkalapnak is adjunk nevet, mondjuk "Találatok" (De a neveket majd tetszésed szerint írd meg).
Ez alapján meg tudom oldani a programban, az automatikus keresést.
Egyébként a Jimmy által küldött szókereső program elvégzi ugyanezt. Megadod a könyvtárat. Szkenneled (ekkor végigmegy az alkönyvtárakon, kigyűjti a fájlokat). Aztán megadod a keresendő kifejezést, a használt jelszót/jelszavakat, majd egy új munkafüzetbe listázza az eredményt.
Hát, én nem próbáltam ki... szóval lehet, hogy kamu. De ez furcsa, mert nem találtam más, hasonló applikációt, pedig nem tűnik olyan egetrengetőnek a feladat.
Na akkor küldök egy mintát, hogy milyen úton tudnál elindulni. Persze nem ismerem az adatállományaidat, ezért a programban kézzel kell meghívnod a fájlokat. Ezt nyilván több száz fájllal nem fogod megtenni. De ha majd kitalálsz egy eljárást, hogy milyen módon lehet majd programba írni a feldolgozandó fájlok listáját, ahhoz már könnyű lesz hozzáigazítani a programot.
Szóval nyiss egy új excel munkafüzetet, és a következőt másold be a VBA ablakba. A legelső sorban az x-ek helyére írd be a jelszavadat és a keresendő kifejezést.
A program kéri, hogy válaszd ki a fájlokat (később majd ezt automatizálhatjuk), megnyitja azokat, végignézi azok munkalapjait, és ahol talál egyezőt, úgy az
A oszlopba kiírja találatokat (munkalaponként csak az elsőt, de ezt is lehet módosítani).
Próbáld ki néhánnyal, aztán ha ez jó, akkor majd térjünk vissza az automatizálásra.
Const jelszo As String = "xxxx", keresokif As String = "XXXX"
Option Explicit
Sub beolvas()
Dim hely As String, aktwb As Workbook, aktws As Worksheet, kiirws As Worksheet, filenev As Variant, utolsosor As Long, mf As Long, sor As Long, _
eredm As Range, mfnev As String
Set kiirws = ThisWorkbook.Worksheets(1) ' Ide írjuk ki az eredményeket
Hát én nem is tudom mit mondjak.... nagyon szépen köszönöm, kb 2 órás melóval rendezve van minden..... na nem mintha érteném a függvényedet... de köszönöm😅
De szerintem a hivatkozott oldal ugyan azt állítja magáról, hogy jelszóval védett fájlokban keres szövegeket, majd ezután végig a jelszó megtalálás lehetőségéről ír.
Egyébként meg szerintem ez inkább egy lehúzós oldal, ami kecsegtet egy 30 napos fully-functional verzióval, csak az éppen nem érhető el. Az meg nem derül ki, hogy ténylegesen mit kap az érdeklődő az 50 ezres befizetés után. Nem hiszem el, hogy tényleg tud keresni a védett dokumentumokban.
Egyébként meg egyetértek veled, hogy ha az illetékesek meggyőzése nem megy, akkor programmal oldható meg a dolog. Persze ha a kérdező meg tudja adni a paramétereket, amelyek segítségével meg lehet találni a fájlokat.
Miért működne? Arra készült, hogy keresd meg a biztonsági lyukat a jelszavas védelemmel kapcsolatban. (It was designed to search and find security holes related to password protection.)
Szerintem nem létezik megoldás arra, hogy jelszóval védett Office fájlokat meg lehessen nyitni azok ismerete nélkül. Legfeljebb a nagyon rövid (3 karakter), vagy nagyon primitív (12345) jelszavak megtalálására van esély.
Igen erre én is gondoltam, de sajnos az adatokat többen is használják, és évek óta így készítik és használják. Ezen az adott terület illetékesei nem akarnak változtatni. Pl ha valakinek el kell küldeni az adott fájlt, akkor azzal meg vacakolni kell. Olyanok is használják akik nem értenek ezekhez a dolgokhoz. :( (pedig milyen egyszerű lenne)
Ha nekem kéne ezt megoldani, akkor nem vacakolnék programozással, hanem összeszedném ezeket a fájlokat egy helyre (bár nem feltétlenül egyetlen mappába), aztán mindegyikről levenném a jelszót, és gyártanék nekik egy jelszóval védett mappát például TrueCrypt-tel vagy BitLocker-rel (http://truecrypt.sourceforge.net/). Ha ezt a védett mappát megnyitjuk, akkor utána már lehet benne keresni a kulcsszavakra.
A véleményeteket szeretném kérni, hogy szerintetek ebben az esetben milyen irányba kellene elindulni a megoldással? Adott, viszonylag sok (több 100) excel fájl,több könyvtárban, ezekben kellene megkeresni egy-egy adott szót (vagy több szót: pl nevet). Egyesével megnyitogatni nem lenne túl hatékony :) Eredményként elég lenne a fájl neve, hogy ebben/ezekben megtalálható az adott szó. A probléma azzal "súlyosbodik", hogy a fájlok jelszavasak, a fájl is és a munkafüzet(ek) is. (a jelszót természetesen tudom, és minden esetben ugyanaz a jelszó). Mit javasolnátok ? Köszönöm előre is !
Én az egész adatszerkezetet javaslom átgondolni. A tagok listája rendben van, a büntetésekkel sem foglalkoznék, remélhetőleg ritka eset lesz. A többit másképp csinálnám:
1. A tagdíjfizetések esetén a hónapokat a fejlécbe tenném. Ezzel egy pillantással áttekinthető, hogy az adott hónapban ki fizetett és ki nem. Ha azért nem fizetett, mert nem volt programja az adott hónapban, azt esetleg egy beletett X jel jelezheti:
A terembeosztás az általad tervezett módon szerintem használhatatlan. Két részre bontanám. A foglalások listájában (így nevezem azt, amit "Termek" névvel jelöltél) a dátumokat egy oszlopba írnám, a klub neve mellé beírnám a szervező nevét. A napot képlettel írnám, pl.: =SZÖVEG(B2;"nnnn") (ahol B2 a dátum oszlop 2. sora). Ha a dátumban csak a hónap , ez azt jelenti, hogy a hónap minden megjelölt napját kéri. Ilyenkor a naphoz a képlet helyett azt lehetne írni, hogy "minden kedd":
Viszont ez szerintem egy nem áttekinthető táblázat. Ezért létrehoznék egy Terembeosztás nevű munkalapot, ahol termenként készítenék egy táblázatot. A táblázat sorai tartalmaznák a hónap napjait, az oszlopai pedig az igénybe vehető órákat. (8-22 órát írtam mintának). Amikor valaki bejelent egy foglalást, akkor az annak megfelelő idősávot cellaegyesítéssel összevonnám, beleírnám a klub nevét, és zárójelben a klub szervezőjének nevét (hiszen nem mindegy). És az összevont celláknak a kitöltőszínt (háttérszín) adnék, és ha van vele érintkező cella, akkor azok különböző színűek legyenek, hogy látható legyen a váltás határa:
Ezzel itt is egyetlen pillantással áttekinthető, hogy hol van szabad hely, így ha valaki jelentkezik, hogy szeretne programot, akkor azonnal megmondható, hogy az adott időpontban van-e szabad hely az adott teremben.
A kitöltés automatizálásával nem foglalkoztam, látom, arra Delila már adott mintát. A terembeosztási táblázatnál nem vagyok biztos, hogy megoldható az automatizálás, de úgy gondolom, hogy egy-egy új igény bejegyzése a táblázatba nem okoz akkora pluszmunkát, hogy érdemes lenne foglalkozni az automatizálással.
Komoly gondot jelent a klubnyilvántartásunk, mert sokan jönnek-mennek, és akik vannak, azok se minden hónapban jönnek. Pláne most kitalálták, hogy havonta kell terembeosztást csinálni, azzal is többet kell foglalkozni.
Feltöltöttem egy lebutított excel fájlt, csak a négy fontosabb táblázatot hagytam meg, az lenne a jó, ha valahogyan össze lehetne kapcsolni őket, hogy ne legyen névelírás és más gond.
Igazad van, a sorrendet is figyelembe vevő verzió az ismétléses variáció. Ebben figyelembe kell venni az egyes kiválasztott számcsoportok összes sorrendjét, azaz azok permutációját. Ezt megcsináltam, mégpedig úgy, hogy az eredeti 1365 sort meghagytam, és az egyes sorokba került tételek permutációját a mellette lévő oszlopokba írtam. Így a táblázatnak 1365 sora és 24 oszlopa van. Ettől ugyan nem lesz áttekinthetőbb, de talán mégis könnyebben kezelhető, mint egy 30000 soros táblázat.
Az alapot Jimmy képletére építettem, mert az tényleg általánosabb. Annyit változtattam, hogy a tömböt stringnek határoztam meg, hogy szükség esetén akár szövegkonstansok is állhassanak benne. Például ha lóversenyekre kell, ahol egyes helyeken előfordul, hogy 15 ló közül az első 4-re kell tippelni négyes befutóként.
A permutáló részlet nem lett túl elegáns. Például az egyes ciklusokban az első alkalommal van egy felesleges csere, amikor a ciklus első cseréjét saját magával hajtja végre a program, de nem találtam egyszerűbb megoldást. El tudnám képzelni, hogy egy szép rekurzív függvényt is lehetett volna írni belőle, de most erre nem volt időm és tehetségem.
Az adatokat számokon kívül a stringekkel is kipróbáltam, működik.
Function permutacio(A As String, B As String, C As String, D As String, sor As Long)
Dim adat(4) As String, oszlop As Long, i As Long, j As Long, k As Long
oszlop = 0
For i = 1 To 4 ' Minden fordulóban az induló sorrendre térünk vissza. A különbség az, hogy a csere során mindig a soron következő kerül az első helyre.
adat(1) = A
adat(2) = B
adat(3) = C
adat(4) = D
Call csere(adat(1), adat(i))
For j = 1 To 3
Call csere(adat(2), adat(j + 1)) ' a csere során a soron következő kerül a második helyre.
Call csere(adat(3), adat(k + 1)) ' Visszacseréljük az utolsó két elemet, ezzel visszaáll az adatoknak a j ciklusbeli - a k ciklusba lépés előtti - sorrendje
Sub kombinacio() Const csvSzámok = "3,5,9,12,13,15,32,44,87,92,100,101,111,145,151" Dim arrSzámok As Variant Dim A As Long, B As Long, C As Long, D As Long, iMax As Long, sor As Long, utolsosor As Long
arrSzámok = Split(csvSzámok, ",") iMax = UBound(arrSzámok) utolsosor = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row ActiveSheet.Range("A1:A" & utolsosor) = "" ' A oszlop adatainak törlése sor = 1 For A = 0 To iMax For B = A + 1 To iMax For C = B + 1 To iMax For D = C + 1 To iMax Cells(sor, 1) = arrSzámok(A) & ", " & arrSzámok(B) & ", " & arrSzámok(C) & ", " & arrSzámok(D) sor = sor + 1 Next Next Next Next End Sub
Amit kérsz, azt úgy nevezik, hogy ismétlés nélküli kombináció. Ilyen pl. a lottó, ahol 90 számból húznak ki ötöt. Az így létrehozható elemek száma: n!/(n-k)!*k!, ahol en az összes elemek száma, a k a kiválasztandó elemek száma.
A kiszámításra van képlet az Excelben: Kombinációk(n;k), a létrehozásra nincs. Viszont, ha az alábbi függvényt bemásolod a VBA képernyőn, akkor létrehozza az esetben lehetséges 1365 elemet. Az eredménysorokban az elemeket vesszővel választottam el egymástól az áttekinthetőség kedvéért.
Sub kombinacio()
Dim A As Long, B As Long, C As Long, D As Long, sor As Long, utolsosor As Long
Az lenne a kérdésem, hogy excelben lehet e szám sorozatokat/variációkat előállítani. Azt szeretném hogy 15 számból generálja le a létező összes 4 számból álló sorozatot (pl.: 1,2,3,4 1,2,3,5 stb) ismétlődés nélkül.
Arra lenne szükségem, hogy egy táblázatba jelöljön ki az excel olyan cellákat, amiknek az értéke egyenlő egy bizonyos tartományban található számok valamelyikével. Feltételes formázással próbálkoztam, de nem sok sikerrel (vagy egyszerűen csak béna vagyok). Csatolok képet, ez lenne az elképzelésem.
Sikerült egy képletet összebarkácsolnom, amivel makró nélkül is meg tudod csinálni az ismétléses sorozatot. A1-be írd be, hogy 1111, majd az A2-be másold be a következő képletet:
"Lényegében ez azt mutatja akkor hogy erre semmilyen képletkombináció nincs azzal előállítani". Ez nem azt mutatja, csak azt, hogy nem ismerek olyan függvényt, ami generálja ezeket az elemeket.
A darabszámukra van függvény. Az ismétlés nélkülire: =variációk(4;4), ami 24-et ad eredményül. A képlet n!/(n-k)! Esetünkben az n=k, tehát a nevező 0!, azaz 1, tehát az eredmény n! (2*3*4)
Az office 2010-nél későbbi verziókban van variációk.ism, ami az ismétléses variációt számolja ki. Ennek képlete n^k, azaz esetünkben 4^4=256. A te listád ennél több mint 100-al kevesebbet tartalmaz (kapásból találtam hiányzót, például 2234)
Lényegében ez azt mutatja akkor hogy erre semmilyen képletkombináció nincs azzal előállítani, ami előttem még mindig nem tisztázott? (az oké, hogy makróban ez könnyebb)
Aztán az A1-be ird be a 4 számjegyet, majd Alt + f8 lenyomásával válaszd ki, hogy ismétléses, vagy ismétlés nélküli variációt akarsz-e, és az A oszlopban szépen kiírja őket. Mellékesen nem csak számokat, hanem bármilyen 4 karaktert is írhatsz, azzal is megcsinálja.
A makróban Delila eljárását vettem alapul. De kiegészítettem az ismétlés nélküli lehetőséggel, valamint azzal, hogy nem kizárólag számokkal tud dolgozni.
Egy kérdés: Abban a sorban, ahol vizsgálom, hogy kell-e egyáltalán kiírni az adott elemet, ott a következő feltételt írtam:
If ismetleses Or (A <> B And A <> C And A <> D And B <> C And B <> D And C <> D) Then
De ezt valahogy nem érzem elegánsnak. Nincs valami olyan megoldás, ami azt vizsgálja, hogy van-e az adott tömbben két azonos elem? Azzal elegánsabb lenne, ráadásul 4-nél több karakter esetén túl hosszú is lenne a feltétel.
Szeretném azt megoldani excelben, hogy egy külön lapon felvezetem a termékeket, áraikkal együtt, (amiket néha frissítek), és egy másik lapon (Árajánlat) mikor legördülő listából kiválasztok egy adott terméket, akkor emelje át a hozzá tartozó árat.
Ez sikerült, köszönöm ha bárki is foglalkozott vele.
Azt nem bírta az excel jól kezelni, hogy én először töröltem fizikailag a bővítményt. Így visszaraktam az addin könyvtárba, majd a helyes sorrend, ami megért szegény:
xlam bővítmnényt hogy tudok eltávolítani úgy, hogy ne sikítson az excel minden indításnál, hogy keresi a nem létező bővítményt?
Nem létezik, mivel töröltem - mert nincs rá szükségem. Hiába törlöm az excel bővítmények listájából, akkor is keresi minden indításnál és a bővítmények listájában újra és újra megjelenik - hiába töröltem előzőleg.
Inaktiválni tudom hol kell, de ez félmegoldás. Teljesen meg akarom szüntetni, hogy nyoma se legyen sehol.
AddIn könyvtárban nincs, onnan töröltem, mint írtam.
Valakinek van ilyen tapasztalata?
xl 2016 64bites
Lehetséges, hogy windowsban kell eltávolítani az Office-t kiválasztva és a módosítás gombra kattintva?
Ha az a kívánság, hogy az egyedi rekordokat két vagy több azonosító alapján is vissza lehessen keresni, akkor a megoldás a külön tábla (ha helyiségenként adunk azonosítót, akkor ez egy kapcsolótábla).
"Namost, tegyük fel, hogy az ügyfél azt akarja, hogy amelyik Helyiségbe délben besüt a nap, meg amelyikbe nem, ezeket ugyan különböztessük már meg a vonatkozó postai cím elsődleges kulcsában. Hogy - úgymond - jobban látszódjon."
Az ügyfél fejében káosz van. Megkérdezném tőle, hogy valóban tisztában van-e az elsődleges kulcs fogalmával, esetleg -- ha olyan a viszony --, hogy az őt operáló sebésznek is megmondaná-e a saját kárára, hogy hányas szikét használjon. Megpróbálnám megtudni, hogy pontosan mi az, amire szüksége van, hiszen ő nem a problémáját adta elő, hanem a megoldási igényét egy számomra ismeretlen problémára. Viszont ha ő az ügyfél, és én a szakember, akkor neki a problémát kell szállítania, nem a megoldást. Utána megmutatnám, hogy lehet rendesen megoldani.
A következő lépésben megkérném, hogy papír-ceruzával állítson elő egy mintát, hogy képzeli. Jó esetben belezavarodik és rájön, hogy nem tudja megcsinálni. Mostanában jöttem rá, hogy ez jó próba: ha valamiről nem tudjuk, hogy kell megoldani adatbázisban, csináljunk egy mintát papíron, hogy milyennek képzeljük az eredményt. Ha nem sikerül, akkor a feladat volt hibásan megfogalmazva, át kell gondolni.
Vagy azt mondanám, hogy járja be az ingatlanokat, és amelyik helyiségbe besüt a nap, ott tegyen egy matricát az ajtóra, de amelyikbe nem süt be, ott ne tegyen, és megkérdezném, hogy oldja be, ha van egy napos hall meg egy lichthof is.
Azonkívül lehet egy elsődleges kulcs meg egy azonosítónak látszó, de duplikációt is megengedő mező. Az előbbiről az ügyfélnek nem is kell tudnia.
Hát, bizalmas adatokat nyilván nem fogok megosztani, de azért megpróbálom szemléltetni.
Legyen egy táblád, aminek Postai_Címek a neve. Minden rekord egy postai cím, várossal, utcával, házszámmal, emelettel, ajtóval, stb. Legyen egy másik táblád, amely a "Helyiségek" nevet viseli, itt minden rekord egy helyiség, pl. szoba, konyha, stb. (mert mondjuk odáig már sikerült eljutnod, hogy a hűtőszekrény és egyéb háztartási gépek - az ügyfél kifejezett kérése ellenére - ne kerüljenek bele)
A Helyiségek tábla egyik mezője link a Postai_Címek táblához, vagyis a Postai_Cím elsődleges kulcsát tartalmazza.
Namost, tegyük fel, hogy az ügyfél azt akarja, hogy amelyik Helyiségbe délben besüt a nap, meg amelyikbe nem, ezeket ugyan különböztessük már meg a vonatkozó postai cím elsődleges kulcsában. Hogy - úgymond - jobban látszódjon.
Jogos az észrevétel, hogy rosszul fogalmaztam az eredeti kérdésben, mert így nem az elsődleges kulcsban keletkezik duplikáció, hanem minden elvileg egyedi rekordnak két (vagy több) azonosítója lenne. De nem is ez a lényeg, hanem az, hogy hiába kiált adatbázisért egy feladat, ha bizonyos felhasználói atomhatalmak elvárásai miatt problematikus az átállás.
Merthogy én is kisalföld méretű Excel táblázatokkal küzdök a munkahelyemen, és gyakran szembesülök ilyenekkel.
Nem értem a kérdést. Elsődleges kulcsban nincs duplikáció. Ha valamelyik mezőben duplikáció szükséges, akkor nem az lesz az elsődleges kulcs. Egyáltalán, ha én építek egy adatbázist laikusnak, akkor nem az ügyfél határozza meg, mi az elsődleges kulcs, mert az egy tisztán szakmai kérdés. Hozzáértő meg nem kér ilyet. Tudsz példát mondani, hogy mire gondoltál?
Feltételezve, hogy mindegyik "Eredet"-hez egy 5 sor x 3 oszlop méretű adattartomány tartozik, és ezek egymás alatt vannak rendezve, ahogy a képen az "ILYEN MOST KB" állapot mutatja, akkor az alábbi képlet segíthet:
A képlet az 5 x 3 tartományokat rendezi át az elképzelésed szerint.
A pirossal kiemelt cella az, ahol az ILYEM MOST állapotban a "Deszka" van. Ezt módosítsd a valós helyzetnek megfelelően. A többi hivatkozást hagyd változatlanul.
Ez a képlet Excel 2007-ben készült. Azóta változtak a függvénynevek, az OFSZET-et ELTOLÁSNAK hívják, és gyanítom, hogy a QUOTIENT-et HÁNYADOS néven találod meg.
Ezzel az információval már előbbre vagyunk. Tehát jól értem, hogy mindig deszka-léc-tábla lesz a három oszlop, és mindig mindegyik termékhez pontosan 5 adat tartozik ugyanazzal a jelentéssel?
Konkrétat nem tudok mondani, ahhoz több ismeret kellene, de valószínűleg összeütnék egy programot (pl. Pythonban), ami segít megoldani a problémát. Innen továbblépni csak úgy tudnék, hogy látom azokat az adatokat, és érzem a feladat illatát. :-)
én vagyok itt az az ember, akit mindenki arról ismer, hogy az ilyen mondatokra:
"sokszor sok szempont alapján kell ezekből kimutatást készítenem" felkapja a fejét, mint a vadászkutya a szarvasbőgésre, és azt mondja, hogy ez a feladat ordít az adatbázisért.
Nem kell bonyolult, egy Access megteszi, ahhoz csinálhatsz űrlapokat a dolgozóknak, vagy ha továbbra is Excelben kapod, importálási segédletet. Talán még webes űrlapot is lehet, de azzal sose dolgoztam, nem ismerem a működését.
Onnantól megszabadulsz a problémáktól, mert bármikor bármilyen kimutatást el tudsz készíteni fejvakarás nélkül, és ami a legnagyobb nyereség, hogy az ismétlődő kimutatásokat csak egyszer kell lekérdezésként elkészíteni, és máskor csak futtatni, és rengeteg időd marad kávézni vagy hasznosabb munkát végezni. Gondold meg, érdemes. Pontosan ez a dőlt betűs az egyik olyan kulcsmondat, ami azt jelzi, hogy ideje adatbázisra váltani.
A bevitt adatok semminek sem az összesítői. Ezek kézzel bevitt manuális adatok. :) van 10 termelő egység, ők vezetik a nyilévántartásukat, és a hónap végén küldenek egy ilyen táblázatot. Én ezeket összesítem.... kimutatások... stb. És a mostani forma nem jó, az oké.... már elküldtem az új fprmátumot, de a régieket nem tudom ilyenre varázsolni. Egyelőre... :)
Az oszlopok száma nem változik. Csak a soroké. 1 eredethez azért van pl. 5 deszka adat, mert:
1: Terv bruttó
2: Becsült bruttó
3: Becsült nettó
4: Tény bruttó
5: tény nettó
ezek köbméterek. de ez mindegy is.
A probléma többrétű, sokszor sok szempont alapján kell ezekből kimutatást készítenem. Van még 1-2 oszlop, mint az eredet, de azok 1 adatot tartalmaznak, azért is nem írtam végig. Alapvetően az érdekel,hogy hogyan tudnám a deszka léc tábla értékhez tartozó adatokat sorokba rendezni úgy, hogy ne őszüljek bele. Már kiküldtem a kollégáknak, hogy a továbbiakban így (sorokban) küldjék az adatot, de az elmúlt 15 évet is sokszor kell feldolgoznom. :) ( Az 15* kb 7000 sor...)
Természetesen. Én azt feltételeztem, hogy a teljes táblázatnak néhány sorát látjuk (megfejelve a színes hátterű cellákkal), hogy lássuk, hogy néznek ki az adatok két eredetnél.
Azt én sem értem, hogy miért van eredetenként több sor a deszkából meg a többiből, de szerintem az világos volt, hogy az eredetből van 7000, és azt nem kell transzponálni oszlopokra, csak a deszkát és a többit. Azaz az Eredet, Darab, Átmérő és Hossz oszlopok megmaradnak, és a többi három oszlopban lévő sorokat akarja transzponálni oszlopokra. Ha sehol nincs többféle a deszkából, lécből és táblából, akkor nincs szükség több oszlopra, mint amennyit alul látunk.
Ha át akarsz térni az alsóra, meddig lesznek gyűjthetőek az adatok? Most van 7000 adat, az két sorban 3500 oszlop, és 16384 a max oszlopszám (de szerintem jóval előbb válik gyakorlatilag kezelhetetlenné).
Lehet, hogy érdemes lenne inkább arról a feladatról beszélnünk, amit ezzel az átalakítással megoldhatóvá akarsz tenni. Te itt egy megoldási ötlethez kérsz segítséget, nem az eredeti problémához. Nem biztos, hogy ebbe az irányba célszerű menni. Általában nem nagyon szeretjük a vízszintesen túlterjeszkedő táblázatokat, bár ennek nincs objektív mércéje.
Az alábbi képen szerintem elég jól látszik mit is szeretnék.
Próbálkoztam mindenfél transzponálással, de előrébb nem lettem, létezik erre egyszerű megoldás?
Összesen kb 7000 db eredet van, szóval igencsak macerás lenne ezeknek az egyesével történő átírása. Eddig így gyűjtötték az adatokat, de ebből még kimutatást sem lehet készíteni....
Előre is köszönöm a segítséget, hogy merre érdemes elindulnom.
Kiválasztod a táblázatodban az egyik sor bal első celláját. A feltételes formázáshoz az alábbi képletet írod: =darab2($A2:$D2)>0 Ahol A2 a kiválasztott sorban a táblázatod legelső cellája, a D2 pedig a sorban az utolsó cella. Ezután a feltételes formázás tartományát kiterjeszted az egész táblázatodra.
Képlettel hogyan lehet formázni olyanképp, ha azt akarom elérni egy sorban, hogy ha üres minden cella, akkor ne legyen formázás, de ha bármelyik, az adott sorban lévő cellába érték kerül, akkor azt az új sort keretezze kívül, belül automatikusan pl. hogy nyomtatáshoz az adott sorig elő legyen magától készítve?
Ahogy próbáltam feltêteles formázásban egyrészt marhaságokat kaptam vagy ha próbáltam a formátumot más sorokra is másolni, akkor az első sorba ha érték került, bekeretezett egy teljes tartományt minden sorával. Pedig azt szeretném csak, hogy növekményesen kereteződjön a tartományban 1-1sor, ha érték kerül egyik cellájába.
Én gondoltam rá hogy ilyesmi közös albi költségek vannak a háttérben, de így egyszerűbb is a feladat másodjára fogalmazva, hogy X idő múltán van egy kasszarovancsotok és elszámoltok egymásközt.
Én így oldottam meg:
- összegzed az oszlopok tételeit alul mondjuk (vagy bárhol hogy tudj további tételeket is bevinni, én csak 10-ig csináltam)
- összegzed az előbbi összegzéseket, az mondjuk a havi vagy féléves összköltségnek felel meg
- utána ezt az összk.-et leosztod a lakók számával (itt most 3, azaz A, B és C) Ezzel megkaptad az összköltségek 1 főre eső részét.
- utána ebből az egy főre esőből kivonod egyszerűen az adott személyek összbefizetését és ahol + az érték az a tartozás, ahol - az adós annak tartozik pontosan a - összeggel. :)
1. esetben tehát B fizetett be legkevesebbet, így neki A-nak és C-nek is kell fizetnie.
2. esetben mondjuk A vágta ki a rezet legjobban, tehát B és C is közösen neki adják a lóvét, annyit ami nála negatívként szerepel ismét, azaz amennyi a hiánya...
Szerintem túlbonyolítod. Most éppen kihagytad a magyarázatból a befizetést. Ezért hasraütve beírtam néhány számot ahhoz is. A kiadásokhoz az általad leírtakat. Az egyenleg pedig megmutatja, hogy hogy álltok (azt, amit te státusnak nevezel):
Namármost ha ki akarod egyenlíteni, akkor ne azt számolgasd, hogy kinek mennyit adsz, meg más mennyit kap. Ti csak a kasszával legyetek kapcsolatban. Akinél az egyenleg negatív, az befizeti a kasszába a különbözetet persze pozitív előjellel. Tehát te 3630-at, a második 4200-at fizet be. A harmadik pedig kiveszi a többletbefizetését a kasszából, ami 9000 Ft és ezért negatív előjellel írod be a befizetésekhez. Ezzel 0 lesz mindhármatok egyenlege:
Javaslom, hogy ezen a nyomon folytasd, és ne ragaszkodj a téves (és nem, vagy csak nagyon bonyolultan megvalósítható) elképzelésedhez, hogy azt akard kiszámolni, hogy kinek mennyit kell adnod.
De sajnos én másra gondoltam a közös kassza megzavart mindenkit.
Egy életi problémát akarok megoldani. Egy másik pédát mondok hátha sikerül tisztáznom.
Adott vagyok én és két lakótársam. Egy háztartásban élünk veszünk dolgokat a háztartásba. Mindneki mindenkinek és a számlát amit veszünk mindig egy helyre pakoljuk ráírjuk a nevünket és bekarikázzuk mit vettünk. Hogy tudjuk mennyibe került. Magyarul csak kiadás van mineki részéről befele a közösbe úgymond. De itt jön a lényeg kb negyed évente fél évente stb. Elővesszük és összeszámoljuk ki mennyit adott bele.
Na most én kíváncsi voltam meg tudom-e oldani excelben azt hogy egyszerűen csak a neveink mellé beírom az összeget amit összeszámoltam. 1. Én pl vettem egy vasalót 10 ezer ft +egy csomag háztartási törlőt 800 ft...és így tovább összesen 15630 Ft értékben 2. A második ember ugyan ez de, nyilván ő lehet kissebb összegekben vásárolt összesen 11200 Ft értékben 3. A harmadik szintúgy. Ő mondjuk csak egy ezresre vásárolt egy negyed évben. 1000 Ft
Tehát ez nem fair mert ugye nem mindenki egyenlőt pénzt tett a "Közösbe".
És itt a lényeg (Status oszlop). Ide akartam minden név mellé beírni. AZ én esetemben pl hogy egy embernek adok 800 ft a másiknak 200 ft-ot. Ha én vagyok az adós illetve fordítva én Kapok ettől ennyit. Névvel mindent kiír a szöveg. Ki kienk mennyit ad hogy senki senkinek ne legyen adósa.
Ezt gondolom úgy lehet elérni hogy az összeg/3 mivel hárman vagyunk ez az átlag és mindenkinek ehhez az átlaghoz kell a pénzét viszonyítani.
Ha mindenki az átlagot eléri senki senkinek sem az adósa, de lehet tévedek és túlbonyolítom.
Csinálj 3 táblázatot. Az elsőben a befizetéseket tartsd nyilván, a másodikban a kiadásokat. Aztán egy harmadik lesz ami kiszámítja az egyenlegeket. A befizetések és a kiadások összegzését egyelőre az első 10 esetre terveztem (B-K oszlopok, ahogy a képletekben is látod). Ha több alkalommal lesz befizetés, akkor majd átjavítod a K oszlopnevet arra, ameddig várható, hogy lesznek további be és kifizetések. A csúnya Kontó szó helyett egyenleget javaslok.
És van még egy javaslatom: A befizetések és a kiadások táblázatnak adnék egy fejlécet, és minden oszlop elejére a dátumot írnám. A későbbi viták elkerülésére.
És persze azt a fogalmazás felejtsd el, hogy ki kinek az adósa. Aki adós, az a közös kasszának adósa, nem annak, akinek túlfizetése van. Nagyon megzavarná az egészet, ha visszafizetéseket alkalmaznál. De ha nagyon kell, akkor negatív befizetéssel megoldható az is.
Egyébként ha a komplett dátum benne van az A és a B oszlopban is, és mind a kettőnél egyedi cellaformátumot állítasz be, az egyiknél az "n", a másiknál az "nnnn" stringgel, akkor pont ezt kapod.
A dátumot pedig össze lehet rakni az évszámból és a hónapból.
A hónapot is sorszámmal add meg, és "hhhh" stringgel formázd egyedileg.
De ha egyszer a közösbe adnak, azzal hogy fér össze nakár csak az is, hogy ki-ki kinek mennyit ad, mikor közös a kassza? Pláne aki meg semmit sem ad és mégis mindenki annyit tegyen be, hogy senkinek ne tartozzon??? :D Ez szerintem ellentmondásokkal van teli.
Szeretnék egy excel táblát készíteni. A Feladat, amit meg szeretnék oldani a következő.
Adott 3 ember. Mindhárom ember egy háztartásban él és különböző dolgokat vásárolnak a háztartás közös számlájára. Mindenki össze vissza vásárol és nem egyforma mennyiségű pénzt tesznek a közösbe.
Valaki többet fizet ki különböző dolgokra valaki kevesebbet vagy akár semmit.
A Status oszlopban szeretnék valami olyasmit megoldani, hogy at adott névhez mondjuk János a státusznál kiirja kinek mennyi pénzt ad (Kiirja a nevét illetve mennyit ad pontosan) vagy kitől mennyit kap vagy nem kap illetve ha lehet azt is kiirja ha ő pont az átlagnál van tehát semmit nem kap.
Ezt mind a három embernél szeretném megoldani.
Ha jól logikáztam ki a lényeg hogy a három vásárolt összeg osztva a három ember között az átlag és ehhez kell mindent viszonyítanom, de sajnos idő közben változhat az érték és akkor már nem jó ez a gondolat, amit csináltam. Magyarul magamnak kell mindig hozzaírnom az új értékeket nem megy automatikusan.
Remélem egyértelmű a dolog.
A lényeg amit el akarok érni, hogy mindenki ugyan annyi pénzt tegyen a közösbe senki senkinek ne legyen adósa. És a Statusz oszlop tisztazza ki kinek mennyit ad hogy mindenki egyenlő pénzt tegyen a közösbe.
Nagyon rég foglalkoztam logikai dolgokkal és bocsi ha teljesen butaságot kérdezek vagy egyszerű. Sajnos én nem tudtam rájönni, hogy tudjam ezt megoldani.
Abból a megfigyelésből indultam ki, hogy az aláhúzandó cellák sorai 20 soronként ismétlődnek. És ha ebből kettőt levonunk, akkor a többség öttel osztható. Végül csak a 14. marad.
Nem hiszem, hogy automatikusan változtatná, de szerintem erre nincs is szükség, mert ha beírod, hogy elseje milyen nap, aztán annak a cellának a jobb alsó sarkában megfogod a kis fekete pontot, és húzod lefelé, akkor a többi napot hozzáigazítja. Nekem itthon csak Calc van, de az simán megcsinálta az előbb, amikor kipróbáltam.
Egy olyan táblázathoz kérnék segítséget, amiben a munkanapokat szeretném megjeleníteni.
A dátumokat meg tudom e legördülő menü szerűen oldani, úgy, hogy csak a hónapot változtatom és azzal együtt változnak a napok es a napok nevei dátumhelyesen?
Igen, létrehozható. Mikor beszúrással létrehoztad a táblázatot, a Tervezés | Táblázatstílusok legördülőjének az alján találsz egy ikont, amivel új stílust hozhatsz létre.
Ez most nem épp Excel, ezen a gépemen csak a SoftMaker FreeOffice 2016 van, de az autoformázásra kérdeztem én még rá, hogy ilyen alapon saját stílusú vajon Excelben létrehozható-e, mert kb az volna legkönnyebb?
A képletes megoldást köszönöm persze, de csak részfeltételt teljesít, nem az írt 2-5-5-2-3-3 struktúrát keretezésben. :(
"Például megváltozik a táblázat szerkezete, és nem annyi soronként kell majd a szegély."
Akkor majd írok egy új képletet, új oszthatósági szabályokkal, és azt másolom be a feltételes formázásnál egy új szabályba. A régit meg kitörlöm.
Persze lehetne makrót írni, hogy majd a user módosíthassa a paramétereket, és akkor a program valóban időtálló lenne. De az már nem feltételes formázás.
Manapság már a betonalapot is a módosíthatóságra gondolva készítik. Aszongyák 5 év múlva biztos lesz egy sokkal jobb betontechnológia, addig bírja ki, aztán úgyis kicseréljük.
"...ilyen hosszú képletet nehéz ... módosítani..." Ezt nem értem. Miért kellene módosítani?
"...mindig érvényesíteni kell a szabályt, aztán elölről kezdeni a kijelölés-feltételes formázás ciklust." Ezt miért kellene? Hiszen az oszlopokat kijelölve a teljes tartományon elvégzi a feltételes formázást az Excel a képlet segítségével.
Valóban elegánsabb közvetlenül a feltételes formázásba írni a képletet, csak abban a kis dobozban ilyen hosszú képletet nehéz elolvasni, később megérteni, módosítani, illetve nagyon macerás a tesztelése, mert mindig érvényesíteni kell a szabályt, aztán elölről kezdeni a kijelölés-feltételes formázás ciklust.
De talán az sem ördögtől való, hogy az Excel-táblázatnak is lehet egy tesztverziója, ahol segédoszlopban van, meg egy éles, ahol már úgy, ahogy írod. Habár ez nem szokás, de ha van tesztadatbázis a programfejlesztéshez, miért ne lehetne teszttáblázat is?
Sánta kutya alapgondolatával egyetértve, de segédoszlop nélkül feltételes formázással a következő matematikai elvet kell alkalmazni.
1. Ha az aktuális sor számából kettőt levonunk, és az eredmény osztható 12-vel, akkor a sor celláiban az alsó szegély behúzandó (2, 14, 26,, 38 stb)
2. Ha az aktuális sor számához hozzáadunk 5-öt, és az eredmény osztható 12-vel, akkor a sor celláiban az alsó szegély behúzandó (7,19, 31, 43 stb)
3. Ha az aktuális sor osztható 12-vel, akkor a sor celláiban az alsó szegély behúzandó (12, 24, 36, 48 stb)
Ez képletben a következőképp néz ki: =VAGY(MARADÉK(SOR($A1)-2;12)=0;MARADÉK(SOR($A1)+5;12)=0;MARADÉK(SOR($A1);12)=0)
A teendő: Kijelölöd az aláhúzandó adatokat tartalmazó oszlopokat. Meghívod a feltételes formázást: Új szabály-> A formázandó cellák kijelölése képlettel->Ide bemásolod a képletet, majd formázásnak az alsó szegély vonalat adod meg. És az ENTER után be lesz vonalazva a táblázat.
A táblázatok felépítésének állandósága esetén az is működhet, hogy 1 munkalapon megcsinálod a formázást manuálisan, aztán ctrl+c, irányított beillesztés, formátum.
Darab(A10:Ax), ahol x a legnagyobb megengedett sorszám a te verziódban (ebből újabb verzióban baj lehet pár millió soros táblázatnál, ha nő a max. méret).
Vagy nagyon trükkös módon Darab(A:A) - Darab(A1:A9).
Készíts egy rejtett oszlopot, ami a sor számából a maradék függvénnyel kiszámolja a típust. Vagy ha nem zsenánt, akkor gépelj be egy ilyen sorozatot, aztán másold, így exponenciálisan elég hamar megtelik az oszlop (bemásolsz párat egymás alá, és aztán az egészet másolod újra). 1, ha felül szegély, 2, ha csak oldalt. Ehhez rendelj feltételes formázást.
Formázási kérdésem volna, miszerint hogyan lehet az alábbi 2-5-5-2-3-3 struktúrát keretezésben úgy megoldani, hogy nem manuálisan keretezgetem végig a teljes munkalapot, ami csak az adatokkal érkezik és szeretnék egy fromázási sablont neki?
(A kiragadott minta adatok százain ismétlődik ugyanis tovább...)
Ez kicsit kevés információ arról, hogy mit szeretnél. Mit jelentenek a számok, amit beírsz? (A Kontó szónak több értelme is lehet, leginkább számla,vagy egyenleg, de lehet tartozás is)
Miből derül ki, hogy ki kinek tartozik?
Mit jelent a 'Kiadás' amit meg kell csinálni?
stb.
De inkább ne írd meg, hanem küldj egy mintát, hátha az érthetőbb lesz, mint a leírásod.
Lenne egy excel kerdesem bocsi elöre is az ekezetek miatt.
Logikailag sajnos nem tudok rajönni a problemara pedig nagyon egyszerü lenne a megoldas biztos.
Adott az excelben 3 Ember legyen Jancsi, Juliska, Jonas, Azt szeretnem elerni hogy mindegyik nev ala egy szamerteked megadok penzben. (mondjuk Kontonak)
Amit el szeretnek erni hogy ezeket a szamokat csak beirom es ezutan csinal nekem az excel egy kiadast ki kinek mennyivel tartozik kiirja,
hogy ki kinek mennyit ad illetve ha nem ad az adott szemely a masiknak penzt azt is.
Ebben az esetben arra gondoltam hogy az összeget elosztom harom reszre es ahhoz hasonlitva kellene a többi összeget kiegyenliteni de sajnos ezt nem tudtam megoldani függvenyekkel. Index, Hol.van, Max, ilyesmi függvenyekkel probalkoztam.
Gondolom, a webáruház adatbázisából exportálod. Van hozzáférés az eredeti adatbázishoz is?
Ha igen, akkor jön a gondolkodás, hogy melyikben egyszerűbb megoldani. Könnyen lehet, hogy SQL-ben.
Ha nekem kellene megoldanom, valószínűleg a vevők tábláját egészíteném ki egy mezővel, ahol jelezzük, hogy ők érdekesek, vagy felsorolnám az azonosítójukat külön táblában. De ezt megelőzően megérteném az üzleti folyamatokat, hogy vajon lesz-e másféle csoportosítás is, mert ha többféle ilyen "érdekes vevők" lista lesz más-más szempontok alapján, akkor érdemes átfogóbban hozzáállni a kérdéshez, és egyszeri beruházással megteremteni azt az infrastruktúrát, ami a továbbiakban kényelmessé teszi a listázást. Az is kiderülhetne, hogy erre nincs szükség, mert a vevők kiválasztásának a szempontja is levezethető az adatbázisból.
Azt is megkérdezném, mi alapján választjátok ki az 5 és a 10%-os termékeket, ezt is jelölni lehetne.
(Részletes megoldásban szívesen segítek, de az már túl van az ingyenes felebaráti segítségen, és több információt is igényel.)
Amennyiben a vevők között magánszemély is van, akkor meg kell vizsgálni, hogy az adatkezelési tájékoztató tartalmazza-e ennek a lekérdezésnek a lehetőségét, szükség esetén hozzáigazítani.
Ha nem akarsz makrót írni, akkor én ezzel próbálkoznék:
1. átmásolnám a régi táblázatot az újba egy ideiglenes munkalapra.
2. fkeres/vkeres/hol.van/index/ha/hahiba függvények használatával megkeresném, hogy az első új fejlécelem (A1) megvan-e az ideiglenes munkalap első sorában, és ha igen, akkor A2-be mehet abból az oszlopból a 2. Ez másolható lefelé és jobbra is. Azért írok ilyen sok függvényt, mert ezek ötletek, nem csináltam kész képletet, de ezeket lehet használni.
3. Törölném az üresen maradt oszlopokból a képletet (akár a fejléc mentésével egy ideiglenes lapra, hogy egész oszlopokat lehessen törölni, és utána a fejlécet vissza), aztán törölném az ideiglenes munkalapot.
Az új táblázatban a régi oszlopok között össze-vissza vannak beszúrva új oszlopok, így a másolás nem működik, mert az brutálisan hosszú idő lenne, és tele lehetne hibával. A kép csak illusztráció, két teljesen független táblázatról van szó.
Mennyire van megszakítva? Ha úgy néz ki, hogy a régi táblázat minden második oszlopa után van egy új, akkor ez probléma. Ha úgy helyezkednek el az új mezők, hogy mondjuk 4 helyen szakítják meg a régiek folytonosságát, akkor ctrl c, ctrl v ötször egymás után.
Abban szeretnék segítséget kérni, hogy egy táblázatból hogyan lehet az adatokat a másikba importálni. A táblázatok külön fájlban vannak. Azaz van egy régi táblázat, amely 100 oszlopból áll, és van az új mely 150-ből. A táblázat fejléceiben van az oszlopazonosító ami a meghatározó. A régi táblázat „XY” elnevezésű oszlopaiból kel minden adatot átmásolni az új táblázat azonos nevű „XY” oszlopába, természetesen ugyanabba a sorba. Ha nincs adat a régi táblázatban, tehát az új táblázat oszlopazonosítója nem szerepel a régiben, akkor az a cella maradjon üres. Tehát a példa szerint mindet másoljon át a „Súly” és „Méret” adatokból, a „Szín” maradjon üres.
Egyszer régen írtam az ilyen jellegű feladatokra egy általánosan használható makrót. Tényleg régen volt, még az Excel 5.0 időkben, Win3.11 alatt, szóval aktualizálni kellene. Ha valakinek van kedve bíbelődni vele, nos íme:
Sub SolveEverything(ProblemDescription As String) Dim U As Universe, G As God, A As Angel, HeardMe As Boolean, i As Long Set U = Universe If U.Gods.Count > 1 Then Set G = U.Gods(1) Else Set G = U.God End If Set A = G.Angels.Add G.SendRequest Request:=ProblemDescription, DeadLine:=vbImmediate, SecondaryDeadLine:=vbASAP HeardMe = A.Reaction If HeardMe = True Then MsgBox "Go home, problem solved." Else G.SendRequest Request:=ProblemDescription, DeadLine:=vbImmediate, SecondaryDeadLine:=vbASAP, AdditonalInfo:=CurrentUser.ReadMind HeardMe = A.Reaction If HeardMe = True Then MsgBox "Go home, problem solved." Else For i = 1 To 10 G.SendPrayer Subject:=G.PrimaryPrayer.Text, Object:=CurrentUser, PrayerMode:=vbZealous Next SolveEverything ProblemDescription End If End If End Sub
Mi az eredeti táblázatok szerkezete? A legjobb, ha van egy minta.
Mi az eredménytáblázat szerkezete? A legjobb, ha van egy minta.
Hol van az az 50 táblázat? Egymás alatt? Egy munkafüzet lapjain? Egy könyvtárban? Egy meghajtón szabálykövető könyvtárnevekkel? Egy meghajtón összevissza? 50 CD-n?
Bocsanat a kesoi reakcioert, most massal voltam elfoglalva, megoldasi samara kernek javaslatot, hogy a manualis szenvedest kiiktathassam.
Adott kb. 50 tablazat, kulonbozo esemenyeken reszt vettek listaja. Egyetlen tablazatot kellene csinalni belole az osszes nevvel es oszloponkent az egyes esemenyek es csak jelolve, hogy az illeto reszt vett, vagy nem.
Nekialltam osszegyujteni az osszes nevet a listakbol, de mar az is maceras.
Sziasztok. Körülbelül egy hónapja agyaltam egy képleten excelben,és több napos gondolkodás után sem jöttem rá mi a képlet. Megtaláltam ezt a fórumot feltettem a kérdésem és pár óra múlva meg is kaptam a a tökéletesen működő képletet. Ma megint egy probléma lépet fel. Nekem egy olyanra lenne szükségem hogy van egy érték amit megkapok,ami 99,99%ban nem egész szám,viszont nekem csak egész számra lenne szükségem. Egy példa: A1=2555,A2=A2=A1/10,azaz A1=255,5 nekem egy olyan képletre,esetleg beállításra nem is tudom pontosan,lenne szükségem ami /10 után kijövő eredményeket kerekíti. Tehát az én A2=A1/10es cellámra 256ot hoz ki értéknek. Előre is köszönöm a választ :)
A levelezés menüszalagon kiválasztod az eredmény megjelenítését. Ha eddig az eredményt jelenítette meg, akkor átvált a mezőnevekre (és persze fordítva).
A kívánt mezőnévre ráállsz, jobb egérgomb - Mezőkódok váltás - utána beírhatod amit mutattam a \ kapcsoló után.
Köszönöm. Évekkel ezelőtt (még a DDE kiválasztás megismerése előtt) próbálkoztam ezzel a technikával, de valahogy nagyon nem jött nekem össze ennek a szintaxisa. Pedig sok órát eltöltöttem vele. Nem tudom, hol bénáztam el.
De majd - most már csak az érdekesség kedvéért - megnézem újra, hátha működésre tudom bírni.
"Egyébként ahogy nő az Excel verziószáma, úgy válik egyre hajlamosabbá tapasztalatom szerint, hogy formázásokat automatikusan átvigyen az oszlopon belül (ha már a felső cellában megvolt a formázás, mielőtt az alatta levőbe írni kezdtünk)."
"ha a dátumokat szövegként tárolod a táblázatban, az nem jó?". Dehogynem. (Sajnos itt mások által készített táblázatról van szó, amit én készen kapok.)
Viszont éppen az általad javasolt célt szolgálta az aposztróf elététele, ami szöveggé alakítja a dátumot és a számokat. És ez is oldotta meg "rejtélyes módon" a problémát, ahogy Sánta Kutya is írja. Azaz, hogy számomra váratlanul elegendő volt az első sorban lévő dátumot szöveggé alakítanom (aposztróf elététele), és a teljes oszlopra érvényesítette a szövegként való formázást. És ez nekem most jól jött, de azért írtam, hogy ez szvsz szabálytalan, mert el tudnék képzelni olyan helyzetet, amikor egy formázást csak néhány cellán szeretnék így kikényszeríteni, és a többi cellában nem.
Nekem is ez jutott eszembe, csak azért nem írtam le, mert a jelek szerint az aposztróf ismeretlen módon megoldotta a problémát, és nem ez volt a feltett kérdés.
Pontosabban a dátumokat az eredeti helyükön dátumként érdemes tárolni a feldolgozhatóság miatt, és külön oszlopban függvénnyel szövegként.
Egyébként ahogy nő az Excel verziószáma, úgy válik egyre hajlamosabbá tapasztalatom szerint, hogy formázásokat automatikusan átvigyen az oszlopon belül (ha már a felső cellában megvolt a formázás, mielőtt az alatta levőbe írni kezdtünk).
Nem tudom a választ a kérdéseidre, viszont én is feltennék egyet: ha a dátumokat szövegként tárolod a táblázatban, az nem jó? Mert akkor talán nem alakítaná át, amikor átveszi a Word. A levélben meg már úgyis szöveg lesz.
Sziasztok, évek óta küszködök egy dátum formázási problémával. Minden évben kell körlevelet kiküldenem, amelyben születési idők is szerepelnek. A körlevelet Word dokumentumban szerkesztem, az adatforrás pedig Excel táblázatban van. A születési idők dátum formátumban szerepelnek európai módon éééé.hh.nn. Viszont a körlevélbe alapesetben amerikai formában kerül (hh/nn/éééé). Ezt régebben (2015-ig)a DDE formátumra való átállítással kezeltem. Előzőleg a dokumentum beállításainál bekapcsoltam a 'fájlformátum jóváhagyása megnyitáskor' kapcsolót, és amikor kérte a formátumot, akkor a DDE formát választottam. Emlékeim szerint akkor külön fájlban tároltam a kiskorúakat és nagykorúakat, mert más-más levél ment ki nekik.
Viszont most már évek óta egyetlen fájl külön munkalapjain tartom az adatokat, és az adatforrás kiválasztásakor azt is megadom, hogy melyik munkalap adataival dolgozzon a körlevél készítő. Viszont a dátum probléma elkerülésére a DDE így már nem használható, mert annál a rendszer nem kérdez rá, hogy melyik munkalapokat szeretném a körlevélhez rendelni, így nem működik rendesen.
Viszont így jön az amerikai formátum.
És itt jött egy érdekes meglepetés. Arra gondoltam, hogy jobb híján végigmegyek az adatoszlopokon (szerencsére csak néhány tucatról van szó), és aposztrófot teszek a dátumok elé, ami kikényszeríti a sz adat szövegként való kezelését. Az első teszt kedvéért csak a munkalapok első soraiban tettem ki az aposztrófot, majd mentettem a munkafüzetet. Ekkor viszont meglepő, és számomra érthetetlen hibaüzenetet kaptam (Excel 2010-et használok):
Végül túlléptem ezen, mentettem a munkafüzetet. Végül ez nem okozott gondot, viszont egy örömteli, de szintén érthetetlen jelenséggel találkoztam. Hiába csak az első sorban tettem aposztrófot a dátum elé, az oszlop összes többi dátumát később jól formázza. Kipróbáltam: Ha az utolsó sorba került az aposztof, akkor az előtte lévő adatok megtartották az amerikai formát.
Bocs, hogy kissé hosszadalmas lett a leírás, de két dolog érdekelne:
1. miről szól a rejtélyes hibaüzenet, mikor nem váltottam semmiféle korábbi verzióra, és miért figyelmeztet funkcióvesztésre, mikor semmilyen formátumváltást nem végeztem.
2. Miért érvényesíti az első sorba kitett aposztróf a szövegként való kezelést az adott oszlop további soraiban is? Ez most éppen jól jön nekem, megkímél némi felesleges munkától, csak éppen véleményem szerint teljesen szabálytalan.
Esetleg legyen 12 direkt hivatkozás a 12 hónapra, és az „Alap” tábla A1 cellájából az derüljön ki, hogy a 12 direkt hivatkozás közül éppen melyiket használjuk fel.
Ha ez egy hónapban csak egyszer változik, akkor mi akadályoz meg abban, hogy a hónap elején átírd a hivatkozásban a hónap nevét kézzel?
Ezután újabb 28-30-31 napig nem kell semmit változtatni és nincs szükséged az indirekt képletre, mert a direkt hivatkozás működik a hivatkozott fájl megnyitása nélkül is.
Lehet, hogy a régebbi olvasóknak unalmas vagyok a makacs kérdéseimmel, de:
-- Biztos, hogy indokolt ez a könyvtárszerkezet?
-- Biztos, hogy ez táblázatkezelési feladat, és nem adatbázis-kezelési?
Linuxon még lenne olyan opció, hogy a változó könyvtárakba rejtett táblázatokra egy könyvtárban legyen szimbolikus link, és konstans útvonallal lehessen hivatkozni rájuk, de a Windows csak parancsikont tud, és valószínű, hogy azzal nem fog menni.
Na ez nem fog menni. Ahogy Feri is már megírta, az indirekt hivatkozáshoz már(!!!) nyitva kell lennie a hivatkozott munkafüzetnek. Ebben az esetben értelmetlen az elérési útvonalra történő hivatkozás.
Szóval szerintem az indirekt megnyitás és adatkiolvasás helyett makróval tudod megoldani a képlet szerinti munkafüzet megnyitását. De akkor már nem is érdemes az indirekttel bajlódni, hanem a makró eleve ki tudja olvasni, és helyére tenni a szükséges adatot.
A két excel file (tábla) két külön hálózati könyvtárban van és azt szeretném elérni, hogy megnyitva az „Alap” táblát a benne lévő külső hivatkozás automatikusan emelje át a másik „háttér” táblából az adatot.
A problémát az okozza, hogy a „háttér” tábla miden hónapban másik útvonalon található, ezért kellene a hónap nevét változóként a külső hivatkozásba építeni.
Előnézet is "megeszi" a backslasht, utána újra be kell duplázni, mielőtt elküldöd.
A konkrét kérdésre. Külső hivatkozás csak úgy működik indirekt függvénynél, ha az a másik munkafüzet is nyitva van.
Mi is a feladat egyébként?
Egy másik munkafüzet adatát szeretnéd ebbe a munkafüzetbe átmásolni vagy egy másik munkafüzetben található cím alapján szeretnél adatot bemásolni ebbe a munkafüzetbe?
Mert nem mindegy. A leírásodból sajnos ez nem derült ki pontosan.
Az egyik működik, a másik indirekttel nem, de meg lehet kerülni.
par oszlop es par sor bal felso sarokban legyen 14-15-os pontszelessegre beallitva
Szerintem már ezt nem nagyon lehet megérteni, mert a szélességet csak oszloponként, a magasságot csak soronként lehet állítani. A sorszélességet és az oszlopmagasságot nem ártana elmagyarázni, hogy megértsük, mit akarnak ezek jelenteni.
A megoldas az lenne, mint pl. egy fejleces vagy blokkos papir, ahol a felso reszben, vagy egy bal oldali oszlopsavban vannak kis betuk, es alatta, vagy mellette mas formazas lehetseges.
Ezt simán meg lehet csinálni, de csak a betűméretre, és nem úgy, hogy a cellák mérete is más legyen. Mármint nem lesznek egy sorban különböző magasságú, vagy egy oszlopban különböző szélességű cellák, legfeljebb csak a cellák egyesítésével.
hogyan lehet kitalalni, mekkora tartomanyt kell osszevonni egy "normal" cellahoz, mert pl. 3sor*3oszlop 15 pontos cellabol lehet egy normat meretut csinalni.
Szerintem erre kitűnően alkalmas az osztás nevű művelet. Beírod a szöveget egy cellába, megnézed, hogy mekkorába fér el, aztán a méretét elosztod a kisebb cellák méretével, és máris megvan, hogy hányat kell belőlük egyesíteni, hogy elférjen benne a szöveg. Ha nem egész szám jön ki, akkor veheted az eredmény egészrészét, és esetleg hozzáadhatsz még egyet vagy kettőt a biztonság kedvéért.
Nem tudom, hogy honnan szedted, hogy 4-es méretnek felel meg, mert nálam a 15 pont szélesség a 15-ösnek felel meg. És igenis létezik 4-es méret is, csak nem jelenik meg a listán, be kell írni kézzel.
Nyilván annyit, hogy beleférjen. Ezt vagy kiszámolja az ember (ami a legtöbb betűtípusnál elég macerás), vagy kipróbálja, és ami beválik, azt megtartja.
Dehogynem. Annyira értem meg, amennyire érthetően leírtad. Egy in medias res kezdéssel, amiből nem derül ki, miért támadt ez a furcsa követelmény, és tényleg szükséges-e.
Dehogy csinálom. Mi itt néhányan a szabadidőnkből segítünk másoknak. Elég sokat. Én is rá szoktam szánni az időt, ha úgy érzem, hogy érdekes a probléma vagy hogy hatékonyan tudok segíteni. Ez a keret ebben az esetben kimerült.
Ami számomra érdekes vagy előrevivő lenne, hogy hogy lehet a problémát két lépéssel távolabbról szemlélni. Ezt írtad: "15 pontnyi sor- es oszlopmagassagra van szukseg". De azt nem, hogy miért. Hogy jött ez ki? Nem egy problémát, feladatot adtál elő, hanem egy kész megoldást, ami neked nem jó. Ha szakembertől akarsz segítséget, a megoldandó feladattal célszerű kezdeni. Itt van ez az útmutató fent a topik címe alatt, ezért tettük ide.
"A megoldas az lenne, mint pl. egy fejleces vagy blokkos papir, ahol a felso reszben, vagy egy bal oldali oszlopsavban vannak kis betuk, es alatta, vagy mellette mas formazas lehetseges."
Ezt simán tudja az Excel, csak ha jól értettem, nem voltál elégedett azzal a betűmérettel, amivel arra a kis helyre egy nagy szöveg elfér. Ezen nehéz segíteni.
Csinald meg, amit irtam, par oszlop es par sor bal felso sarokban legyen 14-15-os pontszelessegre beallitva.
A problema az, hogy ez determinalja a tablazat bal szelso es felso sorait.
A megoldas az lenne, mint pl. egy fejleces vagy blokkos papir, ahol a felso reszben, vagy egy bal oldali oszlopsavban vannak kis betuk, es alatta, vagy mellette mas formazas lehetseges.
A cellaegyesiteses megoldas meg egy opcio, kerdes, hogyan lehet kitalalni, mekkora tartomanyt kell osszevonni egy "normal" cellahoz, mert pl. 3sor*3oszlop 15 pontos cellabol lehet egy normat meretut csinalni.
Gondoltam ra, de hogyan talalod ki, hogy hany cellat kell egyesiteni, hogy legalabb 10-es betumerettel par szavas szoveg illetve szamok olvashatoak legyenek?
A megjegyzés egy elég kilógó elem, ami tulajdonképpen a táblázat harmadik dimenziója, de a legújabb verzióban már megjegyzéstörténet is van, így sikerült a kétdimenziós táblázatból 4D-set csinálni. Nem kezelhető normális eszközökkel, és nyomtatáskor is problémát okoz.
Én azt hiszem, itt olyan esettel állhatunk szemben, amikor egy tüdőgyulladásra köhögéscsillapítót keresnek a probléma feltárása és kezelése helyett. Ha ez az én feladatom lenne, az elejéről kezdeném átgondolni, hogy jutottunk ide, és valóban egy zsákutcába akarjuk-e megtalálni a bejáratot.
Ha nem kell, hogy mindig látsszanak a megjegyzések, hanem elég, ha csak akkor, ha ráállsz az egérrel a megfelelő cellára, akkor használhatod a jobb egér menü "Megjegyzés beszúrása" opcióját. Ebben az esetben egy kis piros háromszög látszik azon cellák jobb felső sarkában, amelyekhez van megjegyzés.
Ha mindig látszaniuk kell a megjegyzéseknek, akkor viszont aligha tudod megoldani a dolgot plusz sorok vagy oszlopok nélkül.
Az oszlopszélességet oszloponként állíthatod, a sormagasságot pedig soronként. Egy oszlopban nem lehetnek eltérő szélességű cellák, sem egy sorban eltérő sormagasságúak.
Egy 20 oszlopnyi es 10 sornyi teruletre 15 pontnyi sor- es oszlopmagassagra van szukseg, viszont mellejuk, illetve alajuk kellene irni megjegyzeseket.
Megoldhato valahogy, hogy pl. a bal felso sarokban legyen ez a kis terulet, es mellette mar normal oszlop es sorszelesseg legyen, ahova legalabb 10-es betuvel lehet irni?
Én is úgy próbáltam ahogy írtad, mind a két verzióval és 0-át adott ki pedig ctrl+shift+enter-el zártam le.
A lényeg az, hogy az "A" oszlopban vannak számok és a "B" is ezekből kéne a feltétel pl hogy A=1 és B=2 és akkor ha mind a kettő teljesül a "D" oszlopban szereplő értékek közül szedje ki a maxot. Mert minden ilyen párhoz hogy A=1 B=1 vagy A=1 B=2 stb. tartozik 24 db érték de nekem csak a legnagyobb kéne.
Két feltételhez szabott maximális értéket szeretnék kapni egy adatsorból. 2019-es excelben úgy tudom van olyan függvény, hogy "maxha" de sajnos nekem 2016-os van és akárhogyan próbálom összehozni nem adja a helyes értéket.
MAX,Ha,És függvényekkel próbáltam összehozni de soha nem jön ki két feltétel esetén jó érték. Addig minden jól megy amíg egy feltétel kell =MAX(HA(...)-al jól kijön egy feltétel esetén de kettőre már nem jött ki még akkor sem ha ÉS függvényt alkalmazok.
Köszi szépen! Úgy tűnik, ez megoldotta az én problémámat is. Ugyanis abban a táblázatban, amelyikkel a legtöbbször fordult elő, hogy bezáráskor egyből a "Mentés másként" jött fel, rákerestem a képletekre, és találtam is egyet: egy sima szöveget alakított át nagybetűssé. Átírtam a cella tartalmát simán a nagybetűs szövegre, elmentettem, és láss csodát: azóta nem jelentkezik a probléma.
Kösz, sejtettem is, hogy lesz valami egysoros formula.
Egyetlen problémám van vele, hogy előtte az összes cella zárolását fel kellene oldani. Nálam legalábbis alapértelmezésben valamennyi cella zárolt, így hiába alkalmazom a képletet tartalmazókra az xlCellTypeFormulas szűkítést, a többi még zárolt marad.
Másold be ezt a makrót a VBA területre és futtasd le:
Option Explicit
Sub kepletkijeloles()
Dim utolsosor As Long, utolsooszlop As Long, adattartomany As Range, cella As Range
utolsosor = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row ' Ha nem A az első oszlop ,akkor javitsd! Ügyelj, hogy az első oszlop utolsó sora ne legyen üres!!!!
utolsooszlop = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column ' Ha az első sor nem 1, akkor javítsd. Az itt megadott sor utolsó oszlopa ne legyen üres!!!!
Set adattartomany = ActiveSheet.Range(Cells(1, 1), Cells(utolsosor, utolsooszlop))
For Each cella In adattartomany '.Cells
If cella.HasFormula Then
cella.Locked = True ' Ha képletet tartalmaz, akkor zárolja
Else
cella.Locked = False ' egyébként, ha zárolva lenne, feloldja
End If
Next cella
ActiveSheet.Protect userinterfaceonly:=True ' Végül beállítja a munkalap védelmét a kézi módosítások ellen
Lapvédelemmel kapcsolatban kérdeznék. (Excel 2007) Egy hatalmas excel táblában az összes függvényt tartalmazó cellát szeretném zárolni, de egyenként kijelölni az érintett cellákat rengeteg idő lenne és a hiba lehetősége is ott van, hogy kihagyom valamelyiket. Mi a legegyszerűbb megoldás ilyenkor?
Nekem sikerült összehozni. A 32535 hsz szerint a letöltött csv-ből kigyűjtöttem a koordinátákat, és ezt a két oszlopot másoltam be címsorral együtt "Jimmy térképébe".
Hogyan jött ki az adataimból a térképes megjelenítés? Egyesével vitted be az adatokat vagy csak szimplán megjelent? Ha behúzom az adatokat nekem error vagy Szaúd arábia jelenik meg
Adott egy etetőhajó autopilot rendszere amely micro SD kártyára menti az adatokat. Számítógépen gyorsan lehet szerkeszteni, viszont a helyeket szeretném megnézni a térképen. 500 koordináta és mindig változó helyek miatt egyesével körülményes lenne másol beilleszt módszerrel neten megbézni a helyeket, nem beszélve arról hogy előtte ezeket az adatokat konvertálnom is kellene
Lehetséges e a fenti adatok alapján valamilyen módon térképen megjeleníteni a szélességi és hosszúsági fokokat?
Ha ien mi ennek a legegyszerűbb menete.
Automatikusan átkonvertálhatóak e az adatok a megjelenítés megfelelő módjához.
Láttam már excelt de abszolút kezdő vagyok a témában.
- Nyomj Ctrl+r -> megjelenik a Project Explorer ablak (ha addig rejtve volt)
- keresd meg a bal felső ablakban a szóban forgó munkafüzetet, azon belül az adatbevitelre használt munkalapot
- Jobb klikk a munkalap nevére, View Code
- a jobb oldalon megjelenő ablakba másold be:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("B:B")) Is Nothing Then If Target = "" Then Target.Offset(, -1).ClearContents Else Target.Offset(, -1) = Date End If End If End Sub
Ahhoz, hogy a kód megmaradjon a munkafüzetben, és a következő megnyitáskor is rendelkezésre álljon, makróbarát munkafüzetként (.xlsm) kell menteni.
Automatizálni szeretném. A hibák elkerülése végett. De makrókkal még nem próbálkoztam. Ezt tudod kicsit pontosítani, vagy ennyire ez nem egyszerű? Egyébként napjában többször nyitom meg, mentem és zárom ezt a munkalapot.
Nap végén a képletet alakítsd át értékké - másolás - irányított beillesztés, értéket.
Automatizálhatod is, ha a munkafüzet bezárási eseményébe - Thisworkbook_BeforeClose - beteszed azt a makrót, amelyik az A oszlopban minden olyan cellát átír az értékére, amelyik sorban van hozzá már érték.
Segítséget szeretnék kérni. Nem tudom megoldani a következőt:
A1 mezőben szeretném azt a dátumot rögzíteni, amikor A2 mezőbe írok valamit. Nem akarom mindennap, minden adat bevitelénél a dátumot beírni. A1 mezőbe ha ezt írom: =HA(A2="";"";Ma())
Ezzel az a probléma, hogy ma jó dátumot mutat, de holnap már nem a mait fogja mutatni, hanem holnapit.
Igen. Elmentettem, aztán beállítottam, hogy read-only legyen, majd megnyitottam, és beleírtam egy betűt. Utána nyomtam egy Entert, majd visszamentem a cellára, és kitöröltem. Ezután próbáltam becsukni a fájlt, és ugyanúgy a Mentés másként ablak jött fel, kérdés nélkül. Illetve csak utána jött meg a kérdés, hogy akarom-e menteni, amikor a Mentés másként ablakot becsuktam.
Az volt az ötletem, hogy kipróbálom egy másik, egyszerűbb táblázattal is. Kiderült, hogy azzal is ugyanezt csinálja, ha read-only a fájl, amikor megnyitom.
Ez oké, nem is erre gondoltam, hanem hogy az eredmény (mármint a képlet) elfér-e egy sorban, vagy mindjárt három kell neki. Tudod, az áttekinthetőség miatt...
Akkor megpróbálhatod behatárolni a jelenség/hiba forrását. Pl.
készítesz egy másolatot a fájlról, és megnézed, hogy hozza-e a hibát
egyenként törlöd az egyes munkalapok tartalmát, és minden törlés után megnézed, hogy hozza-e a hibát
ha az X munkalap törlése után elmúlik, akkor készítesz egy új másolatot az eredeti fájlról, törlöd most csak az X munkalap tartalmát, és ellenőrzöd, hogy ettől reprodukálhatóan elmúlik-e
ha igen, akkor egy újabb másolaton elkezded az X munkalap tartalmát részletekben (pl. oszloponként, vagy felezéses módszerrel) törölni, és figyelni, hogy van-e változás
ha a 3.-ra nem a válasz, akkor több munkalap is lehet ludas, és akkor lehet tovább próbálkozni a többiek kiszűrésével.
Vagy valami hasonló.
Esetleg előkészíteni egy új munkafüzetet, és az eredetiből a munkalapok tartalmát (tehát nem magukat a munkalapokat) laponként átmásolni az újba.
Ha elereszted a fantáziád, biztos lesz még egy csomó jó ötleted :-)
A MS modellje alapvetően a függvénybeszúrás kattintgatással tevékenységre épül, de ebben a verzióban nagyon intelligens automatikus függvénynév-kiegészítés működik, tehát az = és az első pár karakter után gyorsan választhatsz a legördülőből. Meglepően jó.
Nem hinném, mert szerintem (és az Office 2003 szerint is) pont az xls a normál. De azért kipróbáltam (mert persze van 2007-es kompatibilitási csomagom is), és az xlsx esetében is ugyanezt csinálta.
Nekem 200-esem van, és van néhány táblázatom, ami ezt csinálja, de csak néhány, és egyik se read-only.
Az egyikben van makró, a másikban nincs.
Ami közös bennük, hogy az átlagnál több munkalap és képlet van bennük, vannak kereszthivatkozások a munkalapok között, és van grafikont tartalmazó munkalap. De csak egy van, amit kb. havonta egyszer olvasási szándékkal nyitnék meg, így együtt tudok élni vele.
Azt figyeltem meg, hogy csak egy bizonyos táblázatnál lép fel ez a jelenség, és csak akkor, ha az xls-nek read only attribútuma van, azaz csak olvasásra nyitja meg. Ez ugyanis egy olyan táblázat, amit többen is szoktunk szerkeszteni, de én le szoktam másolni magamnak lokális meghajtóra, és ott szoktam beállítani neki a read-only attribútumot, hogy mindig csak ott tudjam szerkeszteni, ahol a többiek is hozzáférnek. Tehát amikor nem akarom szerkeszteni, akkor a lokális meghajtóról nyitom meg, csak olvasásra, és ilyenkor van ez a fura viselkedés, amikor be akarom csukni. Az okát persze így sem értem, már csak azért sem, mert évek óta így használom ezt a táblázatot, de csak az utóbbi időkben jelentkezett ez a probléma.
Tegnap tették fel a cégnél az Office365-öt, rögtön kipróbáltam, szuperül hasít! Habár az infó() függvény 16.0-t ír ki verziónak, ami a 2016-nak felel meg, de ezt tudja. A magyar neve SZÖVEGÖSSZEFŰZÉS().
Amint irtam, megtettem, csatolom a kepet, kicsit kibovitettem, hogy 10 cellanyi hosszu legyen;) majd raadasul betettem meg egy "L" oszlopot, ami azt mutatja, milyen karakterekre csereltem.
Az elso4 es masodik 4 sor azert van, mert 2-2 soronkent van hasonlo, ott azt is neztem, van-e hatasa, ha a fuggveny beirasakor szokozoket hagyok az egyes elemek, jellemzoen a & karakterek kozott, de ugy tunik, az nem erdekes, csak a begepeles hossza valtozik.
Majd ket valtozatot csinaltam mindegyikre, mert neha, amikor az elso cella ures, maskent mukodik.
Elso otletem az volt, hogy ket szokozzel megoldas lehet a problemara, de sajnos nincs kulonbseg egy vagy ket szokozes valtozatoknal.
Mas karakterrel (/=+) pedig ures cellakba is berakja a jelet, gondolom azert, mert a Trim parancs csak szokozre van ertelmezve.
Talan ket lepesben kell megoldani, csinalni egy "sima" gyujtest, amire pl. a 10. sorban levo valtozat jol mukodik, majd egy masik fuggvennyel levagni a vegerol az utolso 3 karaktert, es az elejerol is, ha az elso cella ures es oda is beszurja.
A B oszlopban lévő időadatok nem pontosak. Ezt demonstrálandó, írd be
T1-be: = B9929
U1-be: = N219
V1-be: =T1=U1
Elvileg T1 és U1 a 2017.02.04 11:25:00 dátum/idő párost mutatja, most itt lesznek egymás mellett. V1 pedig azt mondja meg, hogy a két érték egyenlő-e. Hát nem az.
Módosítsd a T1:U1 tartomány számformátumát általánosra, és kezdd el növelni a látható tizedesjegyek számát. Meg fogod látni, hogy kb. a 6-7. tizedesjegynél elkezd különbözni a két cella.
Azért mondom, hogy a B oszlop hibás, mert ha beírod egy cellába a 2017.02.04 11:25:00 dátum/idő párost, akkor annak az értéke az N219-cel lesz egyenlő, nem a B9929-cel.
Ellenőriztem: a B oszlop seregnyi cellájában van olyan érték, ami a cellában látható értéktől néhány század másodperccel eltér.
Hogy ez mitől/hogyan keletkezett, az nem tudom, majd valaki más kideríti.
Viszont lehet a helyzetet kezelni. Futtasd le ezt a makrót:
Sub Időkorrekció() Dim WS As Worksheet, Rng As Range, i As Long, iMax As Long Dim arr1 Dim y As Long, mo As Long, d As Long, h As Long, mi As Long, s As Long
Set WS = ActiveSheet Set Rng = WS.Range("B1", WS.Range("B" & WS.Rows.Count).End(xlUp)) arr1 = Rng iMax = UBound(arr1, 1)
For i = 1 To iMax y = Year(arr1(i, 1)) mo = Month(arr1(i, 1)) d = Day(arr1(i, 1)) h = Hour(arr1(i, 1)) mi = Minute(arr1(i, 1)) s = Second(arr1(i, 1)) arr1(i, 1) = DateSerial(y, mo, d) + TimeSerial(h, mi, s) Next WS.Range("B1").Resize(iMax) = arr1 End Sub
Ez helyrerakja a B oszlopban az értékeket, és akkor at FKERES függvény is meg fogja találni őket az N oszlopban.
Biztonsági másolat készítése ezúttal is melegen ajánlott.
Látni fogsz az elején is sok hiányzik adatot az nem baj mert ott valóban nulla van és nullának is kell maradnia, aztán január 7-nél szépen elkezdi már kicserélni az adatot a jóra, de már pl a márciusi értékeknél azt írja "hiányzik" még akkor is, ha az "N" oszlopban ott van a dátum és ott van az "O" oszlopban az érték is ami kéne.
Olyan problémára keresnék megoldást vagy valami függvényt, hogy van egy nagyon hosszú adatsorom (kb 3 millió adat), dátumokból áll és az adott dátumnál értékekből.
Na mármost, az a problémám, hogy néhány dátum értéknél ahol hiba miatt 0-at írtam be most megkaptam a jó értékeket ez úgy pár 10 ezer szám és nem igazán szeretném egyesével beírni őket a nagy adatsorba.
Van valami olyan függvény ami, össze tudja rántani az értékeket anélkül, hogy a többit összekavarná?
Részletet iderakok hogy jobban érthető legyen:
2017.01.07 12:00 0,000 2017.01.07 12:00 4,656
2017.01.07 12:05 0,000 2017.01.07 12:05 4,740
2017.01.07 12:10 0,000 2017.01.07 12:10 4,752
2017.01.07 12:15 0,000 2017.01.07 12:15 4,824
2017.01.07 12:20 0,000 2017.01.07 12:20 4,932
2017.01.07 12:25 0,000 2017.01.07 12:25 4,956
2017.01.07 12:30 0,000 2017.01.07 12:30 4,032
2017.01.07 12:35 3,780 2017.01.07 12:40 4,248
2017.01.07 12:40 0,000 2017.01.07 12:45 4,632
2017.01.07 12:45 0,000 2017.01.07 12:50 4,620
2017.01.07 12:50 0,000 2017.01.07 12:55 4,452
2017.01.07 12:55 0,000 2017.01.07 13:00 4,656
2017.01.07 13:00 0,000
Az első oszlop, amiben a sok nulla van oda kéne beilleszteni az adatokat, csak problémába ütköztem mert bár nem a legjobb részletet másoltam ki de látszik hogy van a nullák között érték is és eddig akárhogyan próbáltam bemásolni az adatokat eltolódott az egész mert arra a helyre is bemásolt valamit ahol eddig is volt érték a példa esetén 12:35-re bemásolta 12:40-es értéket és így már eltolódott az egész.
És az új adatokból meg nem is minden napra van érték 7.-e után 20.-án van újra értékem és azt is folytatólagosan másolta be 8.-ára és így tovább.
Tehát valaki tudna segíteni abban, hogy ha pontosan egyezik a két dátum akkor vegye az új értéket, és alkalmazni lehessen egy teljes oszlopra mert egyesével beírogatni a függvényt kb 30 ezer alkalommal nem bírnám.
de ez is csak akkor műxik, ha a szövegekben nem fordulhat elő # és | (AltGr+w) karakter. Ha ezek előfordulhatnak, akkor mást kell választani helyettük.
Az a baj, hogy a TRIM csak a felesleges szóközöket távolítja el, a felesleges + jeleket nem... Ha csak két cellád van kitöltve a hatból, akkor marad a végére csomó felesleges + jeled
Ezt valóban benéztem, nem gondoltam arra a lehetőségre, hogy a szövegekben is lehet szóköz. Ráadásul, ha a szövegben duplaszóköz van, és nem véletlenül, hanem valami jelentéssel, akkor az a jelentés is elromlik.
Szóval ez csak úgy működne, ha összefűzöm a cellatartalmakat + jellel, aztán a szóközöket lecserélem XYZ-re, aztán a + jeleket szóközre, aztán TRIM, aztán a maradék + jeleket cserélem " : "-re, és végül az XYZ-ket vissza szóközre.
Ennél viszont valószínűleg már egyszerűbb a HA() függvények felsorolása... amiből egyébként csak 5 kell.
Bocs, hogy Jimmy helyett válaszolok: Már hogy ne működne. Csak nem az első zárójelpáron belül vannak a cserélendők (TRIM függvény), hanem az utolsó zárójel előtti " " a mit?, és a " : " a Mire? (Helyette függvény). Cseréld le a TRIM függvényben a szóközöket bármire, mondjuk + jelre, majd a HELYETTE függvényben is a szóközt ugyanerre, és működni fog.
C-H oszlopokban idonkent vannak rovid szoveges megjegyzesek, ezeket kellene soronkent egyetlen cellaba osszevonni, de ugy, hogy kozottuk " : " harom karakteres elvalaszto legyen.
Azzal akadok el, hogyan kell megmondani, hogy az elvalasztokat csak akkor tegye be az eredmeny cellaba, ha van ket cellaban adat, ami koze teszi.
Köszönöm, kipróbáltam. Az első verzió működik ($ jelek elhagyása), majd a formátum másolása. De ez csak egyenként megy, több száz soron nem tudom csak a formázást átmásolni.
A táblázattá alakításnál meg nem találom a képletet, ami az egészre érvényesítené. Ha az érvényességnél megadom, hogy =N:N (vagy akár $N:$N), és a feltételnél meg a J42-t, akkor a táblázat összes adatát kijelöli, ha az elsőnél a feltétel teljesül.
Majd még próbálgatom egyszerűbb példákon, de egyelőre nem látom, mit kellene tennem.
Sziasztok, feltételes formázással van gondom. Egy adatsorra vonatkozóan be tudom állítani azt, hogy az egyik oszlopban lévő adat (mondjuk a név) piros legyen, ha egy másik oszlopban van adat:
De nem tudom, miként lehetne ezt a feltételt az adott oszloppár valamennyi sorára kiterjeszteni.