Jak extrahovat všechny dílčí shody v Excelu?
Pokud chcete extrahovat všechny shody, které obsahují konkrétní klíčové slovo, ze sloupce a uvést je ve sloupci nebo v buňce oddělené oddělovačem, jak je znázorněno na obrázku níže, jak byste mohli vyřešit tento úkol v aplikaci Excel?
Extrahujte všechny dílčí shody vertikálně pomocí vzorce
Extrahujte všechny dílčí shody do jedné buňky pomocí funkce definované uživatelem
Extrahujte všechny dílčí shody vertikálně pomocí vzorce
Chcete-li extrahovat všechny shody vertikálně ve sloupci na základě částečného textu, může vám pomoci následující maticový vzorec:
Step1: Zkopírujte a vložte níže uvedený vzorec do prázdné buňky, kam chcete vložit výsledek:
Poznámka: Ve výše uvedeném vzorci, A2: A14 buňky mohou obsahovat klíčové slovo, ze kterého chcete vrátit shody, C2 obsahuje klíčové slovo, E1 je buňka nad vzorcem.
Step2: Poté stiskněte Ctrl + Shift + Enter kláves současně, abyste získali první výsledek, a poté přetáhněte úchyt výplně dolů, abyste získali všechny shody, dokud se neobjeví chybová hodnota. Nakonec smažte chybové hodnoty, viz snímek obrazovky:
Extrahujte všechny dílčí shody do jedné buňky pomocí funkce definované uživatelem
Pokud potřebujete extrahovat všechny shody do jedné buňky a oddělené specifickým oddělovačem, možná neexistuje žádný vzorec, který by to mohl vyřešit. Zde musíte použít níže uvedenou uživatelem definovanou funkci:
Step1: Lis Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.
Step2: V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modula poté zkopírujte následující kód do modulu.
Kód VBA: Extrahujte všechny dílčí shody do jedné buňky
Function ExtractPartMatch(rngInput As Range, rngSource As Range, Optional sDelimiter As String)
'Updateby ExtendOffice
Dim rng As Range
If sDelimiter = "" Then sDelimiter = ", "
For Each rng In rngSource
If InStr(1, rng.Value, rngInput.Value, vbTextCompare) > 0 Then ExtractPartMatch = ExtractPartMatch & sDelimiter & rng.Value
Next
If Len(ExtractPartMatch) > 0 Then ExtractPartMatch = Mid(ExtractPartMatch, 2, Len(ExtractPartMatch))
End Function
Step3: Po vložení kódu se prosím vraťte do listu, kde chcete najít výsledek, a zadejte tento vzorec: =ExtractPartMatch(C2,$A$2:$A$14)a poté stiskněte vstoupit klíč k získání výsledku, jak je uvedeno níže:
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!