Excel vzorec: Zkraťte jména nebo slova -

Obecný vzorec

=TEXTJOIN("",1,IF(ISNUMBER(MATCH(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),ROW(INDIRECT("65:90")),0)),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),""))

souhrn

Chcete-li zkrátit text, který obsahuje velká písmena, můžete vyzkoušet tento vzorec pole založený na funkci TEXTJOIN, nové funkci dostupné v Office 365 a Excel 2019. Tento přístup můžete použít k vytvoření iniciál z názvů nebo k vytvoření akronymů. Tento vzorec přežije pouze velká písmena, takže zdrojový text musí obsahovat velká písmena. V případě potřeby můžete použít funkci VLASTNÍ k psaní velkých písmen slov.

V zobrazeném příkladu je vzorec v C5:

=TEXTJOIN("",1,IF(ISNUMBER(MATCH(CODE(MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)),ROW(INDIRECT("65:90")),0)),MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1),""))

Vysvětlení

Při práci zevnitř ven se funkce MID používá k obsazení řetězce do řady jednotlivých písmen:

MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)

V této části vzorce se MID, ROW, INDIRECT a LEN používají k převodu řetězce na pole nebo písmena, jak je popsáno zde.

MID vrací pole všech znaků v textu.

("W"; "i"; "l"; "l"; "i"; "a"; "m"; ""; "S"; "h"; "a"; "k"; "e ";" s ";" p ";" e ";" a ";" r ";" e ")

Toto pole se přivádí do funkce CODE, která vydává řadu číselných kódů ascii, jeden pro každé písmeno.

Samostatně se ROW a INDIRECT používají k vytvoření dalšího číselného pole:

ROW(INDIRECT("65:90")

To je chytrý kousek. Čísla 65 až 90 odpovídají kódům ASCII pro všechna velká písmena mezi AZ. Toto pole jde do funkce MATCH jako vyhledávací pole a jako vyhledávací hodnota je poskytnuto původní pole kódů ascii.

MATCH pak vrátí buď číslo (na základě pozice), nebo chybu # N / A. Čísla představují velká písmena, takže se k filtrování výsledků používá funkce ISNUMBER společně s funkcí IF. Pouze znaky, jejichž kód ASCII je mezi 65 a 90, se převedou do konečného pole, které se poté znovu sestaví pomocí funkce TEXTJOIN a vytvoří se konečná zkratka nebo zkratka.

Dobré odkazy

Získejte iniciály od jména (Chandoo)

Zajímavé články...