Formuła programu Excel: Podziel liczby z jednostek miary -

Spisie treści

Formuła ogólna

=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

Podsumowanie

Aby oddzielić liczbę od wartości jednostkowej, możesz użyć formuły opartej na kilku funkcjach: MAX, ISNUMBER, VALUE i MID. W przedstawionym przykładzie formuła w C5 to:

=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

Uwaga: jest to eksperymentalna formuła, która używa zakodowanej na stałe stałej tablicowej, ustawionej tutaj w celu odniesienia i komentarza. Testowane tylko od czasu do czasu, więc uważaj, jeśli używasz lub dostosowujesz.

Wyjaśnienie

Czasami napotykasz dane, które mieszają jednostki bezpośrednio z liczbami (np. 8 km, 12 V, 7,5 godz.). Niestety program Excel potraktuje liczby w tym formacie jako tekst i nie będzie można wykonywać operacji matematycznych na takich wartościach.

Aby podzielić liczbę z wartości jednostkowej, musisz określić pozycję ostatniej liczby. Jeśli dodasz 1 do tej pozycji, masz początek tekstu jednostki. Ta formuła wykorzystuje tę koncepcję, aby określić, gdzie zaczyna się jednostka miary.

W przedstawionym przykładzie formuła w C5 to:

=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

Ta formuła korzysta z funkcji MID w celu wyodrębnienia pierwszych 9 wartości z B5, po jednym znaku. Rezultatem jest tablica taka:

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

Następnie używamy funkcji WARTOŚĆ do konwersji liczb w formacie tekstowym na rzeczywiste liczby. Wynik to:

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

Przepuszczamy tę tablicę przez ISNUMBER, aby uzyskać:

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

Następnie pomnóż to razy inną tablicę z 9 liczbami, aby uzyskać:

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

Następnie używamy MAX, aby uzyskać największą wartość, czyli pozycję „ostatniej liczby”.

Na koniec dodajemy 1 do pozycji, aby uzyskać pozycję „początek jednostki”.

Na koniec używamy tej pozycji ze standardowymi funkcjami LEFT i RIGHT, aby oddzielić liczby od jednostek:

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

Zauważ, że zakodowana na stałe tablica liczbowa to hack dla wygody i obsługuje tylko surowe wartości o długości do 9 znaków.

Dobre linki

Inspiracja formułami Ricka Rothsteina na MrExcel

Interesujące artykuły...