Страницы: 1
RSS
В текстовой строке определить место символа.
 
Хочу в строке определить место символа, обозначающего поставщика. Поставщиков условно трое. Символы - J, K, P. Затрудняюсь скомбинировать функции FIND и OR.    
Офис английский 2003.
 
=LEN(A1)    
чем не устраивает?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Откуда такая уверенность, что именно ПОИСК() и ИЛИ()?  
 
=ЕСЛИ(ЕЧИСЛО(ПОИСК("K";A1));ПОИСК("K";A1);ЕСЛИ(ЕЧИСЛО(ПОИСК("J";A1));ПОИСК("J";A1);ПОИСК("P";A1)))  
 
Проще (MIN, FIND):  
=МИН(ПОИСК({"K";"J";"P"};A1&"KJP"))
 
Len не удобен, т.к. это был условный пример. В реале у меня символ стоит в середине строки неизвестной длины.  
 
vikktur, ваш простой вариант не могу раскусить. Не могли бы Вы прокомментировать. Почему нужен мин, почему фигурные скобки, почему нужно сцепить А1 и KJP?
 
{quote}{login=Pepper}{date=14.05.2012 11:20}{thema=}{post}т.к. это был условный пример{/post}{/quote}  
зачем рисовать "условный пример", не соответствующий действительности?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Неудачно получилось, извините, пожалуйста. Чтобы грамотно задать вопрос тоже нужно достичь определенного мастерства.
 
массив констант заключается в фигурные скобки:  
{"K";"J";"P"}  
 
ПОИСК({"K";"J";"P"};A1) - будет создан массив из номеров вхождений заданной буквы в тексте, если нет такой буквы - ошибка. Для Вашего примера:  
{10;#ЗНАЧ!;#ЗНАЧ!}  
 
Обходим ошибку, добавляя буквы в конце строки: A1&"KJP"  
Поиск покажет  
={10;12;13}  
 
Последний штрих - МИН().
 
=ПРОСМОТР(99;НАЙТИ({"K";"J";"P"};A1))
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Страницы: 1
Наверх