Форум программистов, компьютерный форум, киберфорум
Наши страницы

MS Office Excel

Войти
Регистрация
Восстановить пароль
 
yl3d
2 / 2 / 1
Регистрация: 28.09.2015
Сообщений: 191
#1

Некорректное извлечение части текста из ячейки - формулой - MS Excel

20.04.2017, 21:27. Просмотров 296. Ответов 7
Метки нет (Все метки)

Добрый вечер, уважаемые программисты.
Вопрос к знающим.

Здравствуйте, уважаемые специалисты по экселю.
Помогите советом - насчет формулы.

Есть формула извлекающая кусок текста - из текстовой ячейки. Ограничители извлекаемого куска - текст "texturef" и ","

Код
=ЕСЛИОШИБКА(ЗНАЧЕН(ЕСЛИ(ЕСЛИОШИБКА(СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(ПСТР(ПОДСТАВИТЬ(ПСТР(D10;ПОИСК($E$4;D10)+3;15);"-";ПОВТОР(" ";15));15;99);",";ПОВТОР(" ";99));99));0)="05";0,5;ЕСЛИОШИБКА(СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(ПСТР(ПОДСТАВИТЬ(ПСТР(D10;ПОИСК($E$4;D10)+3;15);"-";ПОВТОР(" ";15));15;99);",";ПОВТОР(" ";99));99));0)));0)
В большинстве случаев формула работает нормально.
Но иногда возникает странный "баг".

Почему-то формула найдя первый ограничитель ("texturef") и не найдя второго ограничителя (",") - отсчитывает шесть символов от "целевой запятой" - и возвращает значение 7-го символа (при условии, что это - число, а не буква или знак). Сейчас- это число "5" (из слова "etsh05,").
Проблемная ячейка (H10). По идее - вместо значения 5 - в этой ячейке должно быть значение "0"

Как изменить формулу, чтобы в проблемной ячейке (H10) диапазона - отображался 0 ?

Я пытался сам определить причину такой странной работы - искал в формуле значения "7" или "8" - ведь формула извлекает число после 8 символа...
Но в формуле - таких чисел нет.
Поэтому я в тупике.
0
Вложения
Тип файла: xlsx 456456.xlsx (12.1 Кб, 4 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2017, 21:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Некорректное извлечение части текста из ячейки - формулой (MS Excel):

Извлечение части данных из одной ячейки - MS Excel
Подскажите, пожалуйста, как с помощью формулы извлеч из ячейки часть данных. Как правило данные, в моем случае, что числа, иногда с...

Удаление части текста ячейки, который совпадает с текстом соседней ячейки - MS Excel
Добрый день. Заранее извиняюсь, за возможный повтор темы. Ситуация следующая: Есть таблица на 5к+ строк, в которой содержатся данные...

Извлечение цифр из текста в нужные ячейки (размеров изделия) - MS Excel
Доброе время суток! Есть таблица, где в первом столбце названия изделий с размерами. Значения размеров разделяются разными разделителями...

Извлечение данных из ячейки с текстом - MS Excel
Помогите, пожалуйста. Есть столбик, в котором данные записаны в таком виде: "Номер/Login/Фамилия/Имя/Отчество/Статус", нужно извлечь...

Извлечение и суммирование чисел из ячейки с текстом - MS Excel
Здравствуйте. Имеется ячейка вида: Необходимо узнать общее число рабочих(суммировать числа после тире и пробела). Пытался найти ответ...

Поиск и извлечение URL изображения из ячейки в другую ячейку - MS Excel
В столбце "картинки" расположены три, иногда два URL фотографий. В данном случае требуется извлечь URL фотографии в соседний столбец...

7
avporsk
53 / 32 / 13
Регистрация: 03.11.2016
Сообщений: 162
21.04.2017, 09:18 #2
в части Вашей офигенной формулы ищется знак "-" и вместо него подставляется куча пробелов.
но 10 строчке минуса нет, поэтому пробелы не вставляются.
C
1
ПОДСТАВИТЬ(ПСТР(D10;ПОИСК($E$4;D10)+3;15);"-"
Добавлено через 7 минут
формула ужасная. честно говоря, я думаю, что такая формула и такой подход в извлечении куска текста из исходного в корне НЕ верный.
0
yl3d
2 / 2 / 1
Регистрация: 28.09.2015
Сообщений: 191
21.04.2017, 10:14  [ТС] #3
avporsk, так как формулу-то исправить ?
0
avporsk
53 / 32 / 13
Регистрация: 03.11.2016
Сообщений: 162
21.04.2017, 11:15 #4
не знаю, я попробовал свою написать, она вообще в 4 строчки получилась (((

C
1
=ЕСЛИ(ЕОШ(НАЙТИ(0;ЕСЛИОШИБКА(ПСТР(ПСТР(D8;НАЙТИ($E$4;D8;1);ЕСЛИОШИБКА(НАЙТИ(",";D8;НАЙТИ($E$4;D8;1))-НАЙТИ($E$4;D8;1);99));НАЙТИ("-";ПСТР(D8;НАЙТИ($E$4;D8;1);ЕСЛИОШИБКА(НАЙТИ(",";D8;НАЙТИ($E$4;D8;1))-НАЙТИ($E$4;D8;1);99));1)+1;99);0);1));ЗНАЧЕН(ЕСЛИОШИБКА(ПСТР(ПСТР(D8;НАЙТИ($E$4;D8;1);ЕСЛИОШИБКА(НАЙТИ(",";D8;НАЙТИ($E$4;D8;1))-НАЙТИ($E$4;D8;1);99));НАЙТИ("-";ПСТР(D8;НАЙТИ($E$4;D8;1);ЕСЛИОШИБКА(НАЙТИ(",";D8;НАЙТИ($E$4;D8;1))-НАЙТИ($E$4;D8;1);99));1)+1;99);0));ЗНАЧЕН(ЕСЛИОШИБКА(ПСТР(ПСТР(D8;НАЙТИ($E$4;D8;1);ЕСЛИОШИБКА(НАЙТИ(",";D8;НАЙТИ($E$4;D8;1))-НАЙТИ($E$4;D8;1);99));НАЙТИ("-";ПСТР(D8;НАЙТИ($E$4;D8;1);ЕСЛИОШИБКА(НАЙТИ(",";D8;НАЙТИ($E$4;D8;1))-НАЙТИ($E$4;D8;1);99));1)+1;99);0))/10)
0
Вложения
Тип файла: xlsx 456456.xlsx (11.8 Кб, 1 просмотров)
yl3d
2 / 2 / 1
Регистрация: 28.09.2015
Сообщений: 191
21.04.2017, 11:20  [ТС] #5
avporsk, вроде работает.
Большое спасибо.
0
AlexM
1614 / 1231 / 501
Регистрация: 04.09.2015
Сообщений: 2,408
21.04.2017, 13:13 #6
Код
ЕСЛИОШИБКА(-ЛЕВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(D8;ПОИСК("-";D8&"-";ПОИСК("texturef";D8));99);"-0";"-0,");", ";ПОВТОР(" ";9));9);)
Добавлено через 8 минут
знак равно перед формулой не поставил.
0
avporsk
53 / 32 / 13
Регистрация: 03.11.2016
Сообщений: 162
21.04.2017, 13:13 #7
AlexM, коротко получилось, а что - перед ЛЕВБ означает ??
А типа "НЕ" чтоль?
А нет проверил не "НЕ"

это типа функция "Ч"
0
AlexM
1614 / 1231 / 501
Регистрация: 04.09.2015
Сообщений: 2,408
21.04.2017, 13:15 #8
ЛЕВБ() извлекает отрицательные числа -1, -0,5 и тд.
- (минус) меняет знак
Вместо ЛЕВБ() можно применить ЛЕВСИМВ(), но формула будет длинее.
На другом форуме эту формулу показал.
0
21.04.2017, 13:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2017, 13:15
Привет! Вот еще темы с ответами:

Формулой отобразить свойства текста в ячейке. - MS Excel
Здравствуйте! Подскажите пожалуйста, возможно ли при помощи формул отобразить свойства текста в ячейке. Поясню на примере: Допустим...

Вставка текста из одной ячейки в другую с добавлением текста макросом - MS Excel
Здравствуйте! Возникли сложности с созданием макроса. Нужно сделать макрос с вставкой текста из одной ячейки в другую с добавлением текста....

Выделение цветом части ячейки - MS Excel
Добрый день! Уважаемые специалисты, подскажите пожалуйста возможно ли решить следующую задачу: 1. Имеется ячейка данные в которую...

Извлечение из текста - искомого куска, с добавкой 2 символов справа - MS Excel
Добрый вечер. У меня есть формула поиска куска текста - в большой текстовой ячейки. Формула выглядит примерно так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.