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

Вход

Регистрация

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 (98.5 Kb)


Сообщение отредактировал 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
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 0% ±

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

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

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


ЯД-41001506838083
 
Ответить
СообщениеЕщё вариант формула массива
Код
=СУММ(ЕСЛИОШИБКА(ПОИСК(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 из 1
  • 1
Поиск:

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