
Általános képlet
=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))
Összegzés
A szöveg és a számok szétválasztásához használhatja a KERESÉS, a MIN és a LEN függvényen alapuló képletet a BAL vagy JOBB funkcióval, attól függően, hogy kivonja-e a szöveget vagy a számot. A bemutatott példában a C5 képlete a következő:
=MIN(FIND((0,1,2,3,4,5,6,7,8,9),B5&"0123456789"))
amely 7-et ad vissza, a 3. szám pozícióját az "apple30" karakterláncban.
Magyarázat
Áttekintés
A képlet összetettnek tűnik, de a mechanika valójában meglehetősen egyszerű.
Mint a legtöbb szöveget felosztó vagy kibontó képletnél, itt is a legfontosabb megtalálni a keresett dolog helyzetét. Miután megvan a pozíciója, más funkciókat is használhat, hogy kivonja, amire szüksége van.
Ebben az esetben azt feltételezzük, hogy a számok és a szöveg együtt vannak, és hogy a szám a szöveg után jelenik meg. Az egy cellában megjelenő eredeti szövegből a szöveget és a számokat külön cellákra kívánja osztani, így:
Eredeti | Szöveg | Szám |
Alma30 | Almák | 30 |
barack24 | őszibarack | 24. |
narancs12 | narancs | 12. |
barack0 | őszibarack | 0 |
Mint fentebb említettük, ebben az esetben a kulcs a szám kiinduló helyzetének megkeresése, amelyet egy ilyen képlettel tehet meg:
=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))
Ha megvan a pozíciója, csak a szöveg kibontásához használja:
=LEFT(A1,position-1)
És csak a szám kibontásához használja:
=RIGHT(A1,LEN(A1)-position+1)
A fenti első képletben a FIND függvény segítségével keressük meg a szám kezdő helyzetét. A find_text esetében a tömbállandót (0,1,2,3,4,5,6,7,8,9) használjuk, ez azt eredményezi, hogy a FIND függvény külön keresést végez a tömbállandó minden egyes értékéhez. Mivel a tömbállandó 10 számot tartalmaz, az eredmény egy 10 értékű tömb lesz. Például, ha az eredeti szöveg "apple30", akkor a kapott tömb lesz:
(8,10,11,7,13,14,15,16,17,18)
Ennek a tömbnek minden egyes száma egy elem pozícióját jelzi a tömb konstansban az eredeti szövegen belül.
Ezután a MIN függvény a lista legkisebb értékét adja vissza, amely megfelel az eredeti szövegben megjelenő első szám helyének. Lényegében a FIND függvény megkapja az összes számpozíciót, a MIN pedig megadja nekünk az első számpozíciót: vegye figyelembe, hogy a 7 a legkisebb érték a tömbben, amely megfelel a 3. szám pozíciójának az eredeti szövegben.
Lehet, hogy kíváncsi a find_funkció páratlan felépítésére a find függvényben:
B5&"0123456789"
A képlet ezen része összefűz minden lehetséges 0–9 számot a B5 eredeti szövegével. Sajnos a FIND nem ad vissza nulla értéket, ha nem található érték, így ez csak egy okos módja annak, hogy elkerüljük a hibákat, amelyek akkor fordulhatnak elő, ha egy számot nem találunk.
Ebben a példában, mivel feltételezzük, hogy a szám az eredeti szövegben mindig második lesz, jól működik, mert a MIN a számnak csak a legkisebb, vagy első előfordulását kényszeríti visszaadni. Amíg egy szám megjelenik az eredeti szövegben, ez a pozíció visszatér.
Ha az eredeti szöveg nem tartalmaz számokat, akkor az eredeti szöveg + 1 hosszával megegyező "hamis" pozíció kerül visszaadásra. Ezzel az álpozícióval a fenti BAL képlet továbbra is visszaadja a szöveget, a RIGHT képlet pedig üres karakterláncot ("").