Excel képlet: Számok felosztása mértékegységekből -

Tartalomjegyzék

Általános képlet

=MAX(ISNUMBER(VALUE(MID(A1,(1,2,3,4,5,6,7,8,9),1)))*(1,2,3,4,5,6,7,8,9))+1

Összegzés

Ha egy számot el akar osztani egy egységértéktől, használjon több függvényen alapuló képletet: MAX, SZÁM, ÉRTÉK és MID. A bemutatott példában a C5 képlete a következő:

=MAX(ISNUMBER(VALUE(MID(B5,(1,2,3,4,5,6,7,8,9),1)))*(1,2,3,4,5,6,7,8,9))+1

Megjegyzés: ez egy kísérleti képlet, amely kemény kódolású tömbállandót használ, amelyet itt hivatkozásként és megjegyzésként határozunk meg. Csak véletlenszerűen tesztelve, ezért vigyázzon, ha használja vagy alkalmazkodik.

Magyarázat

Néha olyan adatokkal találkozik, amelyek az egységeket közvetlenül összekeverik a számokkal (pl. 8km, 12v, 7.5hrs). Sajnos az Excel az ebben a formátumban szereplő számokat szövegként kezeli, és nem lehet matematikai műveleteket végrehajtani ilyen értékeken.

Ha egy számot el akar osztani egy egységértéktől, meg kell határoznia az utolsó szám helyzetét. Ha 1-et ad hozzá ehhez a pozícióhoz, akkor megvan az egység szövegének kezdete. Ez a képlet ezt a fogalmat használja arra, hogy kitalálja, hol kezdődik a mértékegység.

A bemutatott példában a C5 képlete a következő:

=MAX(ISNUMBER(VALUE(MID(B5,(1,2,3,4,5,6,7,8,9),1)))*(1,2,3,4,5,6,7,8,9))+1

Ez a képlet a MID függvény segítségével vonja ki az első 9 értéket a B5-ből, egy-egy karaktert. Az eredmény egy ilyen tömb:

("8","0","v","","","","","","")

Ezután a VALUE függvény segítségével konvertáljuk a szöveges formátumú számokat tényleges számokká. Az eredmény:

(8,0,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!)

Ezt a tömböt a (z) ISNUMBER szám alatt futtatjuk, hogy megkapjuk:

(TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE)

Ezután szorozzuk meg azt az egy másik tömböt 9 számmal, hogy kapjuk:

(1,2,0,0,0,0,0,0,0)

Ezután a MAX segítségével megkapjuk a legnagyobb értéket, amely az "utolsó szám" pozíciója.

Végül hozzáadunk 1-et a pozícióhoz, hogy megkapjuk az "egység kezdő" pozíciót.

Végül ezt a pozíciót szokásos LEFT és RIGHT funkciókkal használjuk a számok elválasztására az egységektől:

=VALUE(LEFT(B5,C5-1)) // number =TRIM(RIGHT(B5,LEN(B5)-C5+1)) // unit

Ne feledje, hogy a keményen kódolt számtömb állandó a kényelem érdekében feltörés, és csak 9 karakter hosszúságú nyers értékeket fog kezelni.

Jó linkek

Inspiráció Rick Rothstein MrExcel-re vonatkozó formuláiból

érdekes cikkek...