Hogyan juthat el a szót, miután az utolsó hely, excel minden
Kap a szó ki az első helyet igen egyszerű:
= MID (A1; 1, megtalálják ( ""; A1) -1)
De ahol a legtöbb nehézségek merülnek fel szerzés a szó (karakter) található egy bizonyos helyzetben a teret. Veszem példaként egy tér, de valójában bármilyen karakter lehet. Például, megszerzésére irányuló második szó (. Azaz, az első szó és a harmadik térben) hozhat létre a következő képlet:
= MID (A1; RÁTALÁL ( ""; A1) +1; FIND ( ""; A1, megtalálják ( ""; A1) +1) -Find ( ""; A1) -1)
Véleményem szerint ez kissé csavart, bár, minden egyszerű:
- KERESÉS ( „”; A1) 1 - keresi a helyzet az első helyet;
- FIND ( ""; A1, megtalálják ( ""; A1) +1) - keresi a második rés helyzetét, majd vonjuk a rés helyzete az első rés (-Find ( ""; A1)).
De van egy probléma - ha a második rés nincs jelen, akkor a képlet hibát ad vissza # ÉRTÉK!. Akkor is ellenőrizni, hogy hibázik, ami nyilvánvalóan nem növeli a formula az elegancia. Ezért inkább a következő képlet szerint:
SUBSTITUTE = (JOBB (MID ( "" helyettesítő (A1; "" REPEAT ( ""; 999)), 1, 999 * 2); 999); "" "")
Első pillantásra sokkal lidérces, mint az első. De van számos előnye van:
nem kell, hogy ellenőrizze a hiánya hiányosságokat;
változó egy szám nem tudja fogadni a második, és a 3., 4., stb szó.
Nézzük a legfontosabb dolog: hogy az első szó a sor elejére, szükség van a 999 blokk 2 * 2 helyettesíteni 1:
SUBSTITUTE = (JOBB (MID ( "" helyettesítő (A1; "" REPEAT ( ""; 999)), 1, 1 * 999), 999); "" "")
Ahhoz, hogy az 5. - 5:
SUBSTITUTE = (JOBB (MID ( "" helyettesítő (A1; "" REPEAT ( ""; 999)), 1, 5 * 999), 999); "" "")
Ha hirtelen a rések lesz kevesebb, mint egy meghatározott számú - mi lesz a szó, miután az utolsó helyet (azaz az első szó a sor végére).
Hogyan működik: segítségével a helyettesítő cseréljük a terek a szövegben 999 terek (a szám lehet kisebb, mint 999, de nem lehet kevesebb, mint az eredeti hossza string). Ezután a MID függvény, akkor húzza ki az első 999 karakter, párosulva egy szám jelzi a kívánt szót nekünk (999 * 1 - az első). Valójában csak a szavak száma, amely szerepel (ebben az esetben egy - 999 * 1). Majd jobbra a függvény minket az utolsó szó - azaz, kérünk. És akkor ugyanazt a SUBSTITUTE eltávolítja a felesleges szóközöket most helyettük minden üres karakterláncot - „”.
Úgy tűnik, hogy elérte, amit szükség. De akkor meg kell, hogy egy második emeleti végén a húr? Hogyan, akkor hogy legyen? Tekintsük a hiányosságok? És ha van nekik 50 db legalább? Lehetőség van használni néhány meglévő módosítása képletű:
= SUBSTITUTE (MID (JOBB ( "" helyettesítő (A1; "" REPEAT ( ""; 999)); 999 * 1); 1; 999), "", "")
Az elv ugyanaz: ha a blokk 999 * 1 1 helyett 5, megkapjuk az 5. emeleten a sor végére.
Ha ki kell húznia a szavakat a terek, a legjobb, hogy kiegészítse még egy funkció - TRIM:
SUBSTITUTE = (JOBB (MID ( "" helyettesítő (TRIM (A1); "" REPEAT ( ""; 999)), 1, 1 * 999), 999); "" "")
= SUBSTITUTE (MID (JOBB ( "" helyettesítő (TRIM (A1); "" REPEAT ( ""; 999)); 999 * 1); 1; 999), "", "")
Azt is „pull” egy bizonyos szavak száma:
= TRIM (MID (JOBB ( "" helyettesítő (A1; "" REPEAT ( ""; 999)); 999 * 3), 1, 999 * 2))
3 - A harmadik szó a sor végére.
2 - a szavak száma.
Keresés címke
Dmitrij Elnézést hozzáadásával. Csak pop ezt a kérdést itt, és úgy döntött, hogy adjunk a leckét.