Hogyan hozhatunk létre egyedi Excel-függvényeket? (példákkal)
Egyéni függvény létrehozásához meg kell írnunk egy kódot a saját függvényeink működéséhez, amelyet „UDF-nek” hívnak. Az egyedi függvények a felhasználó által definiált függvények az excelben, ezért ezek létrehozásához alaposan ismernie kell a VBA kódolást.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions.png.webp)
1. példa - Bármely két szám hozzáadása
Például, ha tetszőleges két számot szeretne hozzáadni, akkor megmutatunk egy egyszerű felhasználói funkciót (UDF).
- Nyomja meg az Alt + F11 billentyűt, és helyezze be a modult.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_2.png.webp)
- Írjon kódot egy modulba egy egyedi függvény létrehozásához.
Minden egyéni függvénynek a „Funkció” szóval kell kezdődnie, amelyet a képlet neve követ.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_3.png.webp)
Bármelyik függvénynek vannak argumentumai vagy paraméterei, hasonlóan az egyéni függvényekhez; meg kell határoznunk azokat a paramétereket. Mivel csak két számot adunk hozzá, definiáljuk ezeket a paramétereket, és adattípust rendeljünk ezekhez az argumentumváltozókhoz.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_4.png.webp)
Miután a paramétereket adattípussal definiáltuk, meg kell határoznunk az eredmény kimenet adattípusait is. Határozzuk meg az eredményt egész számként.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_5.png.webp)
Ebben a „Funkcióeljárásban” megírjuk a képlet kódját.
Kód:
Funkció-kiegészítés (Num1 egész számként, Num2 egész számként) egész szám kiegészítéskénta = Num1 + Num2 End függvény
Ez azt mondja, hogy az „Addition” függvénynév eredménye a Num1 és a Num2 értékeinek összege lesz.
- Most térjen vissza a munkalapra, és írjon be tetszőleges két egész számot.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_6.png.webp)
- Most hozzáadjuk ezt a két számot. Nyissa meg az egyenlőségjelet, és írja be az „Addition” egyéni függvénynevet.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_7.png.webp)
Válassza ki az első és a második számot úgy, hogy vesszővel (,) írja be az elválasztót.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_8.png.webp)
- Az eredmény eléréséhez nyomja meg az Enter billentyűt.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_9.png.webp)
Azta!!! A SUM függvényhez hasonlóan két szám összegének eredményét kaptuk.
Most nézze meg ezeket a számokat.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_10.png.webp)
Próbálja meg most hozzáadni ezt a két számot.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_11.png.webp)
Azért kaptuk a hibaértéket, mert a „Num1 & Num2” argumentum „Integer” argumentum, vagyis ez a két argumentum -32767 és 32767 közötti értékeket tarthat, tehát ezen kívül bármi más okozza ezeket a hibákat.
Most próbálja meg hozzáadni ezt a két számot.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_12.png.webp)
Még ez is a hibaérték alatt lesz.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_13.png.webp)
Annak ellenére, hogy az egyes argumentumértékek az Egész szám adattípus határán belül vannak, mégis megkaptuk ezt a hibát, mert ezeknek a számoknak az összege meghaladja az egész határértéket.
Mivel az eredménytípust szintén „egész számnak” deklaráltuk, két szám összeadásának az eredménye is egész számkorlát.
2. példa - Adja hozzá az összes páratlan számot
Az Excel nem rendelkezik beépített funkcióval, amely hozzáadhatja az összes páratlan számot a számlistából. De semmi gond, létrehozunk egy egyedi excel funkciót ennek támogatására.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_14.png.webp)
Nyissa meg a VBA szerkesztő ablakát, és adjon nevet a Function eljárásnak.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_15.png.webp)
Adja meg a függvény paraméterét „Tartomány” értékként.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_16.png.webp)
Ez azt jelenti, hogy ehhez a függvényhez ennek a függvénynek a bemeneti értékét adjuk meg a cellák értékeinek „Tartományaként”.
Mivel egynél több cellát kell végigvezetnünk, a VBA-ban az „Mindegyikhez” hurkot kell használnunk, ezért nyissuk meg az „Mindegyikért” ciklust.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_17.png.webp)
Ebben a hurokban adja hozzá az alábbi kódot.
Kód:
Funkció AddOdd (Rng mint tartomány) az Rng If cellák mindegyik cellájához. Érték Mod 2 0, majd AddOdd = AddOdd + cella.
A szám teszteléséhez a „MOD” funkciót kell használnunk. Ha az egyes cellák értékét elosztjuk a 2-es számmal, és a fennmaradó érték nem egyenlő nullával, akkor kódunknak hozzá kell adnia az összes páratlan számértéket.
Most térjen vissza a munkalapra, és nyissa meg az Excel egyedi funkciót.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_18.png.webp)
Válassza ki az A1 és D8 közötti számtartományt.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_19.png.webp)
Nyomja meg az Enter billentyűt a „páratlan” szám eredményének eléréséhez. ”
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_20.png.webp)
Tehát az A1-től D8-ig terjedő tartományban a páratlan számok összege 84.
3. példa - Összes páros szám hozzáadása
Hasonlóképpen, az alábbi függvény összeadja az összes páros számot.
Kód:
Funkció AddEven (Rng mint tartomány) az Rng If celláihoz. Cell. Érték Mod 2 = 0, majd AddEven = AddEven + cell.
Ez a függvény csak páros számot ad hozzá. Ebben az esetben azt a logikát használtuk, hogy ha az egyes cellák értékei el vannak osztva 2-vel, és a fennmaradó rész nulla, akkor a kód csak azokat a cellaértékeket adja hozzá.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_21.png.webp)
Így a VBA kódolás használatával saját egyedi funkciókat hozhatunk létre.
Dolgok, amikre emlékezni kell
- Az Custom függvények létrehozása nem más, mint a felhasználó által definiált függvények.
- Egyedi függvények létrehozásához ismernie kell a fejlett VBA kódolási ismereteket.
- Az egyéni excel függvények létrehozása során fontos, hogy figyeljen az argumentumokra és azok adattípusaira.