2016. november 8., kedd

Összeg betűvel kiírva és jól elrejtve (1. rész)

Két részes "hogyan csináld" írás első felében belefutunk a feladatba, meg is oldjuk, a csicsa marad a következő részre. A feladat Pagesben jött, de Numbersben vagy Keynote-ban ugyanez a megoldás. És igen, meg lehet oldani másként is, szebben is talán, de én így szeretem. (És sajnálom, de a képeken az angol függvény-nevek láthatók.)


Az írógépes megoldás
Ennél már csak a használata lehet gagyibb: kinyomtatni és kézzel beleírni. Jó, persze van olyan helyzet, de. Mennyivel szebb lenne, ha az okos számítógép a beírt összeghez passzítaná a szöveget. Sőt, magától kiírná szövegesen a számértéket. Nos, ez a feladatunk!


Táblázattal oldom meg
A feladatot táblázattal fogjuk megoldani, most rondán, a második részben pedig szépen. A fenti képen az felső cellában látható az összeg: 732 891 forint. A második cellában azt a képletet látod, ami a harmadik cellában a kívánatos szöveget eredményezi, egyelőre még a szám szöveges kiírása nélkül.
A számot tartalmazó A3 cellát könnyen illesztjük szövegbe. Szövegek összeadásához az & jelet kell használni. Oda kell figyelni a szóközökre is. Ha a "Ft"-t nem akarjuk a számmal egybeírni, akkor az idézőjeleken belül egy szóközzel kell a második szövegrészt kezdeni.
Valójában egy függvényt használunk, vagy inkább egy számolt cellát. A cella értéke a két fix szövegrész közé beillesztett szám. Ilyen esetekben a szöveget mindig idézőjelek közt adjuk meg.
Persze a szám beillesztés volt a könnyebb feladat.

Szám szövegesen

A szám szöveggé alakítása előtt eldöntöttem, tízmilliónál kisebb, egész számokat szeretnék szöveggé konvertálni. Akinek másra lenne szüksége, remélem a példa alapján boldogul.


Ezt a táblát fogjuk celláról-cellára létrehozni. A szövegesítendő szám a B2-ben található – és mert nem vagyok következetes, a szám most: 3 657 336.
Amikor képletekkel dolgozunk, érdemes felkészülni arra, hogy azokat folyamatosan teszteljük, mielőtt megbízunk bennük. Ezért, hogy könnyen tudjam módosítani a B2 cellát, három másik cellából raktam össze: A1:A3. Az A1-ben vannak a milliók, ezt a cellát csúszka számformátummá tettem, nulla(!) és kilenc között egyesével változtatható az értéke. Az A2 az ezresek, az A3 a "reszli", mindkettő csúszka 0-999 között.


Az A oszlopban a nagyságrendeket írtam be (milliótól egyig), minden más képlet. Ezen és a következő ábrán is a cellákba írt képletek láthatók. A képletek mindig egyenlőség jellel kezdődnek, ez a képeken hiányzik. De kell az egyenlőség jel, hogy a képlet képletként működjön.


Nem, annyira nem brutális.
Ugye az A oszlopban vannak a nagyságrendek, a B oszlopan szeretém látni, hány millió, meg hány tízezer van, szét kell szedni a számot számjegyeire.
Az INT függvény egy szám egész részét veszi. A milliónál egyszerű a dolgom, a számról tudom, hogy kisebb, mint tíz millió. Így ha azt elosztom egymillióval akkor a milliók darabszáma lesz az eredmény egész része. És nekem ez kell.
A TRUNC függvény levág, lekerekít adott számjegyre. Nem futnék itt bele a hosszabb magyarázatba. A TRUNC-os sorok a kívánt nagyságrendre kerekítenek, majd levonják a nagyobb helyiértékekhez tartozó részt a számból, így kapjuk meg az adott helyiértéken álló számot.
A legalsó sorban egy rettentő sok cellát érintő szövegösszefűzést látsz, itt keletkezik a vágyott szöveg.

Szám betűvel kiírva
A B oszlopban megkaptuk a helyiértéken levő számokat, ezeket szeretnék szöveggé alakítani, a számolós táblázatunk C oszlopában. Ezt látod a lenti képen - képletekkel.

Amennyiben a számérték nem nulla - azt nem kell kiírnom -, akkor a "Table 2" táblázatból keresem ki a megfelelő szöveget. Mutatom is a "Table 2"-t, aminek kifejezőbb nevet is adhattam volna.

A VLOOKUP (fkeres) az egyik legjobb függvény! A fenti táblázatban keressük az adott helyiértéken álló számot mindig a kereséséi tábla első oszlopában. A második, harmadik vagy negyedik oszlopban (most) ott a megfelelő szöveg. Például a "2" attól függően "kettő", "húsz" vagy "huszon", hogy melyik helyiértéken áll: huszonkettő.

Milliós, ezer és kötőjel
Eddig csak látszólag volt bonyolult. Valójában megfelelő szövegre cseréltük az egyes helyiértékeken álló számjegyeket. A szépség a részletekben lakozik.
A millió szöveget csak akkor kell kiírnom, ha nem nulla van a milliós helyiértéken.
Ugye a millió és az ezres közé kötőjelet teszünk? Igen. De. De csak akkor, ha van milliós érték és nem kerek millió a szám, van nullától eltérő számjegy még a számban.
A "száz" szövegben csak akkor szerepel, ha a százas vagy százezres helyén nem nulla áll.
És akad még pár ilyen szabály.
Meg szabálytalanság is. Kétezer alatt egybeírjuk a számot (én így tanultam), felette meg kötőjellel.


A táblázatom jobb széle a beírt képletekkel.

Kész vagyok
Amikor minden képlet a helyén, akkor a táblázat alján megjelenik a helyes szöveg. Ismételve önmagam, tesztelni érdemes. Leginkább a kritikus számokkal, 1999, 2000, 2001 meg ilyesmik. A csúszkák abban is segítenek, hogy véletlen értékeket gyorsan előállítva sok ellenőrzést végezzünk el.
Mi maradt hátra?
A táblázat aljában levő cellában összeálló szöveg beillesztése az elismervényes szövegbe – ez nem lesz egy nagy kaland.
Utána viszont megpróbáljuk megoldani, hogy lehessen beírni számértéket a Pages oldalon, de a beírás helye - cellája - a nyomtatáson ne látszódjon. Ugyanis nem akarunk állandóan odafigyelni, hogy csak adott oldalt nyomtassunk. Mi csak kattintunk a Nyomtatás ikonra, ütjük az Entert, hadd menjen! Ja! A számolást végző táblázatot pont annyira nem akarom kinyomtatni, mint a számjegy-betűvel táblázatot! Azért maradt feladat a következő részre.

Nincsenek megjegyzések:

Megjegyzés küldése