Stáhněte si ukázkový sešit
Tento tutoriál bude ukážeme vám, jak odstranit nečíselné znaky z buněk v Excelu a Google Sheetu.
Odstraňte nečíselné znaky
Poznámka: Funkce uvedené v tomto článku byly představeny v Excelu 2016. Pokud máte starší verzi Excelu, přečtěte si tento článek: Najít a extrahovat číslo z řetězce.
Pomocí funkcí TEXTJOIN, SEQUENCE, MID a IFERROR můžete odstranit všechny nečíselné znaky:
1 | = TEXTJOIN ("", PRAVDA, IFERROR (MID (B3, SEQUENCE (LEN (B3)), 1) +0, "")) |
Podívejme se, jak tento vzorec funguje.
Funkce SEQUENCE a LEN vrací pole čísel od 1 do délky našeho alfanumerického řetězce. V našem případě to bude {1,2,3,4,5,6,7,8,9,10,11,12,13}.
1 | = TEXTJOIN ("", PRAVDA, IFERROR (MID (B3, {1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13}, 1) +0, "") ) |
Funkce MID vrací znaky odpovídající pozicím z výše uvedeného numerického pole:
1 | = TEXTJOIN ("", PRAVDA, IFERROR ({"1"; "3"; "M"; "o"; "n"; "d"; "a"; "y"; "0"; "1" ; "D"; "a"; "y"}+0, "")) |
Přidání 0 ke každé položce v poli způsobí chybu, pokud je hodnota text. Poté funkce IFERROR nahradí chybu prázdným řetězcem a ponechá pouze číselné hodnoty:
1 | = TEXTJOIN ("", PRAVDA, {1; 3; ""; ""; ""; ""; ""; ""; 0; 1; ""; "" ";" "}}) |
Nakonec funkce TEXTJOIN vrací pouze číselné znaky.
Místo použití funkce SEQUENCE můžete stejného cíle dosáhnout kombinací funkce TEXTJOIN s funkcemi LEN, INDIRECT, ROW, MID a IFERROR.
1 | = TEXTJOIN ("", TRUE, IFERROR ((MID (B3, ROW (INDIRECT ("1:" & LEN (B3))), 1)*1), "")) |
Jak odstranit nečíselné znaky v Tabulkách Google
Všechny výše vysvětlené příklady fungují v listech Google stejně jako v Excelu.