Excelda VBA-ning o'rta funktsiyasidan qanday foydalanish (3 ta misol)

  • Buni Baham Ko'Ring
Hugh West

Biz Excelda VBA bilan ishlashda foydalanadigan eng muhim va keng qoʻllaniladigan funksiyalardan biri VBA ning Oʻrta funksiyasi hisoblanadi. U kirish sifatida satrni oladi va chiqish sifatida satrning o'rtasidan ma'lum miqdordagi belgilarni qaytaradi. Bugun ushbu maqolada men sizga VBA ning O'rta funktsiyasi dan qanday qilib to'g'ri misollar va rasmlar bilan foydalanish mumkinligini ko'rsataman.

Bu 8-chi belgidan boshlab “Anjela Ketrin Nevills” qatoridan 9 belgilarni qaytaradi. Bu “Ketrin” .

Amaliy kitobni yuklab oling

Vazifani bajarish uchun ushbu mashq kitobini yuklab oling. siz ushbu maqolani o'qiyapsiz.

VBA Mid Function.xlsm

Excelda VBA-ning o'rta funktsiyasiga kirish

Funktsiya maqsadi:

O'rta funktsiyasi kirish sifatida qiymat oladi va chiqish sifatida qiymatning berilgan pozitsiyasidan boshlab berilgan sonli belgilarni qaytaradi.

Qiymat satr, raqam yoki hatto boolean boʻlishi mumkin.

Masalan, agar siz O'rta("Anjela Ketrin Nevills",8,9) ni qo'shsangiz, "Ketrin" ni qaytaradi.

Agar siz Mid(12345,2,3) , ni qo'shsangiz, siz 234 ni olasiz.

Va Mid(False,2,3) ni qo'shing, siz als olasiz.

Sintaksis:

O'rta sintaksisi VBA ning funktsiyasibu:

=Mid(String,Start as Long,[Length])

Argumentlar:

Argument Majburiy / Majburiy emas Tushuntirish
String Majburiy Quyidagidan satr qaysi bir qator belgilar qaytariladi.
Boshlash Majburiy Qaytariladigan satrning boshlang'ich belgisi.
Uzunlik Ixtiyoriy Qaytariladigan belgilar soni. Standart 1.

Qaytish qiymati:

Oʻrtadan berilgan belgilar sonini qaytaradi berilgan pozitsiyadan boshlab satrning.

3 Excelda VBA oʻrta funksiyasiga misollar

Bu safar keling, Oʻrta funksiya dan VBA bir nechta misollar bilan batafsil.

1. Excelda VBA-ning o'rta funktsiyasidan foydalanib, ma'lum miqdordagi belgilarni ba'zi identifikatorlarning o'rtasidan ajratish

Bu erda biz IDlar va bilan ma'lumotlar to'plamini oldik. Saturn Group deb nomlangan kompaniyaning ayrim xodimlarining ismlari .

Bu yerda har birining 4- dan 7-chi belgilari. ID tegishli xodimning qoʻshilish yilini bildiradi.

Endi biz VBA ning Oʻrta funksiyasi yordamida Foydalanuvchi tomonidan belgilangan funksiya ni ishlab chiqamiz. Bu Xodim identifikatori dan har bir xodimning qo'shilish yilini chiqaradi.

Quyidagi VBA kodidan foydalanishingiz mumkin:

VBA kodi:

7432

Izoh: Ushbu kod Joining_Year deb nomlangan funktsiyani yaratadi.

Chiqish:

Buni ishga tushiring argument sifatida identifikatori bilan ishchi varaqingizning istalgan katagida ishlaydi.

Bu yerda, D4 katakchasiga formulani kiritdik:

=Joining_Year(B4)

Birinchi xodimning qoʻshilish yili 2021 qaytarildi.

Endi siz -ni sudrab oʻtishingiz mumkin. Qolgan xodimlarning qoʻshilish yillarini olish uchun Tutqichni toʻldiring.

Kodeksning tushuntirishi:

  • Birinchi, biz Qo'shilish_Yil deb nomlangan funktsiyani e'lon qilamiz, u Funktsiya Qo'shilish_Yili(ID) qatoriga kirish sifatida ID oladi.
  • Keyin identifikatordan 4 pozitsiyasidan boshlab 4 belgilarni, Joining_Year = Mid(ID, 4, 4) qatori orqali chiqaramiz.
  • End Function qatori funksiyaning oxirini e'lon qiladi.

2. Excelda VBA-ning o'rta funktsiyasidan foydalanib, ba'zi elektron pochta manzillaridan kengaytmalarni ajratib olish

Endi biz ma'lumotlar to'plamiga xodimlarning elektron pochta manzillarini o'z ichiga olgan yangi ustun qo'shdik.

Bu safar biz VBA ning Oʻrta funksiyasidan foydalangan holda elektron pochta manzillarining kengaytmalarini chiqaramiz.

VBA kodi quyidagicha bo'ladi:

VBA kodi:

5426

Izoh: Ushbu kod Kengaytma deb nomlangan funktsiyani yaratadi.

Chiqish:

Buni ishga tushiring E-pochta bilan ish varaqingizning istalgan katagida ishlaydiArgument sifatida manzilini ko'rsating.

Bu erda, E4 katakchaga formulani kiritdik:

=Extension(D4)

U birinchi elektron pochta manzilining kengaytmasini qaytardi.

Keyin barcha elektron pochta kengaytmalarini chiqarish uchun Toʻldirish dastagini sudrab oʻtishingiz mumkin. manzillar.

Kodeksning izohi

  • Birinchi, biz nomli funktsiyani e'lon qilamiz. Kengaytma u satr orqali istalgan nomni kiritadi Funktsiya kengaytmasi(Email_manzil) .
  • Keyin biz for-loop<2 bilan iteratsiyani boshlaymiz> bu E-pochta manzili ning har bir belgisini @ yoki yoʻqligini tekshirish uchun Agar Oʻrta(E-mail_manzil, i, 1) = “@” Keyin<2 qatori boʻyicha tekshiradi> .
  • Agar u @ ni topsa, u E-pochta manzili dan Kengaytma = Oʻrta(Email_manzil, i) qatori boʻyicha kerakli kengaytmani chiqaradi. + 1, Len(Email_Address) – (i + 4)) .
  • Nihoyat, funksiyaning tugashini e'lon qilamiz.

3. Ba'zi matnlarni o'z ichiga olgan yoki yo'qligini tekshirish

O'rta funktsiya ning eng muhim qo'llanilishidan biri bu matnda ma'lum bir matn bor yoki yo'qligini bilishdir. .

Keling, E-pochta manzillari tarkibida “gmail” atamasi bor yoki yoʻqligini tekshirish funksiyasini ishlab chiqamiz.

Quyidagilardan foydalanishingiz mumkin VBA kodi:

VBA kodi:

8012

Izoh: Bu kod funksiya yaratadi chaqirdi Tekshirish .

Natija:

Ushbu funksiyani istalgan katakda ishga tushirish argument sifatida ikkita matnli ishchi varaqingiz.

Bu yerda E4 katakchaga formula kiritdik:

=Checking(D4,"gmail")

U ha deb qaytardi, chunki birinchi elektron pochta manzili Gmail .

Keyin, siz Barcha elektron pochta identifikatorlari uchun xuddi shunday qilish uchun To'ldirish dastagi .

Kod tushuntirishi:

  • Birinchidan, Funktsiyani tekshirish(Matn1,Mat2) qatori boʻyicha argument sifatida ikkita matnni oladigan Tekshirish funksiyasini eʼlon qilamiz.
  • Keyin 1 pozitsiyasidan boshlab Matn1 ning har bir segmentini tekshiradigan for tsiklini boshlaymiz, u Mat2 ga teng yoki teng emasligini ko'rish uchun. , satr bo'yicha Agar O'rta(Matn1, i, Len(Mat2)) = Matn2 Keyin .
  • Agar u Text2 ni topsa, u “Ha” ni qaytaradi, aks holda “Yoʻq” ni qaytaradi.
  • Nihoyat, biz Funktsiyani tugatish qatori bo'yicha funktsiyani yakunlaymiz.

Eslash kerak bo'lgan narsalar

  • Oʻrta funksiya ning 1-chi argumenti har doim ham satr boʻlishi shart emas. Bu string , raqam yoki hatto boolean qiymati boʻlishi mumkin.
  • Lekin 2-chi va 3-chi argumentlar raqamlar boʻlishi kerak. Ular butun sonlar yoki kasrlar bo'lishi mumkin, lekin raqamlar bo'lishi kerak. Agar ular kasrlar bo'lsa, u holda O'rtafunktsiya ularni eng yaqin butun sonlarga aylantiradi.

Hugh West - bu sohada 10 yildan ortiq tajribaga ega bo'lgan yuqori tajribali Excel treneri va tahlilchisi. Buxgalteriya hisobi va moliya yo‘nalishi bo‘yicha bakalavr va biznes boshqaruvi bo‘yicha magistr darajasiga ega. Xyu o'qitishga ishtiyoqi bor va unga amal qilish va tushunish oson bo'lgan o'ziga xos o'qitish usulini ishlab chiqdi. Uning Excel bo'yicha ekspert bilimlari butun dunyo bo'ylab minglab talabalar va mutaxassislarga o'z malakalarini oshirishga va o'z martabalarida muvaffaqiyat qozonishlariga yordam berdi. Xyu o'z blogi orqali o'z bilimlarini dunyo bilan baham ko'radi, jismoniy shaxslar va korxonalarga o'z salohiyatini to'liq ro'yobga chiqarishga yordam berish uchun bepul Excel darsliklari va onlayn treninglarni taklif qiladi.