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

Вход

Регистрация

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

 

= Мир MS Excel/Заполнение строк по критериям из разных листов - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Заполнение строк по критериям из разных листов
JJ_47 Дата: Пятница, 17.03.2017, 12:12 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Не получается сделать автоматическое заполнение строк в нужном листе, сравнивая исходные данные с табличными значениями. Т.е., если установленное значение в ячейке "Поименный!I18", попадает в диапазон "Лист1!А2:А165", то это значение появляется в ячейке "Направление!D33", если нет - появляется прочерк. Пытался как мог, но знаний не хватает, пробовал и через ЕСЛИ и через ВПР :( Макросами вообще не владею, а так не принципиально, как это будет выполнено. Я так полагаю, что в каждой строке с вредностями в листе "Направление" надо писать свою формулу, которая будет сравнивать данные из одной и той же ячейки со своим массивом, или можно создать одну универсальную формулу? Тренировался на простых действиях, но даже это толком не вышло :( В архиве версия для 2003 и 2016 версии, описание в 2016. Помогите пожалуйста, надоело каждый год вручную это все делать, хочу один раз поколдовать и сделать максимально автоматизированно :(
К сообщению приложен файл: 6939396.rar (29.4 Kb)
 
Ответить
СообщениеНе получается сделать автоматическое заполнение строк в нужном листе, сравнивая исходные данные с табличными значениями. Т.е., если установленное значение в ячейке "Поименный!I18", попадает в диапазон "Лист1!А2:А165", то это значение появляется в ячейке "Направление!D33", если нет - появляется прочерк. Пытался как мог, но знаний не хватает, пробовал и через ЕСЛИ и через ВПР :( Макросами вообще не владею, а так не принципиально, как это будет выполнено. Я так полагаю, что в каждой строке с вредностями в листе "Направление" надо писать свою формулу, которая будет сравнивать данные из одной и той же ячейки со своим массивом, или можно создать одну универсальную формулу? Тренировался на простых действиях, но даже это толком не вышло :( В архиве версия для 2003 и 2016 версии, описание в 2016. Помогите пожалуйста, надоело каждый год вручную это все делать, хочу один раз поколдовать и сделать максимально автоматизированно :(

Автор - JJ_47
Дата добавления - 17.03.2017 в 12:12
Perfect2You Дата: Пятница, 17.03.2017, 14:20 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 237
Репутация: 59 ±
Замечаний: 0% ±

Excel 2010
Да у Вас практически получилось!!!
Просто того значения, которое задано в "Поименный!I18" в столбце A листа Лист1 нет. Подставите то значение, которое есть - оно и появится. Осталось только обработать случай ошибки. Для 2016:
Код
=ЕСЛИОШИБКА(ВПР(Поименный!$I$18;Лист1!$A$2:$A$165;1;0);"-")

Для 2003:
Код
=ЕСЛИ(ЕОШИБКА(ВПР(Поименный!$I$18;Лист1!$A$2:$A$165;1;0));"-";ВПР(Поименный!$I$18;Лист1!$A$2:$A$165;1;0))


Для других статей формула та же, только меняются столбцы. Кстати, повнимательнее: в таблице они чуть в другом порядке, чем в направлении.

Если хотите универсальности, то я бы сделал так: куда-нибудь за пределы области печати (например, в столбце L) поместил бы точные заголовки столбцов листа Лист1 (лучше даже ссылки бросить). Тогда можно создать универсальную формулу, которую можно просто вставить в одну ячейку, а потом размножить копированием. Для 2016 D33:
Код
=ЕСЛИОШИБКА(ИНДЕКС(Лист1!$A$1:$E$165;ПОИСКПОЗ(Поименный!$I$18;ИНДЕКС(Лист1!$A$1:$E$165;0;ПОИСКПОЗ($L33;Лист1!$A$1:$E$1;0));0);ПОИСКПОЗ($L33;Лист1!$A$1:$E$1;0));"-")

Туда же для 2003:
Код
=ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(Поименный!$I$18;ИНДЕКС(Лист1!$A$1:$E$165;0;ПОИСКПОЗ($L33;Лист1!$A$1:$E$1;0));0));"-";ИНДЕКС(Лист1!$A$1:$E$165;ПОИСКПОЗ(Поименный!$I$18;ИНДЕКС(Лист1!$A$1:$E$165;0;ПОИСКПОЗ($L33;Лист1!$A$1:$E$1;0));0);ПОИСКПОЗ($L33;Лист1!$A$1:$E$1;0)))


Сообщение отредактировал Perfect2You - Пятница, 17.03.2017, 14:22
 
Ответить
СообщениеДа у Вас практически получилось!!!
Просто того значения, которое задано в "Поименный!I18" в столбце A листа Лист1 нет. Подставите то значение, которое есть - оно и появится. Осталось только обработать случай ошибки. Для 2016:
Код
=ЕСЛИОШИБКА(ВПР(Поименный!$I$18;Лист1!$A$2:$A$165;1;0);"-")

Для 2003:
Код
=ЕСЛИ(ЕОШИБКА(ВПР(Поименный!$I$18;Лист1!$A$2:$A$165;1;0));"-";ВПР(Поименный!$I$18;Лист1!$A$2:$A$165;1;0))


Для других статей формула та же, только меняются столбцы. Кстати, повнимательнее: в таблице они чуть в другом порядке, чем в направлении.

Если хотите универсальности, то я бы сделал так: куда-нибудь за пределы области печати (например, в столбце L) поместил бы точные заголовки столбцов листа Лист1 (лучше даже ссылки бросить). Тогда можно создать универсальную формулу, которую можно просто вставить в одну ячейку, а потом размножить копированием. Для 2016 D33:
Код
=ЕСЛИОШИБКА(ИНДЕКС(Лист1!$A$1:$E$165;ПОИСКПОЗ(Поименный!$I$18;ИНДЕКС(Лист1!$A$1:$E$165;0;ПОИСКПОЗ($L33;Лист1!$A$1:$E$1;0));0);ПОИСКПОЗ($L33;Лист1!$A$1:$E$1;0));"-")

Туда же для 2003:
Код
=ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(Поименный!$I$18;ИНДЕКС(Лист1!$A$1:$E$165;0;ПОИСКПОЗ($L33;Лист1!$A$1:$E$1;0));0));"-";ИНДЕКС(Лист1!$A$1:$E$165;ПОИСКПОЗ(Поименный!$I$18;ИНДЕКС(Лист1!$A$1:$E$165;0;ПОИСКПОЗ($L33;Лист1!$A$1:$E$1;0));0);ПОИСКПОЗ($L33;Лист1!$A$1:$E$1;0)))

Автор - Perfect2You
Дата добавления - 17.03.2017 в 14:20
sboy Дата: Пятница, 17.03.2017, 14:49 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Еще вариант
Код
=ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(Поименный!I18;Лист1!A2:A165;));Поименный!I18;"-")
К сообщению приложен файл: 8238389.xlsx (22.2 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
Еще вариант
Код
=ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(Поименный!I18;Лист1!A2:A165;));Поименный!I18;"-")

Автор - sboy
Дата добавления - 17.03.2017 в 14:49
JJ_47 Дата: Пятница, 17.03.2017, 15:24 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016

Спасибо Вам большое! Только не могу понять для чего заголовки отдельно прописывать? Чтобы поиск по ним осуществлять? Т.е. можно в одну строку скопировать наименования из направления через запятую?
 
Ответить
Сообщение
Спасибо Вам большое! Только не могу понять для чего заголовки отдельно прописывать? Чтобы поиск по ним осуществлять? Т.е. можно в одну строку скопировать наименования из направления через запятую?

Автор - JJ_47
Дата добавления - 17.03.2017 в 15:24
Perfect2You Дата: Пятница, 17.03.2017, 19:24 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 237
Репутация: 59 ±
Замечаний: 0% ±

Excel 2010
Каюсь, файл не приложился. Прикладываю.

В L заголовки вытянуть, чтобы сослаться на эти ячейки относительными по строке ссылками. После этого при копировании формулы ссылка перейдет на новую строку. В результате не надо влезать в формулу и подставлять новое условие! Просто скопировал - и все.

А если реализовано это ссылками, то Вы застрахованы от ошибочных значений в формулах в случае изменения заголовов. Заголовок в Лист1 поменяется, ссылка - тоже. Поиск будет искать уже новое значение и таки-найдет!
К сообщению приложен файл: 5739731.xlsx (26.6 Kb)


Сообщение отредактировал Perfect2You - Пятница, 17.03.2017, 19:25
 
Ответить
СообщениеКаюсь, файл не приложился. Прикладываю.

В L заголовки вытянуть, чтобы сослаться на эти ячейки относительными по строке ссылками. После этого при копировании формулы ссылка перейдет на новую строку. В результате не надо влезать в формулу и подставлять новое условие! Просто скопировал - и все.

А если реализовано это ссылками, то Вы застрахованы от ошибочных значений в формулах в случае изменения заголовов. Заголовок в Лист1 поменяется, ссылка - тоже. Поиск будет искать уже новое значение и таки-найдет!

Автор - Perfect2You
Дата добавления - 17.03.2017 в 19:24
JJ_47 Дата: Суббота, 18.03.2017, 11:18 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Заголовок в Лист1 поменяется, ссылка - тоже. Поиск будет искать уже новое значение и таки-найдет!

все, я Вас понял! Спасибо еще раз огромное за помощь, доходчиво все и понятно, попробую оба предложенных варианта и буду двигаться дальше! respect thumb
 
Ответить
Сообщение
Заголовок в Лист1 поменяется, ссылка - тоже. Поиск будет искать уже новое значение и таки-найдет!

все, я Вас понял! Спасибо еще раз огромное за помощь, доходчиво все и понятно, попробую оба предложенных варианта и буду двигаться дальше! respect thumb

Автор - JJ_47
Дата добавления - 18.03.2017 в 11:18
  • Страница 1 из 1
  • 1
Поиск:

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