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

Вход

Регистрация

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

 

= Мир MS Excel/Найти строки в которых выполняются условия - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Найти строки в которых выполняются условия (Формулы/Formulas)
Найти строки в которых выполняются условия
makc1985 Дата: Среда, 26.11.2014, 06:04 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Здравствуйте!
Такая вот сложная задача!
Необходимо собственно найти в таблице номер строки, в которой выполняется условие.
Есть две таблицы, в первой скажем периоды, в которых сотрудники были в отпусках
Во второй таблице есть даты
В итоге необходимо понять был ли сотрудник в этот день в отпуске или нет.
Я понимаю логику так
Нужно взять дату(ячейка G3) из таблицы2, проверить в какой строке в таблице1 эта дата попадает в период(столбцы B:С),
и проверить в этой строке в таблице1 ФИО сотрудника, если оно совпадает с ФИО в таблице2, ставим в ячейку G4 "был в отпуске", ну или ИСТИНА
А реализовать не могу сообразить, одно дело если бы ФИО в таблице не повторялись, то это было бы проще, но они могут повторяться сколь угодно раз
К сообщению приложен файл: 4565134.xlsx (8.6 Kb)
 
Ответить
СообщениеЗдравствуйте!
Такая вот сложная задача!
Необходимо собственно найти в таблице номер строки, в которой выполняется условие.
Есть две таблицы, в первой скажем периоды, в которых сотрудники были в отпусках
Во второй таблице есть даты
В итоге необходимо понять был ли сотрудник в этот день в отпуске или нет.
Я понимаю логику так
Нужно взять дату(ячейка G3) из таблицы2, проверить в какой строке в таблице1 эта дата попадает в период(столбцы B:С),
и проверить в этой строке в таблице1 ФИО сотрудника, если оно совпадает с ФИО в таблице2, ставим в ячейку G4 "был в отпуске", ну или ИСТИНА
А реализовать не могу сообразить, одно дело если бы ФИО в таблице не повторялись, то это было бы проще, но они могут повторяться сколь угодно раз

Автор - makc1985
Дата добавления - 26.11.2014 в 06:04
buchlotnik Дата: Среда, 26.11.2014, 07:33 | Сообщение № 2
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Как понял
Код
=ЕСЛИ(СЧЁТЕСЛИМН($C$4:$C$9;"<="&G$8;$D$4:$D$9;">="&G$8;$B$4:$B$9;"="&$F9)>0;"был в отпуске";"")
К сообщению приложен файл: 6546038.xlsx (9.8 Kb)
 
Ответить
СообщениеКак понял
Код
=ЕСЛИ(СЧЁТЕСЛИМН($C$4:$C$9;"<="&G$8;$D$4:$D$9;">="&G$8;$B$4:$B$9;"="&$F9)>0;"был в отпуске";"")

Автор - buchlotnik
Дата добавления - 26.11.2014 в 07:33
VEKTORVSFREEMAN Дата: Среда, 26.11.2014, 07:37 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 772
Репутация: 130 ±
Замечаний: 0% ±

MS Office Excel 2010
makc1985, может так?
с применением доп. столбца А (№ отпуска)
Для таблицы № 2 массивная формула вводится нажатием клавиш Контрл+Шифт+Ентер
Код
=ИЛИ((1=$A$4:$A$9)*($F4=$B$4:$B$9)*(G$3>=$C$4:$C$9)*(G$3<=$D$4:$D$9);(2=$A$4:$A$9)*($F4=$B$4:$B$9)*(G$3>=$C$4:$C$9)*(G$3<=$D$4:$D$9);(3=$A$4:$A$9)*($F4=$B$4:$B$9)*(G$3>=$C$4:$C$9)*(G$3<=$D$4:$D$9);(4=$A$4:$A$9)*($F4=$B$4:$B$9)*(G$3>=$C$4:$C$9)*(G$3<=$D$4:$D$9))
К сообщению приложен файл: 0695584.xlsx (9.5 Kb)


"Опыт - это то, что получаешь, не получив того, что хотел"
 
Ответить
Сообщениеmakc1985, может так?
с применением доп. столбца А (№ отпуска)
Для таблицы № 2 массивная формула вводится нажатием клавиш Контрл+Шифт+Ентер
Код
=ИЛИ((1=$A$4:$A$9)*($F4=$B$4:$B$9)*(G$3>=$C$4:$C$9)*(G$3<=$D$4:$D$9);(2=$A$4:$A$9)*($F4=$B$4:$B$9)*(G$3>=$C$4:$C$9)*(G$3<=$D$4:$D$9);(3=$A$4:$A$9)*($F4=$B$4:$B$9)*(G$3>=$C$4:$C$9)*(G$3<=$D$4:$D$9);(4=$A$4:$A$9)*($F4=$B$4:$B$9)*(G$3>=$C$4:$C$9)*(G$3<=$D$4:$D$9))

Автор - VEKTORVSFREEMAN
Дата добавления - 26.11.2014 в 07:37
gling Дата: Среда, 26.11.2014, 07:43 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2525
Репутация: 678 ±
Замечаний: 0% ±

2010
Так наверно. С Вашей таблицей не сходится, почему не проверял.
Код
=ЕСЛИ(СУММПРОИЗВ((G$3<=$C$4:$C$9)*(G3<=$D$4:$D$9)*($F4=$B$4:$B$9))>0;"Был в отпуске";"")
К сообщению приложен файл: 9196278.xlsx (9.2 Kb)


ЯД-41001506838083
 
Ответить
СообщениеТак наверно. С Вашей таблицей не сходится, почему не проверял.
Код
=ЕСЛИ(СУММПРОИЗВ((G$3<=$C$4:$C$9)*(G3<=$D$4:$D$9)*($F4=$B$4:$B$9))>0;"Был в отпуске";"")

Автор - gling
Дата добавления - 26.11.2014 в 07:43
Pelena Дата: Среда, 26.11.2014, 07:44 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19197
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
Ещё вариант, похожий на первый, но работающий в любой версии офиса
Код
=ЕСЛИ(СУММПРОИЗВ(($C$4:$C$9<=G$3)*(G$3<=$D$4:$D$9)*($B$4:$B$9=$F4))>0;"был в отпуске";"")


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЕщё вариант, похожий на первый, но работающий в любой версии офиса
Код
=ЕСЛИ(СУММПРОИЗВ(($C$4:$C$9<=G$3)*(G$3<=$D$4:$D$9)*($B$4:$B$9=$F4))>0;"был в отпуске";"")

Автор - Pelena
Дата добавления - 26.11.2014 в 07:44
makc1985 Дата: Среда, 26.11.2014, 08:39 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
=ЕСЛИ(СУММПРОИЗВ(($C$4:$C$9<=G$3)*(G$3<=$D$4:$D$9)*($B$4:$B$9=$F4))>0;"был в отпуске";"")


Спасибо всем! Самый помоему простой и рабочий вариант!
 
Ответить
Сообщение
=ЕСЛИ(СУММПРОИЗВ(($C$4:$C$9<=G$3)*(G$3<=$D$4:$D$9)*($B$4:$B$9=$F4))>0;"был в отпуске";"")


Спасибо всем! Самый помоему простой и рабочий вариант!

Автор - makc1985
Дата добавления - 26.11.2014 в 08:39
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Найти строки в которых выполняются условия (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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