Microsoft Excel -da foydalanuvchi tomonidan belgilangan funktsiyalarni qanday yaratish kerak

Mundarija:

Microsoft Excel -da foydalanuvchi tomonidan belgilangan funktsiyalarni qanday yaratish kerak
Microsoft Excel -da foydalanuvchi tomonidan belgilangan funktsiyalarni qanday yaratish kerak

Video: Microsoft Excel -da foydalanuvchi tomonidan belgilangan funktsiyalarni qanday yaratish kerak

Video: Microsoft Excel -da foydalanuvchi tomonidan belgilangan funktsiyalarni qanday yaratish kerak
Video: Ешьте груши из-за этих 5 замечательных преимуществ 2024, May
Anonim

Excelda SUM, VLOOKUP, LEFT va boshqalar kabi yuzlab o'rnatilgan funktsiyalar mavjud bo'lsa-da, mavjud o'rnatilgan funktsiyalar odatda juda murakkab vazifalarni bajarish uchun etarli emas. Xavotir olmang, chunki kerakli funktsiyalarni faqat o'zingiz yaratishingiz kerak.

Qadam

Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 1 -qadam
Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 1 -qadam

Qadam 1. Yangi ish daftarchasini yarating yoki foydalanuvchi tomonidan belgilangan funktsiyalar (UDF) bilan ishlov berishni xohlagan ishchi kitobni oching

Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 2 -qadam
Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 2 -qadam

Qadam 2. Microsoft Excel-da Tools-> Makro-> Visual Basic Editor orqali Visual Basic Editor-ni oching (yoki Alt+F11 yorliqlarini bosing)

Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 3 -qadam
Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 3 -qadam

Qadam 3. Ish sahifangizga yangi modul qo'shish uchun Module tugmasini bosing

Siz ishchi daftarchasida yangi modul qo'shmasdan UDF yaratishingiz mumkin, lekin bu ish kitobining boshqa varaqlarida ishlamaydi.

Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 4 -qadam
Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 4 -qadam

Qadam 4. O'zingizning funktsiyangizning "boshi" yoki "prototipini" yarating

Funktsiya prototipi quyidagi tuzilishga mos kelishi kerak:

"Funktsiya nomi" umumiy funktsiyasi (parametr1 turi 1, parametr2 turi 2 kabi) Natija turi sifatida.

Prototiplar iloji boricha ko'proq funktsiyaga ega bo'lishi mumkin va ularning turlari Range ko'rinishidagi barcha asosiy ma'lumotlar turlari yoki Excel ob'ekt turlari bo'lishi mumkin. Siz parametrlarni funktsiya ishlaydigan "operatorlar" (operatorlar) deb o'ylashingiz mumkin. Masalan, sinusni 45 gradusni hisoblash uchun SIN (45) yozganingizda, parametr sifatida 45 raqami olinadi. Keyin, funktsiya kodi bu qiymatlarni hisoblarni bajarish va natijalarni ko'rsatish uchun ishlatadi.

Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 5 -qadam
Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 5 -qadam

5 -qadam. Siz ishonch hosil qilish uchun funktsiya kodini qo'shing: 1) parametr tomonidan berilgan qiymatdan foydalaning; 2) natijani funksiya nomiga berish; 3) funktsiyani "tugatish funktsiyasi" jumlasi bilan yoping.. VBA yoki boshqa tilda dastur o'rganish ko'p vaqt va batafsil ko'rsatmalarni talab qiladi. Yaxshiyamki, bu funktsiyalar odatda kichik kod bloklariga ega va dasturlash tili xususiyatlaridan unchalik foydalanmaydi. Bu erda VBA tilining ba'zi elementlari ishlatilishi mumkin:

  1. If (if) bloki, bu sizga shart bajarilgan taqdirdagina kodning bir qismini bajarishga imkon beradi. Misol tariqasida:
  2. Umumiy funktsiya kursi natijasi (butun son sifatida) String sifatida

    Agar qiymat> = 5 bo'lsa

    Kurs natijalari = "Qabul qilingan"

    Boshqa

    Kurs natijalari = "Rad etildi"

    Agar tugasa

    Tugatish funktsiyasi

    If kod blokidagi elementlarga e'tibor bering:

    IF sharti BOShQA kodi ENDI IF

  3. . Kodning ikkinchi qismi bilan bir qatorda, boshqa kalit so'zni qoldirishingiz mumkin, chunki bu ixtiyoriy.
  4. Vaqt yoki Qachon kodining bir qismini shart bajarilganda yoki bajarguncha bajaradigan Do (do) bloki. Misol tariqasida:
  5. BilPrima umumiy funktsiyasi (qiymati butun son sifatida) mantiqiy

    Dim va butun son

    i = 2

    BilPrima = To'g'ri

    Qil

    Agar qiymat / i = Int (qiymat / i) Keyin

    BilPrima = noto'g'ri

    Agar tugasa

    i = i + 1

    Loop While i <value And NumberPrima = True

    Tugatish funktsiyasi

    Yana elementlarga qarang:

    LOOP WHILE/UNTIL shartini bajaring

  6. . O'zgaruvchini "e'lon qiladigan" ikkinchi qatorga ham e'tibor bering. Keyinchalik ishlatish uchun kodingizga o'zgaruvchilar qo'shishingiz mumkin. O'zgaruvchilar kodda vaqtinchalik qiymatlar vazifasini bajaradi. Nihoyat, funktsiya deklaratsiyasini BOOLEAN sifatida ko'rib chiqing, bu faqat TRUE yoki FALSE qiymatlariga ruxsat beruvchi ma'lumotlar turi. Bosh sonlarni aniqlashning bu usuli maqbul emas, lekin kod shunday o'qilganki, shunday yozilganki.
  7. Blok uchun (to), bu ma'lum miqdordagi kodni bajaradi. Misol tariqasida:
  8. Umumiy funktsiya faktoriali (qiymati butun son sifatida)

    Kam natijalar

    Dim va butun son

    Agar qiymat = 0 bo'lsa

    natija = 1

    ElseIf qiymati = 1 Keyin

    natija = 1

    Boshqa

    natija = 1

    I = 1 uchun

    natija = natija * i

    Keyingi

    Agar tugasa

    Faktorial = natija

    Tugatish funktsiyasi

    Yana elementlarga qarang:

    FOR o'zgaruvchisi uchun = pastki chegarasi TO kodining keyingi chegarasi

    . Bundan tashqari, If bayonotida qo'shimcha ElseIf elementiga e'tibor bering, bu sizga bajarilayotgan kodga qo'shimcha variantlarni qo'shish imkonini beradi. Nihoyat, "natija" funktsiyasini va Long deb e'lon qilingan o'zgaruvchini ko'rib chiqing. Uzoq ma'lumotlar turi Integerga qaraganda ancha katta qiymatlarga ruxsat beradi.

    Quyida kichik sonlarni so'zlarga aylantiradigan funksiyaning kodi ko'rsatilgan.

    Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 6 -qadam
    Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 6 -qadam

    Qadam 6. Ish daftarchasiga qayting va "teng" belgisini (=) yozib, undan keyin yacheykadagi funktsiyani yozib, funktsiyadan foydalaning

    Belgidan foydalanib, funktsiya nomidan keyin ochiladigan qavslarni ("(") yozing koma Parametrlarni ajratish va qavs (")" bilan tugatish). Misol tariqasida:

    = NumberToLetter (A4)

    . Shuningdek, uy formulalarini toifalar bo'yicha qidirish orqali ham foydalanishingiz mumkin Foydalanuvchi tomonidan aniqlangan Formulani qo'shish opsiyasi ichida. Siz faqat tugmani bosishingiz kerak Fx formula satrining chap tomonida. Funktsiyalarda uch xil parametr shakllari mavjud:

    1. To'g'ridan -to'g'ri hujayra formulasiga yoziladigan doimiy qiymat. Bunday holda, matn (satr) tirnoqqa olinishi kerak.
    2. Masalan, hujayra havolalari B6 yoki shunga o'xshash diapazon A1: C3 (parametr "Range" ma'lumot turi bo'lishi kerak)
    3. Sizning funktsiyangizga kiritilgan boshqa funktsiya (sizning funktsiyangiz boshqa funktsiyaga ham qo'shilishi mumkin), masalan: = Faktorial (MAX (D6: D8))

      Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 7 -qadam
      Microsoft Excel -da foydalanuvchi belgilaydigan funktsiyani yarating 7 -qadam

      Qadam 7. Natijalarning to'g'riligiga ishonch hosil qiling

      Funktsiya turli parametr qiymatlarini to'g'ri boshqarishi mumkinligiga ishonch hosil qilish uchun uni bir necha marta ishlating:

      Maslahatlar

      • If, For, Do va hokazo kabi boshqaruv tuzilmalarida kod bloklarini yozishda, bo'sh joyni yoki yorliqni bir necha marta bosish orqali kod blokini kirgizib qo'ying (chap chiziq chegarasini biroz ichkariga kiriting). Bu kodni tushunishni osonlashtiradi va xatolarni topish ancha oson bo'ladi. Bundan tashqari, funksionallikni oshirish osonroq bo'ladi.
      • Agar siz funktsiyalar uchun kod yozishni bilmasangiz, Microsoft Excel -da oddiy makroni qanday yozish haqida maqolani o'qing.
      • Ba'zida natijalarni hisoblash uchun funktsiyalarga barcha parametrlar kerak emas. Bunday holda, funktsiya sarlavhasida parametr nomidan oldin Optional kalit so'zidan foydalanishingiz mumkin. Parametrga qiymat berilganmi yoki yo'qligini aniqlash uchun kodingizdagi IsMissing (parameter_name) funktsiyasidan foydalanishingiz mumkin.
      • Excelda ishlatilmaydigan ismlarni funktsiyalar sifatida ishlating, shunda hech qanday funksiya qayta yozilmaydi va o'chirilmaydi.
      • Excel-da ko'plab o'rnatilgan funktsiyalar mavjud va ko'pchilik hisob-kitoblar bu o'rnatilgan funktsiyalar yordamida ham alohida, ham birdaniga bajarilishi mumkin. O'zingizni kodlashni boshlashdan oldin, mavjud funktsiyalar ro'yxati bilan tanishib chiqing. Agar siz o'rnatilgan funktsiyalardan foydalansangiz, ijro tezroq bajarilishi mumkin.

      Ogohlantirish

      • Xavfsizlik nuqtai nazaridan, ko'p odamlar makrolarni o'chirib qo'yishadi. Ish daftarchasini qabul qiluvchilarga makrolar borligini va bu makrolar ularning kompyuterlariga zarar etkazmasligini bildirganingizga ishonch hosil qiling.
      • Ushbu maqolada ishlatilgan funktsiya tegishli muammoni hal qilishning eng yaxshi usuli emas. Misol tilni boshqarish tuzilmalaridan foydalanishni tushuntirish uchun ishlatiladi.
      • VBA, boshqa tillar singari, Do, If va For -dan tashqari yana bir nechta boshqaruv tuzilmalariga ega. Bu erda muhokama qilingan tuzilma faqat funksiyaning manba kodida nima qilish mumkinligini tasvirlaydi. Internetda VBA -ni o'rganishga yordam beradigan ko'plab qo'llanmalar mavjud.

Tavsiya: