Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Извлечение числа из текста без промежуточных расчетов. - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Извлечение числа из текста без промежуточных расчетов. (Формулы/Formulas)
Извлечение числа из текста без промежуточных расчетов.
RipVanWinkel Дата: Суббота, 13.05.2017, 00:27 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброе утро, уважаемые программисты.
Помогите разобраться с непростой технической проблемой.

Есть формула, сканирующая массив, находящая там определенные слова и извлекающая число, стоящее рядом с искомым словом.
Но она работает не напрямую, а в три операции (с использованием двух промежуточных столбцов). То есть - сейчас это не одна формула, а три.

Каким образом, не теряя функциональности - заставить формулу работать в одну операцию (без использования промежуточных столбцов) ?
К сообщению приложен файл: 2565877.xls(90Kb)
 
Ответить
СообщениеДоброе утро, уважаемые программисты.
Помогите разобраться с непростой технической проблемой.

Есть формула, сканирующая массив, находящая там определенные слова и извлекающая число, стоящее рядом с искомым словом.
Но она работает не напрямую, а в три операции (с использованием двух промежуточных столбцов). То есть - сейчас это не одна формула, а три.

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

Автор - RipVanWinkel
Дата добавления - 13.05.2017 в 00:27
buchlotnik Дата: Суббота, 13.05.2017, 00:50 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2742
Репутация: 782 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
по приведённому примеру:
Код
=СУММ(ЕСЛИОШИБКА(ПОИСК(S6;N8:P30)*ПОДСТАВИТЬ(N8:P30;S6;"");))
К сообщению приложен файл: 5729639.xls(92Kb)


каждому For - Next!
платная помощь:
ЯД: 410012595572239
buchlotnik@mail.ru
 
Ответить
Сообщениепо приведённому примеру:
Код
=СУММ(ЕСЛИОШИБКА(ПОИСК(S6;N8:P30)*ПОДСТАВИТЬ(N8:P30;S6;"");))

Автор - buchlotnik
Дата добавления - 13.05.2017 в 00:50
RipVanWinkel Дата: Суббота, 13.05.2017, 13:08 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
buchlotnik, подобное решение - не подходит, поскольку теряется функциональность.

Главная функциональность формул в промежуточных столбцах - заключается в восприятии текста "05" или "03", стоящего рядом с ключевым словом - как числа 0,5 и 0,3.
То есть обозначения с нулем перед числом - считаются десятичными дробями.
К сообщению приложен файл: 6723442.xls(98Kb)
 
Ответить
Сообщениеbuchlotnik, подобное решение - не подходит, поскольку теряется функциональность.

Главная функциональность формул в промежуточных столбцах - заключается в восприятии текста "05" или "03", стоящего рядом с ключевым словом - как числа 0,5 и 0,3.
То есть обозначения с нулем перед числом - считаются десятичными дробями.

Автор - RipVanWinkel
Дата добавления - 13.05.2017 в 13:08
buchlotnik Дата: Суббота, 13.05.2017, 13:21 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2742
Репутация: 782 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
а я чёрным по белому написал
Цитата
по приведённому примеру
- в котором ни про нули, ни про дополнительный текст после запятой ни слова
нули лечатся так:
Код
=СУММ(ЕСЛИОШИБКА(ПОИСК(S6;N8:P30)*ПОДСТАВИТЬ(ПОДСТАВИТЬ(N8:P30;S6;"");"0";"0,");))
, перечисления так
Код
=СУММ(ЕСЛИОШИБКА(--ПОДСТАВИТЬ(ЛЕВБ(ПОДСТАВИТЬ(ПСТР(C8:E30;ПОИСК(H6;C8:E30)+ДЛСТР(H6);99);",";ПОВТОР(" ";99));99);"0";"0,");))
на приведённом примере всё работает
К сообщению приложен файл: 6723442-1-.xls(98Kb)


каждому For - Next!
платная помощь:
ЯД: 410012595572239
buchlotnik@mail.ru


Сообщение отредактировал buchlotnik - Суббота, 13.05.2017, 13:39
 
Ответить
Сообщениеа я чёрным по белому написал
Цитата
по приведённому примеру
- в котором ни про нули, ни про дополнительный текст после запятой ни слова
нули лечатся так:
Код
=СУММ(ЕСЛИОШИБКА(ПОИСК(S6;N8:P30)*ПОДСТАВИТЬ(ПОДСТАВИТЬ(N8:P30;S6;"");"0";"0,");))
, перечисления так
Код
=СУММ(ЕСЛИОШИБКА(--ПОДСТАВИТЬ(ЛЕВБ(ПОДСТАВИТЬ(ПСТР(C8:E30;ПОИСК(H6;C8:E30)+ДЛСТР(H6);99);",";ПОВТОР(" ";99));99);"0";"0,");))
на приведённом примере всё работает

Автор - buchlotnik
Дата добавления - 13.05.2017 в 13:21
RipVanWinkel Дата: Суббота, 13.05.2017, 13:51 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
buchlotnik, заработало.
Огромное спасибо.
 
Ответить
Сообщениеbuchlotnik, заработало.
Огромное спасибо.

Автор - RipVanWinkel
Дата добавления - 13.05.2017 в 13:51
gling Дата: Суббота, 13.05.2017, 14:14 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1568
Репутация: 385 ±
Замечаний: 0% ±

2010
Ещё вариант формула массива
Код
=СУММ(ЕСЛИОШИБКА(ПОИСК(S6;N8:P30)*ЕСЛИ(--ЛЕВБ(ПОДСТАВИТЬ(N8:P30;S6;"");1);ПОДСТАВИТЬ(N8:P30;S6;"");"0,"&ПСТР(ПОДСТАВИТЬ(N8:P30;S6;"");2;9));))
 
Ответить
СообщениеЕщё вариант формула массива
Код
=СУММ(ЕСЛИОШИБКА(ПОИСК(S6;N8:P30)*ЕСЛИ(--ЛЕВБ(ПОДСТАВИТЬ(N8:P30;S6;"");1);ПОДСТАВИТЬ(N8:P30;S6;"");"0,"&ПСТР(ПОДСТАВИТЬ(N8:P30;S6;"");2;9));))

Автор - gling
Дата добавления - 13.05.2017 в 14:14
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Извлечение числа из текста без промежуточных расчетов. (Формулы/Formulas)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!