Преглед садржаја
Водич објашњава како да Екцел ВЛООКУП разликује велика и мала слова, показује неколико других формула које разликују велика и мала слова текста и указује на предности и ограничења сваке функције.
Претпостављам да свака Корисник Екцела зна која функција врши вертикално тражење у Екцел-у. У реду, то је ВЛООКУП. Међутим, врло мало људи је свесно да Екцел-ов ВЛООКУП не разликује велика и мала слова, што значи да третира мала и ВЕЛИКА слова као исте знакове.
Ево кратког примера који показује неспособност ВЛООКУП-а да разликује велика и мала слова. Претпоставимо да имате „рачун“ у ћелији А2 и „рачун“ у ћелији А4. Формула у наставку ће ухватити „рачун“ јер је она прва у низу претраживања и вратиће одговарајућу вредност са Б2.
=VLOOKUP("Bill", A2:B4, 2, FALSE)
Даље у овом чланка, показаћу вам начин да ВЛООКУП учините осетљивим на велика и мала слова. Такође ћемо истражити неколико других функција које могу да ураде подударање осетљиво на велика и мала слова у Екцел-у.
Формула ВЛООКУП осетљива на велика и мала слова
Као што је горе поменуто, уобичајена ВЛООКУП формула не препознаје велико слово. Међутим, постоји начин да се Екцел ВЛООКУП учини осетљивим на велика и мала слова, као што је приказано у примеру испод.
Претпоставимо да имате ИД-ови ставки у колони А и желите да извучете цену ставке и коментаришете из колона Б и Ц. Проблем је што ИД-ови укључују и мала и велика слова. На пример, вредности у А4 (001Твци3у) и А5 (001Твци3У) се разликују само упоследњи знак, „у“ и „У“, респективно.
Када се тражи „001Твци3 У “, стандардна ВЛООКУП формула даје 90 УСД који је повезан са „001Твци3 у " јер се налази испред "001Твци3 У " у низу за тражење. Али ово није оно што желите, зар не?
=VLOOKUP(F2, A2:C7, 2, FALSE)
Да бисмо извршили тражење осетљиво на велика и мала слова у Екцел-у, комбинујемо ВЛООКУП, ЦХООСЕ и ЕКСАЦТ функције:
ВЛООКУП(ТРУЕ, ЦХООСЕ({1,2}, ЕКСАЦТ( лоокуп_валуе, лоокуп_арраи), ретурн_арраи), 2, 0)Ова генеричка формула савршено функционише у свим ситуацијама. Можете чак и да потражите здесна налево , нешто што обична ВЛООКУП формула не може да уради. Свака част Поуриии што је предложио ово једноставно и елегантно решење!
У нашем случају, праве формуле иду на следећи начин.
Да бисте повукли цену у Ф3:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE)
Да бисте преузели коментар Ф4:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)
Напомена. У свим верзијама програма Екцел осим Екцел 365, ово функционише само као формула низа, па запамтите да притиснете Цтрл + Схифт + Ентер да бисте је исправно довршили. У програму Екцел 365, због подршке за динамичке низове, ради и као обична формула.
Како ова формула функционише:
Основни део који ради трик је ОДАБИР формуле са угнежђеним ЕКСАЦТ:
CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7)
Овде, функција ЕКСАЦТ упоређује вредност у Ф2 са сваком вредношћу у А2:А7 и враћа ТРУЕ ако су потпуно исте укључујући и велика слова,ФАЛСЕ иначе:
{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}
За аргумент индекс_број за ЦХООСЕ користимо константу низа {1,2}. Као резултат, функција комбинује логичке вредности из горњег низа и вредности из Ц2:Ц7 у дводимензионални низ овако:
{FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}
Функција ВЛООКУП га преузима одатле и тражи тражену вредност (која је ТРУЕ) у 1. колони 2-димензионалног низа (представљеног логичким вредностима) и враћа подударање из 2. колоне, што је цена коју тражимо:
VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)
КСЛООКУП формула осетљива на велика и мала слова
Мицрософт 365 претплатници могу да изврше тражење осетљиво на велика и мала слова у Екцел-у уз још једноставнију формулу. Као што можете да претпоставите, говорим о моћнијем наследнику ВЛООКУП-а - функцији КСЛООКУП.
Пошто КСЛООКУП ради одвојено на низовима за тражење и враћање, не треба нам трик са дводимензионалним низом из претходног пример. Једноставно, користите ЕКСАЦТ за аргумент низ_проналажења :
КСЛООКУП(ТРУЕ, ЕКСАЦТ( лоокуп_валуе , лоокуп_арраи ), ретурн_арраи , " Није пронађено")Последњи аргумент ("Није пронађено") је опционо. Он само дефинише коју вредност треба вратити ако није пронађено подударање. Ако га изоставите, стандардна грешка #Н/А ће бити враћена у случају да формула не пронађе ништа.
За нашу табелу узорка, ово су КСЛООКУП формуле које разликују велика и мала слова.
Да бисте добили цену у Ф3:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), B2:B7, "Not found")
Да бисте издвојиликоментар Ф4:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), C2:C7, "Not found")
Како ова формула функционише:
Као у претходном примеру, ЕКСАЦТ враћа низ вредности ТРУЕ и ФАЛСЕ, где ТРУЕ представља подударања која разликују велика и мала слова. КСЛООКУП претражује горњи низ за ТРУЕ вредност и враћа подударање из ретурн_арраи . Имајте на уму да ако постоје две или више потпуно истих вредности у колони за тражење (укључујући велика и мала слова), формула ће вратити прво пронађено подударање.
КСЛООКУП ограничење : доступно само у Екцел 365 и Екцел 2021.
СУМПРОДУЦТ – претраживање осетљиво на велика и мала слова за враћање одговарајућих бројева
Као што разумете из наслова, СУМПРОДУЦТ је још једна Екцел функција која може да изврши тражење осетљиво на велика и мала слова , али може да врати само нумеричке вредности . Ако ово није ваш случај, онда пређите на пример ИНДЕКС МАТЦХ који пружа решење за све типове података.
Као што вероватно знате, Екцел-ов СУМПРОДУЦТ множи компоненте у наведеним низовима и враћа збир производа. Пошто желимо претрагу која разликује велика и мала слова, користимо функцију ЕКСАЦТ да добијемо први низ:
=SUMPRODUCT((EXACT(A2:A7,F2) * (B2:B7)))
Нажалост, функција СУМПРОДУЦТ не може да врати текстуална подударања јер текстуалне вредности не могу да се помноже. У овом случају, добићете #ВРЕДНОСТ! грешка као у ћелији Ф4 на слици испод:
Како ова формула функционише:
Као у примеру ВЛООКУП, ТАЧНО провере функцијавредност у Ф2 у односу на све вредности у А2:А7 и враћа ТРУЕ за подударања осетљива на велика и мала слова, ФАЛСЕ у супротном:
SUMPRODUCT(({FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}*{155;186;90;54;159;28}))
У већини формула, Екцел процењује ТРУЕ на 1 и ФАЛСЕ на 0 Дакле, када ЗУМПРОИЗВОД помножи елементе два низа на истим позицијама, сва неподударања (ФАЛСЕ) постају нуле:
SUMPRODUCT({0;0;0;54;0;0})
Као резултат, формула враћа број из колона Б која одговара тачном подударању које разликује велика и мала слова у колони А.
ограничење ЗБИРНИ ПРОИЗВОД : може да врати само нумеричке вредности.
ИНДЕКС МАТЦХ - тражење осетљиво на велика и мала слова за сви типови података
Коначно, близу смо добијању формуле за тражење без ограничења која је осетљива на велика и мала слова која ради у свим верзијама Екцел-а и на свим скуповима података.
Овај пример долази последњи не само зато што најбоље је сачувано за последње, али и зато што вам знање које сте стекли у претходним примерима може помоћи да боље разумете формулу МАЦХ ИНДЕКС осетљиву на велика и мала слова.
Комбинација функција ИНДЕКС и МАТЦХ се често користи у Ек цел као флексибилнија и свестранија алтернатива ВЛООКУП-у. Следећи чланак ради добар посао (надамо се :) објашњавајући како ове две функције функционишу заједно - Коришћење ИНДЕКС МАТЦХ уместо ВЛООКУП-а.
Овде ћу вас само подсетити на кључне тачке:
- Функција МАТЦХ тражи тражену вредност у наведеном низу претраживања и враћа њену релативну позицију.
- Релативнапозиција тражене вредности иде директно у аргумент ред_број функције ИНДЕКС и налаже јој да врати вредност из тог реда.
Да би формула препознала велика и мала слова текста, само потребно је додати још једну функцију класичној комбинацији ИНДЕКС МАТЦХ. Очигледно вам је поново потребна функција ЕКСАЦТ:
ИНДЕКС( повратни_низ , МАТЦХ(ТРУЕ, ЕКСАЦТ( лоокуп_валуе , лоокуп_арраи ), 0))Права формула у Ф3 је:
=INDEX(B2:B7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
У Ф4 користимо ову:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Молимо да запамтите да ради само као формула низа у свим верзијама осим Екцел 365, па обавезно унесите је тако што ћете заједно притиснути тастере Цтрл + Схифт + Ентер. Ако се уради исправно, формула ће бити затворена у витичасте заграде као што је приказано на слици испод:
Како ова формула функционише:
Као иу свим претходним примерима, ЕКСАЦТ враћа ТРУЕ за сваку вредност у А2:А7 која се тачно поклапа са вредношћу у Ф2. Пошто користимо ТРУЕ за лоокуп_валуе МАТЦХ, он враћа релативну позицију тачног подударања осетљивог на велика и мала слова, што је управо оно што ИНДЕКС-у треба да врати подударање из Б2:Б7.
Напредна формула за претраживање осетљива на велика и мала слова
Горе поменута формула ИНДЕКС МАТЦХ изгледа савршено, зар не? Али у ствари, није. Дозволите ми да вам покажем зашто.
Претпоставимо да је ћелија у колони за повратак која одговара вредности за тражење празна. Шта ће формула вратити? Ништа.А сада, да видимо шта заправо враћа:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Упс, формула враћа нулу! Можда то и није важно када се ради само о текстуалним вредностима. Међутим, ако ваш радни лист садржи бројеве и неки од њих су стварне нуле, то је проблем.
У ствари, све друге формуле за тражење о којима смо раније говорили понашају се на исти начин. Али сада желите беспрекорну формулу, зар не?
Да би формула ИНДЕКС МАТЦХ осетљива на велика и мала слова била апсолутно савршена, умотајте је у функцију ИФ која проверава да ли је ћелија за повратак празна и не враћа ништа у овај случај:
=IF(INDIRECT("C"&(1+MATCH(TRUE,EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "")
У горњој формули:
- "Ц" је повратна колона.
- "1" је број који претвара релативну позицију ћелије коју враћа функција МАТЦХ у стварну адресу ћелије .
На пример, низ за тражење у нашој функцији МАТЦХ је А2:А7, што значи да је релативна позиција ћелије А2 „1“, јер је ово прва ћелија у низу. Али у стварности, низ за тражење почиње у реду 2. Да бисмо надокнадили разлику, додајемо 1, тако да ће функција ИНДИРЕЦТ вратити вредност из десне ћелије.
Снимци екрана испод показују побољшани ИНДЕКС који разликује велика и мала слова МАТЦХ формула у акцији.
Ако је повратна ћелија празна, формула не даје ништа (празан низ):
Ако повратна ћелија садржи нулу , формула враћа 0:
Ако желитеприкажи неку поруку када је повратна ћелија празна, замени празан стринг ("") у последњем аргументу ИФ неким текстом:
=IF(INDIRECT("C"&(1+MATCH(TRUE, EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "There is nothing to return, sorry.")
Урадите ВЛООКУП осетљив на велика и мала слова на једноставан начин
Корисници нашег Ултимате Суите фор Екцел-а имају специјалну алатку која олакшава тражење великих и сложених табела без стреса. Најбоља ствар је што Мерге Тво Таблес има опцију која разликује велика и мала слова, а пример у наставку то показује на делу.
Претпоставимо да желите да повучете Кти. из табеле Лоокуп у табелу Маин на основу јединствених ИД-ова ставке:
Оно што треба да урадите је да покренете обједињавање табела чаробњака и извршите ове кораке:
- Изаберите главну табелу у коју желите да повучете нове податке.
- Изаберите табелу за тражење где да тражите нове податке.
- Изаберите једну или више кључних колона (ИД ставке у нашем случају). И обавезно означите поље Подударање осетљиво на велика и мала слова .
Тренутак касније, добићете жељени резултат :)
Тако се тражи у Екцел-у узимајући у обзир велика и мала слова. Захваљујем вам што сте читали и надам се да ћемо вас видети на нашем блогу следеће недеље!
Вежбање за преузимање
Примери ВЛООКУП-а осетљиви на велика и мала слова (.клск датотека)