Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2017, 06:38   #1
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию Поиск значения в диапазоне условий

Доброго времени суток!

Обращаюсь к вам, уважаемые пользователи форума, с возникшей для меня задачей и она следующая.
Есть таблица (банковская выписка), состоящая из назначения платежа в котором содержится НОМЕР ДОГОВОРА (1, 15, 34...) и УСЛОВИЯ ДОСТАВКИ (село, обл, город...). Какую формулу нужно применить (в графу "G"), чтобы из графы "B" сначала проставить номер договора из предложенных в графе "L". И эту же формулу применить, но уже для графы "F" из условия по графе "K".
Предлагаю вашему вниманию файл, где в графе F и G, условия проставил руками.
Вложения
Тип файла: xlsx Условия доставки БАНК.xlsx (50.2 Кб, 10 просмотров)
amadeus017 вне форума Ответить с цитированием
Старый 13.04.2017, 08:08   #2
китин
Пользователь
 
Регистрация: 27.03.2017
Сообщений: 12
По умолчанию

ну вот такие монстры пойдут? (именно по примеру)
Код:
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;ЛЕВБ(B2;ПОИСК("вара";B2)+3);"");ПСТР(ПОДСТАВИТЬ(B2;ЛЕВБ(B2;ПОИСК("вара";B2)+3);"");ПОИСК("сог";ПОДСТАВИТЬ(B2;ЛЕВБ(B2;ПОИСК("вара";B2)+3);""));999);""))
и
Код:
=СЖПРОБЕЛЫ(ПСТР(B2;ПОИСК("№";B2)+1;3))
Вложения
Тип файла: xlsx amadeus017.xlsx (51.2 Кб, 9 просмотров)
Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
китин вне форума Ответить с цитированием
Старый 13.04.2017, 08:33   #3
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

Предлагаю свой вариант, но он длинный, возможно и есть ему альтернатива. Итак в ячейку F2 ставим формулу (логика вроде соблюдена, но ищет только первое значение)
Код:
=ЕСЛИОШИБКА(ЕСЛИ((НАЙТИ($K$2;B2;1))>=1;$K$2;ЕСЛИ((НАЙТИ($K$3;B2;1))>=1;$K$3;ЕСЛИ((НАЙТИ($K$4;B2;1))>=1;$K$4;ЕСЛИ((НАЙТИ($K$5;B2;1))>=1;$K$5;""))));"")
С номером договора, так не получается.
Вариант
Код:
=СЖПРОБЕЛЫ(ПСТР(B2;ПОИСК("№";B2)+1;3))
несовсем удачный, ведь символ "№" (номер) может отсутствовать в назначении платежа, либо прописан словами "номер".

Последний раз редактировалось amadeus017; 13.04.2017 в 09:53.
amadeus017 вне форума Ответить с цитированием
Старый 13.04.2017, 10:45   #4
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Еще вариант.
Выделяем номер договора и на символ "№" не ориентируемся. Формула массива.
Определяем тип доставки.
Код:
=-ПРОСМОТР(;-ПСТР(B2;ПОИСКПОЗ(;ПСТР(B2;СТРОКА($1:$999);1)*0;);СТРОКА($1:$999)))
=ПРОСМОТР(2;1/(ПОИСК(K$2:K$99;B2)-1);K$2:K$99)
Вложения
Тип файла: xlsx Условия доставки БАНК_01.xlsx (48.4 Кб, 6 просмотров)
Алексей М.

Последний раз редактировалось AlexM12; 13.04.2017 в 10:54. Причина: Исправил формулу и заменил файл
AlexM12 вне форума Ответить с цитированием
Старый 14.04.2017, 04:45   #5
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
Печаль

Цитата:
Сообщение от AlexM12 Посмотреть сообщение
Еще вариант.
Код:
=-ПРОСМОТР(;-ПСТР(B2;ПОИСКПОЗ(;ПСТР(B2;СТРОКА($1:$999);1)*0;);СТРОКА($1:$999)))
=ПРОСМОТР(2;1/(ПОИСК(K$2:K$99;B2)-1);K$2:K$99)
Попробовал Вашу формулу, что могу сказать, все шикарно!!!... Хотя в процессе работы, выявились ошибки:
1 - Если в назначении платежа стоит первым дата договора, а не номер, то подставляется дата в числовом формате (например, договор от 31.05.2016, то номер подставляется "42521")
2 - Если в назначении платежа не стоит "условие доставки", то выдает "#Н/Д" (пробовал в формулу включить "ЕСЛИОШИБКА", ничего не получилось)
3 - Если номер договора через " / ", то подставляется только первые значения до " / "

А так все отлично (если эти "#Н/Д" руками подправить )))
Вложения
Тип файла: xlsx Копия Условия доставки БАНК_01-1.xlsx (51.1 Кб, 8 просмотров)

Последний раз редактировалось amadeus017; 14.04.2017 в 04:52.
amadeus017 вне форума Ответить с цитированием
Старый 15.04.2017, 09:25   #6
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

в столбце G и H формулы
Код:
=ПРОСМОТР(2;1/ПОИСК(" "&L$39:L$99&" ";B39&" ");L$39:L$99)
=ПРОСМОТР(2;1/ПОИСК(" "&L$39:L$99&" ";СЖПРОБЕЛЫ(ПОДСТАВИТЬ(B39;"№";))&" ");L$39:L$99)
вторая сложнее, чтобы не было ошибки, когда отсутствует пробел между № и числом.
Выбираете сами что проще, большая формула или вставить пробел, где он отсутствует.
Формула для условия поставки
Код:
=ЕСЛИОШИБКА(ПРОСМОТР(2;1/(ПОИСК(K$39:K$99;B39)-1);K$39:K$99);"-")
Вложения
Тип файла: xlsx Копия Условия доставки БАНК_02.xlsx (49.1 Кб, 6 просмотров)
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 15.04.2017, 13:21   #7
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

вариант функций


Код:
Function uuu$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "товара.+(?=согласно)"
    uuu = Mid(.Execute(t)(0), 8)
 End With
End Function
Код:
Function vvv$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = " № \d+"
    vvv = Mid(.Execute(t)(0), 3)
 End With
End Function
Вложения
Тип файла: xls example_15_04_2017_prog.xls (149.0 Кб, 13 просмотров)
svsh2016 вне форума Ответить с цитированием
Старый 15.04.2017, 16:07   #8
АртемСергеевич
Новичок
Джуниор
 
Регистрация: 15.04.2017
Сообщений: 2
По умолчанию

Здравствуйте друзья программисты подскажите пожалуйста как правильно составить функцию "если". Есть таблица с множеством значений, мне нужно чтобы в определенном столбце эта функция искала определенное наименование и в случае "истина" дублировала всю строку в другую таблицу, а (саме главное, что я не могу сделать) в случае "ложь" искала следующее значение с таким же названием и так далее, а таблице куда копирует данные не было пустых строк или строк со значением "ложь". Может там и какая то другая до дна быть.
АртемСергеевич вне форума Ответить с цитированием
Старый 18.04.2017, 10:12   #9
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

Цитата:
Сообщение от AlexM12 Посмотреть сообщение
в столбце G и H формулы
Все супер!!!
Все формулы играют, все устраивает!
amadeus017 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск совпадений в диапазоне и поставление значения соседней от совпавшей ячейки, Поиск совпадений в диапазоне ANshag Microsoft Office Excel 3 08.09.2015 16:35
поиск максимального значения в диапазоне за определенный период vetal623 Microsoft Office Excel 2 08.06.2012 05:37
поиск значения в диапазоне формулами Bape}l{ka Microsoft Office Excel 5 15.05.2012 18:04
Поиск значения в заданном диапазоне данных Варвар Microsoft Office Excel 2 21.01.2011 11:23
Поиск значения в диапазоне Sergey112233 Microsoft Office Excel 2 19.12.2010 20:54