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

Вход

Регистрация

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

 

= Мир MS Excel/Извлечь знач. по условию. Условие: последняя запятая. - Мир MS Excel

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

Excel 2010
Доброго дня. Будьте добры, подскажите, какой вид имеет условие поиска "по последнему значению" .
Или, я даже не знаю как это правильно сформулировать.
Задачка: в столбике A найти значение, стоящее до первой запятой если отчитывать справа.
Всё на что моих знаний хватило, это написать такое: =ПСТР(A1;1;НАЙТИ(",";A1;1)-1)
Но так обрезает по первую запятую слева :(
К сообщению приложен файл: file.xls (25.5 Kb)


Сообщение отредактировал aeroseo - Понедельник, 28.04.2014, 15:51
 
Ответить
СообщениеДоброго дня. Будьте добры, подскажите, какой вид имеет условие поиска "по последнему значению" .
Или, я даже не знаю как это правильно сформулировать.
Задачка: в столбике A найти значение, стоящее до первой запятой если отчитывать справа.
Всё на что моих знаний хватило, это написать такое: =ПСТР(A1;1;НАЙТИ(",";A1;1)-1)
Но так обрезает по первую запятую слева :(

Автор - aeroseo
Дата добавления - 28.04.2014 в 15:39
ShAM Дата: Понедельник, 28.04.2014, 15:59 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Так?
Код
=ПСТР(A2;ПРОСМОТР(2;1/(ПСТР(A2;СТРОКА(A1:A99);1)=",");СТРОКА(A1:A99))+2;99)
К сообщению приложен файл: aeroseo.xls (26.0 Kb)
 
Ответить
СообщениеТак?
Код
=ПСТР(A2;ПРОСМОТР(2;1/(ПСТР(A2;СТРОКА(A1:A99);1)=",");СТРОКА(A1:A99))+2;99)

Автор - ShAM
Дата добавления - 28.04.2014 в 15:59
MCH Дата: Понедельник, 28.04.2014, 16:03 | Сообщение № 3
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Масса вариантов:
http://www.planetaexcel.ru/forum....N_1=352
 
Ответить
СообщениеМасса вариантов:
http://www.planetaexcel.ru/forum....N_1=352

Автор - MCH
Дата добавления - 28.04.2014 в 16:03
_Boroda_ Дата: Понедельник, 28.04.2014, 16:05 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Еще вариант
Код
=ПСТР(A2;ПОИСК(A2;ПОДСТАВИТЬ(A2;",";A2;ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";""))))+2;99)
К сообщению приложен файл: file45278_1.xls (30.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще вариант
Код
=ПСТР(A2;ПОИСК(A2;ПОДСТАВИТЬ(A2;",";A2;ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";""))))+2;99)

Автор - _Boroda_
Дата добавления - 28.04.2014 в 16:05
aeroseo Дата: Понедельник, 28.04.2014, 16:13 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 6 ±
Замечаний: 0% ±

Excel 2010
ShAM, Благодарствую, уважаемый Sham. Получилось то, что нужно.
А можно поинтересоваться, какую функцию несет значения в Вашем алгоритме "+2;" ?

MCH, Спасибо. Почитаю. Просто, не знал- как правильно сформулировать поисковой запрос. 10-12 запросов перебрал, а схожее решение не нашел.

_Boroda_, И Вам спасибо, что откликнулись.


Сообщение отредактировал aeroseo - Понедельник, 28.04.2014, 16:17
 
Ответить
СообщениеShAM, Благодарствую, уважаемый Sham. Получилось то, что нужно.
А можно поинтересоваться, какую функцию несет значения в Вашем алгоритме "+2;" ?

MCH, Спасибо. Почитаю. Просто, не знал- как правильно сформулировать поисковой запрос. 10-12 запросов перебрал, а схожее решение не нашел.

_Boroda_, И Вам спасибо, что откликнулись.

Автор - aeroseo
Дата добавления - 28.04.2014 в 16:13
ShAM Дата: Понедельник, 28.04.2014, 16:20 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
А можно поинтересоваться, какую функцию несет значения в Вашем алгоритме "+2;" ?

Когда нашли позицию последней "," - n, пропускаем 2 символа ", " (запятую и пробел) и начинаем вытаскивать символы, начиная с n+2 позиции.
ЗЫ: Надеюсь понятно объяснил :)
 
Ответить
Сообщение
А можно поинтересоваться, какую функцию несет значения в Вашем алгоритме "+2;" ?

Когда нашли позицию последней "," - n, пропускаем 2 символа ", " (запятую и пробел) и начинаем вытаскивать символы, начиная с n+2 позиции.
ЗЫ: Надеюсь понятно объяснил :)

Автор - ShAM
Дата добавления - 28.04.2014 в 16:20
aeroseo Дата: Понедельник, 28.04.2014, 16:41 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 6 ±
Замечаний: 0% ±

Excel 2010
ЗЫ: Надеюсь понятно объяснил


Да. Абсолютно) Потихоньку начинаю вникать в механизм экселевских формул. Еще раз, спасибо)
 
Ответить
Сообщение
ЗЫ: Надеюсь понятно объяснил


Да. Абсолютно) Потихоньку начинаю вникать в механизм экселевских формул. Еще раз, спасибо)

Автор - aeroseo
Дата добавления - 28.04.2014 в 16:41
китин Дата: Понедельник, 28.04.2014, 17:57 | Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 7019
Репутация: 1074 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Код
ПРОСМОТР(2;1/(ПСТР(A2;СТРОКА(A1:A99);1)=",");СТРОКА(A1:A99))+2
это получается,что мы ищем 2 в массиве из ошибок и 1.и поэтому ПРОСМОТР выдает нам номер позиции последней запятой. hands :hands: hands
ЗЫ.в Сашину формулу пока не врубился shock


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Понедельник, 28.04.2014, 18:06
 
Ответить
Сообщение
Код
ПРОСМОТР(2;1/(ПСТР(A2;СТРОКА(A1:A99);1)=",");СТРОКА(A1:A99))+2
это получается,что мы ищем 2 в массиве из ошибок и 1.и поэтому ПРОСМОТР выдает нам номер позиции последней запятой. hands :hands: hands
ЗЫ.в Сашину формулу пока не врубился shock

Автор - китин
Дата добавления - 28.04.2014 в 17:57
_Boroda_ Дата: Понедельник, 28.04.2014, 20:31 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
в Сашину формулу пока не врубился

Игорь, лови объяснялку
1 ПСТР(A2;ПОИСК(A2;ПОДСТАВИТЬ(A2;",";A2;ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";""))))+2;99)
Первый и третий аргументы понятно, расшифровываю второй
2 ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";""))
меняем в А2 все запятые на пусто, считаем длину получившегося выражения
вычитаем ее (длину) из длины А2, получаем количество запятых в А2
оно же является и номером вхождения последней запятой в А2
3 ПОДСТАВИТЬ(A2;",";A2;ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";"")))
в А2 меняем запятую с порядковым номером, найденным в п.2
на сам текст, находящийся в А2
Часто меняют на что-то редковстречающееся, например, "@#$" или что-то похожее,
но шанс "угадать" все равно остается.
А вот если мы "всовываем" в середину значения из А2 весь текст, находящийся в А2
и потом ищем его ПОИСКом (см.п.4), то "неожиданных находок" и
заявлений "да кто ж знал-то, что ты туда именно эту комбинацию напишешь" уже не будет
4 ПОИСК(A2;ПОДСТАВИТЬ(A2;",";A2;ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";""))))+2
Ищем позицию вхождения А2 в полученном в п.3, прибавляем 2 (это запятая и пробел после нее)
и засовываем все это во второй аргумент ПСТР


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
в Сашину формулу пока не врубился

Игорь, лови объяснялку
1 ПСТР(A2;ПОИСК(A2;ПОДСТАВИТЬ(A2;",";A2;ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";""))))+2;99)
Первый и третий аргументы понятно, расшифровываю второй
2 ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";""))
меняем в А2 все запятые на пусто, считаем длину получившегося выражения
вычитаем ее (длину) из длины А2, получаем количество запятых в А2
оно же является и номером вхождения последней запятой в А2
3 ПОДСТАВИТЬ(A2;",";A2;ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";"")))
в А2 меняем запятую с порядковым номером, найденным в п.2
на сам текст, находящийся в А2
Часто меняют на что-то редковстречающееся, например, "@#$" или что-то похожее,
но шанс "угадать" все равно остается.
А вот если мы "всовываем" в середину значения из А2 весь текст, находящийся в А2
и потом ищем его ПОИСКом (см.п.4), то "неожиданных находок" и
заявлений "да кто ж знал-то, что ты туда именно эту комбинацию напишешь" уже не будет
4 ПОИСК(A2;ПОДСТАВИТЬ(A2;",";A2;ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";""))))+2
Ищем позицию вхождения А2 в полученном в п.3, прибавляем 2 (это запятая и пробел после нее)
и засовываем все это во второй аргумент ПСТР

Автор - _Boroda_
Дата добавления - 28.04.2014 в 20:31
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Извлечь знач. по условию. Условие: последняя запятая. (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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