понедельник, 27 июня 2011 г.

Управление списками

Управление списками рассмотрим на том же примере, что и Применение списков.

Управление списками может понадобится в тех случаях, когда набор значений вносимых в одно поле зависти от значения ячейки в другом поле. В рассматриваемом примере это поля "Вопрос" и "Ответ". Список ответов заранее определен и ограничен, однако ответы зависят от вопроса.

управление списками      управление списками

Как поступить правильно? Для ответов на разные вопросы использовать разные поля с соответствующими списками? Это приведет к необоснованному расширению количества полей базы. Собрать все ответы в один список? Список получится большим, с ним будет неудобно работать. Кроме этого потребуется "напряжение ума" что бы выбрать ответ принадлежащий заданному вопросу - следовательно это приведет к ошибкам.

Лучше всего, сделать так, чтобы в поле "ответ" подставлялись имена списков в зависимости от значения ячейки в поле "Вопрос". Для этого в поле "Источник" надо ввести функцию ЕСЛИ(), возвращающую имена списков в зависимости от значения ячейки в поле "Вопрос".

управление списками

Учитывая, что формула в поле "Источник" целиком невидна, привожу ее отдельно в полной красе.



=ЕСЛИ(F22="Будете голосовать";Ответ;ЕСЛИ(F22="За кого";Кандидаты;
ЕСЛИ(F22="Процент явки";Ответ1;1)))

Внимание! Имена списков (Ответ; Кандидаты; Ответ1) в формуле в кавычки брать ненадо, т.к. это уже не текст, это имя списка! В конце формулы стоит "1", т.е. если ни одно условие не выполняется функция ЕСЛИ() в качестве имени списка вернет "1". Так как такого списка не существует, то он будет пуст. Это дополнительная страховка от ошибок.

Для тех кто превозмогая нечеловеческую усталость, безразличие и скуку все таки смог прочитать все три поста о СПИСКАХ - бонус - архив файла Excel с описанным примером, там есть еще макросы, поэтому не пугайтесь это из другой темы.

Комментариев нет:

Отправить комментарий