Excel-képlet: Szöveg és számok felosztása -

Tartalomjegyzék

Á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 ("").

Jó linkek

Rick Rothstein képlete az Mr Excel-en

érdekes cikkek...