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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск и подстановка в ячейку текста по сложному условию - Мир MS Excel

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

Excel 2013
Добрый день!

Надеюсь на коллективный разум и помощь гуру, т.к. впервые столкнулась с проблемой, которую не могу решить. И теперь уже решение хочется найти из принципа.
Собственно в чём суть.
Есть таблица с перечнем должностей и доверенностей на представителей компании, имеющих право подписи определённых документов. Не могу заставить excel выводить мне по заданным условиям — дате подписания документа, юр.лицу (компания представлена двумя юр.лицами) и фамилии подписанта — должность. Причём я знаю по функции «счётеслимн», что excel находит нужную ячейку. Но вот как её вытащить? Через «суммесли» не проходит, понятное дело, поскольку это не число. Пыталась сделать через «если», но ничего не вышло. Вроде бы должно через «индекс» и «поискпоз» заработать, но не понимаю, почему не выходит. На просто введённую формулу ругается, а если через ctrl+shift+enter (то есть через массив) — «индекс» и «поискпоз» работают, но не «фурычит» «если» с условием по дате… Даже если «дату подписания» превратить в даты начала и конца года (это я 100% могу сделать — уже проверила), то, вот беда, — доверенности не всегда на год… И соответственно через «ВПР» и склеивание ячеек с датой проблему тоже не решить.
В общем сломала голову… Помогите, пожалуйста!

Заранее всем спасибо!
К сообщению приложен файл: 1523120.xlsm(29Kb)
 
Ответить
СообщениеДобрый день!

Надеюсь на коллективный разум и помощь гуру, т.к. впервые столкнулась с проблемой, которую не могу решить. И теперь уже решение хочется найти из принципа.
Собственно в чём суть.
Есть таблица с перечнем должностей и доверенностей на представителей компании, имеющих право подписи определённых документов. Не могу заставить excel выводить мне по заданным условиям — дате подписания документа, юр.лицу (компания представлена двумя юр.лицами) и фамилии подписанта — должность. Причём я знаю по функции «счётеслимн», что excel находит нужную ячейку. Но вот как её вытащить? Через «суммесли» не проходит, понятное дело, поскольку это не число. Пыталась сделать через «если», но ничего не вышло. Вроде бы должно через «индекс» и «поискпоз» заработать, но не понимаю, почему не выходит. На просто введённую формулу ругается, а если через ctrl+shift+enter (то есть через массив) — «индекс» и «поискпоз» работают, но не «фурычит» «если» с условием по дате… Даже если «дату подписания» превратить в даты начала и конца года (это я 100% могу сделать — уже проверила), то, вот беда, — доверенности не всегда на год… И соответственно через «ВПР» и склеивание ячеек с датой проблему тоже не решить.
В общем сломала голову… Помогите, пожалуйста!

Заранее всем спасибо!

Автор - kate_evgrafova
Дата добавления - 02.05.2017 в 13:12
китин Дата: Вторник, 02.05.2017, 13:25 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4435
Репутация: 700 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
и вам доброго. устроит?
Код
=ПРОСМОТР(1;1/(ПодписантыДанные!$D$2:$D$32>=ДоговорДата)*(ПодрядчикНаименование=ПодписантыДанные!$B$2:$B$32)*(ПодписантыДанные!$A$2:$A$31=ПодрядчикИмяПодписанта);ПодписантыДанные!$E$2:$E$31)

обшибочка. правильные ниже


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


Сообщение отредактировал китин - Вторник, 02.05.2017, 13:51
 
Ответить
Сообщениеи вам доброго. устроит?
Код
=ПРОСМОТР(1;1/(ПодписантыДанные!$D$2:$D$32>=ДоговорДата)*(ПодрядчикНаименование=ПодписантыДанные!$B$2:$B$32)*(ПодписантыДанные!$A$2:$A$31=ПодрядчикИмяПодписанта);ПодписантыДанные!$E$2:$E$31)

обшибочка. правильные ниже

Автор - китин
Дата добавления - 02.05.2017 в 13:25
kate_evgrafova Дата: Вторник, 02.05.2017, 13:35 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
китин, с «просмотром» никогда раньше не работала. Разбираюсь.
Проверила с датой подписания 2013 годом — не сработало.

Заодно выяснила, что в процессе подготовки файла для выкладывания сломала условия для проверки данных…
 
Ответить
Сообщениекитин, с «просмотром» никогда раньше не работала. Разбираюсь.
Проверила с датой подписания 2013 годом — не сработало.

Заодно выяснила, что в процессе подготовки файла для выкладывания сломала условия для проверки данных…

Автор - kate_evgrafova
Дата добавления - 02.05.2017 в 13:35
китин Дата: Вторник, 02.05.2017, 13:48 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4435
Репутация: 700 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
извините это я ошибся в формуле. попробуйте пока такую( формула массива)
Код
=ИНДЕКС(ПодписантыДанные!$E$2:$E$32;ПОИСКПОЗ(1;1/(ПодписантыДанные!$D$2:$D$32>=ДоговорДата)*(ПодписантыДанные!$C$2:$C$32<=ДоговорДата)*(ПодрядчикНаименование=ПодписантыДанные!$B$2:$B$32)*(ПодписантыДанные!$A$2:$A$32=ПодрядчикИмяПодписанта);0))


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщениеизвините это я ошибся в формуле. попробуйте пока такую( формула массива)
Код
=ИНДЕКС(ПодписантыДанные!$E$2:$E$32;ПОИСКПОЗ(1;1/(ПодписантыДанные!$D$2:$D$32>=ДоговорДата)*(ПодписантыДанные!$C$2:$C$32<=ДоговорДата)*(ПодрядчикНаименование=ПодписантыДанные!$B$2:$B$32)*(ПодписантыДанные!$A$2:$A$32=ПодрядчикИмяПодписанта);0))

Автор - китин
Дата добавления - 02.05.2017 в 13:48
китин Дата: Вторник, 02.05.2017, 13:50 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4435
Репутация: 700 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
а вот и с ПРОСМОТРом
Код
=ПРОСМОТР(2;1/((ПодписантыДанные!$D$2:$D$32>=ДоговорДата)*(ПодписантыДанные!$C$2:$C$32<=ДоговорДата)*(ПодрядчикНаименование=ПодписантыДанные!$B$2:$B$32)*(ПодписантыДанные!$A$2:$A$32=ПодрядчикИмяПодписанта));ПодписантыДанные!$E$2:$E$32)
К сообщению приложен файл: 222111.xlsm(30Kb)


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


Сообщение отредактировал китин - Вторник, 02.05.2017, 13:51
 
Ответить
Сообщениеа вот и с ПРОСМОТРом
Код
=ПРОСМОТР(2;1/((ПодписантыДанные!$D$2:$D$32>=ДоговорДата)*(ПодписантыДанные!$C$2:$C$32<=ДоговорДата)*(ПодрядчикНаименование=ПодписантыДанные!$B$2:$B$32)*(ПодписантыДанные!$A$2:$A$32=ПодрядчикИмяПодписанта));ПодписантыДанные!$E$2:$E$32)

Автор - китин
Дата добавления - 02.05.2017 в 13:50
kate_evgrafova Дата: Вторник, 02.05.2017, 14:01 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
китин, спасибо!
Тут работает без проблем. В рабочем файле пока не могу воспроизвести аналогичное. Пока покручу. Если так и не получится, буду задавать вопросы дальше ).
Ещё раз спасибо!
 
Ответить
Сообщениекитин, спасибо!
Тут работает без проблем. В рабочем файле пока не могу воспроизвести аналогичное. Пока покручу. Если так и не получится, буду задавать вопросы дальше ).
Ещё раз спасибо!

Автор - kate_evgrafova
Дата добавления - 02.05.2017 в 14:01
kate_evgrafova Дата: Вторник, 02.05.2017, 14:12 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
китин, добила формулу. С учётом поименованных столбцов в рабочем документе получилось так:
Код
=ИНДЕКС(ПрософтПодписантыДанные;ПОИСКПОЗ(1;1/(ПрософтПодписантыДо>=ДоговорДата)*(ПрософтПодписантыС<=ДоговорДата)*(ПодрядчикНаименование=ПрософтПодписантыПредприятие)*(ПрософтПодписантыФамилия=ПодрядчикИмяПодписанта);0);5)
 
Ответить
Сообщениекитин, добила формулу. С учётом поименованных столбцов в рабочем документе получилось так:
Код
=ИНДЕКС(ПрософтПодписантыДанные;ПОИСКПОЗ(1;1/(ПрософтПодписантыДо>=ДоговорДата)*(ПрософтПодписантыС<=ДоговорДата)*(ПодрядчикНаименование=ПрософтПодписантыПредприятие)*(ПрософтПодписантыФамилия=ПодрядчикИмяПодписанта);0);5)

Автор - kate_evgrafova
Дата добавления - 02.05.2017 в 14:12
sboy Дата: Вторник, 02.05.2017, 14:23 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 1163
Репутация: 293 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Еще вариант, обычная
Код
=ИНДЕКС(ПодписантыДолжность;АГРЕГАТ(15;6;СТРОКА(ПодписантыФамилия)/((ПодписантыФамилия=ПодрядчикИмяПодписанта)*(ПодписантыС<=ДоговорДата)*(ПодписантыДо>=ДоговорДата)*(ПодрядчикНаименование=ПодписантыПредприятие));1))
К сообщению приложен файл: 0237925.xlsm(28Kb)
 
Ответить
СообщениеДобрый день.
Еще вариант, обычная
Код
=ИНДЕКС(ПодписантыДолжность;АГРЕГАТ(15;6;СТРОКА(ПодписантыФамилия)/((ПодписантыФамилия=ПодрядчикИмяПодписанта)*(ПодписантыС<=ДоговорДата)*(ПодписантыДо>=ДоговорДата)*(ПодрядчикНаименование=ПодписантыПредприятие));1))

Автор - sboy
Дата добавления - 02.05.2017 в 14:23
kate_evgrafova Дата: Вторник, 02.05.2017, 18:04 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
sboy, спасибо!
Как вариант буду иметь в виду.
 
Ответить
Сообщениеsboy, спасибо!
Как вариант буду иметь в виду.

Автор - kate_evgrafova
Дата добавления - 02.05.2017 в 18:04
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поиск и подстановка в ячейку текста по сложному условию (Формулы/Formulas)
Страница 1 из 11
Поиск:

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