V tomto článku sa popisuje syntax vzorca a používanie funkcií FIND a FINDB v Microsoft Exceli.
Popis
Funkcie FIND and FINDB vyhľadávajú jeden textový reťazec vo vnútri druhého reťazca a vracajú počiatočnú pozíciu prvého reťazca od prvého znaku druhého reťazca.
Dôležité:
-
Tieto funkcie nemusia byť k dispozícii vo všetkých jazykoch.
-
Funkcia FIND je určená pre jazyky, ktoré používajú jednobajtovú tabuľku znakov (SBCS), zatiaľ čo funkcia FINDB je určená pre jazyky, ktoré používajú dvojbajtovú tabuľku znakov (DBCS). Predvolené nastavenie jazyka v počítači ovplyvňuje vrátenú hodnotu nasledovným spôsobom:
-
Funkcia FIND započítava každý znak, či už jednobajtový alebo dvojbajtový, ako 1, bez ohľadu na predvolené nastavenie jazyka.
-
Ak ste povolili úpravy jazyka, ktorý podporuje dvojbajtovú tabuľku znakov DBCS, a potom ste daný jazyk nastavili ako predvolený, funkcia FINDB započíta každý dvojbajtový znak ako 2. V opačnom prípade funkcia FINDB započíta každý znak ako 1.
Medzi jazyky podporujúce dvojbajtovú tabuľku znakov DBCS patrí japončina, čínština (zjednodušená), čínština (tradičná) a kórejčina.
Syntax
FIND(nájsť_text; v_texte; [počiatočné_číslo])
FINDB(nájsť_text; v_texte; [počiatočné_číslo])
Syntax funkcií FIND a FINDB obsahuje nasledovné argumenty:
-
nájsť_text Povinný argument. Predstavuje text, ktorý chcete vyhľadať.
-
v_texte Povinný argument. Predstavuje text, v rámci ktorého sa má nachádzať hľadaný text.
-
pozícia_začiatku Voliteľný argument. Určuje znak, na ktorom má začať vyhľadávanie. Prvý znak v rámci hľadaného textu je znak číslo 1. Ak vynecháte argument pozícia_začiatku, predpokladá sa, že má hodnotu 1.
Poznámky
-
Funkcie FIND and FINDB rozlišujú malé a veľké písmena a neumožňujú vyhľadávať podľa zástupných znakov. Ak nechcete vyhľadávať s rozlíšením malých a veľkých písmen, alebo chcete použiť zástupné znaky, použite funkcie SEARCH a SEARCHB.
-
Ak argument nájsť_text obsahuje "" (prázdny text), výsledok funkcie FIND sa bude rovnať prvému znaku v prehľadávanom reťazci (to znamená, znaku daného parametrom pozícia_začiatku alebo 1).
-
Argument nájsť_text nemôže obsahovať žiadne zástupné znaky.
-
Ak sa find_text v within_text nezobrazuje, funkcie FIND a FINDB vrátia #VALUE! .
-
Ak start_num nie je väčšia ako nula, funkcie FIND a FINDB vrátia #VALUE! .
-
Ak je start_num väčšia ako dĺžka within_text, funkcie FIND a FINDB vrátia #VALUE! .
-
Použite argument pozícia_začiatku na preskočenie určeného počtu znakov. Napríklad pri použití funkcie FIND, predpokladajme že pracujete s textovým reťazcom "AYF0093.YoungMensApparel". Ak chcete nájsť prvý znak „Y“ v popisnej časti textového reťazca, priraďte argumentu pozícia_začiatku hodnotu 8, aby sa neprehľadávala časť reťazca obsahujúca sériové číslo. Funkcia FIND začne hľadanie ôsmym znakom, nájde hodnotu argumentu nájsť_text na ďalšom znaku a vráti číslo 9. Funkcia FIND vždy vráti počet znakov od začiatku argumentu v_texte a započíta preskočené znaky, ak je argument pozícia_začiatku väčší ako 1.
Príklady
Vzorové údaje skopírujte do nasledujúcej tabuľky a prilepte ich do bunky A1 nového excelového hárka. Ak chcete, aby vzorce zobrazovali výsledky, označte ich, stlačte kláves F2 a potom stlačte kláves Enter. V prípade potreby môžete upraviť šírku stĺpcov, aby sa údaje zobrazovali celé.
Údaje |
||
---|---|---|
Miriam Miklošová |
||
Vzorec |
Popis |
Výsledok |
=FIND("M";A2) |
Umiestnenie prvého znaku M v bunke A2 |
1 |
=FIND("m";A2) |
Pozícia prvého písmena m v bunke A2 |
6 |
=FIND("M";A2;3) |
Umiestnenie prvého znaku M v bunke A2, vyhľadávanie začína tretím znakom. |
8 |
Príklad č. 2
Údaje |
||
---|---|---|
Keramické izolanty #124-TD45-87 |
||
Medené cievky #12-671-6772 |
||
Reostaty #116010 |
||
Vzorec |
Popis (výsledok) |
Výsledok |
=MID(A2;1;FIND(" #";A2;1)-1) |
Extrahuje text od pozície 1 po pozíciu znaku # v bunke A2 (Keramické izolanty). |
Keramické izolanty |
=MID(A3;1;FIND(" #";A3;1)-1) |
Extrahuje text od pozície 1 po pozíciu znaku # v bunke A3 (Medené cievky). |
Medené cievky |
=MID(A4;1;FIND(" #";A4;1)-1) |
Vyberie text od pozície 1 po pozíciu znaku # v bunke A4 (Reostaty). |
Reostaty |