Ako zistiť, či bunka obsahuje číslice
Chcete pomocou vzorca rozpoznať, či sa v texte v bunke nachádza číslo alebo jedna alebo viac číslic? Ak je v bunke číslo, vzorec by mal vrátiť „áno“, ale tiež vtedy, ak je číslo súčasťou obsahu bunky, tj. Pre „Meine5isthier“ alebo „2fast4you“. To bola úloha v súťaži vzorcov programu Excel a tu je prvé riešenie:
= IF (COUNT (FIND (LINE (A: A) -1; A1)); "yes"; "no")
Vzorec je maticový vzorec. Musíte ho zadať pomocou klávesovej skratky CTRL SHIFT ENTER namiesto klávesu ENTER. Potom Excel označí vzorec kučeravými zátvorkami. Nezadávajte tieto zátvorky; sú automaticky umiestnené okolo vzorca na vizualizáciu vzorcov poľa.
Nasledujúci obrázok ukazuje použitie vzorca v praxi:
Vzorec spôsobí, že funkcia FIND vyhľadá v bunke A1 číslice 0 až 9. Dátové pole 0 až 9 vyplýva z výrazu LINE (1: 9) v matici. FINDEN vráti dátové pole, ktoré pozostáva z nájdených číslic a chybových hodnôt #HODNOTA! pozostáva.
Z toho funkcia NUMBER určuje počet číslic v zozname. Ak je toto číslo väčšie ako 0, bunka obsahuje číslice. Na toto číslo sa pýta funkcia IF. Pretože IF považuje hodnotu 0 iba za NEPRAVDU, funkcia IF spôsobí, že ak sú v bunke číslice, zobrazí sa „áno“ a v opačnom prípade „nie“.
Vzorec je veľmi krátky, ale funguje aj veľmi pomaly, pretože prechádza všetkými riadkami v stĺpci A maticou v prospech dĺžky vzorca. Funkcia sa stáva rýchlejšou nasledovne:
= IF (COUNT (FIND (LINE (A1: A10) -1, A1)), "yes", "no")
Alternatívne môžete použiť riešenie 2, ktoré používa rovnaký počet znakov:
= IF (ČÍSLO (1 * ČASŤ (A1; RIADOK (A: A); 1)); „áno“; „nie“)
Tento vzorec je tiež vzorcom poľa, ktorý musíte preniesť do bunky pomocou klávesu CTRL SHIFT ENTER.
V tomto vzorci sú jednotlivé písmena / číslice obsahu bunky z bunky A1 izolované pomocou matice a potom vynásobené 1. Výsledkom je matica, ktorá pozostáva z chybových hodnôt # VALUE1 a jednotlivých číslic obsahu bunky. Vzorec potom pomocou funkcie ČÍSLO určí počet číslic, ktoré obsahuje, a použije ju ako kritérium pre dotaz IF.
Tento vzorec je tiež pomalý, pretože sú spustené všetky riadky v stĺpci A. Vzorec sa stáva rýchlejším s nasledujúcou zmenou:
= IF (ČÍSLO (1 * ČASŤ (A1; RADA (A1: A100); 1)); „áno“; „nie“)
V tomto prípade môže mať záznam, ktorý sa má preskúmať v bunke A1, maximálne 100 znakov. Nasledujúci, obzvlášť rýchly vzorec, ktorý môžete zadať bežným spôsobom, vôbec nevyžaduje maticu:
= IF (ČÍSLO (NÁJDI ((0; 1; 2; 3; 4; 5; 6; 7; 8; 9}; A1)); "áno"; "nie")
Tu je maticový riadok (A: A) nahradený explicitným zoznamom možných číslic 0 až 9. Do tohto vzorca musíte zadať zložené zátvorky!