Funcții personalizate Excel - Creați funcții personalizate definite de utilizator

Cum se creează funcții Excel personalizate? (cu exemple)

Pentru a crea o funcție personalizată, trebuie să scriem un cod pentru funcționarea propriilor funcții, care se numește „UDF”. Funcțiile personalizate sunt funcții definite de utilizator în Excel, deci pentru a crea aceste funcții, trebuie să cunoașteți cu atenție codarea VBA.

Exemplul nr. 1 - Adăugați două numere

De exemplu, dacă doriți să adăugați două numere, vă vom arăta o funcție simplă definită de utilizator (UDF).

  • Apăsați Alt + F11 și introduceți modulul.
  • Scrieți codul într-un modul pentru a crea o funcție personalizată.

Orice funcție personalizată ar trebui să înceapă cu cuvântul „Funcție”, urmat de numele formulei.

Orice funcție are argumentele sau parametrii săi în mod similar funcțiilor personalizate; trebuie să definim acei parametri. Deoarece adăugăm doar două numere, să definim acei parametri și să atribuim tipuri de date acelor variabile de argument.

Odată ce parametrii sunt definiți cu un tip de date, trebuie să definim și tipurile de date ale rezultatului rezultatului. Să definim rezultatul ca valoare „Număr întreg”.

În cadrul acestei „Proceduri de funcționare”, vom scrie codul formulei.

Cod:

Adăugarea funcției (Num1 ca întreg, Num2 ca întreg) Ca adaos la număr întrega = Num1 + Num2 Funcție finală

Aceasta spune că rezultatul denumirii funcției „Adăugare” va fi suma valorilor Num1 și Num2.

  • Acum reveniți la foaia de lucru și introduceți orice două numere întregi.
  • Vom adăuga aceste două numere acum. Deschideți semnul egal și introduceți numele funcției personalizate „Adăugare”.

Selectați primul și al doilea număr introducând separatorul ca virgulă (,).

  • Apăsați tasta Enter pentru a obține rezultatul.

Wow!!! La fel ca funcția SUMA, am obținut rezultatul sumei a două numere.

Uită-te acum la aceste numere.

Încercați să adăugați aceste două numere acum.

Am obținut valoarea erorii, deoarece argumentele de tip „Num1 și Num2” sunt „Număr întreg”, adică aceste două argumente pot conține valori cuprinse între -32767 și 32767, deci orice altceva decât acesta va provoca aceste erori.

Acum încercați să adăugați aceste două numere.

Chiar și acest lucru va cauza sub valoarea erorii.

Chiar dacă valorile argumentelor individuale se încadrează în limita tipului de date Întreg, am primit totuși această eroare deoarece suma totală a acestor numere este mai mare decât valoarea limită a întregului.

Deoarece am declarat tipul de rezultat și ca „întreg”, rezultatul adunării a două numere ar trebui să fie, de asemenea, o limită de număr întreg.

Exemplul # 2 - Adăugați toate numerele impare

Excel nu are nicio funcție încorporată, care poate adăuga toate numerele impare din lista de numere. Dar nimic de îngrijorat, vom crea o funcție excel personalizată pentru a sprijini acest lucru.

Deschideți fereastra editorului VBA și dați un nume procedurii Function.

Dați parametrul pentru această funcție ca „Interval”.

Aceasta înseamnă că pentru această funcție, oferim valoarea de intrare pentru această funcție ca „Gama” de valori ale celulelor.

Deoarece trebuie să parcurgem mai multe celule, trebuie să folosim bucla „Pentru fiecare” în VBA, deci deschideți bucla „Pentru fiecare”.

În interiorul acestei bucle, adăugați codul de mai jos.

Cod:

Funcție AddOdd (Rng As Range) pentru fiecare celulă din Rng If cell.Value Mod 2 0 Atunci AddOdd = AddOdd + cell.Value Celula următoare Funcția de finalizare

Trebuie să folosim funcția „MOD” pentru a testa numărul. Când fiecare valoare a celulei este împărțită la numărul 2, iar valoarea rămasă nu este egală cu zero, atunci codul nostru ar trebui să adauge toate valorile numărului impar.

Acum reveniți la foaia de lucru și deschideți funcția personalizată excel.

Selectați intervalul numeric de la A1 la D8.

Apăsați tasta Enter pentru a obține rezultatul numărului „impar”. ”

Deci, în intervalul A1 până la D8, avem suma numerelor impare este 84.

Exemplul # 3 - Adăugați toate numerele pare

În mod similar, funcția de mai jos va adăuga toate numerele pare.

Cod:

Funcție AddEven (Rng As Range) pentru fiecare celulă din Rng If cell.Value Mod 2 = 0 Apoi AddEven = AddEven + cell.Value Celula următoare Funcția de sfârșit

Această funcție va adăuga doar un număr par. În acest caz, am folosit logica dacă fiecare valoare a celulei este împărțită la 2, iar restul este egal cu zero, atunci codul va adăuga numai acele valori ale celulei.

Astfel, folosind codarea VBA, putem crea propriile funcții personalizate.

Lucruri de amintit

  • Creați funcții personalizate nu sunt altceva decât funcții definite de utilizator.
  • Pentru a crea funcții personalizate, ar trebui să aveți cunoștințe de abilități avansate de codare VBA.
  • În timp ce creați funcțiile Excel personalizate, este important să aveți în vedere argumentele și tipurile lor de date.

Articole interesante...