makc1985
Дата: Среда, 26.11.2014, 06:04 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация:
0
±
Замечаний:
20% ±
Excel 2007
Здравствуйте! Такая вот сложная задача! Необходимо собственно найти в таблице номер строки, в которой выполняется условие. Есть две таблицы, в первой скажем периоды, в которых сотрудники были в отпусках Во второй таблице есть даты В итоге необходимо понять был ли сотрудник в этот день в отпуске или нет. Я понимаю логику так Нужно взять дату(ячейка G3) из таблицы2, проверить в какой строке в таблице1 эта дата попадает в период(столбцы B:С), и проверить в этой строке в таблице1 ФИО сотрудника, если оно совпадает с ФИО в таблице2, ставим в ячейку G4 "был в отпуске", ну или ИСТИНА А реализовать не могу сообразить, одно дело если бы ФИО в таблице не повторялись, то это было бы проще, но они могут повторяться сколь угодно раз
Здравствуйте! Такая вот сложная задача! Необходимо собственно найти в таблице номер строки, в которой выполняется условие. Есть две таблицы, в первой скажем периоды, в которых сотрудники были в отпусках Во второй таблице есть даты В итоге необходимо понять был ли сотрудник в этот день в отпуске или нет. Я понимаю логику так Нужно взять дату(ячейка G3) из таблицы2, проверить в какой строке в таблице1 эта дата попадает в период(столбцы B:С), и проверить в этой строке в таблице1 ФИО сотрудника, если оно совпадает с ФИО в таблице2, ставим в ячейку G4 "был в отпуске", ну или ИСТИНА А реализовать не могу сообразить, одно дело если бы ФИО в таблице не повторялись, то это было бы проще, но они могут повторяться сколь угодно раз makc1985
Ответить
Сообщение Здравствуйте! Такая вот сложная задача! Необходимо собственно найти в таблице номер строки, в которой выполняется условие. Есть две таблицы, в первой скажем периоды, в которых сотрудники были в отпусках Во второй таблице есть даты В итоге необходимо понять был ли сотрудник в этот день в отпуске или нет. Я понимаю логику так Нужно взять дату(ячейка 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;"был в отпуске";"")
Как понял Код
=ЕСЛИ(СЧЁТЕСЛИМН($C$4:$C$9;"<="&G$8;$D$4:$D$9;">="&G$8;$B$4:$B$9;"="&$F9)>0;"был в отпуске";"")
buchlotnik
Ответить
Сообщение Как понял Код
=ЕСЛИ(СЧЁТЕСЛИМН($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))
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
"Опыт - это то, что получаешь, не получив того, что хотел"
Ответить
Сообщение 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;"Был в отпуске";"")
Так наверно. С Вашей таблицей не сходится, почему не проверял.Код
=ЕСЛИ(СУММПРОИЗВ((G$3<=$C$4:$C$9)*(G3<=$D$4:$D$9)*($F4=$B$4:$B$9))>0;"Был в отпуске";"")
gling
ЯД-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;"был в отпуске";"")
Ещё вариант, похожий на первый, но работающий в любой версии офиса Код
=ЕСЛИ(СУММПРОИЗВ(($C$4:$C$9<=G$3)*(G$3<=$D$4:$D$9)*($B$4:$B$9=$F4))>0;"был в отпуске";"")
Pelena
"Черт возьми, Холмс! Но как??!!" Ю-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
Ответить
Сообщение =ЕСЛИ(СУММПРОИЗВ(($C$4:$C$9<=G$3)*(G$3<=$D$4:$D$9)*($B$4:$B$9=$F4))>0;"был в отпуске";"")
Спасибо всем! Самый помоему простой и рабочий вариант!Автор - makc1985 Дата добавления - 26.11.2014 в 08:39