V tomto článku sa pokúsime získať pozíciu prvého čiastkového zápasu v rozsahu.
Ako vieme, funkcia MATCH vracia index alebo pozíciu prvého zápasu v rozsahu. Preto je zrejmé, že pomocou tejto funkcie získate pozíciu prvého zápasu v rozsahu. Pretože podporuje operátory zástupných znakov, môžeme použiť aj MATCH na čiastočné zhody.
Akonáhle sa dostaneme na pozíciu prvej zápasovej pozície, môžeme robiť rôzne veci. Rovnako ako načítanie tejto hodnoty alebo susednej alebo nesusediacej hodnoty pomocou funkcie INDEX, alebo vytvorenie dynamickej funkcie. To závisí od vašej potreby a kreativity.
Generický vzorec pre prvý nájdený čiastočný zápas
Pre reťazec pevného kódu:
= MATCH ("*str*",rozsah,0)
Pre odkaz na bunku:
= MATCH ("*" & bunka & "*", rozsah, 0)
Str: je to text alebo reťazec, ktorý chcete čiastočne priradiť v rozsahu. Môže to byť čokoľvek, bunka alebo napevno zadaný reťazec.
Rozsah: je to rozsah, v ktorom budete hľadať str.
0: Je to parameter pre presnú zhodu. Môžete tiež použiť FALSE.
Všimnite si toho, že sme používali * (hviezdičky) pred a koncom reťazca str. Toto je zástupný operátor na priradenie akejkoľvek hodnoty akýkoľvek reťazec pred a za ním …
Pozrime sa na príklad.
Tu mám záznam o výhrach, prehrách a remíze. Chceme získať prvú pozíciu výhier, prehier a remíz.
Ak teda naprogramujem kód, potom vzorec na nájdenie prvej polohy čiastočnej zhody v každej bunke bude:
= MATCH ("*vyhral*", A2: A10,0)
= MATCH ("*strata*", A2: A10,0)
= MATCH ("*remíza*", A2: A10,0)
= MATCH ("*" & C2 & "*", $ A $ 2: $ A $ 10,0)
Ako to funguje
Na čiastočné zhody jednoducho používa funkciu Excelu. MATCH hľadá akýkoľvek reťazec, ktorý obsahuje poskytnutý reťazec medzi * (hviezdičkami) a vráti prvú nájdenú pozíciu.
Nájdite pozíciu prvého čiastočného zápasu v rozsahu pomocou funkcie FirstPartMatch VBA
Ak skopírujete nižšie kód vba v module vba v programe Excel, môžete túto funkciu použiť na získanie prvej pozície čiastočnej zhody. Pre vyššie uvedený príklad stačí napísať tento vzorec:
= FirstPartMatch (C2, $ A $ 2: $ A $ 10)
Získate pozíciu prvého zápasu. Páči sa ti to.
Ako to funguje
Prvým argumentom je reťazec, v ktorom chcete vyhľadať čiastočnú zhodu.
Druhým argumentom je rozsah, v ktorom chcete získať pozíciu vášho reťazca.
= FirstPartMatch (str, rozsah)
Ak chcete použiť tento vzorec na čiastočné párovanie, skopírujte kód nižšie v module VBA.
Funkcia FirstPartMatch (str ako reťazec, rng ako rozsah) Dim tmp, poloha ako dlhá poloha = 0 tmp = 0 pre každý cll In rng tmp = tmp + 1 If InStr (1, LCase (cll.Value2), LCase (str)) > 0 Potom pozícia = tmp Ukončiť pre koniec Ak ďalšie cll Ak poloha Potom FirstPartMatch = poloha Else FirstPartMatch = "#NA" Koniec Ak funkcia Koniec
Čiastočná zhoda malých a veľkých písmen pre pozíciu
Vyššie definovaná užívateľská funkcia na nájdenie prvej čiastočnej zhody nebude rozlišovať malé a veľké písmená. Ak chcete, aby rozlišoval malé a veľké písmena, odstráňte ho Funkcia Lcase z riadku 7.
Potom kód pre rozlišovanie malých a veľkých písmen bude:
Funkcia FirstPartMatchCASE (str ako reťazec, rng ako rozsah) Dim tmp, poloha ako dlhá poloha = 0 tmp = 0 pre každý cll In rng tmp = tmp + 1 If InStr (1, cll.Value2, str)> 0 Then position = tmp Ukončiť pre koniec, ak bude nasledovať.
Môžete vidieť, že „vyhraté“ a „nerozhodné“ v tomto prípade neboli nájdené. Pretože neexistuje ani malé víťazstvo, ani remíza.
Takže áno, chlapci, toto sú spôsoby, ako nájsť pozíciu prvého čiastkového zápasu v programe Excel. Povedal som vám, že môžete nájsť polohu čiastočnej zhody prvého prsta pomocou preddefinovanej funkcie MATCH a pomocou funkcie zhody definovanej používateľom. Ak máte ďalšie nápady alebo otázky, podeľte sa s nami tu v sekcii komentárov nižšie.
Ako používať funkciu MATCH v programe Excel
Ako používať funkciu INDEX v programe Excel
Vlookup Najlepších 5 hodnôt s duplicitnými hodnotami pomocou INDEX-MATCH v programe Excel
Populárne články:
Funkcia VLOOKUP v programe Excel
COUNTIF v Exceli 2016
Ako používať funkciu SUMIF v programe Excel