Excel familiyasining bosh harflari. Ism va familiyani birlashtirish. To'liq ismni toping

Excel familiyasining bosh harflari. Ism va familiyani birlashtirish. To'liq ismni toping

Ko'pincha, shartnoma, hisob-faktura, tijorat taklifi yoki boshqa hujjatni tuzishda biz mijozning familiyasi, ismi va otasining ismi bilan ishlaymiz. Ba'zan hujjat matnida mijozga murojaat qilish uchun to'liq ismni ajratish va faqat ismni olish kerak bo'ladi, ba'zan siz familiya va bosh harflarni qoldirib, imzo qo'ygan ustunni yaratishingiz kerak;

Albatta formulasini yozishingiz mumkin, bu to'liq ismdan kerakli ma'lumotlarni chiqaradi, lekin hatto tajribali odamga ham buni amalga oshirish uchun 5-7 daqiqa kerak bo'ladi. Agar matndagi familiyaning joylashuvini oldindan bilmasangiz nima bo'ladi? Ko'p osonroq va qulayroq dan tayyor funksiyalardan foydalaning VBA-Excel plaginlari.

To'liq ismda familiyani toping

Qo'shimchani o'rnatgandan so'ng, yangi xususiyat mavjud bo'ladi =FAMIYASI (toʻliq ismi), Qayerda

  • To'liq ism- to'liq nomini o'z ichiga olgan katakchaga matn yoki havola

Ushbu funktsiyaning maqsadi hujayradan faqat familiyani chiqarishdir. Bundan tashqari, buyurtma uning uchun muhim emas. Familiya matnning boshida, oxirida yoki o'rtasida paydo bo'lishi mumkin.

To'liq ismni toping

Nom uchun o'xshash funktsiya =NAME(toʻliq ismi). U qaerda joylashganligidan qat'i nazar, to'liq ismli matndan nom chiqaradi.

To'liq ismda otasining ismini toping

Ushbu seriyadagi so'nggi xususiyat - bu =OTA (TO'LIQ ISMI) otasining ismini chiqarish uchun.

Excelda to'liq ism bilan ishlashga misollar

Familiya va bosh harflarni ko'rsatish

Hujjatlarni rasmiylashtirishda keng tarqalgan vazifalardan biri bu familiya familiyasi otasining ismi familiyasi I. O matniga aylantirishdir. Siz uni quyidagi formuladan foydalanib hal qilishingiz mumkin:

FAMIYASI(A1)&" "&CHAP(NAME(A1))&". "&CHAP(OTA NAME(A1))&".

Bu biroz uzun, lekin menga ishoning, agar biz plagindagi funksiyalardan foydalanmasak, u ancha qisqa va aniqroq bo'lar edi.

Yana bir ortiqcha, matndagi familiyaning joylashuvi biz uchun muhim emas, bu funktsiya hamma narsani avtomatik ravishda aniqlaydi;

Biz avvalroq imkoniyatni ko'rib chiqdik to'liq ismni uning tarkibiy qismlariga bo'lish misolidan foydalanish. Buning uchun biz Excelning ustunlar bo'yicha matni vositasidan foydalandik.

Shubhasiz, bu Excelda juda muhim va foydali vosita bo'lib, ko'plab vazifalarni sezilarli darajada soddalashtiradi. Ammo bu usulning ozgina kamchiliklari bor. Agar, masalan, sizga doimiy ravishda ma'lum bir shaklda ma'lumot yuborilsa va siz uni doimiy ravishda bo'lishingiz kerak bo'lsa, unda bu ma'lum vaqtni oladi, bundan tashqari, agar ma'lumotlar sizga yana yuborilgan bo'lsa, unda siz hamma narsani qilishingiz kerak bo'ladi. yana operatsiyalar.

Agar biz to'liq ismni bo'lish misolini ko'rib chiqsak, u holda oldingi maqolalarda muhokama qilgan va funktsiyasidan foydalangan holda Excel matn formulalari yordamida matnni ajratish mumkin bo'ladi. Bunday holda, ma'lumotni ma'lum bir ustunga kiritish kifoya qiladi va formulalar matnni kerakli tarzda avtomatik ravishda ajratadi. Keling, ushbu misolni ko'rib chiqaylik.

Bizda to'liq ismlar ro'yxati bo'lgan ustun mavjud, bizning vazifamiz familiya, ism va otasining ismini alohida ustunlarga joylashtirishdir.

Keling, harakat rejasini batafsil tavsiflashga harakat qilaylik va muammoni hal qilishni bir necha bosqichlarga bo'ling.

Avvalo, siz uchun tushunarli bo'lishi uchun biz oraliq hisob-kitoblar uchun yordamchi ustunlarni qo'shamiz va oxirida barcha formulalarni birlashtiramiz.

Shunday qilib, 1 va 2-chi bo'shliqlar ustunlarini qo'shamiz. FIND funksiyasidan foydalanib, oldingi maqolada aytib o'tganimizdek, biz birinchi bo'shliqning o'rnini topamiz. Buning uchun "H2" katagiga formulani yozamiz

FIND(" ";A2;1)

Endi biz ikkinchi bo'shliqning tartib raqamini topishimiz kerak. Formula bir xil bo'ladi, lekin bir oz farq bilan. Agar biz bir xil formulani yozsak, funktsiya bizga birinchi bo'shliqni topadi, lekin bizga ikkinchi bo'sh joy kerak. Bu FIND funksiyasidagi uchinchi argumentni - boshlang'ich pozitsiyasini - ya'ni funksiya qidirilayotgan matnni qidiradigan pozitsiyani o'zgartirish kerakligini anglatadi. Biz ikkinchi bo'shliq har qanday holatda birinchi bo'shliqdan keyin ekanligini ko'ramiz va biz birinchi bo'shliqning o'rnini allaqachon topdik, ya'ni birinchi bo'shliq pozitsiyasiga 1 qo'shish orqali biz FIND funksiyasiga bo'sh joyni qidirishni aytamiz. birinchi bo'shliqdan keyingi birinchi harfdan boshlab. Funktsiya quyidagicha ko'rinadi:

Keling, matnning birinchi qismini - Familiyalarni ajratishni boshlaylik

Buning uchun biz funktsiyadan foydalanamiz, sizga ushbu funktsiyaning sintaksisini eslatib o'taman:

PSTR(matn; boshlang'ich_pozitsiyasi; raqam_belgilar), bu erda

  1. matn to'liq ism, bizning misolimizda bu A2 katak;
  2. boshlang'ich_pozitsiyasi- bizda 1, ya'ni birinchi harfdan boshlanadi;
  3. raqam_belgilar - familiya birinchi harfdan boshlab 1-bo'sh joygacha bo'lgan barcha belgilardan iborat ekanligini ko'ramiz. Va biz birinchi bo'shliqning o'rnini allaqachon bilamiz. Bu bo'shliqning o'zi minus 1 belgilar soni bo'ladi.

Formula quyidagicha ko'rinadi:

PSTR(A2 ;1 ;H2-1 )

Keling, matnning ikkinchi qismini - Ismni ajratishni boshlaylik

Yana =PSTR funksiyasidan foydalanamiz(matn; boshlang'ich_pozitsiyasi; raqam_belgilar), bu erda

  1. matn bir xil to'liq nomli matn, bizning misolimizda bu A2 katak;
  2. boshlang'ich_pozitsiyasi- bizning holatlarimizda Ism birinchi bo'shliqdan keyingi birinchi harf bilan boshlanadi, bu bo'shliqning o'rnini bilib, biz H2+1 olamiz;
  3. raqam_belgilar - belgilar soni, ya'ni nomdagi harflar soni. Bizning ismimiz ikkita bo'shliq orasida ekanligini ko'ramiz, ularning pozitsiyalari bizga ma'lum. Agar birinchi bo'shliqning o'rnini ikkinchi bo'shliq o'rnidan ayirib tashlasak, farqni olamiz, bu nomdagi belgilar soniga teng bo'ladi, ya'ni I2-H2.

Yakuniy formulani olamiz:

PSTR(A2 ;H2+1 ;I2-H2 )

Keling, matnning uchinchi qismini - otasining ismini ajratishni boshlaylik

Va yana =PSTR funksiyasi (matn; boshlang'ich_pozitsiyasi; raqam_belgilar), bu erda

  1. matn bir xil to'liq nomli matn, bizning misolimizda bu A2 katak;
  2. boshlang'ich_pozitsiyasi- Ota ismimiz 2-probeldan keyin joylashgan bo‘lib, demak, boshlang‘ich pozitsiya ikkinchi bo‘shliqning o‘rniga bitta belgi yoki I2+1 qo‘shilib teng bo‘ladi;
  3. raqam_belgilar - bizning holatlarimizda otasining ismidan keyin hech qanday belgilar yo'q, shuning uchun biz shunchaki istalgan raqamni olishimiz mumkin, asosiysi bu otasining ismidagi belgilar sonidan kattaroqdir, men katta chegara bilan raqamni oldim - 50

Biz funktsiyani olamiz

PSTR(A2 ;I2+1 ;50 )

Keyin barcha uchta katakchani tanlang va formulalarni pastga torting va kerakli natijani oling. Bu yerda tugatishingiz mumkin yoki matn boʻlinish formulalarining oʻziga boʻshliqlar oʻrni boʻyicha oraliq hisob-kitoblarni yozishingiz mumkin. Buni qilish juda oson. Birinchi bo'shliq uchun hisoblash H2 katakchada ekanligini ko'ramiz - FIND(" ";A2;1) , ikkinchi bo'shliq uchun esa I2 katakchada - FIND(" ";A2;H2 +1) . Biz I2 katak formulasida H2 borligini ko'ramiz, biz uni formulaning o'ziga o'zgartiramiz va I2 katakchada ichki o'rnatilgan formulani olamiz.

Biz familiyani tanlash uchun birinchi formulani ko'rib chiqamiz va bu erda H2 yoki I2 qaerda joylashganligini ko'ramiz va ularni Ism va Familiya kabi formulalarga o'zgartiramiz.

  • Familiya =PSTR(A2,1,H2 -1) biz =PSTR(A2,1,FIND(" ",A2,1) -1) olamiz
  • Nomi =PSTR(A2;H2 +1;I2 -H2) ​​olamiz =PSTR(A2;FIND(" ";A2;1) +1;
    FIND(" ";A2; FIND(" ";A2;1)+1)-TOPISH(" ";A2;1) )
  • Otasining ismi =PSTR(A2;I2 +1;50) biz =PSTR(A2; FIND(" ";A2; FIND(" ";A2;1)+1)+1;50)

Endi bo'sh joy bilan oraliq pozitsiyani hisoblash xavfsiz tarzda olib tashlanishi mumkin. Bu oddiylik uchun avval oraliq ma'lumotlar qidirilayotganda, so'ngra funksiya bir-birining ichiga joylashtiriladigan usullardan biridir. Qabul qiling, agar siz bir vaqtning o'zida bunday katta formulani yozsangiz, chalkashib ketish va xato qilish oson.

Umid qilamizki, ushbu misol Excel matn funksiyalari matn bilan ishlashda qanchalik foydali ekanligini va ular bir xil turdagi ma'lumotlar formulalari yordamida matnni avtomatik ravishda ajratish imkonini beradi. Agar sizga maqola yoqqan bo'lsa, +1 ni bosganingizdan minnatdor bo'lamiz va menga yoqadi. VKontakte guruhimizga obuna bo'ling va qo'shiling.

2-misol: Excelda formula yordamida matnni ustunlarga qanday ajratish mumkin

Amalda juda tez-tez uchrab turadigan ikkinchi misolni ko'rib chiqaylik. Misol avvalgisiga o'xshaydi, ammo bo'linishi kerak bo'lgan ko'proq ma'lumotlar mavjud. Ushbu misolda men sizga muammoni tezda hal qilish va chalkashmaslik imkonini beradigan texnikani ko'rsataman.

Aytaylik, bizda vergul bilan ajratilgan raqamlar ro'yxati bor, biz matnni har bir raqam alohida katakchada bo'lishi uchun ajratishimiz kerak (vergullar o'rniga bu boshqa har qanday belgilar, shu jumladan bo'shliqlar ham bo'lishi mumkin). Ya'ni, biz matnni so'zlarga ajratishimiz kerak.


Eslatib o'tamiz, bu muammoni biz allaqachon ko'rib chiqqan usul yordamida qo'lda (formulalarsiz) hal qilish mumkin. Bizning holatlarimizda buni formulalar yordamida qilishimiz kerak.

Avval biz matnni ajratadigan umumiy bo'linishni topishimiz kerak. Bizning holatda, bu vergul, lekin masalan, birinchi vazifada biz to'liq ismni ajratdik va ajratuvchi bo'sh joy edi. Bizning ikkinchi misolimiz universalroq (katta hajmdagi ma'lumotlar mavjud bo'lganda qulayroqdir), shuning uchun biz nafaqat to'liq ismni alohida katakchalarga, balki butun jumlani - har bir so'zni alohida katakka ajratishimiz mumkin. Aslida, bu savol sharhlarda paydo bo'ldi, shuning uchun ushbu maqolani to'ldirishga qaror qilindi.

Qulaylik uchun biz ushbu ajratgichni qo'shni ustunda ko'rsatamiz, shunda biz uni formulada yozishimiz shart emas, shunchaki katakka murojaat qilishimiz kerak. Bu, shuningdek, hujayralardagi ajratgichni o'zgartirish orqali boshqa muammolarni hal qilish uchun fayldan foydalanishga imkon beradi.


Endi texnikaning asosiy mohiyati.

1-qadam. Yordamchi ustunda biz FIND funksiyasidan foydalangan holda birinchi ajratgichning o'rnini topamiz. Men funktsiyani batafsil tasvirlab bermayman, chunki biz uni avvalroq ko'rib chiqdik. Keling, formulani D1 ga yozamiz va uni barcha qatorlarga kengaytiramiz

TOPISH(B1;A1;1 )

Ya'ni, biz matnda 1-pozitsiyadan boshlab vergulni qidiramiz


TOPISH($B1 ;$A1;D1+1 )

Birinchidan, formulani o'ngga tortganda, katakcha havolalari siljimasligi uchun kerakli qiymat va matn ustunini tuzatamiz. Buni amalga oshirish uchun siz B va A ustunlaridan oldin dollar yozishingiz kerak - yoki qo'lda yoki A1 va B1 ni tanlang, F4 tugmachasini uch marta bosing, shundan so'ng havolalar nisbiy emas, mutlaq bo'ladi.

Ikkinchidan: biz uchinchi argumentni hisoblaymiz - oldingi ajratuvchining pozitsiyasi sifatida pozitsiyaning boshlanishi (biz uni yuqorida topdik) plyus 1, ya'ni D1+1 chunki biz ikkinchi ajratuvchi aynan birinchi ajratuvchidan keyin ekanligini bilamiz va uni hisobga olishimiz shart emas.

Keling, formulani yozamiz va uni pastga tortamiz.


3-qadam. Biz barcha boshqa ajratuvchilarning pozitsiyalarini topamiz. Buning uchun ikkinchi ajratgichni topish formulasini (2-bosqich) kichik chegara bilan alohida ajratilgan qiymatlarning umumiy soniga teng bo'lgan katakchalar soni bo'yicha o'ngga kengaytiring. Keling, barcha ajratuvchi pozitsiyalarni olaylik. Bu erda #Value xatosi qiymatlar tugashini va formula endi chegaralagichlarni topa olmayotganligini anglatadi. Biz quyidagilarni olamiz


4-qadam. Biz birinchi raqamni PSTR funksiyasidan foydalanib matndan ajratamiz.

PSTR(A1;1 ;D1-1 )

Bizning boshlang'ich pozitsiyamiz 1, biz belgilar sonini birinchi ajratuvchining pozitsiyasi minus 1 sifatida hisoblaymiz: D1-1 formulani pastga torting

5-qadam. P1 katakchada PSTR funksiyasidan foydalanib ikkinchi so'zni ham topamiz

PSTR($A1;D1+1;E1-D1-1)

Ikkinchi raqamning boshlang'ich pozitsiyasi birinchi verguldan keyin boshlanadi. Biz D1 katakchadagi birinchi vergulning o'rnini olamiz, bittasini qo'shamiz va ikkinchi raqamimizning boshlang'ich pozitsiyasini olamiz.

Belgilar soni uchinchi ajratuvchining pozitsiyasi va ikkinchi va minus bitta belgi o'rtasidagi farq, ya'ni E1-D1-1

Formulani o‘ngga sudraganda harakatlanmasligi uchun dastlabki matnning A ustunini tuzatamiz.

6-qadam. Keling, 5-bosqichda olingan formulani o'ngga va pastga cho'zamiz va matnni alohida katakchalarga olamiz.

7-qadam Asosan, bizning muammomiz allaqachon hal qilingan, ammo go'zallik uchun xuddi shu P1 katakchasida biz xatoni aniqlaydigan formulani yozamiz va uni bo'sh qiymat bilan almashtiramiz. Shuningdek, siz yordamchi ustunlarni to'sqinlik qilmasligi uchun ularni guruhlashingiz va yig'ishingiz mumkin. Muammoning yakuniy yechimini olamiz

XATO(PSTR($A1,D1+1,E1-D1-1); "")

Eslatma. Biz ajratuvchining birinchi pozitsiyasini va so'zning birinchi bo'linishini boshqalardan farqli ravishda qildik va shuning uchun biz formulani faqat ikkinchi qiymatlardan kengaytira oldik. Muammoni yozish paytida men muammoni soddalashtirish mumkinligini payqadim. Buning uchun C ustunida birinchi ajratuvchining qiymati uchun 0 ni kiritish kerak edi. Shundan so'ng biz birinchi ajratuvchining qiymatini topamiz

TOP ($B1,$A1,C1+1)

va birinchi matn sifatida

PSTR($A1;C1+1;D1-C1-1)

Shundan so'ng, siz formulani qolgan qiymatlarga darhol kengaytirishingiz mumkin. Men ushbu variantni yuklab olish uchun misol sifatida qoldiraman. Asosan, fayl shablon sifatida ishlatilishi mumkin. "A" ustuniga ma'lumotlarni kiriting, "B" ustunida ajratgichni belgilang, formulalarni kerakli hujayralar soniga cho'zing va natijani oling.

Diqqat! Izohlarda ta'kidlanishicha, bizda matn oxirida chegaralovchi bo'lmagani uchun biz oxirgi ajratuvchidan satr oxirigacha bo'lgan belgilar sonini hisoblamaymiz, shuning uchun oxirgi ajratilgan matn yo'q. Muammoni hal qilish uchun siz birinchi bosqichda manba matni yoniga yordamchi ustun qo'shishingiz mumkin, bu erda siz ushbu matnni ajratuvchi bilan birlashtirasiz. Shunday qilib, biz matn oxirida ajratgichga ega bo'lamiz, ya'ni bizning formulalarimiz uning o'rnini hisoblab chiqadi va hamma narsa ishlaydi.

Yoki ikkinchi yechim 3-bosqichda, biz ajratuvchilarning pozitsiyalarini hisoblash uchun formula tuzib, uni to'ldirganimizda. Tekshiring, agar xato bo'lsa, aniq katta raqamni ko'rsating, masalan, 1000.

XATO (TOPISH($B1,$A1,C1+1),1000)


Funktsiya parametr sifatida "Familiya ismi otasining ismi" ko'rinishidagi matn qatorini oladi va ism va otaning ismini kesib, faqat bosh harflarni qoldiradi - "Familiya I. O" shaklida.

Bu funksiya foydalanish mumkin UDF sifatida (foydalanuvchi tomonidan belgilangan funktsiyalar) Excel varaq hujayralarida.
(ilovadagi misolga qarang)

Funktsiya xususiyatlarining tavsifi - forumda: programmersforum.ru/showpost.php?p=757147&postcount=6

To'liq ismni qismlarga bo'lishning aniq rasmiy algoritmi yo'q.
Ona tilida so'zlashuvchining nasabnomasi va tilini bilmasdan turib, familiyani berilgan ismdan rasmiy ravishda ajratib bo'lmaydi. Siz faqat turli xil evristikalardan foydalanishingiz mumkin.

Bundan tashqari, turli organlar (turli vaqtlarda) ma'lum bir holatda bosh harflar qanday ko'rinishi kerakligi haqida turli xil qarashlarga ega edi.
Federal migratsiya xizmati hujjatlari boshqa, Markaziy bank registratorlari boshqa, tijorat hujjatlarini tayyorlash esa boshqa.
Shunday qilib, ba'zi xizmatlar Janubi-Sharqiy Osiyoning 2-3 ta murakkab qisqa nomini qisqartirmaslikni talab qiladi. Lekin ba'zilari yo'q.

Ha, bosh harflar o'ngda yoki chapda qaerda bo'lishi kerakligi haqidagi savol bilan - hech qanday noaniqlik yo'q. Yo'q, albatta, rus tilining qoidalari bor... Lekin u yoki bu tuzilmaning ishbilarmonlik aylanmasi qoidalari ustunlik qiladi (yoki oddiygina hujjatlarni qabul qiluvchi xodimning chap orqa oyog'i xohlaganidek)...

Ko'pchilikda savol tug'ilishi mumkin: bu butun hayvonot bog'i qayerdan keladi va nima uchun bularning barchasi kerak? Qoidaga ko'ra, bu Don Pedrosning barchasi Rossiya Federatsiyasi yurisdiktsiyasidan tashqarida ilgari berilgan hujjatlar asosida Rossiya pasportini olgan xorijiy fuqarolardir. Huquqiy holatlar boshqacha. Ko'pincha yangi rus pasportiga ona tilidan kirill alifbosiga transliteratsiya yoziladi.
Tataristonda -ogli va -qizi rus pasportlari beriladi. Men 2007 yildagi pasportiga ko'ra Mustafo Oleg o'g'li bo'lgan mijozni uchratdim...

Variant solishtiring Matnni umumiy funktsiya bosh harflari(lar satr sifatida , ixtiyoriy ToChap sifatida mantiqiy = noto'g'ri ) Dim sv Variant sifatida , sF String sifatida , sI sifatida String , sO qator sifatida , i As Long , k As Long Application.Volatile True If InStr(s) , "." ) > 0 Yoki Len(Trim$(s)) = 0 Keyin Bosh harflar = s "Aniq ko'rsatilgan bosh harflar yoki bo'sh qator Chiqish Funktsiya End If "Kirish qatorini normallashtiring s = Replace(Application.Trim(s), Chr(30), "-" ) s = Replace(Almashtirish(lar, " -" , "-" ), "- " , "-" ) s = Almashtirish(Almashtirish (s, "" " , """ ), """ , """) "O" Genri Aleksandr; O" Genri Aleksandr; N" Homo; D" Trevil sv = Split(lar) sI = vbNullString: sO = vbNullString: sF = vbNullString i = UBound (sv) Agar i< 1 Then Инициалы = s: Exit Function Select Case sv(i) Case "оглы" , "кызы" , "заде" “bey, bek, zode, zul, ibn, qizi, ogli, ol, posho, ul, xon, shah, ed, el. i = i - 1 sO = UCase(Left$(sv(i), 1)) & "." i = i - 1 Case "pasha" , "xon" , "shoh" , "shaykh" i = i - 1 Case Else Case Right $(sv(i), 3) Case "vich" , "vna" Agar i >= 2 Keyin "Rossiya otasining ismi uchun standart tugatish sO = SropWord(sv(i)) Boshqa "Ism Bosan Slavichga o'xshaydi sI = SropWord(sv(i)): sF = sv(0) End If i = i - 1 Case Else k = InStr(sv(i), "-" ) Agar k > 0 bo'lsa, Case Mid$(sv() ni tanlang. i), k + 1) “ogli”, “qizi”, “zade”, “ugli”, “uuly”, “ool” hollari “-o‘g‘li” va “-zode” turidagi “nasab” varianti Mahmud-o‘g‘li sO = UCase(Left$(sv(i), 1)) & "." i = i - 1 Agar i = 0 bo'lsa, sI = sO sO = vbNullString End If End Agar boshqa bo'lsa, i > 2 bo'lsa, keyin Case sv(i - 1) Case "ibn" , "bin" , "bin" sO = UCase(Chap) ni tanlang. $(sv(i), 1)) & "." “Usertal Alisher bin Sulaymon i = i - 2 End Boshqasini tanlang " Ben Edvard sI = UCase(Left$(sv(i), 1)) Agar Len(sv(i)) > 1 Unda sI = sI & "." i = i - 1 End If End Select End Select Case sv(0) Case "de" , "del" , "dos" , "sept" , "van" , "fon" , "tsu" Agar i >= 2 bo'lsa, sF = sv(0) ) & " " & StrConv(sv(1), vbProperCase) sI = SropWord(sv(2)) Aks holda "De Nikolai Agar Len(sI) > 0 boʻlsa, sF = sv(0) & " " & StrConv(sv(1) ), vbProperCase) Else sF = StrConv(sv(0), vbProperCase): sI = SropWord(sv(1)) End Agar boshqa holat bo'lsa End Agar Len(sF) = 0 bo'lsa. “Biz hali familiya borasida bir qarorga kelganimiz yo‘q. sF = StrConv(sv(0), vbProperCase) Agar Len(sI) = 0 bo'lsa, sI = SropWord(sv(1)) End If End Tanlash Agar ToChap bo'lsa Initial = sI & sO & " " & sF Boshqa Bosh harflar = sF & " " & sI & sO End Funktsiya Ochiq Funktsiya SropWord(lar Variant sifatida ) String sifatida Agar Len(lar) = 1 bo'lsa, SropWord = s Aks holda ss$ = UCase(Left$(s, 1)) & "." : k = InStr(s, "-" ) Agar k > 0 boʻlsa, ss$ = ss$ & "-" & Mid$(s, k + 1, 1) & "." SropWord = ss$ End If End funktsiyasi

Qo'shiqHajmi

Excelda ro'yxat formulalar bilan tuzatilishi mumkin - birinchi va o'rta ismlarni bosh harflar bilan almashtiring, hujayralardagi so'zlarni jumlaga birlashtiring, Excel ro'yxatiga so'zlarni kiriting.
Bizda familiya, ism va otasining ismi turli katakchalarda yozilgan jadval mavjud. Biz ularni bitta katakka joylashtirishimiz kerak. Ro'yxatni qo'lda qayta yozish uzoq vaqt talab etadi. Ammo Excel jadvalida maxsus funktsiya mavjud.Ikkita variant mavjud.
Birinchi variant.
Bizda bu ro'yxat bor.
D1 katakchadagi to‘liq ismimizni bir gapda yozishimiz kerak.Ushbu katakchaga formulani yozamiz (D1). Hujayra ustiga bosing (uni faol qiling).
"Funktsiyalar kutubxonasi" bo'limidagi "Formulalar" yorlig'iga o'ting, "Matn" ni tanlang va "CONCATENATE" funksiyasini tanlang.Ko'rsatilgan oynada biz bitta jumlaga birlashtirishimiz kerak bo'lgan hujayralar manzillarini ko'rsatamiz. Bu shunday chiqdi.

To'liq ism bo'sh joysiz yoziladi. Buni tuzatish uchun formulani yaxshilash kerak.Hujayra manzillari orasiga nuqta-verguldan keyin yoziladi" " . Natija quyidagi formuladir.
=BIRLASH (A1;" ";B1;" ";C1)
Bu shunday chiqdi.
Endi formulani ustunga ko'chiring.
Ikkinchi variant.
CONCATENATE funktsiyasi o'rniga siz shunchaki ampersand (&) tugmasini bosishingiz mumkin.Formula shunday ko'rinadi.
=A2&B2&C1
Natija birinchi variantda bo'lgani kabi. Agar so'zlar orasida bo'sh joy bo'lmasa, bo'sh joy qo'ying (" ").
Formula shunday bo'ladi.=A2&" "&B2&" "&C2
Siz nafaqat so'zlarni, balki raqamlarni ham birlashtira olasiz. mumkin Excelda hujayra ma'lumotlaridan gap tuzing.
Formulalarni formaning kerakli kataklariga o'rnatishingiz mumkin.Misol uchun, bizda manzillari bo'lgan mijozlar ro'yxati mavjud.

Biz taklif qilishimiz kerak. Formulani katakka yozamiz.
=A2&" "&B2&" "&C2&" "&"yashaydi"&" "&"g."&" "&D2&" "&"ko'cha."&" "&E2&" "&"d."&" "&F2&" ."
Bu taklif edi.

Biz har qanday taklifni ishlab chiqishda ushbu tamoyildan foydalanamiz.
Agar hujayralardagi matn allaqachon yozilgan bo'lsa, lekin bizga kerak qo'shimcha so'zlarni kiriting mavjudlaridan oldin, keyin bu formula yordamida amalga oshirilishi mumkin.Bizda bu ro'yxat bor.
Familiyalardan oldin "Ijarachi" so'zini kiritishimiz kerak.Yangi ustunning katagiga formulani yozamiz.
="Ijarachi"&" "&A8
Ushbu formulani ustunga ko'chiring. Natijada quyidagi ro'yxat paydo bo'ladi.
Birinchi ustunni yashirish yoki formulalarsiz yangi ustunning qiymatini nusxalash, birinchi ustunni va formulali ikkinchi ustunni o'chirish mumkin.
Hujayradagi matnga matn, raqamlar, belgilar qo'shishning yana bir usuli, maqolaga qarang " Excel matn kataklariga matn qo'shing ".
Formulalardan foydalanib, siz ism, otasining ismi va familiyasi to'liq yozilgan ro'yxatni o'zgartirishingiz mumkin familiyasi va bosh harflari bilan ro'yxat. Masalan, hujayra shunday deydi:
Keyingi ustunga quyidagi formulani yozamiz.
=QO'SHISH(CHAP(BO'SHOQ(A1),TOPI)(" ",BO'SHOQ(A1),1)),PSTR(BO'SHOSHI(A1),TOPISH(" ",BO'LON(A1),1)+1,1);" .";PSTR(SPACE(A1); FIND(" ";BO'SHOQ(A1); FIND(" ";SPACE(A1);1)+1)+1;1);."")
sodir bo'ldi.
Agar so'zlar orasida qo'shimcha bo'shliqlar bo'lsa, ularni olib tashlashingiz mumkin. Bu haqda ko'proq maqolada o'qing " Excelda qo'shimcha bo'shliqlarni qanday olib tashlash mumkin". Xuddi shu usullardan foydalanib, siz formuladagi raqamlar orasidagi bo'shliqlarni olib tashlashingiz mumkin, chunki qo'shimcha bo'shliqlar hisoblashda xatolikka olib kelishi mumkin yoki formula hisobga olinmaydi.
Siz ketma-ket ma'lumotlarni oxirgi kataklardan birinchisiga ko'chirishingiz mumkin, chiziqni teskari aylantiring. Masalan, hujayralarda shunday yozilgan: birinchi katakda Ivanov, ikkinchisida - Mariya. Birinchi katakka Mariyani, ikkinchisiga Ivanovani yozishimiz kerak.Buni katta jadvalda qanday tezda qilish kerak, maqolaga qarang "".

ko'rishlar