Varázslás az adatokkal a Djeeni Formula használatával

Végülis, az MS Excelben az adatok munkalapok celláiban találhatók. Ebben a fejezetben részletesen megtanulhatod, hogy hogyan

  1. érheted el a forrás munkalap celláiban lévő adatokat;
  2. dolgozhatod fel ezeket az adatokat, hogy megkapd a célértéket a cél munkalap egy cellájában;
  3. készíthetsz szövegeket, amiket pl. fájlnevekben vagy a kommunikációban tudsz használni;
  4. használhatsz Djeeni kódokat Djeeni formulákban.

Egy cella adatának elérése

Djeeniben (csakúgy mint MS Excelben) a legegyszerűbb elérése egy cellának az, hogy megadjuk a munkalapjának nevét, majd egy felkiáltójelet követően az oszlopának a betűjelét, végül a sorának a számát.

  wsERPRiport!F12

ahol a munkafüzet a Djeeni nevével van azonosítva (ahelyett, hogy a munkafüzet fizikai helyét, majd a munkalap saját nevét adnánk meg). Egy tartomány is pontosan ugyanaz, mint az MS Excelben: két cella ugyanazon a munkalapon, : jellel elválasztva.

  wsERPReport!B4:H5

De cellákat és tartományokat ritkán érünk el ezen a módon, ahol mindhárom rész fixen megadott. A fejezet további része megmutatja, hogy Djeeni különböző helyzetekben milyen lehetőségeket kínál a cellák és tartományok egyes részeinek a megadására.

Munkalap egy listában

Egy adatfeldolgozási folyamat sokszor több munkalapot is érint, amelyeket konszolidálni vagy létrehozni kell a folyamat során. Djeeni a munkafüzetlistát biztosítja ahhoz, hogy végig lehessen menni az összes munkalapon. A munkafüzetlistának van egy Djeeni neve, amit bárhol lehet használni, ahol munkafüzetre kell hivatkozni. Ha pl. a munkafüzetlista Djeeni neve wlAnalitikak, akkor

  wlAnalitikak!E35

az E35 cellát fogja jelölni a munkafüzetlista aktuális munkafüzetében.

Egy oszlop utolsó sora

Gyakori, hogy egy munkalapon nem lehet előre tudni, hogy hány sor van egy oszlopban, és ez minden egyes végrahajtásakor a folyamatnak változik. Az egyszerű #RowEnd jelölés használható az utolsó sor azonosítására egy oszlopban.

  wsLetszam!C#RowEnd

Önmagában a #RowEnd az A oszlop utolsó sorát jelöli. Ez megváltoztatható, ha egy | után megadjuk egy oszlop betűjelét:

  wsLetszam!C#RowEnd|F

Ez a cella a C oszlop azon sorában van, amelyik megegyezik az F oszlop utolsó sorával.

Egy sor utolsó oszlopa

A #RowEnd jelöléshez hasonlóan a #ColumnEnd jelölés használható egy sor utolsó oszlopára hivatkozáshoz.

  wsAnyagok!#ColumnEnd9                  'az utolsó oszlop az első sorban
  wsAnyagok![#ColumnEnd|5]9              'az utolsó oszlop az ötödik sorban

Figyeld meg, hogy a […] elválasztja egymástól az 5 számot (ami az utolsó oszlop módosítója) a 9 számtól (ami a cella sorszáma)

Adatok feldolgozása

Tehát, el tudjuk érni bármely munkalap bármely celláját. De legtöbbször a forrás cellában található adatot fel kell dolgozni mielőtt beírásra kerül egy másik cél cellában. Úgyhogy következzenek Djeeni adatfeldolgozási lehetőségei.

Excel függvények

Az MS Excelben magában a formulák használhatóak adatok feldolgozására; és a formulák túlnyomó többsége beépített MS Excel függvényeket használ. Például, van egy formula, amelyik összeadja egy tartomány (itt most az A4:C5 tartomány) összes cellájában (A4, A5, B4, B5, C4 és C5) található értéket a SUM függvény használatával:

  =SUM(A4:C5)

Az MS Excel függvények kombinálhatóak Djeeni formulákkal:

  =SUM([:wsRiport!A4:C5])

ahol […] jelöli a Djeeni formulát. Ha egy MS Excel függvénynek több paramétere is van, akkor mindegyik kaphat értéket Djeeni formulákkal:

  =IF([$wsTorzsadat!B#]="C";[$wsTorzsadat!C#];[$wsForras!A2])

És egy folyamatlépés valamely paraméterének belsejében is használhatsz MS Excel függvényeket a [+…] Djeeni formulával:

  WSheet Use Filename: Riport-[+TEXT(TODAY(),"yyyymmdd")].xlsx

Több különböző Djeeni formulatípust kombinálhatsz az MS Excel formulákkal:

  [$.....]        'hivatkozás egy MS Excel cellára
  [=.....]        'a cella konkrét értéke
  [:.....]        'egy tartomány
  [+.....]        'egy számtani művelet
  [#.....]        'speciális Djeeni kód

Számolás adatokkal

A függvényeken túl az MS Excel lehetőséget biztosít egy formulában számolásokra is:

  =A5+B4

Djeeniben ugyanígy is számolhatsz (tegyük fel, hogy az A5 cellában 2, a B4 cellában 6 van):

  =[$wsForras!A5]+[$wsForras!B4]    'MS Excel számolás =A5+B4
  =[=wsForras!A5]+[=wsForras!B4]    'MS Excel számolás =2+6

de Djeenit is megkérheted, hogy számoljon a [+…] használatával:

[+[=wsForras!A5]+[=wsForras!B4]]

NB: Minden számolást a [+…] jelöl de maga a számolás természetesen lehet + - * vagy / .

Számolás egy cella oszlopának betűjelével és sorának számával

Néhany esetben egy cella oszlopának betűjele és/vagy a sorának a száma nem ismert előre:

  • a #RowEnd vagy #ColumnEnd számolja ki;
  • a Cell Lookup folyamatlépés keresi ki;
  • az aktuális sor (#) egy sorlistában;

és mégis számolnunk kell ezekkel az oszlopbetűkkel/sorszámokkal.

A legtipikusabb példa megtalálni egy munkalapon az első üres sort az utolsó adatsor után. A #RowEnd Djeeni kód megadja az utolsó adatsor számát, amihez egyet kell hozzáadni. Ezt a kiszámolt értéket aztán további műveletekben kell majd használni. Például az 'Összesen' szöveget kell a wsOsszegzes adatlapon az utolsó adatsor alá írnunk az A oszlopba:

  Cell Set    Cell: wsOsszegzes!A[+#RowEnd+1]
              Value: Összesen

A Cell Lookup által megtalált cella (Djeeni neve legyen ceNap) oszlopa és sora:

  [#ceNap|row]       'a megtalált cella sorszáma
  [#ceNap|column]    'a megtalált cella oszlopszáma

és egy egyszerű számolással elérhető egy ehhez a cellához kapcsolódó bármely másik cella. A Djeeni ezen funkciója hasonlít az MS Excel VLOOKUP függvényének 'második feléhez', de sokkal több lehetőséget biztosít:

  wsA!C[+[#ceNap|row]-2]    'egy cella 2 sorral a megtalált cella felett a C oszlopban
                            'a megtalált cellának NEM kell a C oszlopban lennie
                            'sőt: nem is kell ugyanazon a munkalapon lennie
  wsA![+[#ceNap|column]-1]1 'a megtalált cella oszlopátol eggyel balra az első sorban

NB: a számolás idejére Djeeni varázslatosan átalakítja az oszlopok betűjelét számokra oda és vissza.

Egy sorlista aktuális elemét a # jelöli. Pontosan ugyanolyan flexibilisen használható, mint a Cell Lookup által megtalált cella sorszáma: tetszőlegesen kombinálható munkalapokkal és oszlopkkal.

Változó fájlnevek és szövegek készítése

Djeeni folyamatok képesek:

  • sok, különböző nevű munkafüzetet és munkalapot kezelni munkafüzetlistákban;
  • több felhasználóval kommunikálni különböző email címeken; és
  • egy sorlista minden sorában különböző cellaértékeket adni.

A közös probléma, hogy az érték (fájlnév, e-mail cím, cellaérték) több részből tevődik össze: egyrészt konstans szövegrészekből, másrészt cellákból származó változó értékekből. MS Excelben a CONCATENATE függvény használható az egyes részek összekapcsolására, de Djeenival ez sokkal egyszerűbb. Ha egy cellaértéket olvasó Djeeni formulát ([=…] használunk a változó részek kiolvasásához, akkor egyszerűen csak egymás után kell írni a konstans és változó részeket (még az MS Excel formulákhoz tartozó = sem kell).

Példa: Tegyük fel, hogy a wsHonapok munkalap C oszlopában fel vannak sorolva a hónapok nevei. Egy Djeeni folyamat végiglépked a wsHonapok sorain, és minden hónaphoz létrehoz egy új munkalapot, melyenk neve 'Riport-' és a hónap neve lesz.

  WSheet Add  Excel name: Riport-[=wsMonths!C#]

Az [=…] Djeeni formula használható egy e-mail (címzett, tárgy, levélszöveg) bármely paraméterében is. Így személyre szabott és aktuális adatokat tartalmazó üzenetek küldhetőek.

Fájlnevekkel megtörténik, hogy egy már használatban lévő munkalap fizikai helyének valamely részét (mappa, fájl neve és kiterjesztése, a munkalap MS Excel neve) fel kell használni egy másik munkalaphoz elkészítéséhez. Djeeniben ezek az információk így érhetőek el (tegyük fel, hogy a már használatban lévő munkalap Djeeni neve wsForras):

  [#wsForras|FOLDER]    'a munkalapot tartalmazó munkafüzet mappájának neve
  [#wsForras|FILE]      'a munkalapot tartalmazó munkafüzet fájlneve
  [#wsForras|EXTENSION] 'a munkalapot tartalmazó munkafüzet kiterjesztése
  [#wsForras|NAME]      'a munkalap MS Excel neve

Djeeni kódok Djeeni formulákban

Bizonyos cellákhoz; fájlnevekhez és munkalapok neveihez; valamint sorlistákhoz kapcsolódó információ Djeeni kódok segítségével érhető el. Több példában is előkerültek már a dokumentáció más helyein. Itt most egy általános áttekintést adunk róluk egy helyen.

Egy Djeeni kód a # jellel kezdődik, amelyet a kód neve követ, opcionálisan lezárva egy | jelet követő módosítóval. Fix Djeeni kódok mellett -bizonyos esetekben- Djeeni nevek is használhatók Djeeni kódként.

Fix Djeeni kódok

#RowEnd jelöli az utolsó nem üres adatcella sorszámát egy oszlopban. Önmagában állva az A oszlopban működik, de módosítható bármely más oszlopra is: #RowEnd|D

#ColumnEnd jelöli az utolso nem üres adatcella oszlopának betűjelét egy sorban. Önmagában állva az első sorban működik, de módosítható bármely más sorra is: #ColumnEnd|12

# (üres név) jelöli az aktuális sort egy sorlistában. Amennyiben több sorlista van egymásba ágyazva, # a legközelebbi (legbelső) sorlistát jelöli. Módosítható egy sorlista Djeeni nevével, hogy annak a listának az aktuális sorát jelölje. Példa: *|rlEvek

Változó Djeeni kódok

A #wsDNev (ahol wsDNev a használt munkalap Djeeni neve) Djeeni kód módosítókkal használható arra, hogy a munkalap fizikai helyének különböző részeit elérjük:

  [#wsDNev|FOLDER]    'a tartalamazó munkafüzet mappájának neve
  [#wsDNev|FILE]      'a tartalamazó munkafüzet fájlneve
  [#wsDNev|EXTENSION] 'a tartalamazó munkafüzet kiterjesztése
  [#wsDNev|NAME]      'a munkalap MS Excel neve

#ceDNev (ahol ceDNev a Cell Lookup folyamatlépéssel megtalált cella Djeeni neve) Djeeni kód módosítókkal használható arra, hogy a megtalált cella oszlopának betűjelét és sorának számát megkapjuk:

  [#ceDNev|CELL]     'hivatkozás a megtalált cellára
  [#ceDNev|ROW]      'a megtalált cella sorának száma
  [#ceDNev|COLUMN]   'a megtalált cella oszlopának száma/betűjele