Как да получите позиция на първото частично съвпадение

Anonim


В тази статия ще се опитаме да получим позицията на първото частично съвпадение в диапазон.
Както знаем, че функцията MATCH връща индекса или позицията на първото съвпадение в диапазон. Следователно е очевидно да се използва тази функция, за да се получи позицията на първо съвпадение в диапазон. Тъй като той поддържа заместващите оператори, можем също да използваме MATCH за частични съвпадения.

След като получим позицията на първа позиция на мача, можем да правим различни неща. Като извличане на тази стойност или съседна или несъседна стойност с помощта на INDEX функция ,, или създаване на динамична функция. Зависи от вашите нужди и креативност.
Обща формула за първото открито частично съвпадение
За хардкод низ:

= MATCH ("*ул*",диапазон,0)

За справка на клетката:

= MATCH ("*" & клетка & "*", диапазон, 0)

Ул: това е текстът или низът, които искате частично да съвпадат в обхвата. Това може да бъде всяко нещо, клетка или твърдо кодиран низ.
Обхват: това е диапазонът, в който ще търсите ул.
0: Това е параметърът за точно съвпадение. Можете също да използвате FALSE.

Обърнете внимание, че сме използвали * (атриск) пред и в края на низа str. Това е заместващ оператор за съвпадение на всяка стойност всеки низ преди и след него …

Нека видим пример.

Тук имам запис на Win, Loss и Tie. Искаме да спечелим първа позиция на победа, загуба и равенство.

Така че, ако твърдо кодирам, формулата за намиране на първа позиция на частично съвпадение във всяка клетка ще бъде:

= MATCH ("*спечелен*", A2: A10,0)
= MATCH ("*загуба*", A2: A10,0)
= MATCH ("*вратовръзка*", A2: A10,0)

= MATCH ("*" & C2 & "*", $ A $ 2: $ A $ 10,0)


Как работи
Той просто използва функционалността на excel, за да прави частични съвпадения. MATCH търси всеки низ, който съдържа предоставения низ между * (звездички) и връща първата намерена позиция.
Намерете позицията на първото частично съвпадение в обхвата, като използвате функцията VBA на FirstPartMatch
Ако копирате по -долу vba код в vba модул в excel, можете да използвате тази функция, за да получите първа позиция на частично съвпадение. За горния пример просто напишете тази формула:

= FirstPartMatch (C2, $ A $ 2: $ A $ 10)

Ще получите позицията на първия мач. Като този.

Как работи

Първият аргумент е низът, който искате да търсите за частично съвпадение.
Вторият аргумент е диапазонът, в който искате да получите позиция на вашия низ.

= FirstPartMatch (str, диапазон)

За да използвате тази формула за частично съвпадение, копирайте кода по -долу във VBA модул.

Функция FirstPartMatch (str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 За всеки cll In rng tmp = tmp + 1 If InStr (1, LCase (cll.Value2), LCase (str)) > 0 Тогава позиция = tmp Изход за край, ако следващ cll Ако позиция, тогава първа част 


Частично чувствително частично съвпадение за позиция

Горната дефинирана от потребителя функция за намиране на първото частично съвпадение няма да е чувствителна към регистъра. Ако искате той да е чувствителен към главни букви, премахнете Lcase функция от ред 7.

Тогава кодът за чувствителни към главни букви ще бъде:

Функция FirstPartMatchCASE (str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 За всеки cll In rng tmp = tmp + 1 If InStr (1, cll.Value2, str)> 0 Тогава позиция = tmp Изход за край, ако следващ cll Ако позиция, тогава FirstPartMatchCASE = позиция Else FirstPartMatchCASE = "#NA" Край, ако функцията за край 


Можете да видите, че „спечелен“ и „равен“ в този случай не са намерени. Тъй като няма спечелени малки букви или равенство.

Така че да, момчета, това са начините да намерите позицията на първото частично съвпадение в Excel. Казах ви, че можете да намерите първа позиция за частично съвпадение, като използвате предварително зададена функция MATCH и използвайки определена от потребителя функция за съвпадение. Ако имате други идеи или въпроси, споделете с нас тук в секцията за коментари по -долу.

Как да използвате функцията MATCH в Excel

Как да използвате функцията INDEX в Excel

Vlookup Топ 5 стойности с дублирани стойности, използващи INDEX-MATCH в Excel

Популярни статии:

Функцията VLOOKUP в Excel

COUNTIF в Excel 2016

Как да използвате функцията SUMIF в Excel