====== Djeeni Formula ======
Az egyik leghatékonyabb fogalom az MS Excelben a **formula**. Ilyen formulákat írhatsz, mint:
=SUM(B4:D5)+AVERAGE(F6:F9)
egy cellába és az MS Excel elvégzi a számolást. Djeeniben ugyanígy használhatod az összes MS Excel formulát, beleértve a függvényeket is. De Djeeni ki is bővíti a formulák képességeit, hogy a folyamatod még jobb legyen. Olvass tovább a hogyanért.
===== Djeeni formula kiegészítések áttekintése =====
Az MS Excel formulákon belüli Djeeni kiegészítéseket a [...] módon jelöljük. Ez azt is jelenti, hogy a legtöbb Djeeni formulát [ és ] jelekkel kell körbevenned. Lásd az áttekintő táblázat alatti alfejezeteket a részletes magyarázatokért.
^ Djeeni formula kiegészítések áttekintése ||||
^ Hivatkozás egy ^ Használd ezt ^ MS Excel Példa ^ Djeeni Példa ^
| Cellára | [$...] | D4, Munkalap!D4, [Ut\A\Munkafuzetig]Munkalap!D4 | [$wsNev!D4] |
| Tartományra | [$...] | D4:E5 | [$wsNev!D4:E5] |
| Cella értékére| [=...] | a D4 cella értéke| [=wsNev!D4] |
| Elnevezett tartomány | [:...] | tartomanyNev | [:tartomanyNev] |
| Egy kikeresett érték cellája | [# ... %%|%%cell]| - | [#ceErtek%%|%%cell] |
| Egy kikeresett érték sorszáma | [# ... %%|%%row]| - | [#ceErtek%%|%%row] |
| Egy kikeresett érték oszlopbetűje | [# ... %%|%%column]| - | [#ceValue%%|%%column] |
| Utolsó adatoszlop az első sorban | [#ColumnEnd] or #ColumnEnd | - | [$wsNev!**[#ColumnEnd]**2] |
| Utolsó adatoszlop tetszőleges sorban | [#ColumnEnd%%|%%Sorszám] | - | [$wsNev!**[#ColumnEnd%%|%%2]**2] |
| Utolsó adatoszlop utáni oszlop az első sorban | [#ColumnNext] or #ColumnNext | - | [$wsNev!**[#ColumnNext]**2] |
| Utolsó adatoszlop utáni oszlop tetszőleges sorban | [#ColumnNext%%|%%Sorszám] | - | [$wsNev!**[#ColumnNext%%|%%2]**2] |
| Utolsó adatsor az A oszlopban | [#RowEnd] vagy #RowEnd | - | [$wsNev!C**#RowEnd**] |
| Utolsó adatsor tetszőleges oszlopban | [#RowEnd%%|%%OszlopBetű] | - | [$wsNev!C**#RowEnd%%|%%C**] |
| Utolsó adatsor alatti sor az A oszlopban | [#RowNext] vagy #RowNext | - | [$wsNev!C**#RowNext**] |
| Utolsó adatsor alatti sor tetszőleges oszlopban | [#RowNext%%|%%OszlopBetű] | - | [$wsNev!C**#RowNext%%|%%C**] |
| Aktuális sor/oszlop a legbelső Sor/Oszloplistában | [#] vagy # | - | [$wsNev!F**#**] |
| Aktuális sor/oszlop tetszőleges Sor/Oszloplistában | [#%%|%%DjeeniNev] | - | [$wsNev!F**[#%%|%%rlSorLista]**] |
| Aktuális munkalap egy munkafüzetlistában | A lista [[en:concepts:djeeniname|Djeeni neve]] | - | [$**wlNev**!B5] |
| Egy munkalap munkafüzet mappája, fájlneve és kiterjesztése | [#munkalap%%|%%Folder], [#munkalap%%|%%File], [#munkalap%%|%%Extension]| - | [#wsNev%%|%%Folder], [#wsNev%%|%%File], [#wsNev%%|%%Extension] |
| Munkalap Excel neve | [#munkalap%%|%%Name] | - | [#wsNev%%|%%Name] |
| Számolás értékekkel | [+számolás] | - | [+([#RowEnd]-1) * ([#ColumnEnd]-2)] |
| A Djeeni kliens mappája (relative mappa) | [#DjeeniFolder] vagy #DjeeniFolder | - | #DjeeniFolder\penzugy\riportok |
===== Hivatkozás egy cellára vagy tartományra =====
Egy MS Excel formulában egy munkalap valamely cellájára az oszlopa betűjelével és sorának számával hivatkozunk:
B4
Tartományokhoz a bal felső és jobb alsó cellák megadása szükséges:
C5:F8
Az átláthatóság miatt Djeeni megköveteli, hogy minden cella- vagy tartományhivatkozás a megfelelő munkalappal együtt történjen, ahol a munkalapot annak [[hu:concepts:djeeniname|Djeeni neve]] adja meg:
[$wsPelda!B3:T45]
ahol [$...] jelöli a cellahivatkozást egy formulán belül.
===== Djeeni formula kiegészítések egy MS Excel formulában =====
Az MS Excelben egy cellához vagy tartomány celláihoz tartozó formulát a = jelet követően lehet megadni. Például **=SUM(B3:B6)**. Djeeniben ugyanezt kell tenned a **[[:en:process_steps:range_cell:cellset]]** or **[[:en:process_steps:range_cell:rangeset]]** folyamatlépésekben:
=SUM([$wsPelda!B3:B6])
Több Djeeni formula kiegészítést is használhatsz egyetlen MS Excel formulában:
=IF([$wsPelda!B4]>5,[$wlForras!C#],"N/A")
===== Elnevezett tartományok =====
Elnevezhetsz egy tartományt a **Range Use** folyamatlépésben, megadva a tartománynak egy [[en:concepts:djeeniname|Djeeni nevet]]. Továbbá, formulákban hivatkozhatsz az elnevezett tartományodra **[:elnevezettTartomany]** formában:
=SUM([:elnevezettTartomany])
===== Kikeresett értékek =====
Miután egy értéket kikerestünk egy tartományban a **[[hu:process_steps:range_cell:celllookup|Cell Lookup]]** folyamatlépésben, hivatkozhatunk a megtalált cellára. Tegyük fel, hogy a **Cell Lookup** a keresési eredményét a **ceErtek** Djeeni név alatt tárolja. Ekkor
#ceErtek|cell 'hivatkozás a megtalált cellára
hivatkozik a megtalált érték cellájára. Példa: ha a **Cell Lookup** az értéket a wsForras munkalap C4 cellájában találja meg, akkor [#ceValue|cell] megegyezik a [$wsForras!C4] hivatkozással.
Lehetséges a megtalált cella sorszámát és oszlopának betűjelét is használni:
#ceErtek|row 'a megtalált érték cellájának sorszáma
#ceErtek|column 'a megtalált érték cellájának oszlopbetűje
Példa: ha a **Cell Lookup** az értéket a wsForras munkalap C4 cellájában találja meg, akkor [#ceErtek|row] egyenlő 4, míg [#ceErtek|column] egyenlő C.
===== Utolsó adatsor egy oszlopban =====
Egy munkalap A oszlopának utolsó sorát megtalálhatod a **[#RowEnd]** Djeeni kóddal. Egy Djeeni formula kiegészítésen belül a [] elhagyható, és egyszerűen írhatsz **#RowEnd** kódot is:
[$wsPelda!C#RowEnd] 'az a cella a C oszlopban, amelynek sorszáma megegyezik
'az A oszlop utolsó adatsorának számával
Bármely oszlop utolsó adatsorára a **[#RowEnd%%|%%OszlopBetű]** jelöléssel hivatkozhatsz:
[$wsPelda!C[#RowEnd|B]] 'az a cella a C oszlopban, amelynek sorszáma megegyezik
'a B oszlop utolsó adatsorának számával
===== Utolsó adatoszlop egy sorban =====
Egy munkalap első sorának utolsó oszlopát megtalálhatod a **[#ColumnEnd]** Djeeni kóddal. Egy Djeeni formula kiegészítésen belül a [] elhagyható, és egyszerűen írhatsz **#ColumnEnd** kódot is:
[$wsPelda!#ColumnEnd3] 'az a cella a harmadik sorban, amelyik az első sor
'utolsó cellája alatt van
Bármely sor utolsó adatoszlopára a **[#ColumnEnd%%|%%Sorszám]** jelöléssel hivatkozhatsz:
[$wsPelda![#ColumnEnd|4]3] 'az a cella a harmadik sorban, amelyik a negyedik sor
'utolsó cellája felett van
===== Aktuális sor/oszlop egy SorListában/OszlopListában =====
Egy **[[en:process_steps:rowlist|Sorlistában]]** vagy **Oszloplistában** az aktuális sorra/oszlopra a **[#]** jelöléssel hivatkozhatsz. Egy Djeeni formula kiegészítésen belül elég magát a **#** jelet használni:
[$wsPelda!G#] 'a G oszlop cellája, a sorlista aktuális sorában
A [#] használható más munkalapokra hivatkozáshoz is, valamint felhasználható számolásokban is. Példa: adatokat kell másolni az egyik munkalap második sorábol az ötödikbe, majd a harmadikból a hatodikba stb. A **Range Copy/Move To** folyamatlépésben írhatod ezt:
From range: $wsForras!A#:D#
Target cell: $wsCel!A[+#+3]
==== Listák egymásba ágyazása ====
Ha két SorLista vgy OszlopLista egymásba van ágyazva, akkor **[#]** a legközelebbi (legbelső) lista aktuális sorát/oszlopát hivatkozza. A külső lista aktuális elemét úgy kapjuk meg, hogy a **#** jelet módosítjuk a külső lista Djeeni nevével:
[#|rlSorLIsta] 'rlSorLista a külső sorlista Djeeni neve
vagy
[#|clOszlopLista] 'clOszlopLista a külső oszloplista Djeeni neve
Példa: Tegyük fel, hogy egy munkalap (Djeeni neve: wsPelda) összes során végig kell menni egy külső SorListával (Djeeni neve rlSorok), ezen belül minden sorban fel kell dolgozni az egyes oszlopokban (azaz cellákban) található értékeket egy OszlopListával (Djeeni neve: clCellak). Ha az aktuális cellát meg akarjuk hivatkozni, akkor ezt így tehetjük meg:
wsPelda![#|rlSorok][#|clCellak] 'aktuális cella hivakozása Sor- és OszlopListával
vagy
wsPelda![#|rlSorok]# 'a legbelső OszlopLista Djeeni kód módosítója elhagyható
===== Számolások =====
Az adatmozgatás az egyik helyről a másikra sokszor számolással történik. Djeeni a **[+...]** formula kiegészítéssel számol.
^ Számolási példák ||
^ elvárt eredmény ^ Djeeni formula ^
| Az utolsó adatosr utáni sor | [+#RowEnd+1] |
| Az utolsó adatoszlop melletti oszlop | [+#ColumnEnd+1] |
| Minden egyes listasorhoz három célsor készítése | [+#*3], [+#*3+1], [+#*3+2] |
| Egy sorlista minden 100. sorához összegzés készítése | SUM(A[+#-99]:A[#]) => B[+#/100] |
===== Relatív mappák megadása =====
Relatív mappákat is használhatsz a Djeeni folyamatban a **#DjeeniFolder** Djeeni kód megadásával. A **#DjeeniFolder** azt a mappát jelenti, amelyikben Djeeni maga helyezkedik el. Innen indulva megadhatsz almappákat, ha szükséges:
#DjeeniFolder\Riportok 'a Djeeni mappa Riportok almappája