Мазмұны
Осы оқулықта Excel бағдарламасында динамикалық атаулы ауқымды қалай жасау керектігін және оны есептеулерге автоматты түрде қосу үшін жаңа деректерді формулаларда қалай пайдалану керектігін үйренесіз.
Өткен аптадағы оқулықта біз Excel бағдарламасында статикалық аталған ауқымды анықтаудың әртүрлі жолдарын қарастырдық. Статикалық атау әрқашан бірдей ұяшықтарға сілтеме жасайды, яғни жаңа қосқанда немесе бар деректерді жойған сайын ауқым сілтемесін қолмен жаңарту керек болады.
Үздіксіз өзгеретін деректер жиынымен жұмыс істеп жатсаңыз, жойылған деректерді алып тастау үшін жаңадан қосылған жазбаларды немесе келісім-шарттарды орналастыру үшін автоматты түрде кеңейетіндей атаулы ауқымыңызды динамикалық етіңіз. Әрі қарай осы оқулықта мұны қалай орындау керектігі туралы егжей-тегжейлі қадамдық нұсқаулықты таба аласыз.
Excel бағдарламасында динамикалық атаулы ауқымды қалай жасауға болады
үшін Жаңадан бастаушылар, бір баған мен жолдардың айнымалы санынан тұратын динамикалық аталған диапазонды құрастырайық. Оны орындау үшін мына қадамдарды орындаңыз:
- Формула қойындысындағы Анықталған атаулар тобында Атты анықтау түймесін басыңыз. . Немесе Excel атауларын басқару құралын ашу үшін Ctrl + F3 пернелерін басыңыз және Жаңа... түймешігін басыңыз.
- Қайткен күнде де Жаңа атау диалогтық терезесі ашылады. келесі мәліметтерді көрсетесіз:
- Аты жолағында динамикалық ауқымыңыздың атын теріңіз.
- Ауқым ашылмалы тізімінде атауының ауқымы. Жұмыс кітабы (әдепкі) көпшілігінде ұсыныладыжағдайлар.
- Сілтемелер ұяшығына ОФСЕТТІК САНАҒЫ немесе ИНДЕКС САНАУ формуласын енгізіңіз.
- Жарайды басыңыз. Дайын!
Келесі скриншотта біз тақырып жолын қоспағанда, А бағанындағы деректері бар барлық ұяшықтарды орналастыратын элементтер динамикалық аталатын ауқымды анықтаймыз :
OFFSET формуласы Excel динамикалық атаулы ауқымын анықтау
Excel бағдарламасында динамикалық аталған ауқымды жасау үшін жалпы формула келесідей:
OFFSET ( бірінші_ұяшық, 0, 0, COUNTA( баған), 1)Мұндағы:
- бірінші_ұяшық - бірінші аталған ауқымға қосылатын элемент, мысалы, $A$2.
- баған - $A:$A сияқты бағанға абсолютті сілтеме.
Осы формуланың негізінде сіз қызығушылық бағанындағы бос емес ұяшықтардың санын алу үшін COUNTA функциясын пайдаланасыз. Бұл сан тікелей OFFSET (анықтама, жолдар, колонкалар, [биіктік], [ені]) функциясының биіктігі аргументіне өтеді, ол қанша жолды қайтару керектігін айтады.
Одан басқа, бұл кәдімгі Offset формуласы, мұндағы:
- анықтама ығысуды (бірінші_ұяшық) негіздейтін бастапқы нүкте.
- жолдар және cols екеуі де 0, өйткені ығыстыру үшін бағандар немесе жолдар жоқ.
- ені 1 бағанға тең.
Мысалы, A2 ұяшығынан бастап 3-парақтағы А бағаны үшін динамикалық атаулы ауқымды құру үшін мына формуланы қолданамыз:
=OFFSET(Sheet3!$A$2, 0, 0, COUNTA(Sheet3!$A:$A), 1)
Ескертпе. Егер сіз анықтап жатсаңызағымдағы жұмыс парағындағы динамикалық ауқым, сілтемелерге парақ атауын қосудың қажеті жоқ, Excel мұны сіз үшін автоматты түрде жасайды. Егер сіз басқа парақ үшін ауқым жасап жатсаңыз, ұяшықты немесе ауқым сілтемесін парақтың атауынан кейін леп белгісімен префикс қойыңыз (жоғарыдағы формула мысалындағы сияқты). Excel
Excel динамикалық ауқымын жасаудың тағы бір жолы COUNTA санын INDEX функциясымен бірге пайдалану болып табылады.
бірінші_ұяшық :INDEX( баған ,COUNTA(<1)>баған ))Бұл формула екі бөліктен тұрады:
- Ауқым операторының (:) сол жағында сіз $A$2 сияқты қатты кодталған бастапқы сілтемені қоясыз. .
- Оң жақта сіз соңғы сілтемені анықтау үшін INDEX(массив, жол_нөмірі, [баған_нөмірі]) функциясын пайдаланасыз. Мұнда сіз массив үшін бүкіл A бағанын бересіз және жол нөмірін (яғни, А бағанындағы енгізілмейтін ұяшықтардың санын) алу үшін COUNTA пайдаланасыз.
Біздің үлгі деректер жиыны үшін (қараңыз: жоғарыдағы скриншот), формула келесідей болады:
=$A$2:INDEX($A:$A, COUNTA($A:$A))
А бағанында, оның ішінде баған тақырыбын қоса алғанда, бос емес 5 ұяшық болғандықтан, COUNTA 5 қайтарады. Демек, INDEX $A мәнін қайтарады. $5, бұл А бағанындағы соңғы пайдаланылған ұяшық (әдетте Индекс формуласы мәнді қайтарады, бірақ сілтеме операторы оны сілтемені қайтаруға мәжбүр етеді). Және біз $A$2-ді бастапқы нүкте ретінде қойғандықтан, соңғы нәтижеформула $A$2:$A$5 ауқымы болып табылады.
Жаңадан жасалған динамикалық диапазонды тексеру үшін COUNTA арқылы элементтер санын алуға болады:
=COUNTA(Items)
Егер барлығы дұрыс орындалса, тізімге элементтерді қосқанда немесе алып тастағаннан кейін формуланың нәтижесі өзгереді:
Ескертпе. Жоғарыда талқыланған екі формула бірдей нәтиже береді, бірақ өнімділікте сіз білуіңіз керек айырмашылық бар. OFFSET — парақтағы әрбір өзгерісті қайта есептейтін өзгермелі функция. Қуатты заманауи машиналарда және ақылға қонымды өлшемді деректер жинақтарында бұл мәселе болмауы керек. Сыйымдылығы төмен машиналарда және үлкен деректер жинақтарында бұл Excel жұмысын баяулатуы мүмкін. Бұл жағдайда динамикалық атаулы ауқымды жасау үшін INDEX формуласын қолданған дұрыс.
Excel бағдарламасында екі өлшемді динамикалық диапазонды қалай жасауға болады
Екі өлшемді атаулы ауқымды құру үшін, онда жолдар саны ғана емес, сонымен қатар бағандар саны да динамикалық болса, INDEX COUNTA формуласының келесі модификациясын пайдаланыңыз:
бірінші_ұяшық :INDEX($1:$1048576, COUNTA( бірінші_баған< ), COUNTA( бірінші_жол )))Бұл формулада соңғы бос емес жолды және соңғы бос емес бағанды ( жол_нөмірі ) алу үшін екі COUNTA функциясы бар. және тиісінше INDEX функциясының баған_саны аргументтері). массив аргументінде сіз бүкіл жұмыс парағын бересіз (Excel 2016 - 2007 нұсқасындағы 1048576 жол; Excel 2003 және одан төменірек нұсқасындағы 65535 жол).
Ал енді,деректер жинағы үшін тағы бір динамикалық ауқымды анықтайық: 3 айдағы (қаңтардан наурызға дейін) сатылым көрсеткіштерін қамтитын және жаңа элементтерді (жолдарды) немесе айларды (бағандарды) қосқанда автоматты түрде реттелетін сатылым деп аталатын ауқым. кесте.
В бағанының 2-жолынан басталатын сату деректерімен формула келесі пішінді алады:
=$B$2:INDEX($1:$1048576,COUNTA($B:$B),COUNTA($2:$2))
Динамикалық диапазон ойдағыдай жұмыс істейтініне көз жеткізу үшін парақтың бір жеріне келесі формулаларды енгізіңіз:
=SUM(sales)
=SUM(B2:D5)
Төмендегі скриншотта көріп отырғаныңыздай , екі формула бірдей жалпы мәнді қайтарады. Айырмашылық кестеге жаңа жазбаларды қосқан кезде көрінеді: бірінші формула (динамикалық атаулы диапазонмен) автоматты түрде жаңартылады, ал екіншісі әр өзгертумен қолмен жаңартылуы керек. Бұл үлкен айырмашылықты тудырады, ә?
Excel формулаларында динамикалық атаулы ауқымдарды қалай пайдалану керек
Осы оқулықтың алдыңғы бөлімдерінде сіз әлдеқашан көргенсіз динамикалық диапазондарды пайдаланатын бірнеше қарапайым формулалар. Енді Excel динамикалық диапазонының нақты мәнін көрсететін мағыналырақ нәрсені ойлап көрейік.
Бұл мысал үшін біз Excel бағдарламасында Vlookup қызметін орындайтын классикалық INDEX MATCH формуласын аламыз:
INDEX ( қайтару_ауқымы , MATCH ( іздеу_мәні , іздеу_ауқымы , 0))
…және қалай істейтінімізді қараңыз пайдалану арқылы формуланы одан да күшті ете аладыдинамикалық атаулы диапазондар.
Жоғарыдағы скриншотта көрсетілгендей, біз бақылау тақтасын құруға әрекет жасап жатырмыз, онда пайдаланушы H1-ге элемент атын енгізеді және H2-де сол элементтің жалпы сатылымдарын алады. Көрсету мақсатында жасалған үлгі кестеде тек 4 элемент бар, бірақ сіздің нақты парақтарыңызда жүздеген, тіпті мыңдаған жолдар болуы мүмкін. Сонымен қатар, жаңа элементтерді күнделікті қосуға болады, сондықтан сілтемелерді пайдалану опция емес, себебі формуланы қайта-қайта жаңартуға тура келеді. Мен бұған тым жалқаумын! :)
Формуланы автоматты түрде кеңейтуге мәжбүрлеу үшін біз 3 атауды анықтаймыз: 2 динамикалық ауқым және 1 статикалық атаулы ұяшық:
Іздеу_ауқымы: =$A$2:INDEX($ A:$A, COUNTA($A:$A))
Қайтару_ауқымы: =$E$2:INDEX($E:$E, COUNTA($E:$E))
Іздеу_мәні: =$H$1
Ескертпе. Excel ағымдағы парақтың атын барлық сілтемелерге қосады, сондықтан атауларды жасамас бұрын парақты бастапқы деректермен ашыңыз.
Енді формуланы H1 тілінде теруді бастаңыз. Бірінші аргументке келгенде, пайдаланғыңыз келетін аттың бірнеше таңбасын теріңіз, сонда Excel барлық қолжетімді сәйкес атауларды көрсетеді. Сәйкес атауды екі рет басыңыз, Excel оны бірден формулаға енгізеді:
Дайын формула келесідей көрінеді:
=INDEX(Return_range, MATCH(Lookup_value, Lookup_range, 0))
Және мінсіз жұмыс істейді!
Кестеге жаңа жазбаларды қосқаннан кейін олар есептеулеріңізге қосылады:бір рет, формулаға бір өзгеріс енгізудің қажеті жоқ! Ал егер формуланы басқа Excel файлына көшіру қажет болса, тағайындалған жұмыс кітабында бірдей атауларды жасаңыз, формуланы көшіріп/қойып, оны дереу іске қосыңыз.
Кеңес. Формулаларды ұзаққа созумен қатар, динамикалық ауқымдар динамикалық ашылмалы тізімдерді жасау үшін ыңғайлы.
Осылай сіз Excel бағдарламасында динамикалық аталған ауқымдарды жасайсыз және пайдаланасыз. Осы оқулықта талқыланған формулаларды мұқият қарау үшін Excel динамикалық атауы бар ауқым жұмыс кітабының үлгісін жүктеп алуға қош келдіңіз. Оқығаныңыз үшін алғыс айтамын және келесі аптада блогымызда көреміз деп үміттенемін!