У овом чланку покушаћемо да добијемо позицију првог делимичног подударања у распону.
Као што знамо да функција МАТЦХ враћа индекс или позицију првог подударања у опсегу. Стога је очигледно да се ова функција користи за добијање позиције првог подударања у распону. Пошто подржава џокер операторе, можемо такође користити МАТЦХ за делимична подударања.
Када добијемо позицију прве позиције, можемо радити разне ствари. Попут преузимања те вредности или суседне или несуследне вредности помоћу функције ИНДЕКС ,, или прављења динамичке функције. Зависи од ваших потреба и креативности.
Општа формула за прво пронађено делимично подударање
За низ са хард кодом:
= МАТЦХ ("*стр*",домет,0)
За референцу ћелије:
= МАТЦХ ("*" & ћелија & "*", опсег, 0)
Стр: то је текст или низ који желите да се делимично подударају у опсегу. То може бити било која ствар, ћелија или тврди код.
Домет: то је опсег у којем ћете тражити стр.
0: То је параметар за потпуно подударање. Можете користити и ФАЛСЕ.
Имајте на уму да смо користили * (астриске) испред и на крају стринга стр. Ово је заменски оператор за подударање било које вредности било који низ пре и после њега …
Погледајмо пример.
Овде имам запис Вин, Лосс и Тие. Желимо да освојимо прву позицију победе, пораза и изједначења.
Дакле, ако ја тешко кодирам, формула за проналажење прве позиције делимичног подударања у свакој ћелији ће бити:
= МАТЦХ ("*победио*", А2: А10,0)
= МАТЦХ ("*губитак*", А2: А10,0)
= МАТЦХ ("*кравата*", А2: А10,0)
= МАТЦХ ("*" & Ц2 & "*", $ А $ 2: $ А $ 10,0)
Како то ради
Он једноставно користи функционалност програма Екцел за делимична подударања. МАТЦХ тражи било који низ који садржи наведени низ између * (звездице) и враћа прву пронађену позицију.
Пронађите позицију првог делимичног подударања у опсегу помоћу функције ФирстПартМатцх ВБА
Ако копирате испод вба кода у вба модул у екцелу, можете користити ову функцију да бисте добили прву позицију делимичног подударања. За горњи пример, само напишите ову формулу:
= ФирстПартМатцх (Ц2, $ А $ 2: $ А $ 10)
Добићете позицију првог меча. Овако.
Како то ради
Први аргумент је низ који желите да тражите ради делимичног подударања.
Други аргумент је опсег у којем желите да добијете позицију свог низа.
= ФирстПартМатцх (стр, опсег)
Да бисте користили ову формулу за делимично подударање, копирајте доњи код у ВБА модул.
Функција ФирстПартМатцх (стр Ас Стринг, рнг Ас Ранге) Дим тмп, поситион Ас Лонг поситион = 0 тмп = 0 За сваки цлл Ин рнг тмп = тмп + 1 Иф ИнСтр (1, ЛЦасе (цлл.Валуе2), ЛЦасе (стр)) > 0 Тхен поситион = тмп Екит Фор Енд Иф Нект цлл Иф поситион тхен ФирстПартМатцх = поситион Елсе ФирстПартМатцх = "#НА" Енд Иф Енд функција
Делимично подударање малих и малих слова за позицију
Изнад кориснички дефинисане функције за проналажење првог делимичног подударања неће бити велика и мала слова. Уклоните ако желите да разликује велика и мала слова Лцасе функција из реда 7.
Тада ће код за велика и мала слова бити:
Функција ФирстПартМатцхЦАСЕ (стр Ас Стринг, рнг Ас Ранге) Дим тмп, поситион Ас Лонг поситион = 0 тмп = 0 За сваки цлл Ин рнг тмп = тмп + 1 Иф ИнСтр (1, цлл.Валуе2, стр)> 0 Тхен поситион = тмп Изађи за крај ако је следећи цлл Ако позиција Затим ФирстПартМатцхЦАСЕ = позиција Елсе ФирстПартМатцхЦАСЕ = "#НА" Енд Иф Енд функција
Можете видети да у овом случају „победа“ и „нерешено“ нису пронађени. Пошто нема малих слова добијених или нерешених резултата.
Па да, момци, ово су начини да пронађете место првог делимичног подударања у Екцелу. Рекао сам вам да прву позицију делимичног подударања можете пронаћи помоћу унапред дефинисане функције МАТЦХ и помоћу функције дефинисане од стране корисника. Ако имате било каквих других идеја или питања, поделите са нама овде у одељку за коментаре испод.
Како се користи функција МАТЦХ у програму Екцел
Како се користи функција ИНДЕКС у програму Екцел
Влоокуп Топ 5 вредности са дупликатом вредности помоћу ИНДЕКС-МАТЦХ у Екцелу
Популарни чланци:
Функција ВЛООКУП у Екцелу
ЦОУНТИФ у програму Екцел 2016
Како се користи функција СУМИФ у програму Екцел