Функциите LEFT, DIGHT и MID на Excel работят чудесно за извличане на текст, но само ако знаете точната позиция на знаците, към които сте насочени. Какво правите, когато не знаете откъде точно да започнете извличането? Например, ако имате следния списък с продуктови кодове, как бихте извадили целия текст след тирето?
PRT-432
COPR-6758
SVCCALL-58574
Функцията LEFT няма да работи, защото имате нужда от правилните няколко знака. Функцията RIGHT сама по себе си няма да работи, защото трябва да й кажете колко точно знака да извлече от дясната страна на текстовия низ. Всяко число, което дадете, ще изтегли твърде много или твърде малко знаци от текста.
Функцията MID сама по себе си няма да работи, защото трябва да й кажете къде точно в текста да започне извличането. Отново, всяко число, което дадете, ще изтегли или твърде много, или твърде малко знаци от текста.
Реалността е, че често ще трябва да намерите конкретни герои, за да получите подходящата начална позиция за извличане.
Тук е полезна функцията FIND на Excel. С функцията FIND можете да получите номера на позицията на конкретен знак и да използвате тази позиция на знака в други операции.
В показания пример използвате функцията FIND във връзка с функцията MID, за да извлечете средните числа от списък с продуктови кодове. Както можете да видите от формулата, намирате позицията на тирето и използвате този номер на позиция, за да захранвате функцията MID.
=MID(B3,FIND("-",B3)+1,2)
Функцията FIND има два задължителни аргумента. Първият аргумент е текстът, който искате да намерите. Вторият аргумент е текстът, който искате да търсите. По подразбиране функцията FIND връща номера на позицията на знака, който се опитвате да намерите. Ако текстът, който търсите, съдържа повече от един от вашите знаци за търсене, функцията FIND връща номера на позицията на първата среща.
Например, следната формула търси тире в текстовия низ „PWR-16-Small“. Резултатът ще бъде число 4, тъй като първото тире, което среща, е четвъртият знак в текстовия низ.
=НАМЕРИ("-","PWR-16-малък")
Можете да използвате функцията FIND като аргумент във функцията MID, за да извлечете определен брой знаци след номера на позицията, върнат от функцията FIND.
Въвеждането на тази формула в клетка ще ви даде двете числа след първото тире, намерено в текста. Обърнете внимание на +1 във формулата. Включването на +1 гарантира, че ще преместите един знак, за да стигнете до текста след тирето.
=MID("PWR-16-Small", FIND("-","PWR-16-Small")+1, 2)