Office Guru

Dinamikus, automatikusan frissülő hivatkozások WORD dokumentumok között

Ne dolgozzunk feleslegesen, használjuk a nem sűrűn bemutatott lehetőségeket is!

2015. október 04. - Office Guru

Valamelyik korábbi posztban volt szó a WORD Bookmark lehetőségéről egy bizonyos kontextusban (ez volt az az írás), de miután több kérdést is kaptam azóta ezzel a funkcióval kapcsolatban, a mai posztban a Bookmark illetve a hivatkozások további felhasználási módjait, hasznosíthatóságának egyéb verzióit fogom taglalni.

Az szerintem senkinek nem okoz gondot, hogy egy dokumentumba linkeket szúrjon be más fájlokhoz, de mi van, ha nem csak szimplán a másik doksit akarjuk megnyitni, hanem annak mérete, bonyolultsága miatt szeretnénk, ha a linket követő személy pontosan az általunk kiemelt szövegrészhez jutna, amit egyértelműen be is tudna azonosítani?

Tehát ha azt szeretnénk, ha egy fő dokumentumunkban szereplő linkre kattintva a példán szereplő mondathoz érkezzünk meg annak kiemelt láthatóságával, akkor van szükségünk a Bookmark használatára. Elsőként jelöljük ki szövegrészünket, amelyre akarjuk, hogy linkünk mutasson, majd a Ribbon Insert füle alatt található Links szekcióban található Bookmark gombra kell kattintanunk és neved adnunk ennek a könyvjelzőnek:

140.jpg

141.jpgHa ez megvan, akkor menjünk vissza az eredeti, fő dokumentumunkhoz és jelöljük ki azt a szövegrészt, bekezdést, mondatot, amelyről ugrani akarunk a fentebb már beazonosított dokumentum megfelelő szövegrészére, majd az Insert fül alatti Links szekcióból hívjuk meg a Hyperlink funkciót:

142.jpg

143.jpgItt az Existing File or Web Page menüre kattintva keressük be a fájlt, amire hivatkozni akarunk, de még mielőtt rákattintánk az okéra és létrehoznánk egy sima linket, a jobb oldalt található Bookmark menüre kattintsunk és válasszuk ki azt a Bookmarkot, amit az előbb hoztunk létre. Ezután már mehet az OK és el is készült a Bookmarkunkra mutató link, amelyre ha kattintunk, akkor az eredetileg kijelölt és megjelölt szövegrészhez fogunk jutni!

144.jpg

145.jpgA másik, amit a hivatkozások kapcsán szerettem volna leírni, az egyben meg is válaszolja több Olvasó kérdését, azaz hogy lehet dinamikusan frissülő hivatkozást készíteni egyik dokumentumunkban a másik dokumentumunkra mutatva.

Adott tehát a szövegünk, fájlunk, amit meg akarunk majd hivatkozni: 

146.jpgEmellett van a másik fájlunk, amelybe be akarjuk illeszteni ezt a hivatkozást:

147.jpgItt kattintsunk a Ribbonunk Insert fülének Text szekciójában található Quick Parts funkcióra, azon belül pedig hívjuk meg a Field menüt:

148.jpgKövetkező lépésként IncludeText Fieldet válassszuk ki és Field Properties szekcióban az URL alá vigyük fel másik dokumentumunk linkjét és szúrjuk be.149.jpg Valahol itt tartunk most, ott van már szépen a másik dokumentumunk szövegrésze/hivatkozása:

150.jpgInnentől kezdve pedig már meg is van a kapcsolat a két doksi között, azaz ha az eredetiben módosítjuk a szövegünket:

152.jpgAkkor a másik doksiban csak F9-et kell nyomnunk és frissülnek is mezőink!

153.jpg

Listák szűrése, sorba rendezése alfanumerikus karakterek esetén

Gyors és apró megoldás, de jó eltenni a stresszesebb napokra

Olvasói megkeresés gondolkodtatott el egy problémán Excelben, amely önmagában roppant egyszerű és elvárt feladatnak tűnik a programmal szemben, mégis ha nem figyelünk, könnyen megviccelhet minket. Ráadásul ez egy olyan feladat, amely elég sokszor szembejöhet velünk a mindennapokban, hiszen nem egy-két korábbi posztban feltételezett különleges esetről van szó.

Adott a kérdés és ennek kétfajta értelmezése: ha van egy listánk, amelyben alfanumerikus adatokat tárolunk, mondjuk egy-egy betű után egy szám vagy éppen a számok után egy-egy (vagy akár több) betű, akkor azt hogy tudjuk nagyon szépen sorrendbe tenni úgy, hogy az Excel a betűket ne vegye figyelembe, tehát 001 után ne 002, hanem 001c, 001db és stb. jöjjön? Íme a két listánk:

130.jpgA megoldásaim inkább csak ötletek és tanácsok, biztos, hogy van jobb és hatékonyabb út - ahogy általában Excelben mindig van egy jobb és hatékonyabb megoldás, de remélhetőleg ez segít valakinek kiindulópontként megtalálni azt a választ, amelyet keres.

Az első példánál kapásból én egyértelműen egy segédoszlopot használnék, amellyel levágnám a celláimban található adatokból a szöveges részt, a betűket, mondjuk egy MID függvény segítségével valahogy így:

131.jpgEzután a két oszlopot kijelölve szúrjunk egy sorbarendezést a segédoszlopunkra alapozva:

132.jpgA felugró kis figyelmeztetésnél most maradjunk az első verziónál, azaz számként rendezzük sorba a teljes listánkat:

133.jpgHa ez megvan, szimplán rejtsük el a segédoszlopot és lám, kész az eredmény. Nem egy kvantumfizika a  megoldás, de a célt elértük és ez a lényeg.134.jpgA másik fentebbi értelmezés és példalista megoldása sem sokkal nagyobb ördöngősség, jelöljük ki oszlopunkat vagy akár az egész sheetet, ha sok oszlopos listáról beszélünk, majd kattintsunk Ribbonunk Home fülén az Editing szekcióban a Sort&Filter gombra és szúrjunk be egy sorbarendezést jelen esetben a Típus oszlopra, majd kattintsunk okét.

135.jpgA felugró kis figyelmeztető ablakban az előző értelmezéshez képest most a második opciót kell választanunk azaz számként és számként tárolt szövegeket külön rendezzen sorba:

136.jpgÉs ennyi volt, kész is a megoldás.

137.jpg

Gépesítsük WORD tevékenységünket, de ne csak makrókban gondolkodjunk

A WORD is szép lehetőségeket rejt magában automatizációra

A közelmúltban két kedves Olvasóm is hasonló kérdést tett fel, ezért valószínűleg többek számára is hasznos lehet a következő WORD-tanács, amely arra vezet rá minket, hogy automatizáció esetén nem csak makróban érdemes gondolkodni, rengeteg más módon is automatizálhatjuk munkánk bizonyos részét - gondoljunk csak Excelben egy mesterfájlra, amelyben előre elkészített függvényekkel, grafikonokkal táblázatokkal gyorsíthatjuk a tevékenységünket vagy WORD-ben egy sablonlevélre.

A feltett kérdés is pont ez utóbbihoz, egy sablonlevélhez kapcsolódik, hiszen ha ugyanaz az érték többször ismétlődik szövegünkben, de a tartalom nem változik, akkor értelemszerűen jelentős időt spórolhatnánk azzal, ha ezeket az értékeket nem kellene külön-külön átírnunk vagy lecserélnünk, hanem automatikusan frissülnének. A lenti példán látható is, hogy nagyjából mi a célunk, NÉV és HELYSÉG értékeink változzanak annak megfelelően, ahogy módosítjuk az alapértékünket:

120.jpgNos, elképzelhető, hogy az én megoldásaim nem a legjobbak, nem a legegyszerűbbek (szívesen látok ötleteket) és legszebbek, de megoldások, úgyhogy kiindulópontként mindenképpen hasznos lehet bárkinek, aki egy ilyen kérdésre keresi a választ.

Az első javaslatom a Ribbon Insert füle alól a Text szekcióban elérhető Quick Parts, azon belül is a Document Property alatt előre definiált property valamelyike, mondjuk az Author vagy a Company, amit szépen beszúrva a megfelelő helyekre a dokumentumunkban, összekapcsolhatjuk ezeket az értékeket, azaz ha egy helyen átírjuk, minden helyen frissülni fog.

Valahogy így:

121.jpg

122.jpgIlyen Propertyt mi magunk is tudunk készíteni (erről később majd még ejtek szót egy másik posztban), de miután a célunkat el tudjuk érni az előre definiáltak segítségével is, nem létfontosságú, hogy customizáljunk.

A másik hasonló logikát követő megoldáshoz szükségünk lesz a Ribbonunk Developer fülére (remélhetőleg ennek hozzáadása senkinek nem okoz problémát), ahonnan a Control szekcióból Design Mode-ban szúrjunk szövegboxokat azokra a helyekre, ahol automatikus frissülést szeretnénk, nagyjából ezen a módon:

124.jpgKövetkező lépésként azt a boxot, amelybe majd be fogjuk írni a később máshol is frissülő információt, állítsuk be Bookmarkként valami olyan névvel, amiből tudni is fogjuk, hogy ez milyen értéket tartalmazó box.

125.jpg

126.jpgEzután az összes kapcsolódó boxhoz látogassunk el és egyesével állítsunk be hozzájuk Cross-Referencet, amit úgy tudunk megtenni, hogy a boxunkat kijelölve a Ribbonunk Insert fülén található Links szekcióban a Cross-reference gombra kattintunk majd értelemszerűen kitöltjük a felugró ablakot:

128.jpgInnentől kezdve már csak frissítenünk kell a dokumentumunkat a Bookmarknak megjelölt cellában, majd egy mentés után vagy egy nyomtatási előnézetben tökéletesen látjuk, amit szerettünk volna - azaz az összes további boxban szépen frissült a tartalom.127.jpg

Excel-bővítés saját makrók segítségével - a határ a csillagos ég

Fejlesztgessünk, tesztelgessünk, tanuljunk!

A VBA az a szint az Excelben, amit sokan nem szeretnek vagy akarnak megugrani, pedig alapfelhasználás esetén (gondoljunk itt csak ismételt lépések végrehajtására vagy átalakítások automatizálására) nem annyira földtől elrugaszkodott dologról beszélünk - persze kell hozzá egyfajta kíváncsiság, tapasztalat, ismeret, de még a sokak által nevetségesnek tartott és lenézett Record Macro opció is tökéletes kiindulópont lehet egy aprócska makró megírásához. Hiszen ennek köszönhetően még meg sem kell tanulnunk utasítások és parancsok tömegeit, ha valamit nem tudunk, egyszerűen elindítjuk a felvételt, megcsináljuk Excelben, majd utána a Visual Basicben megnézzük, hogy a program milyen lépések felhasználásával hajtotta a lépéseinket végre - aztán ezt már csak dinamikussá kell tennünk és kicsit megszabályoznunk, formára szabnunk. (egyébként ezt a módszert elég sok, ilyen-olyan makrót író emberkétől láttam már).

Na de eme rövid kitérő után térjünk is rá a mai témára, ami nem más, mint egy apró makróból egy saját Add-In készítése, ami jelentősen felgyorsíthatja a munkánkat és segíthet ismétlődő, egyszerű lépések végrehajtásának automatizációjában. Most egy olyan makróból fogunk Add-Int készíteni, amelyik az általunk kijelölt cellák fontját fogja Boldra állítani, majd ha ezzel végzett, meg is üzeni nekünk, hogy kész.

Első lépésként tehát szépen menjünk is be a VBA felületre Exelből, a Ribbon Developer tabja alatt találjuk a Visual Basic menüpontot, amelynek lenyomása után a Microsoft Visual Basic felületén leszünk. Első lépésként a ThisWorkbook objektumba (ez a jelenlegi workbook, amiben ügyködünk) szúrjuk be egy nagyon egyszerű kódot, ami szimplán annyit fog csak tenni, hogy SHIFT+CONTROL+8 kombináció lenyomása esetén meghívja a Boldol_es_üzen modult. A kombinációkhoz annyi megjegyzés, hogy Application.OnKey utasításnál a Shiftet +, a Controlt ^, az Altot % jel megadásával használhatjuk.

101_1.jpgEzután következik az a lépés, amelyben létrehozzuk a Boldol_es_üzen modult, amelyben a Selection.Font.Bold = True utasítással szépen boldoljuk kijelölt tartományunkat - tökéletesen látszik a felépítésből is, hogy a kijelölésünk fontját állítjuk Boldra, értelemszerűen False utasítással megfordítjuk a sztorit. Ezután pedig már csak a szórakozás kedvéért üzenjük ki szépen a felhasználónak MsgBox felhasználásával, hogy boldoltuk a kijelölt városok neveit.

114.jpgEz aztán tényleg egyszerű volt eddig, nem hiszem, hogy bárki ne tudta volna követni, ahogy valószínűleg a második rész sem lesz túl nehéz, amikor az előbbi kis makrónkból készítünk egy egyszerű kis Excel Add-Int. Első lépésként ehhez aktív workbookunkat mentsük szépen el, Excel Add-In típusként.

115.jpgAztán jöhet az Add-In hozzáadása, méghozzá az Excel Options alatt található Add-Ins menüből, ahol alul az Excel Add-Ins Manage menüpont alatt keressük be saját kis kreálmányunkat a képeken látható módon, kapcsoljuk be és máris kész az SHIFT+CONTROL+8 billentyűkombinációval működtethető boldolás.

116.jpg

117.jpg

118.jpg

Egy-két plusz kattintás és máris jóval szebb diagrammal prezentálhatjuk eredményeinket!

Dashboard-tuning - 2. rész

Folytatva az előző dashboardos posztban elkezdett csinosítgatást, a rendkívül egyszerű és mindenkinek saját ízlése szerint formára szabható óra után folytassuk egy szintén egyszerű, ám szerintem jelentős hozzáadott értékkel bíró diagramos finomsággal, amellyel bármely általunk készített formára rávarázsolhatjuk elemzésünket, chartunkat.

Adott a lenti táblázatos példa, amelyen keresztül most végig fogom vinni a megoldásunkat, amely így önmagában nem tűnik túlságosan extra dolognak, de ha szépen egy egész dashboardot építünk fel köréje hasonló színekkel, formákkal és el is tüntetjük a rácsokat, máris más lesz majd az eredmény.

101.jpg

102.jpgSzóval első lépésként csináljunk egy szép diagramot a táblázatunkból, itt mindenki szabadon formázgasson, színezzen, javítgasson, de a lényeg, hogy jussunk el egy végeredményhez, ami nálam most ez lett:

103.jpgEzután a diagram mellett ugyanezen a sheeten csináljunk egy formát, az Insert Ribbonfül Shapes menüje alatt, majd formázzuk meg szépen, mondjuk távolítsuk el a körvonalat, tegyünk rá árnyékot, alakítsuk 3 dimenzióssá, ahogy nekünk tetszik, az Excel elég sok lehetőséget kínál fel - jobb egérgombos kattintás után a Format Shape menü alatt válogathatunk. Ha végeztünk a formázással, akkor valahol itt tarthatunk:

104.jpg

105.jpg

106.jpg

107.jpgMost tegyük láthatatlanná diagramunk keretét, vonalait ha akarjuk, jobb egérgomb lenyomásával a diagram területén hozzáférhetünk a Format Chart Area lehetőségeihez, itt pedig legalább a kitöltést kapcsoljuk ki (persze célszerű ilyenkor fehér helyett más színűre állítani diagramunk szövegének színét). Ha ez megvan, akkor szépen fogjuk meg és húzzuk rá diagramunkat az előbb kialakított formára, igazítsuk be szépen a helyére, ahogy szeretnénk, majd CTRL gomb nyomvatartása közben kattintsunk a chartra és a formára is, így tehát kijelöljük mind a kettőt.

108.jpg

109.jpg

Következő lépésként jobb egérgomb, Group funkció alkalmazásával csoportosítsuk össze ezt a két elemet, így mostantól már "összeolvadtak", egyként kezelhetőek. Eltüntetjük még a Gridlinest a View Ribbonfül Show/Hide parancssora alatt és done!111.jpgHa dashboardokat készítünk, a fentihez hasonló megoldásokban gondolkodunk, akkor egy dolgot én általában meg szoktam csinálni, mert segít elkerülni a későbbi incidenseket, ez pedig az, hogy lockoljuk be az "összegroupolt" objektumainkat és ezáltal a cellák szélességének módosítása ne érintse őket vagy akár ne is legyenek mozgathatóak. Ezt úgy tudjuk megtenni, hogy jobb gombbal kattintunk az objektumunkon, diagramunkon, majd a Size and Properties menü Properties fülén állítsuk be, hogy mozgatható legyen-e vagy csak a cellák módosítása ne érintse.

112.jpg

9 érdekes és hasznos WORD tanács, hogy spóroljunk egy kis időt magunknak

Van közöttük fontos és kevésbé fontos is, a lényeg a tanulás

A billentyűkombinációk mindig, mindenhol igen hasznosak tudnak lenni egy Office-felhasználó számára és bár itt alapvetően Excel esetén merül fel ezek gyakorlati haszna, a WORD felhasználóinak többsége (és köztük én is) gyakran elmerülök régi tanórákról berögzült felhasználási módszerek ingoványos talaján, pedig ez az Office-modul is tud olyan trükköket, amivel a szövegszerkesztés felgyorsítható, hatékonyabbá tehető.

A következőkben tehát afféle frissítő érdekességként következzen néhány hasznos WORD billentyűkombináció plusz néhány "nice to have" lehetőség, de ha a kedves látogatók között valakinek van még bevált hasznos trükkje, bátran kommenteljen, a hatékonyság növelésében sosem lehet megpihenni.

1. CTRL+BACKSPACE: ha egy szó közepén állunk, akkor az első részt törli teljes egészében, ha két szó között, akkor az első szót.

szazot.jpg

szazhat.jpg2. Három kötőjel majd egy ENTER: ezt már rég beépítettem a mindennapi használatomba, hiszen hasznos kis apróság, ezzel egy vízszintes vonalat tudunk lapunkra varázsolni.

szazhet.jpg

szaznyolc.jpg3. Kattintások varázslata avagy három kattintás bárhol egy bekezdésben kijelöli az egész bekezdést, CTRL használatával egy mondatot tudunk kijelölni, ha a CTRL lenyomása mellett belekattintunk.

szazkilenc.jpg4. Pluszjel és ENTER: igen gyorsan készíthetünk egy táblázatot WORD dokumentumunkban, ha beírunk egy pluszjelet, nyomunk egy TAB-ot, majd ezt annyiszor ismételjük, amekkora táblázatra szükségünk van - ENTER lenyomásával pedig el is készül a tábla!

110.jpg

szaztizenegy.jpg5. Ha nagy szövegállományban dolgozunk, ahol fontosak korábbi részek (vagy épp regényünket írjuk), akkor a képernyőnézet jobb sarkában található kis csúszka lehúzásával két képernyőt hozhatunk létre WORD-ön belül és mindkettő képernyőn ugyanazt a dokumentumot fogjuk látni.

szaztizenketto.jpg

szaztizenharom.jpg6. Kétlem, hogy ezt bárki igen gyakran használná, de a lehetőségről érdemes tudni, hiszen a Parancssorba begépelve a Winword.exe /mFile1 parancsot, a WORD az utolsó mentett dokumentummal fog megnyílni alapértelmezetten. Ez programon belülről is elérhető, de ha a fenti parancsból készítünk egy Shortcutot, akkor legalább egy kattintást megspórolhatunk...

szaztizennegy.jpg7. Ennél azért bőven hasznosíthatóbb és gyakorlatiasabb a "szabad kijelölés" lehetősége, amelyet ALT és bal egér gomb lenyomásával hozhatunk elő, majd az így kijelölt szövegünket ugyanúgy kezelhetjük, mint a normál kijelölés esetén.

szaztizenot.jpg8. Ha valamilyen okból kifolyólag csak úgy bezárjuk WORD dokumentumunkat és a következő megnyitásnál szeretnénk ugyanonnan folytatni, akkor a következő alkalomnál nyomjuk meg a SHIFT+F5 kombinációt és már ott is lesz a kurzorunk, ahol abbahagytuk.

9. És a legjobb, hogy saját magunk is hozhatunk létre billentyűkombinációt. Ehhez nem kell mást tennünk, mint eljutni a kívánt, billentyűkombinációvá alakítandó funkcióhoz (jelen esetünkben CTRL+D lenyomásával a Font képernyőre, ahol mondjuk én az AllCaps funkciót szeretném billentyűkombinációra tenni), majd ott CTRL+ALT+Pluszjel lenyomása után kattintsunk az AllCapsre, majd az előugró Customize Keyboard ablakon adjuk meg, hogy milyen billentyűkombinációval szeretnénk ezt előhívni, aztán OK és kész is vagyunk.

szaztizenhat.jpg

szaztizenhet.jpg

Hogyan tuningoljuk fel egyszerű, néhány diagramot tartalmazó munkalapunkat?

Dashboard-tuning - 1. rész

Az elmúlt időszakban ha Excel került szóba, akkor szinte kizárólag formulákkal, tömbökkel és képletekkel foglalkoztunk, pedig ennek az Office-modulnak a felhasználási területeit illetően ez a rész csak egy apró szelet, jóval több, jóval másabb lehetőségek is rejlenek a programban, ilyenek például az ún. dashboardok (jó, meg lehet kövezni az angol miatt, de valószínűleg egy ősrégi informatikaóra óta nem használtam magyar nyelvű Excelt), amelyeken projektjeink, értékesítésünk, készletünk stb. alakulását tudjuk nyomon követni dinamikus formában és ezt a legkülönlegesebb és leginkább figyelemfelkeltő formában prezentálni is tudjuk - szerintem mindenki látott már olyan dashboardot, amitől elakadt a lélegzete.

Itt most gondolhatunk komplexebb, Access adatbázissal összekötött dinamikus grafikonokra és ábrákra, de akár gondolhatunk egy egyszerű kis táblázatra is, amelyen feladatunk, projektünk, üzletünk főbb mérőszámait mutatjuk ki és követjük nyomon - hiszen általában ez az egyik legfontosabb célja az ilyen dashboardoknak, hogy lehetővé tegyük vele a minél érthetőbb és kontrollálhatóbb rálátást folyamatainkra. Ebben a posztban nem tervezek az alapoktól felépíteni egy ilyen dashboardot, inkább egy olyan ötletet akarok csak bemutatni kezdésként, amellyel feldobhatjuk a legegyszerűbb diagramos Exceljeinket is és talán ezzel kedvet kapunk ahhoz, hogy elmélyüljünk majd ezekben a témákban plusz ne elégedjünk meg azzal, amit egy egyszerű kördiagram összeállításával elérhetünk.

Az első ilyen apró ötlet, amivel színesíthetjük kis prezentációnkat, bemutatónkat, fájlunkat, az egy egyszerű, időt és dátumot dinamikusan tároló lapka, amilyen például látszik is ezen a képen:

kilencvenharom.jpgOké, lehetne ütősebb is a design, de szerintem itt most nem ez a lényeg, hiszen a színeket bárki-bárhogy kombinálhatja - inkább fókuszáljunk a felépítésre néhány szóban. Első lépésként alakítsuk ki szépen azt a formát, amiben majd látni szeretnénk a dátumot és az időt, ehhez pedig az Insert fül Shapes menüjéből válasszunk egy jó kis alakzatot.kilencvennegy.jpg Ha kialakítottuk a megfelelő méretet, akkor jobb gomb a formán, majd Format Shapes menü alatt szépen formázzuk meg kedvünk szerint, a jobb hatás elérése érdekében célszerű 3 dimenziósra szabnunk, a kitöltés legyen átmenetes (Gradient Fill), illetve egy kis árnyékkal is bolondítsuk meg. Ezeket a lépéseket tesszük meg, hogy végül eljussunk a harmadik képen látható eredményhez:

kilencvenot.jpgkilencvenhat.jpgkilencvenhet.jpgMost dobjuk rá szépen a dátumunkat és az óránkat, amely majd szépen dinamikusan frissülni is fog - ehhez elsőként két szabad cellánkba (amelyeket aztán később elrejthetünk, átméretezhetünk, eltüntethetünk szem elől valamilyen módon) szúrjunk be egy =NOW() majd egy =TODAY() függvényt. Most játszhatnánk persze függvények átalakításával és egybeépítésével, de a lényeg, hogy a NOW formulával időt és dátumot kaphatunk meg egy adott pillanatra, a TODAY formulával pedig a mai dátumot kapjuk vissza.

kilencvennyolc.jpgMivel a TODAY-ből érdekelne minket a nap neve is, illetve a NOW függvényből csak az órára van szükségünk, mindkét esetben érdemes megformázni a cellákat a Format Cells menüpont alatt, hogy Custom formátum beállításával egyikhez hozzáadjuk a nap nevét, a másikból pedig kitöröljük az időn kívüli részeket, hogy elérjünk egy ilyen eredményt:

kilencvenkilenc.jpg

szaz.jpgHa ez megvan, akkor már csak rá kell építenünk a korábban létrehozott formánkra a két időpontot, amit szintén az Insert menüből elérhető Shapes segítségével tudunk megtenni.

Elsőként hozzunk létre egy méretében a formánkhoz passzoló kis téglalapot, majd abban hivatkozzuk meg a NOW() függvényünket tartalmazó cellát, hogy kapjunk valami ilyesmit:

szazegy.jpgFormázzuk meg az időpontunkat, amilyen fontra, méretre csak szeretnénk, majd az előbb már megismert Jobb gomb - Format Shapes menü alatt tüntessük el a kitöltést és a körvonalakat, végül az egészet húzzuk rá a formánkra. Errefelé járunk most:

szazketto.jpgHa ez megvan, akkor csak meg kell ismételnünk az egész műveletet a TODAY() függvényt tartalmazó cellánkra is és máris elértük a poszt elején mutatott eredményt, ami hangsúlyozom nem annyira gyönyörű és dizájnos, de a logika és a módszer ugyanaz, szóval hajrá, próbálkozzatok!

És a dashboardoknál ne felejtsük, hogy a vonalak nem annyira mutatósak, azokat igencsak célszerű kikapcsolni, hiszen ez valahogy jobban néz ki, mintha lennénk rácsok is:szazharom.jpgEzt pedig a View fülön található Show/Hide parancsszekcióban lévő Gridlines ki-bekapcsolásával tudjuk elérni.

szaznegy_1.jpg

Ahány Excel-kérdés, annyi értelmezés és annyi megoldás - íme egy tökéletes példa megint

Duplikáció számít? Szövegre is nézzük? Egyező méretű táblák? És kérdések tömege így tovább

A következő Excel-probléma már önmagában kérdéseket vet fel az értelmezését tekintve, de én amondó vagyok, hogy ha egyfajta megoldás alaplogikájával tisztában van valaki, akkor onnantól kezdve már rá tudja húzni bármelyik másik értelmezésre is a saját megoldását (amiből persze Excel lévén létezik jópár különböző).

A kérdés tehát roppant egyszerű, mondjuk meg, hogy két oszlopunkban/listánkban hány darab egyező érték van (de lehet több lista is), akár ki is színezhetjük Conditional Formattinggal az érintett cellákat, de a lényeg nekünk most csak egy darabszám. Itt lennének az értelmezésbeli módosulások, hiszen gondolhatunk szöveget tartalmazó cellákra, gondolhatunk arra, hogy a két listánk nem megegyező méretű, egyáltalán ha az egyik listában egy érték sokszor szerepel akkor azt egy egyezésnek vagy többnek számoljuk-e és így tovább - a mostani példamegoldás szövegre, nem azonos méretű listák esetén is működik és nem feltételez duplikációkat.

Ahogy látszik a példaképen, az első listában és a második listában 2 közös értékünk van, egy PAKS és egy VIDEOTON érték (nincs semmi logika a csapatok felsorolásában, annyira nem vagyok oda a fociért), mi lenne a legegyszerűbb módszer arra, hogy ezt a számot visszakapjuk formulával?

kilencven.jpgMivel tömbökkel dolgozunk, előzetesen sanszos, hogy tömbképletre lesz majd szükségünk, ahogy az is biztos, hogy valahol be kell majd építenünk egy IF-et legalább (itt akár lehet COUNTIF vagy SUMIF is a képben, ez attól függ, milyen logika mellett indultunk el).

Elsőként fogjunk egy MATCH függvényt, ami az első paramétereként megadott értéke/tartományt keresi a második paramétereként megadott tartományban - és kérjünk pontos egyezést harmadik paraméterként, valahogy így:

=MATCH(D3:D15,E3:E15,0)

Ennek értelmezése szerintem senkinek nem okozhat problémát, úgyhogy száguldjunk is tovább egy olyan függvénnyel, amelyről itt még nem esett szó, ez pedig az ISNA, ami szimplán annyit tesz, amit a neve is jelent, azaz megvizsgálja, hogy egy cellában/tartományban szereplő érték N/A-e és ennek alapján ad TRUE Vagy FALSE értéket vissza. Ezt futtassuk rá az előbbi MATCH kombinációnkra:

=ISNA(MATCH(D3:D15,E3:E15,0))

Mit is csinál ez? Megnézi, hogy a MATCH által létrehozott keresésnél van-e valahol N/A érték és ez alapján TRUE és FALSE értékeket fog visszadobálni. De miért is volt erre szükség? Azért, mert ezeket a TRUE és FALSE értékeket át tudjuk alakítani 1 vagy 0 értékekre, ami aztán könnyen szummázható és meg is kapjuk szépen az eredményünket. De azért ne rohanjunk előre ennyire, hiszen most kell akkor egy IF függvény, hogy átalakítsuk az ISNA formula TRUE-FALSE válaszait 1-re és 0-ra:

=IF(ISNA(MATCH(D3:D15,E3:E15,0)),0,1)

Ezután pedig ott a tömbünk, tele egyesekkel és nullákkal, egyszerűen adjuk össze tömbképletként (CTRL+SHIFT+ENTER) és that's all!

=SUM(IF(ISNA(MATCH(D3:D15,E3:E15,0)),0,1))

Példánkon ez pedig így néz majd ki:

kilencvenegy.jpg
De ez a probléma tipikusan megint az, amit iszonyú sokféleképpen meg lehet oldani, az én fejemben a fentin kívül még ott van egy Conditional Formattingos megoldás, egy segédcellás megoldás, de például bevethetünk egy COUNTIF-SUMPRODUCT tömbképletet is, szóval hajrá-hajrá, jöhetnek az egyedi megoldások, ötletek, kritikák!

A végére pedig jöjjön egy hasznos tipp, ami azoknak lehet segítség, akik nem angol nyelven használnak Excelt, mégis szeretnék egyeztetni megoldásukat az angollal. Van elég sok weboldal, ahol megtalálhatjuk az angol függvénynevek magyar megfelelőjét, de egy gyors és hatékony, plusz VBA-barát megoldás az ?activecell.Formula parancs, amit úgy tudunk legegyszerűbben lefuttatni, hogy ráállunk a függvényt tartalmazó cellánkra, ALT+F11-el előhívjuk a VBA Editort, majd CTRL+G-vel az Immediate Windowt, majd ott bemásolva a parancsot ENTERT nyomunk és íme, láss csodát!

kilencvenketto.jpg

Néhány tanács a sosem elég hatékony levélkezeléshez Outlookban

Mindenkinek megvannak a kis bevált módszerei, de talán innen meríthet még ötletet

A Microsoft Outlook pontosan az a modul az Office-csomagban, amelyben olyan túl sok igazán elgondolkodtató rejtély és titok nem rejtőzik, a főbb beállításokon elég gyorsan végig lehet futni, ezért főként csak a hatékony használat az, amiben javulni lehet - hogy kerüljük el, hogy kaotikus helyzet legyen a postafiókunkban vagy átfussunk egy-egy fontos levélen és így tovább.

Ennek megfelelően ebben a posztban most nem egy Outlook-problémáról fogok írni, hanem inkább néhány tanácsot sorolok fel (a képeket Outlook 2007-ből készítettem, de rövidesen majd hasonló tanácsokat rántok elő a 2013-as verzióból is), amelyek mindegyike olyan, ami igazából közismert, mégsem terjedt el annyira a használata, pedig jelentős mértékben hozzájárulhat levelezésünk, levelezőrendszerünk hatékonyságának növeléséhez.

Az első ilyen egy igazán fontos és hasznos lehetőség - az e-mail érkezéséről szóló figyelmeztetés kikapcsolása, hiszen roppantul zavaró, ha elmélyült munkánk közben újabb és újabb levelek zavarják koncentrációnkat. Ahogy a képeken is látszik, Tools - Options - E-mail Options - Advanced E-mail Options útvonalon jutunk el ezekhez a beállításokhoz, ahol egyszerűen ki kell kapcsolnunk a New Mail Desktop Alertet. És ez még akkor is jól jöhet, ha sokszor kell saját gépünkről prezentálnunk közönségnek és el akarjuk kerülni, hogy barátunk "Hú, de lealjasodtunk tegnap este" üzenete mindenki számára látható legyen (ennek elkerülésére mondjuk más módszerek is lehetnek, ismerek olyat, akinél ez konkrétan az Outlook kilövése).

1.bmp

2_tools_options.bmpHa sok e-mailt írunk csatolmányokkal, akkor jó ha tudjuk, hogy nem kell külön levelet kezdenünk és úgy beszúrnunk a fájlunkat, elég ha egyszerűen CTLR+C-vel a vágólapunkra dobjuk a szükséges fájlokat és megpróbáljuk beilleszteni Inboxunk közepén - az Outlook tökéletesen felismerve a helyzetet, új levelet kezd, amelynek csatolmánya a beilleszteni kívánt fájl lesz.

3_drag_and_drop.bmpSzintén roppant egyszerű megoldás, ami segíthet átlátni a káoszt, az a lehetőség, hogy beérkezett e-mailjeink Subjectjét/Tárgyát módosítani tudjuk, ha a megnyitott e-mailben simán felülírjuk a korábbi szöveget. Ez igazán hosszú levélláncok esetén jöhet kapóra, ahol az eredeti tárgy alapján már rég fogalmunk sincs arról, hol is tartunk az adott ügyben, tehát mindig frissíthetjük az aktuális állással is akár a levélláncot.

4.bmpElég sokan használnak különféle Sticky Notes programokat vagy megfogható Post-iteket jegyzetelésre, de jó ha tudjuk, hogy CTLR+SHIFT+N lenyomásával Outlookon belül is készíthetünk ilyen kis papírlapokat, amelyek ráadásul még testre is szabhatóak elég könnyen.

ctrl_shift_n.jpgMai utolsó tanácsom valószínűleg elég kevés ember számára jöhet jól, de akik közösen dolgoznak projekteken, problémákon, ők elképzelhető, hogy hasznosnak tartják a lehetőséget, hogy delegálhatjuk postafiókunkat valaki másnak, aki aztán e-maileket válaszolhat meg a nevünkben, meetingeket szervezhet és így tovább. Simán Options - Delegates menü alól érhetjük el, de ez tényleg csak csapatban dolgozók számára lehet igazán hasznos, hiszen rengeteg olyan pozíció van, ahol ez bőven nem megtehető lépés.

6_delegate.bmpEz most csak néhány ötlet volt a múltamból, szívesen látom mások javaslatait, saját bevált praktikáit, hiszen a hatékonyság növelésének sosem lehet vége, szóval biztos vagyok benne, hogy ahogy én most e-maileket kezelek, az mások számára akár lassúnak, szervezetlennek is tűnhet.

Dinamikusan változó eredmények - értékkeresős automatizáció Excelben

Avagy további játszadozások a tömbképletek világában

A napokban kérdezte tőlem valaki ezt a szokás szerint egyszerűnek tűnő kérdést, amelyre persze azonnal meg is volt a kézenfekvő megoldás és a válasz, de utána elgondolkodtam, hogy egy ilyen felvetés megoldható lenne-e formulával és ahogy mindjárt ki fog derülni, a válasz egyértelműen igen.

Szóval a kérdés szerint van egy táblázatunk, amely számokat, szövegeket és üres mezőket is tartalmaz, hogy találhatjuk meg benne mondjuk például az első vagy az utolsó olyan mezőt, amely tartalmaz értéket?

Nem kérdés, hogy ilyen esetekben nem a függvény a legjobb/egyetlen megoldás, egyrészt nem túl gyors és nem is annyira egyszerű, ám ha állandóan ilyen problémával küzdünk és el akarjuk kerülni a folytonos manuális munkát, akkor akár egy formula is segíthet nekünk - persze továbbra is egyszerűen gondolhatunk az üres cellák eltávolítására vagy VLOOKUP-ra is, mégis ha egy állandó, dinamikus megoldásban gondolkodunk, akkor tömbképlethez kell nyúlnunk.

Maguk a felhasznált függvények egyébként nem túlságosan ismeretlenek vagy komplikáltak (javaslom is, hogy a megoldás elolvasása előtt próbálkozzon mindenki maga a megfejtéssel), ISBLANK-re, INDEX-re és MATCH-re van szükségünk.

Első lépésként egy ISBLANK függvényt vetünk be, ami nagyon egyszerűen a paramétereként megadott cellát vagy tömböt vizsgálja meg és TRUE vagy FALSE értéket ad vissza nekünk, ergó az =ISBLANK(A2) megmondja, hogy A2 üres vagy nem üres cella-e.

Mivel most egy tartományról beszélünk, ezért tömbképletünk első része a példában a következő lesz:

=ISBLANK(A2:A14)

nyolcvanharom.jpgMiután tehát már tudjuk, hogy hol vannak üres és nem üres celláink, meg kell keresnünk az első FALSE értéket, hiszen itt fogunk először értéket találni, ezt pedig a már megismert MATCH függvénnyel tehetjük meg. A MATCH az első paramétereként megadott értéket keresi meg a második paramétereként megadott tartományban és egyezés esetén visszaadja eme érték pozícióját. Például =MATCH(TRUE,B2:B14,0) megnézi, hogy hányadik cella a B2:B14-ben az a cella, amelyik az első TRUE értéket tartalmazza.

Ergó ebbe kell beleintegrálnunk azt a tömböt, amit az előbbi ISBLANK formulával hoztunk létre:

=MATCH(FALSE,ISBLANK(A2:A14),0)

nyolcvannegy.jpgEz vissza fogja nekünk adni annak a sornak a számát az A2:A14 tartományból, amely elsőként tartalmaz FALSE értéket.

Ahogy a képen látszik, már tudjuk is, hogy jelenlegi listánkban az első nem üres cella az első cella, de ebben a jó az, hogy bárhogy módosíthatjuk listánkat, a függvénykombináció által visszaadott pozíció mindig változik. Fontos, hogy tömbképletekről beszélünk, tehát a CTRL+SHIFT+ENTER létfontosságú.

Ha a pozíció megvan, akkor már csak az értékre van szükségünk, amit egy INDEX függvény segítségével szerezhetünk meg, amely az első paramétereként megadott tartományban adja vissza a második paraméterként megadott sorban szereplő értéket, illetve ha megadjuk harmadik paraméterként az oszlopot is, akkor a metszetben lévő érték jön vissza. Tehát az alábbi

=INDEX(A2:A14,1)

formula az A2:A14 tartomány első sorában szereplő értéket adja eredményül. Innen pedig már gyerekjáték a megoldás, egyszerűen olvasszuk össze ezt a három függvényt:

=INDEX(A2:A14,MATCH(FALSE,ISBLANK(A2:A14),0))

nyolcvanot.jpgCTRL+SHIFT+ENTER lenyomása után pedig máris visszakapjuk a kívánt eredményt. Ha az utolsó olyan mezőt keressük, ami még tartalmaz értéket, akkor kicsit más megközelítésre van szükségünk, de szintén nem földtől elrugaszkodott a megoldás (szintén tömbképlet persze). INDEX függvényt tehát ismerjük fentebből, ismerjük már a MAX függvényt is (a legnagyobb értéket adja vissza egy tartományból) és már korábban volt szó a ROW függvényről is, ez utóbbi a megadott cella sorszámát dobja vissza nekünk, értelemszerűen tartomány esetén a tartomány sorszámait kapjuk.

Ergó megnézzük, hogy A:A oszlopunkban mely cellák tartalmaznak értéket, ehhez hozzávesszük szépen ezen cellák sorszámait a ROW függvénnyel és a sorszámok közül kiválasztjuk a legnagyobbat, majd az INDEX segítségével visszaadjuk a kívánt értéket az A:A tartományból egy CTRL+SHIFT+ENTER kíséretében valahogy így:

=INDEX(A:A,MAX((A:A<>"")*(ROW(A:A))))

nyolcvanhat.jpgDe tudom, hogy erre a kérdésre is rengeteg megoldás létezik, ha valakinek van kedve, ossza meg a saját verzióját - és persze ismételten lássuk be, hogy ez valójában csak játék, mert ezeket a problémákat az esetek legkisebb százalékában oldjuk meg ilyen tömbképletekkel.

süti beállítások módosítása
Mobil