Мазмұны
Excel VBA қолданбасын пайдаланғыңыз келмейді және Формула арқылы Excel бағдарламасында FOR циклін жасағыңыз келмейді ме? Бұл мақалада мен формулаларды пайдаланып FOR циклін жасауға болатынын көрсеттім.
Егер Excel VBA бағдарламасымен кодтауды білсеңіз, сіз бақыттысыз 🙂 . Бірақ, егер сіз ешқашан VBA ішінде код жазбаған болсаңыз немесе Excel жұмыс кітабын Excel VBA кодынан бос қалдырғыңыз келсе, көп жағдайда кодты жасау үшін қораптың сыртында ойлануға тура келеді. қарапайым цикл .
Жұмыс файлын жүктеп алу
Төмендегі сілтемеден жұмыс файлын жүктеп алыңыз:
Формулаларды пайдаланып цикл жасаңыз. xlsxExcel бағдарламасында FOR циклін жасаудың 3 мысалы
Формула арқылы мұнда мен Excel бағдарламасында FOR циклін жасау үшін 3 мысалдарын көрсетемін. формуласы. Егжей-тегжейлі мысалдарды көрейік.
1. Excel бағдарламасында FOR циклін жасау үшін біріктірілген функцияларды қолдану
Енді маған осы мысалды жазуға талпындыратын фон туралы айтыңыз.
Мен Udemy бойынша кейбір курстардың авторымын. Курстардың бірі Excel шартты пішімдеу. Курстың тақырыбы: Excel шартты пішімдеуді 7 практикалық есеппен үйреніңіз. [ осы курсқа тегін қол жеткізу үшін мына жерді басыңыз ].
Курсты талқылау тақтасында , студент маған төмендегідей сұрақ қойды [скриншот суреті].
Udemy-де студент қойған сұрақ.
Жоғарыдағы сұрақты мұқият оқып шығыңыз және оны шешуге тырысыңыз...
Жоғарыдағы мәселені шешу қадамдары:
Мұнда мен НЕМЕСЕ , OFFSET , MAX , MIN және ROW функцияларын <жасау үшін Excel формуласы ретінде пайдаланады. 1>FOR циклі .
- Біріншіден, сіздің тапсырмаңыз жаңа жұмыс кітабын ашу және жоғарыдағы мәндерді жұмыс парағына бір-бірден енгізу [ C5 ұяшығынан бастау] .
- Екіншіден, бүкіл ауқымды [ C5:C34 ұяшығынан] таңдаңыз.
- Үшіншіден, Басты таспасынан >> Шартты пішімдеу пәрменін басыңыз.
- Соңында ашылмалы тізімнен Жаңа ереже опциясын таңдаңыз.
Осы кезде Жаңа пішімдеу ережесі диалогтық терезесі пайда болады.
- Енді Ереже түрін таңдау терезесінде >> ; Қай ұяшықтарды пішімдеу керектігін анықтау үшін формуланы пайдалану опциясын таңдаңыз.
- Содан кейін Бұл формула ақиқат болатын мәндерді пішімдеу өрісіне мына формуланы теріңіз:
=OR(OFFSET(C5,MAX(ROW(C$5)-ROW(C5)+3,0),0,MIN(ROW(C5)-ROW(C$5)+1,4),1)-OFFSET(C5,MAX(ROW($C$5)-ROW(C5),-3),0,MIN(ROW(C5)-ROW(C$5)+1,4),1)=3)
- Енді тілқатысу терезесіндегі Формат... түймесін басу арқылы сәйкес пішім түрін таңдаңыз.
Осы кезде Ұяшықтарды пішімдеу атты диалогтық терезе пайда болады.
- Енді, Толтыру опциясы >> кез келген түсті таңдау керек. Мұнда мен Ашық көк фонды таңдадым. Сондай-ақ, сіз үлгіні бірден көре аласыз. Бұл жағдайда кез келген ашық түсті таңдап көріңіз. Өйткені қою түс енгізілген деректерді жасыруы мүмкін. Одан кейін, Қаріп түсін өзгерту қажет болуы мүмкін.
- Одан кейін түймесін басыңыз. Жарайды қалыптастыруды қолдану үшін.
- Одан кейін <бетінде OK түймесін басу керек. 1>Жаңа пішімдеу ережесі тілқатысу терезесі. Мұнда үлгіні Алдын ала қарау жолағында бірден көре аласыз.
Соңында пішімделген сандарды аласыз.
Жоғарыда келтірілген мәселені шешу алгоритмін көрсетейін:
- Міне, алгоритмді оңай түсіну үшін, мен екі сілтеме ұяшықтары арқылы бәрін түсіндіріңіз: ұяшықтар С11 және С17 . C11 және C17 ұяшықтарында мәндер сәйкесінше 10 және 20 болады (жоғарыдағы сурет). Егер сіз Excel формулаларына үйренген болсаңыз, OFFSET функциясының иісін сезе аласыз, себебі OFFSET функциясы сілтеме нүктелерімен жұмыс істейді.
- Енді мен мәндерді алып жатырмын деп елестетіңіз. ұяшық диапазонының C8:C11 & C11:C14 , және C14:C17 & C17: C20 қатар [төмендегі сурет]. Анықтама ұяшықтары C11 және C17 және мен сілтеме ұяшығының айналасындағы жалпы 7 ұяшықты алып жатырмын. Сіз төмендегідей ойдан шығарылған суретті аласыз. Бірінші бөліктен суреттен үлгіні табуға болады. C9–C12=3 , C10-C13=3 , үлгі бар. Бірақ екінші бөлікте мұндай үлгі жоқ.
- Олай болса, жоғарыдағы үлгіні есте сақтай отырып, алгоритмді құрастырайық. Жалпы формуланы құрастырмас бұрын мен формулалардың қандай болатынын көрсетемін C11 және C17 ұяшықтары, содан кейін формуланы барлығына ортақ ету үшін өзгертеді. Анықтамалық нүкте үшін (мысалы, C11 немесе C17 ) оның айналасындағы жалпы 7 ұяшықты (анықтамалық нүктені қоса) алып, оларды бір-біріне қарай орналастырамын. массивтер жасайтын формуланың жағы. Содан кейін мен массивтердің айырмашылығын анықтаймын, егер айырмашылықтардың кез келгені 3 мәніне тең болса, сілтеме ұяшығы ШЫН мәнге ие болады.
- Мұнда мен мұны OFFSET функциясын пайдаланып оңай орындаңыз, себебі OFFSET функциясы массивді қайтарады. Ұяшық сілтемесі үшін C11 айтыңыз, мен формуланы келесідей жаза аламын: =НЕМЕСЕ(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) . Бұл формула нені қайтарады? Формуланың бірінші ығысу функциясы массивді қайтарады: {10; 11; 12; 15} , екінші ығысу функциясы {5 массивін қайтарады; 8; 9; 10} . Ал сіз білесіз {10; 11; 12; 15} – {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} . Бұл массив логикалық түрде =3 арқылы тексерілгенде, Excel келесідей ішкі есептейді: {5=3; 3=3; 3=3; 5=3} = {Жалған; Рас; Рас; Жалған . Осы массивте НЕМЕСЕ функциясы қолданылғанда: НЕМЕСЕ({False; True; False; True} , сіз ШЫН мәнін аласыз. Демек, C11 ұяшығы қайтарылғандай ақиқат мәндерді алады.
- Сонымен, сізде бұл алгоритм қалай жұмыс істейтіні туралы толық түсінік бар деп ойлаймын. Енді мәселе бар. Бұл формула келесіден жұмыс істей алады. С8 ұяшығы, С8 ұяшығының үстінде 3 ұяшықтары бар. Бірақ C5, C6, және C7 ұяшықтары үшін бұл формула жұмыс істей алмайды. Сондықтан формуланы осы ұяшықтар үшін өзгерту керек.
- Енді C5 -ден C7 ұяшықтары үшін формула жоғарғы<1 ескерілмеуін қалаймыз> 3 ұяшықтар. Мысалы, C6 ұяшығы үшін формуламыз C11 ұяшығының формуласы сияқты болмайды: =НЕМЕСЕ(OFFSET(C11, 0, 0, 4, 1)- OFFSET(C11, -3, 0, 4, 1)=3) .
- Мұнда C5 ұяшығы үшін формула келесідей болады: НЕМЕСЕ(OFFSET) (C5, 3, 0, 1, 1)-OFFSET(C5, 0, 0, 1, 1)=3) .
- Содан кейін C6 ұяшығы үшін формула келесідей болады: НЕМЕСЕ(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
- Кейін бұл C7 ұяшығы үшін формула келесідей болады: НЕМЕСЕ(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)= 3) .
- Тағы да C8 ұяшығы үшін формула келесідей болады: НЕМЕСЕ(OFFSET(C8, 0, 0, 4, 1)-OFFSET( C8,-3, 0, 4, 1)=3) ; [бұл жалпы формула].
- Содан кейін C9 ұяшығы үшін формула келесідей болады: НЕМЕСЕ(OFFSET(C9, 0, 0, 4, 1)- OFFSET(C9,-3, 0, 4, 1)=3) ; [бұл жалпы формула].
- Соңында, жоғарыдағы формулалардан кейбір үлгілерді табасыз ба? Бірінші OFFSET функцияның жол аргументі 3 -ден 0 -ге дейін азайды; биіктік аргументі 1 -ден 4 -ге дейін өсті. Екінші OFFSET функциясының жол аргументі төмендеді 0 -3 және биіктік аргументі 1 -ден 4 -ге дейін өсті.
- Біріншіден, бірінші OFFSET функциясының жол аргументі келесідей өзгертіледі: MAX(ROW(C$5)-ROW(C5)+3,0)
- Екіншіден, екінші OFFSET функциясының жол аргументі келесідей өзгертіледі: MAX(ROW(C$5)-ROW(C5),-3)
- Үшіншіден, Бірінші OFFSET функцияның биіктік аргументі келесідей өзгертіледі: MIN(ROW(C5)-ROW(C$5)+1,4)
- Төртіншіден, екінші OFFSET функцияның биіктік аргументі келесідей өзгертіледі: MIN(ROW(C5)-ROW(C$5)+1,4)
- Енді жоғарыдағы өзгертуді түсініп көріңіз. Бұларды түсіну соншалықты қиын емес. Осы төрт модификацияның барлығы Excel VBA бағдарламасының FOR LOOP нұсқасы ретінде жұмыс істейді, бірақ мен оларды Excel формулаларымен құрастырдым.
- Сонымен, сіз жалпы формуланың қалай жасалатынын білесіз. C5:C34 ұяшықтары үшін жұмыс істейді.
Сондықтан мен Excel электрондық кестелеріндегі цикл туралы айттым. Сонымен, бұл Excel бағдарламасындағы циклдің тамаша мысалы. Мұнда формула әр уақытта 7 ұяшықтарды алып, белгілі бір мәнді табу үшін ұяшықтарда жұмыс істейді.
2. IF & НЕМЕСЕ Excel бағдарламасында FOR циклін жасау функциялары
Бұл мысалда ұяшықтарда қандай да бір мән бар ма, жоқ па тексергіңіз келеді делік. Сонымен қатар, Excel VBA FOR Loop, көмегімен сіз мұны оңай жасай аласыз, бірақ бұл жерде мен мұны Excel формуласы арқылы жасаймын.
Енді пайдалана аласыз. IF және НЕМЕСЕ FOR циклі жасау үшін Excel формуласы ретінде жұмыс істейді. Сонымен қатар, бұл формуланы қалауыңыз бойынша өзгертуге болады. Қадамдар төменде берілген.
Қадамдар:
- Біріншіден, көргіңіз келетін басқа ұяшықты E5 таңдауыңыз керек. Күй .
- Екіншіден, E5 ұяшығында сәйкес формуланы пайдалану керек.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")
- Кейіннен нәтиже алу үшін ENTER пернесін басыңыз.
Формулаларды бөлу
Мұнда, НЕМЕСЕ функциясы берілген логиканың кез келгені ШЫНДЫҚ мәнін қайтарады. 2>.
- Біріншіден, B5=”” 1-ші логикасы, ол B5 ұяшығында кез келген бар-жоғын тексереді. мән немесе жоқ.
- Екіншіден, C5=”” — 2-ші логикасы, ол C5 ұяшығында қандай да бір мән немесе мән бар-жоғын тексереді. емес.
- Үшіншіден, D5=”” 3-ші логика. Сол сияқты, ол D5 ұяшығында қандай да бір мән бар-жоғын тексереді.
Енді IF функциясы берілген шартты орындайтын нәтижені қайтарады. .
- НЕМЕСЕ функциясы ШЫН мәнін бергенде, сіз Күй ретінде “ Жоқ ақпарат ” аласыз. . Әйтпесе, Күй ретінде “ Дайын ” аласыз.
- Осыдан кейін Толтыру тұтқасын<сүйреп апаруыңыз керек. 2> белгішесін Автотолтыру үшін қалған бөлігіндегі сәйкес деректер E6:E13 ұяшықтары. Немесе Толтыру тұтқасы белгішесін екі рет басуға болады.
Соңында сіз барлық нәтижелерді аласыз. .
3. Excel бағдарламасында FOR циклін жасау үшін SUMIFS функциясын пайдалану
Айлық, сіз белгілі бір адам үшін жалпы шот жасағыңыз келеді делік. Бұл жағдайда Excel формуласын пайдаланып FOR циклін пайдалануға болады. Мұнда Excel бағдарламасында FOR циклін жасау үшін SUMIFS функциясын пайдаланамын. Қадамдар төменде берілген.
Қадамдар:
- Біріншіден, көргіңіз келетін басқа ұяшықты F7 таңдауыңыз керек. Күй .
- Екіншіден, F7 ұяшығында сәйкес формуланы пайдалану керек.
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)
- Кейіннен нәтиже алу үшін ENTER пернесін басыңыз.
Формулаларды бөлу
- Мұнда $C$5:$C$13 - SUMIFS деректер ауқымы функциясы қосынды жасайды.
- Содан кейін $B$5:$B$13 — SUMIFS функциясы берілген шарттарды тексеретін деректер ауқымы
- Соңында, E7 критерий болып табылады.
- Сонымен, SUMIFS функциясы E7 ұяшық мәні үшін төлемдерді қосады.
- Осыдан кейін F8:F10 қалған ұяшықтардағы сәйкес деректерді автотолтыру үшін Толтыру тұтқасы белгішесін апару керек.
Соңында сіз нәтиже аласыз.
Қорытынды
Сізге сенемізбұл мақаланы пайдалы деп тапты. Мұнда формулаларды пайдаланып Excel бағдарламасында FOR циклі жасау үшін 3 қолайлы мысалдарды түсіндірдік. Excel бағдарламасына қатысты қосымша мазмұнды білу үшін Exceldemy веб-сайтына кіре аласыз. Төмендегі түсініктеме бөлімінде пікірлеріңізді, ұсыныстарыңызды немесе сұрауларыңызды қалдырыңыз.