Екцел формула: Поделити бројеве из мерних јединица -

Преглед садржаја

Генеричка формула

=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

Резиме

Да бисте број раздвојили од јединичне вредности, можете да користите формулу засновану на неколико функција: МАКС, БРОЈ, ВРЕДНОСТ и МИД. У приказаном примеру, формула у Ц5 је:

=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

Напомена: ово је експериментална формула која користи чврсто кодирану константу низа, која је овде постављена за референцу и коментар. Само случајно тестирано, па припазите да ли користите или се прилагођавате.

Објашњење

Понекад наиђете на податке који јединице мешају директно са бројевима (тј. 8км, 12в, 7,5 сати). Нажалост, Екцел ће бројеве у овом формату третирати као текст и нећете моћи да извршавате математичке операције над тим вредностима.

Да бисте број раздвојили од јединичне вредности, треба да одредите положај последњег броја. Ако на то место додате 1, имаћете почетак текста јединице. Ова формула користи овај концепт да би схватила где јединица мере почиње.

У приказаном примеру, формула у Ц5 је:

=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

Ова формула користи функцију МИД за издвајање првих 9 вредности у Б5, један по један знак. Резултат је низ попут овог:

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

Затим користимо функцију ВАЛУЕ за претварање бројева у текстуалном формату у стварне бројеве. Резултат је:

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

Проводимо овај низ кроз ИСНУМБЕР да бисмо добили:

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

Затим помножите то пута са другим низом са 9 бројева да бисте добили:

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

Тада користимо МАКС да бисмо добили највећу вредност, а то је положај „последњег броја“.

На крају, на позицију додајемо 1 да бисмо добили позицију „јединица старт”.

Коначно, користимо овај положај са стандардним функцијама ЛИЈЕВО и ДЕСНО за одвајање бројева од јединица:

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

Имајте на уму да је чврсто кодирана константа низа бројева хаковање због практичности и обрађиваће само необрађене вредности дужине до 9 знакова.

Добри линкови

Инспирација из формула Рицка Ротхстеина на МрЕкцелу

Занимљиви Чланци...