Формула на Excel: Разделяне на текст и числа -

Съдържание

Обща формула

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))

Обобщение

За да разделите текст и числа, можете да използвате формула, базирана на функцията FIND, функцията MIN и функцията LEN с функцията НАЛЯВО или НАДЯСНО, в зависимост от това дали искате да извлечете текста или номера. В показания пример формулата в C5 е:

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),B5&"0123456789"))

което връща 7, позицията на числото 3 в низа "ябълки30".

Обяснение

Общ преглед

Формулата изглежда сложна, но механиката всъщност е доста проста.

Както при повечето формули, които разделят или извличат текст, ключът е да намерите позицията на нещото, което търсите. След като заемате позицията, можете да използвате други функции, за да извлечете това, от което се нуждаете.

В този случай приемаме, че числата и текстът са комбинирани и че числото се появява след текста. От оригиналния текст, който се появява в една клетка, искате да разделите текста и числата на отделни клетки, по следния начин:

Оригинален Текст Брой
Ябълки 30 Ябълки 30
праскови24 праскови 24
портокали12 портокали 12
праскови0 праскови 0

Както беше посочено по-горе, ключът в този случай е да се намери началната позиция на числото, което можете да направите с формула като тази:

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))

След като заемате позицията, за да извлечете само текста, използвайте:

=LEFT(A1,position-1)

И за да извлечете само числото, използвайте:

=RIGHT(A1,LEN(A1)-position+1)

В първата формула по-горе използваме функцията FIND за намиране на началната позиция на числото. За find_text използваме константата на масива (0,1,2,3,4,5,6,7,8,9), това кара функцията FIND да извършва отделно търсене за всяка стойност в константата на масива. Тъй като константата на масива съдържа 10 числа, резултатът ще бъде масив с 10 стойности. Например, ако оригиналният текст е "ябълки30", полученият масив ще бъде:

(8,10,11,7,13,14,15,16,17,18)

Всяко число в този масив представлява позицията на елемент в константата на масива в оригиналния текст.

След това функцията MIN връща най-малката стойност в списъка, която съответства на позицията в на първото число, което се появява в оригиналния текст. По същество функцията FIND получава всички числови позиции, а MIN ни дава първата цифрова позиция: забележете, че 7 е най-малката стойност в масива, която съответства на позицията на числото 3 в оригиналния текст.

Може да се чудите за странната конструкция за Within_text във функцията за търсене:

B5&"0123456789"

Тази част от формулата обединява всяко възможно число 0-9 с оригиналния текст в B5. За съжаление, FIND не връща нула, когато стойност не е намерена, така че това е само хитър начин да се избегнат грешки, които могат да възникнат, когато число не е намерено.

В този пример, тъй като приемаме, че числото винаги ще се показва на второ място в оригиналния текст, то работи добре, тъй като MIN принуждава да се върне само най-малкото или първото появяване на число. Докато число се появява в оригиналния текст, тази позиция ще бъде върната.

Ако оригиналният текст не съдържа никакви числа, ще бъде върната "фалшива" позиция, равна на дължината на оригиналния текст + 1. С тази фалшива позиция, формулата НАЛЯВО по-горе пак ще върне текста, а формулата НАДЯСНО ще върне празен низ ("").

Добри връзки

Формула от Рик Ротщайн на Mr Excel

Интересни статии...