Სარჩევი
დღეს ჩვენ გავაგრძელებთ Excel-ის მორგებული ფუნქციების შესწავლას. როგორც უკვე იცით, როგორ შექმნათ UDF-ები (და, იმედი მაქვს, თქვენც სცადეთ მათი გამოყენება თქვენს Excel-ში), მოდით, ჩავუღრმავდეთ და ვისწავლოთ როგორ გამოიყენოთ და შეინახოთ მომხმარებლის მიერ განსაზღვრული ფუნქციები Excel-ში.
უფრო მეტიც, ჩვენ გაჩვენებთ, თუ როგორ მარტივად შეინახოთ თქვენი ფუნქციები Excel-ის დამატებით ფაილში, რათა გამოიყენოთ ისინი მოგვიანებით რამდენიმე დაწკაპუნებით.
მაშ ასე, აი რაზე ვისაუბრებთ:
UDF-ის გამოყენების სხვადასხვა გზები Excel-ში
UDF-ების გამოყენება სამუშაო ფურცლებში
მას შემდეგ რაც დაადასტურებთ, რომ თქვენი UDF-ები სწორად მუშაობენ, შეგიძლიათ გამოიყენოთ ისინი Excel-ში ფორმულებში ან VBA კოდში.
თქვენ შეგიძლიათ გამოიყენოთ მორგებული ფუნქციები Excel-ის სამუშაო წიგნში ისევე, როგორც ჩვეულებრივ ფუნქციებს იყენებთ. მაგალითად, უბრალოდ ჩაწერეთ უჯრედში ქვემოთ მოცემული ფორმულა:
= GetMaxBetween(A1:A6,10,50)
UDF შეიძლება გამოყენებულ იქნას ჩვეულებრივ ფუნქციებთან ერთად. მაგალითად, დაამატეთ ტექსტი გამოთვლილ მაქსიმალურ მნიშვნელობას:
= CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))
შედეგს ხედავთ ქვემოთ მოცემულ ეკრანის სურათზე:
თქვენ შეუძლია იპოვოს რიცხვი, რომელიც ორივე არის მაქსიმალური და არის 10-დან 50-მდე დიაპაზონში.
მოდით, შევამოწმოთ სხვა ფორმულა:
= INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the
მორგებული ფუნქცია GetMaxBetween ამოწმებს B2:B9 დიაპაზონს და პოულობს მაქსიმალურ რიცხვს 10-დან 50-მდე. შემდეგ, INDEX + MATCH-ის გამოყენებით, მივიღებთ პროდუქტის სახელს, რომელიც შეესაბამება ამ მაქსიმალურ მნიშვნელობას:
როგორც ხედავთ, მორგებული ფუნქციების გამოყენება არც თუ ისე განსხვავდება ჩვეულებრივი Excel-ისგანფუნქციები.
ამის გაკეთებისას გახსოვდეთ, რომ მომხმარებლის მიერ განსაზღვრულ ფუნქციას შეუძლია მხოლოდ მნიშვნელობის დაბრუნება, მაგრამ ვერ შეასრულებს სხვა მოქმედებებს. წაიკითხეთ მეტი მომხმარებლის მიერ განსაზღვრული ფუნქციების შეზღუდვების შესახებ.
UDF-ის გამოყენება VBA პროცედურებსა და ფუნქციებში
UDF-ების გამოყენება ასევე შესაძლებელია VBA მაკროებში. ქვემოთ შეგიძლიათ იხილოთ მაკრო კოდი, რომელიც ეძებს მაქსიმალურ მნიშვნელობას 10-დან 50-მდე დიაპაზონში აქტიური უჯრედის შემცველ სვეტში.
Sub MacroWithUDF() Dim Rng As Range, maxcase, i As Long With ActiveSheet.Range( უჯრედები(ActiveCell.CurrentRegion.Row, ActiveCell.Column), Cells(ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Row - 1, ActiveCell.Column)) მაქსიმალური = GetMaxBetween(.Cells50) = 10 Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End With End Subმაკრო კოდი შეიცავს მორგებულ ფუნქციას
GetMaxBetween(.Cells, 10, 50)
ის პოულობს მაქსიმალურ მნიშვნელობას აქტიურ სვეტში. მაშინ ეს მნიშვნელობა ხაზგასმული იქნება. თქვენ შეგიძლიათ იხილოთ მაკროს შედეგი ქვემოთ მოცემულ ეკრანის სურათზე.
მორგებული ფუნქციის გამოყენება ასევე შესაძლებელია სხვა მორგებული ფუნქციის შიგნით. ადრე ჩვენს ბლოგზე განვიხილეთ რიცხვის ტექსტად გადაქცევის პრობლემა მორგებული ფუნქციის გამოყენებით, სახელად SpellNumber .
მისი დახმარებით ჩვენ შეგვიძლია მივიღოთ მაქსიმალური მნიშვნელობა დიაპაზონიდან და დაუყოვნებლივ. ჩაწერეთ ტექსტის სახით.
ამისთვის ჩვენ შევქმნით ახალ მორგებულ ფუნქციას, რომელშიც გამოვიყენებთ ფუნქციებსჩვენთვის უკვე ნაცნობი GetMaxBetween და SpellNumber .
ფუნქცია SpellGetMaxBetween(rngCells როგორც დიაპაზონი, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxCBetween,Minr) ფუნქციაროგორც ხედავთ, GetMaxBetween ფუნქცია არის არგუმენტი სხვა მორგებული ფუნქციისთვის, SpellNumber . ის განსაზღვრავს მაქსიმალურ მნიშვნელობას, როგორც ეს უკვე ბევრჯერ გავაკეთეთ. ეს რიცხვი შემდეგ გარდაიქმნება ტექსტად.
ზემოთ სკრინშოტზე ხედავთ, თუ როგორ პოულობს ფუნქცია SpellGetMaxBetween მაქსიმალურ რიცხვს 100-დან 500-მდე და შემდეგ გარდაქმნის მას ტექსტად.
UDF-ის გამოძახება სხვა სამუშაო წიგნებიდან
თუ თქვენ შექმენით UDF თქვენს სამუშაო წიგნში, ეს, სამწუხაროდ, არ ნიშნავს, რომ თქვენ საერთოდ არ შეგექმნებათ რაიმე პრობლემა.
ჩემი გამოცდილებიდან გამომდინარე, მომხმარებელთა უმეტესობა ადრე თუ გვიან ქმნის მაკროებისა და მორგებული ფუნქციების პერსონალურ კოლექციას ინდივიდუალური პროცესებისა და გამოთვლების ავტომატიზაციისთვის. და აქ ჩნდება პრობლემა - მომხმარებლის მიერ განსაზღვრული ფუნქციების კოდი Visual Basic-ში უნდა იყოს შენახული სადმე, რათა მოგვიანებით გამოიყენებოდეს სამუშაოში.
მორგებული ფუნქციის გამოსაყენებლად, სამუშაო წიგნი, სადაც ის შეინახეთ, ღია უნდა იყოს. თქვენს Excel-ში. თუ ეს ასე არ არის, თქვენ მიიღებთ #NAME! შეცდომა მისი გამოყენების მცდელობისას. ეს შეცდომა მიუთითებს იმაზე, რომ Excel-მა არ იცის ფუნქციის სახელი, რომლის გამოყენებაც გსურთ ფორმულაში.
მოდით, გადავხედოთ გზებსრომელიც შეგიძლიათ გამოიყენოთ თქვენს მიერ შექმნილი მორგებული ფუნქციები.
მეთოდი 1. დაამატეთ სამუშაო წიგნის სახელი ფუნქციას
შეგიძლიათ მიუთითოთ სამუშაო წიგნის სახელი, რომელშიც ის მდებარეობს, სახელის წინ ფუნქცია. მაგალითად, თუ შეინახეთ მორგებული ფუნქცია GetMaxBetween() სამუშაო წიგნში სახელად My_Functions.xlsm , მაშინ უნდა შეიყვანოთ შემდეგი ფორმულა:
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
მეთოდი 2. შეინახეთ ყველა UDF ერთ საერთო ფაილში
შეინახეთ ყველა მორგებული ფუნქცია ერთ სპეციალურ სამუშაო წიგნში (მაგალითად, My_Functions.xlsm ) და დააკოპირეთ სასურველი ფუნქცია მისგან მიმდინარე სამუშაო წიგნი, საჭიროების შემთხვევაში.
ყოველთვის, როცა შექმნით ახალ მორგებულ ფუნქციას, თქვენ უნდა დააკოპიროთ მისი კოდი სამუშაო წიგნში, რომელშიც გამოიყენებთ მას. ამ მეთოდით შეიძლება წარმოიშვას რამდენიმე უხერხულობა:
- თუ ბევრი სამუშაო ფაილია და ფუნქცია ყველგან არის საჭირო, მაშინ კოდი უნდა დაკოპირდეს თითოეულ წიგნში.
- გახსოვდეთ, შეინახეთ სამუშაო წიგნი მაკრო ჩართული ფორმატში (.xlsm ან .xlsb).
- ასეთი ფაილის გახსნისას, მაკროებისგან დაცვა ყოველ ჯერზე გამოჩნდება გაფრთხილება, რომელიც უნდა დადასტურდეს. ბევრ მომხმარებელს ეშინია, როდესაც ხედავს ყვითელი ზოლის გაფრთხილებას, რომელიც სთხოვს მათ ჩართონ მაკრო. იმისათვის, რომ არ ნახოთ ეს შეტყობინება, თქვენ უნდა გამორთოთ Excel-ის დაცვა მთლიანად. თუმცა, ეს შეიძლება ყოველთვის არ იყოს სწორი და უსაფრთხო.
ვფიქრობ, დამეთანხმებით, რომ მუდმივად ვხსნითფაილი და მისგან მომხმარებლის მიერ განსაზღვრული ფუნქციების კოდის კოპირება ან ამ ფაილის სახელის ფორმულაში ჩაწერა არ არის საუკეთესო გამოსავალი. ამგვარად, მივედით მესამე გზაზე.
მეთოდი 3. შექმენით Excel-ის დანამატი ფაილი
ვფიქრობ, საუკეთესო გზაა ხშირად გამოყენებული პერსონალური ფუნქციების შენახვა Excel-ის დამატებით ფაილში . დანამატის გამოყენების უპირატესობები:
- თქვენ უნდა დაუკავშიროთ დანამატი Excel-ს მხოლოდ ერთხელ. ამის შემდეგ შეგიძლიათ გამოიყენოთ მისი პროცედურები და ფუნქციები ამ კომპიუტერის ნებისმიერ ფაილში. თქვენ არ გჭირდებათ თქვენი სამუშაო წიგნების შენახვა .xlsm და .xlsb ფორმატებში, რადგან წყაროს კოდი არ შეინახება მათში, არამედ დამატებით ფაილში.
- თქვენ აღარ შეგაწუხებთ მაკროებისგან დაცვა, რადგან დანამატები ყოველთვის მიმართეთ სანდო წყაროებს.
- დამატება ცალკე ფაილია. ადვილია მისი კომპიუტერიდან კომპიუტერზე გადატანა, კოლეგებთან გაზიარება.
დამატების შექმნისა და გამოყენების შესახებ მოგვიანებით ვისაუბრებთ.
დამატების გამოყენება- პერსონალური ფუნქციების შესანახად
როგორ შევქმნა ჩემი საკუთარი დანამატი? მოდით გავიაროთ ეს პროცესი ეტაპობრივად.
ნაბიჯი 1. შექმენით დამატებითი ფაილი
გახსენით Microsoft Excel, შექმენით ახალი სამუშაო წიგნი და შეინახეთ იგი ნებისმიერი შესაფერისი სახელით (მაგალითად, My_Functions) დანამატის ფორმატში. ამისათვის გამოიყენეთ მენიუ ფაილი - შენახვა როგორც ან F12 ღილაკი. აუცილებლად მიუთითეთ ფაილის ტიპი Excel Add-in :
თქვენს დანამატს ექნება გაფართოება .xlam.
რჩევა. გთხოვთ გაითვალისწინოთ, რომნაგულისხმევად Excel ინახავს დანამატებს C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns საქაღალდეში. გირჩევთ მიიღოთ ნაგულისხმევი მდებარეობა. თუ გსურთ, შეგიძლიათ მიუთითოთ ნებისმიერი სხვა საქაღალდე. მაგრამ შემდეგ, დანამატის დაკავშირებისას, თქვენ უნდა იპოვოთ და მიუთითოთ მისი ახალი ადგილმდებარეობა ხელით. თუ თქვენ შეინახავთ მას ნაგულისხმევ საქაღალდეში, თქვენ არ გჭირდებათ დანამატის ძებნა თქვენს კომპიუტერში. Excel ავტომატურად ჩამოთვლის მას.
ნაბიჯი 2. დააკავშირეთ დანამატის ფაილი
ახლა ჩვენ მიერ შექმნილი დანამატი უნდა იყოს დაკავშირებული Excel-თან. შემდეგ ის ავტომატურად იტვირთება პროგრამის დაწყებისას. ამისათვის გამოიყენეთ მენიუ ფაილი - ოფციები - დანამატები . დარწმუნდით, რომ Excel Add-Ins არჩეულია მართვა ველში. დააწკაპუნეთ ღილაკზე გადადით ფანჯრის ბოლოში. ფანჯარაში, რომელიც გამოჩნდება, მონიშნეთ ჩვენი დანამატი My_Functions. თუ მას ვერ ხედავთ სიაში, დააწკაპუნეთ ღილაკზე დათვალიერება და დაათვალიერეთ თქვენი დანამატის ფაილის მდებარეობა.
თუ თქვენ იყენებთ დანამატს მორგებული ფუნქციების შესანახად, არსებობს ერთი მარტივი წესი, რომელიც უნდა დაიცვას. თუ სამუშაო წიგნს სხვა ადამიანზე გადასცემთ, დარწმუნდით, რომ ასევე გადაიტანეთ დანამატის ასლი, რომელიც შეიცავს თქვენთვის სასურველ ფუნქციონირებას. მათ უნდა დააკავშირონ ის ისევე, როგორც ახლა გააკეთეთ.
ნაბიჯი 3. დაამატეთ მორგებული ფუნქციები და მაკრო დანამატს
ჩვენი დანამატი დაკავშირებულია Excel-თან, მაგრამ ეს არ არის არანაირი ფუნქციონირება არ აქვსჯერ კიდევ. მასში ახალი UDF-ების დასამატებლად გახსენით Visual Basic Editor დაჭერით Alt + F11 . შემდეგ შეგიძლიათ დაამატოთ ახალი მოდულები VBA კოდით, როგორც ეს აღწერილია ჩემს შექმნა UDF-ების სახელმძღვანელოში.
აირჩიეთ თქვენი დამამატებელი ფაილი ( My_Finctions.xlam ) VBAProject ფანჯარა. გამოიყენეთ მენიუ Insert - Module მორგებული მოდულის დასამატებლად. თქვენ უნდა ჩაწეროთ მასში მორგებული ფუნქციები.
შეგიძლიათ აკრიფოთ მომხმარებლის მიერ განსაზღვრული ფუნქციის კოდი ხელით, ან დააკოპიროთ იგი სადმე.
სულ ესაა. ახლა თქვენ შექმენით თქვენი საკუთარი დანამატი, დაამატეთ იგი Excel-ში და შეგიძლიათ გამოიყენოთ მასში UDF. თუ გსურთ მეტი UDF-ის გამოყენება, უბრალოდ ჩაწერეთ კოდი VBA რედაქტორში დანამატის მოდულში და შეინახეთ.
ეს დღეისთვის. ჩვენ ვისწავლეთ, როგორ გამოვიყენოთ მომხმარებლის განსაზღვრული ფუნქციები თქვენს სამუშაო წიგნში. ჩვენ ნამდვილად ვიმედოვნებთ, რომ ეს სახელმძღვანელოები თქვენთვის სასარგებლო იქნება. თუ თქვენ გაქვთ რაიმე შეკითხვები, დაწერეთ ამ სტატიის კომენტარებში.