Мазмұны
Оқулық мақсатты ұяшықта қажетті мәнді қамтитын болса, басқа бағандағы бір нәрсені қалай қайтару керектігін, ішінара сәйкестікпен іздеуді және НЕМЕСЕ арқылы бірнеше шартты тексеруді көрсететін бірнеше "Егер бар болса, Excel" формула мысалдарын ұсынады. ЖӘНЕ логикасы сияқты.
Excel бағдарламасындағы ең көп таралған тапсырмалардың бірі ұяшықта қызығушылық мәні бар-жоғын тексеру болып табылады. Бұл қандай құндылық болуы мүмкін? Кез келген мәтін немесе сан, нақты мәтін немесе мүлде кез келген мән (бос ұяшық емес).
Excel бағдарламасында "Егер ұяшықта болса" формуласының бірнеше нұсқалары бар, олар дәл қандай мәндерді тапқыңыз келетініне байланысты. Жалпы, логикалық тексеруді орындау үшін ЕСЕР функциясын пайдаланасыз және шарт орындалғанда (ұяшық бар) бір мәнді және/немесе шарт орындалмағанда (ұяшықта жоқ) басқа мәнді қайтарасыз. Төмендегі мысалдар ең жиі кездесетін сценарийлерді қамтиды.
Егер ұяшықта қандай да бір мән болса, онда
Бастау үшін, барлығын қамтитын ұяшықтарды қалай табуға болатынын көрейік: кез келген мәтін, нөмір немесе күн. Ол үшін біз бос емес ұяшықтарды тексеретін қарапайым IF формуласын қолданамыз.
IF( ұяшық", қайтарылатын_мән, "")үшін мысалы, егер сол жолдағы А бағанының ұяшығы кез келген мәнді қамтыса, В бағанындағы «Бос емес» мәнін қайтару үшін келесі формуланы B2 ішіне енгізіңіз, содан кейін формуланы төмен көшіру үшін төменгі оң жақ бұрыштағы кішкентай жасыл шаршыны екі рет басыңыз. theбаған:
=IF(A2"", "Not blank", "")
Нәтиже келесіге ұқсас болады:
Егер ұяшықта мәтін болса, онда
Сандар мен күндерді елемейтін мәтіндік мәндері бар ұяшықтарды ғана тапқыңыз келсе, ISTEXT функциясымен бірге ЕГЕР пайдаланыңыз. Мұнда мақсатты ұяшықта кез келген мәтін болса, басқа ұяшықтағы кейбір мәнді қайтаратын жалпы формула берілген:
IF(ISTEXT( ұяшық), қайтарылатын_мән, " ")Егер А бағанындағы ұяшықта мәтін болса, В бағанына "иә" сөзін кірістіргіңіз келеді делік. Оны орындау үшін келесі формуланы B2-ге қойыңыз:
=IF(ISTEXT(A2), "Yes", "")
Егер ұяшықта сан болса, онда
Ұқсас жолмен , сандық мәндері бар ұяшықтарды анықтауға болады (сандар мен күндер). Ол үшін ЕСЕР функциясын ISNUMBER нөмірімен бірге пайдаланыңыз:
IF(ISNUMBER( ұяшық), қайтарылатын_мән, "")Келесі формула бағандағы "иә" мәнін қайтарады B егер А бағанындағы сәйкес ұяшықта кез келген сан болса:
=IF(ISNUMBER(A2), "Yes", "")
Егер ұяшықта белгілі бір мәтін болса
Белгілі бір мәтіні бар ұяшықтарды табу (немесе сандар немесе күндер) оңай. Мақсатты ұяшықта қажетті мәтін бар-жоғын тексеретін әдеттегі IF формуласын жазасыз және егер_шындық_мән аргументінде қайтарылатын мәтінді теріңіз.
ЕГЕР( ұяшық="<1">мәтін", қайтарылатын_мән, "")Мысалы, A2 ұяшығында "алма" бар-жоғын білу үшін мына формуланы пайдаланыңыз:
=IF(A2="apples", "Yes", "")
Егер ұяшықта ерекшелік болмасамәтін
Егер сіз қарама-қарсы нәтижені іздесеңіз, яғни мақсатты ұяшықта көрсетілген мәтін («алма») болмаса, кейбір мәнді басқа бағанға қайтарсаңыз, келесі әрекеттердің бірін орындаңыз.
егер_шын_мән аргументінде бос жолды ("") және егер_жалған_мән аргументінде қайтарылатын мәтінді:
=IF(A2="apples", "", "Not apples")
Немесе , "тең емес" операторын logical_test қойыңыз және мәнді_егер_шын болса қайтару үшін мәтінді қойыңыз:
=IF(A2"apples", "Not apples", "")
Қалай болса да, формула шығарады бұл нәтиже:
Егер ұяшықта мәтін болса: регистрді ескеретін формула
Формуланы бас және кіші әріптерді ажыратуға мәжбүрлеу үшін, EXACT функциясын пайдаланыңыз әріп регистрін қосқанда екі мәтін жолының дәл тең екендігін тексереді:
=IF(EXACT(A2,"APPLES"), "Yes", "")
Сонымен қатар үлгі мәтін жолын кейбір ұяшыққа енгізуге болады (айталық: C1), ұяшық сілтемесін $ белгісімен түзетіңіз ($C$1) және мақсатты ұяшықты сол ұяшықпен салыстырыңыз:
=IF(EXACT(A2,$C$1), "Yes", "")
Егер ұяшық арнайы мәтіндік жолды қамтиды (ішінара сәйкестік)
Тривиальды тапсырмаларды аяқтадық және одан да күрделі және қызықты тапсырмаларға көшеміз :) Бұл мысалда берілген таңба немесе ішкі жол ұяшықтың бөлігі екенін анықтау үшін үш түрлі функция қажет. мазмұны:
ЕГЕР(ISNUMBER(SEARCH(" мәтін", ұяшық)), қайтарылатын_мән,"")Ішінен сырттай жұмыс , міне, формула не істейді:
- TheSEARCH функциясы мәтіндік жолды іздейді, ал егер жол табылса, бірінші таңбаның орнын, #VALUE! әйтпесе қате.
- ISNUMBER функциясы SEARCH сәтті немесе сәтсіз аяқталғанын тексереді. SEARCH кез келген санды қайтарса, ISNUMBER "ШЫН" мәнін қайтарады. SEARCH қатені тудырса, ISNUMBER "ЖАЛҒАН" мәнін қайтарады.
- Соңында, ЕГЕР функциясы логикалық сынақта "TRUE" мәні бар ұяшықтар үшін көрсетілген мәнді, әйтпесе бос жолды ("") қайтарады.
Ал енді осы жалпы формуланың нақты өмірлік жұмыс парақтарында қалай жұмыс істейтінін көрейік.
Егер ұяшықта белгілі бір мәтін болса, мәнді басқа ұяшыққа қойыңыз
Егер сізде тізім бар делік. А бағанындағы тапсырыстар және сіз нақты идентификаторы бар тапсырыстарды тапқыңыз келсе, «A-» деңіз. Тапсырманы мына формуламен орындауға болады:
=IF(ISNUMBER(SEARCH("A-",A2)),"Valid","")
Формуладағы жолды қатты кодтаудың орнына, оны формуладағы ұяшыққа сілтеме болып табылатын бөлек ұяшыққа (E1) енгізуге болады. :
=IF(ISNUMBER(SEARCH($E$1,A2)),"Valid","")
Формуланың дұрыс жұмыс істеуі үшін жолды қамтитын ұяшықтың мекенжайын $ белгісімен (абсолютті ұяшық сілтемесі) құлыптауды ұмытпаңыз.
Егер ұяшықта белгілі бір мәтін болса, оны басқа бағанға көшіріңіз
Егер жарамды ұяшықтардың мазмұнын басқа жерге көшіргіңіз келсе, жай ғана бағаланған ұяшықтың мекенжайын беріңіз (A2) мән_егер_шын болса аргументінде:
=IF(ISNUMBER(SEARCH($E$1,A2)),A2,"")
Төмендегі скриншот нәтижелерді көрсетеді:
Егерұяшықта арнайы мәтін бар: регистрді ескеретін формула
Жоғарыдағы екі мысалда формулалар регистрді ескермейді. Регистрді ескеретін деректермен жұмыс істеген жағдайларда таңба регистрін ажырату үшін SEARCH орнына ТАБУ функциясын пайдаланыңыз.
Мысалы, келесі формула тек бас әріпті "A-" кіші әріпті елемеу " реттерін анықтайды. a-".
=IF(ISNUMBER(FIND("A-",A2)),"Valid","")
Егер ұяшықта көптеген мәтіндік жолдардың біреуі болса (НЕМЕСЕ логика)
Кем дегенде құрамындағы ұяшықтарды анықтау үшін Сіз іздеп жатқан көп нәрсенің бірі үшін келесі формулалардың бірін пайдаланыңыз.
Егер НЕМЕСЕ ISNUMBER Іздеу формуласы
Ең айқын әдіс әрбір ішкі жолды жеке тексеру және НЕМЕСЕ функциясына ие болу болады. Кем дегенде бір ішкі жол табылса, IF формуласының логикалық сынауында TRUE мәнін қайтарыңыз:
ЕГЕР(НЕМЕСЕ(ISNUMBER(SEARCH(" жол1", ұяшық)), ISNUMBER (SEARCH(" жол2", ұяшық))), қайтарылатын_мән, "")А бағанында SKU тізімі бар делік және сіз «көйлек» немесе «юбка» кіретіндерді тапқыңыз келеді. Мұны мына формуланы пайдалану арқылы жасауға болады:
=IF(OR(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("skirt",A2))),"Valid ","")
Формула бірнеше элемент үшін өте жақсы жұмыс істейді, бірақ бұл, әрине, әдіс емес. көп нәрсені тексергіңіз келсе, барыңыз. Бұл жағдайда келесі мысалда көрсетілгендей СУMPRODUCT функциясын пайдалану жақсырақ болады.
SUMPRODUCT ISNUMBER SEARCH формуласы
Егер сізбірнеше мәтін жолдарымен жұмыс істеу, әрбір жолды жеке іздеу формулаңызды тым ұзақ және оқуды қиындатады. Неғұрлым талғампаз шешім ISNUMBER ІЗДЕУ комбинациясын SUMPRODUCT функциясына ендіру және нәтиженің нөлден үлкен екенін тексеріңіз:
SUMPRODUCT(--ISNUMBER(SEARCH( жол, ұяшық<) 2>)))>0Мысалы, A2-де D2:D4 ұяшықтарындағы кіріс сөздерінің кез келгені бар-жоғын білу үшін мына формуланы пайдаланыңыз:
=SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0
Баламалы түрде, іздеуге болатын жолдарды қамтитын атаулы диапазон жасауға немесе мына формуладағы сөздерді тікелей беруге болады:
=SUMPRODUCT(--ISNUMBER(SEARCH({"dress","skirt","jeans"},A2)))>0
Қайткен күнде де нәтиже мынаған ұқсас болады:
Шығаруды қолданушыға ыңғайлы ету үшін жоғарыдағы формуланы IF функциясына кірістіруге және TRUE/FALSE мәндерінің орнына өз мәтініңізді қайтаруға болады:
=IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0, "Valid", "")
Бұл формула қалай жұмыс істейді
Негізінде сіз алдыңғы мысалда түсіндірілгендей ISNUMBER-ны SEARCH-пен бірге пайдаланасыз. Бұл жағдайда іздеу нәтижелері {TRUE;FALSE;FALSE} сияқты массив түрінде ұсынылады. Егер ұяшықта көрсетілген ішкі жолдардың кем дегенде біреуі болса, алапта TRUE болады. Қос унарлы оператор (--) TRUE/FALSE мәндерін тиісінше 1 және 0-ге мәжбүрлейді және {1;0;0} сияқты массив береді. Соңында, SUMPRODUCT функциясы сандарды қосады және нәтиже нөлден үлкен ұяшықтарды таңдаймыз.
Егерұяшықта бірнеше жолдар бар (ЖӘНЕ логика)
Барлық көрсетілген мәтін жолдарын қамтитын ұяшықтарды тапқыңыз келсе, бұрыннан таныс ISNUMBER Іздеу комбинациясын IF AND:
IF(AND(ISNUMBER)) бірге пайдаланыңыз. (SEARCH(" жол1 ", ұяшық )), ISNUMBER(SEARCH(" жол2 ", ұяшық ))), қайтарылатын_мән ,"")Мысалы, құрамында "көйлек" және "көк" бар SKU кодтарын мына формуламен табуға болады:
=IF(AND(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("blue",A2))),"Valid ","")
Немесе теруге болады. бөлек ұяшықтардағы жолдарға және формулаңыздағы ұяшықтарға сілтеме жасаңыз:
=IF(AND(ISNUMBER(SEARCH($D$2,A2)),ISNUMBER(SEARCH($E$2,A2))),"Valid ","")
Балама шешім ретінде әр жолдың қайталануын санап, тексеруге болады. егер әрбір сан нөлден үлкен болса:
=IF(AND(COUNTIF(A2,"*dress*")>0,COUNTIF(A2,"*blue*")>0),"Valid","")
Нәтиже дәл жоғарыдағы скриншотта көрсетілгендей болады.
Ұяшық мәніне негізделген әртүрлі нәтижелерді қалай қайтаруға болады
Егер мақсатты бағандағы әрбір ұяшықты элементтердің басқа тізімімен салыстырғыңыз келсе және әр сәйкестік үшін басқа мәнді қайтарғыңыз келсе, келесі әдістердің бірін пайдаланыңыз.
Кірістірілген. IFs
Егер кірістірілген IF формуласының логикасы келесідей қарапайым: әрбір шартты тексеру үшін бөлек IF функциясын пайдаланасыз және сол сынақтардың нәтижелеріне байланысты әртүрлі мәндерді қайтарасыз.
IF( ұяшық =" іздеу_мәтін1 ", " қайтару _ мәтін1 ", ЕГЕР( ұяшық =" мәтінді2 іздеу ", " қайтару _ мәтін2 ", ЕГЕР( ұяшық =" мәтінді_іздеу ", " қайтару _ мәтін3 ", "")))Егер сізде А бағанында элементтер тізімі болса және олардың қысқартулары В бағанында болғыңыз келсе. Оны орындау үшін келесі формуланы пайдаланыңыз:
=IF(A2="apple", "Ap", IF(A2="avocado", "Av", IF(A2="banana", "B", IF(A2="lemon", "L", ""))))
Егер кірістірілген IF синтаксисі мен логикасы туралы толық мәліметтерді Excel кірістірілген IF – бір формуладағы бірнеше шарттар бөлімінен қараңыз.
Формула іздеу
Егер қосымша мәліметтерді іздесеңіз ықшам және жақсырақ түсінікті формула үшін тік массив константалары ретінде берілген іздеу және қайтару мәндерімен ІЗДЕУ функциясын пайдаланыңыз:
ІЗДЕУ( ұяшық , {" іздеу_мәтін1 ";" іздеу_мәтін2 ";" іздеу_мәтін3 ";…}, {" қайтару _ мәтін1 ";" қайтару _ мәтін2 ";" қайтару _ мәтін3 ";…})Дәл нәтижелерге қол жеткізу үшін іздеу мәндерін алфавиттік тәртіпте тізімдеуді ұмытпаңыз, А-дан Z-ға дейін.
=LOOKUP(A2,{"apple";"avocado";"banana";"lemon"},{"Ap";"Av";"B";"L"})
Кірістірілген IF-мен салыстырғанда, Іздеу формуласының тағы бір артықшылығы бар - ол қойылмалы таңбаларды түсінеді және сондықтан ішінара сәйкестіктерді анықтай алады.
Мысалы, А бағанында бірнеше сұрыптаулар болса банандардан «*банан*» деп іздеуге болады және барлық ұяшықтар үшін бірдей аббревиатура («В») қайтарылады:
=LOOKUP(A2,{"apple";"avocado";"*banana*";"lemon"},{"Ap";"Av";"B";"L"})
Қосымша ақпаратты кірістірілген IF-терге балама ретінде іздеу формуласын қараңыз.
Түзу формуласы
Айнымалы деректер жиынымен жұмыс істегенде, сәйкестіктер тізімін бөлек енгізу ыңғайлырақ болуы мүмкін. ұяшықтарды және оларды Vlookup формуласы арқылы шығарып алу,мысалы:
=VLOOKUP(A2, $D$2:$E$5, 2,FALSE )
Қосымша ақпаратты жаңадан бастаушыларға арналған Excel VLOOKUP оқулығын қараңыз.
Ұяшықтың бар-жоғын осылай тексересіз. Excel бағдарламасындағы кез келген мәнді немесе нақты мәтінді қамтиды. Келесі аптада біз Excel бағдарламасының «Егер ұяшығында формулалар болса» бөлімін қарауды жалғастырамыз және сәйкес ұяшықтарды санау немесе қосу, сол ұяшықтарды қамтитын барлық жолдарды көшіру немесе жою және т.б. үйренеміз. Хабардар болыңыз!
Тәжірибелік жұмыс кітабы
Excel Егер ұяшықта болса - формула мысалдары (.xlsx файлы)