Новости:

Из правил форума: Тема должна отражать суть вопроса, топики типа "help please" будут удаляться!

Главное меню

Функция ЕСЛИ с несколькими условиями

Автор Alina, 10.08.2012, 13:41

« назад - далее »

Alina

Здравствуйте.

Я неопытный пользователь Excel, и даже не могу сообразить, реализуемо это, или нет.
Есть книга со сводным расписанием и несколькими листами индивидуального учета. Хотелось бы, чтобы из сводного листа данные поступали в индивидуальные. По принципу (условно, но количественно верно): Если 'Сводный!'B2=АБ или АВБ или АБВГ или АБВГД, то 'Инд. учет'!B2=6; Если 'Сводный!'B2=Вых., то 'Инд. учет'!B2=0; Если 'Сводный!'B2=отп., то 'Инд. учет'!B3=8; Если 'Сводный!'B2=б.л., то 'Инд. учет'!B4=8, Если Если 'Сводный!'B2=б.с., то 'Инд. учет'!B5=8. При этом чтобы другие значения игнорировались.

Такой наворот в принципе возможен? Если возможен, подскажите, пожалуйста, как и с какой стороны подступиться.

IKor

При помощи Экселя вашу задачу можно решить двумя принципиально различными способами:

1. При помощи макросов: По наступлению некоторого события (например, нажатия на кнопку запуска макроса) программа начинает проверять выполнение условий на сводном листе и заносить данные в листы индивидуального учета. Существуют тонкости: требуется ли обновление всех индивидуальных листов (одна кнопка на сводном листе) или требуется выборочное обновление (тогда придется указывать какие именно листы обновлять - например, сделать индивидуальные кнопки обновления на каждом листе). Кроме того, нужно решить вопрос о соответствии строк таблицы и индивидуальных листов (например, названия индивидуальных листов должны соответствовать названиям строк таблицы).

2. При помощи формул: В каждой из ячеек индивидуальных листов записать формулы, которые будут выдавать требуемые значения (или пустоту) при выполнении того или иного условия. Принципиальное отличие в том, что придется переформулировать задачу "наизнанку": записать в ячейке B2 6, если в ячейке С2 на сводном листе указано "АБ", "АБВ", "АБВГ" или "АБВГД"; или записать в ячейке B2 0, если  'Сводный!'B2="Вых."
B2:
=ЕСЛИ(ИЛИ('Сводный!'B2="АБ";'Сводный!'B2="АБВ";'Сводный!'B2="АБВГ";'Сводный!'B2="АБВГД");6;ЕСЛИ('Сводный!'B2="Вых.";0;""))
B3:
=ЕСЛИ('Сводный!'B2="отп.";8;"")
B4:
=ЕСЛИ('Сводный!'B2="б.л.";8;"")
B5:
=ЕСЛИ('Сводный!'B2="б.c.";8;"")

Аналогичные формулы придется прописывать для каждой значимой ячейки индивидуальных листов, поэтому я думаю, что стоит придумать некоторые зависимости.
Кроме того, советую почитать о применении функции ВПР(_)...

В любом случае, желательно видеть не только исходные данные, но и желаемый результат работы с комментариями.

0mega

#2
Alina , здравствуйте.

В2=(('Сводный!'B2="АБ")+('Сводный!'B2="АБВ")+('Сводный!'B2="АБВГ")+('Сводный!'B2="АБВГД"))*6*НЕ('Сводный!'B2="Вых.")
В3=('Сводный!'B2="Инд. учет")*8
В4=('Сводный!'B2="б.л.")*8
В5=('Сводный!'B2="б.с.")*8

Alina

IKor, спасибо большое! Воспользовалась вторым способом, все работает замечательно  :)

Цитата: IKor от 10.08.2012, 16:42
Аналогичные формулы придется прописывать для каждой значимой ячейки индивидуальных листов, поэтому я думаю, что стоит придумать некоторые зависимости.
В любом случае, желательно видеть не только исходные данные, но и желаемый результат работы с комментариями.
Я формулы откопировала автозаполнением по нужным четырем строкам (столбцы соответствуют в обоих файлах), а потом откопировала сами индивидуальные листы, меняя фамилии. И получила тот самый желаемый результат: чтобы, заполняя месячные отчеты о разных видах деятельности, сотрудникам не надо было сверяться с расписанием, когда кто дежурил на одной из 4 площадок (по 6 часов), когда у кого выходной, отпуск или больничный. А чтобы все это заполнялось автоматически из обновляемого еженедельно расписания и оставалось отметить только другие виды работ. 
Так что еще раз спасибо!

0mega, спасибо, что откликнулись! Ваш способ я попробовала тоже; он работает, но для пустой ячейки в листе "Сводный" выдает 0, и в индивидуальных листах это сливается с выходными, что не слишком удобно.  Поэтому я воспользовалась способом, который предложил IKor.

0mega

#4
Цитата: Alina от 11.08.2012, 10:39

... он работает, но для пустой ячейки в листе "Сводный" выдает 0,... , что не слишком удобно.

Alina,
Правильное  замечание. Я как-то не обратил на это внимание.
На будущее, чтобы Вы знали, у Excel-я есть "выключатель нулей".
Напишите какой у Office и вам подскажут где его искать