Найти тему
Властелин машин

Как автоматизировать заполнение значений в электронную таблицу

Оглавление

Ранее мы рассмотрели, как просто создать базу данных с использованием Google Таблиц. Теперь расскажем, как автоматизировать заполнение ряда полей для максимальной экономии времени и сосредоточении усилий только на новой информации.

Для этого следует на основании уже имеющихся в базе сведений задать значения по умолчанию и подсказки из возможных вариантов ввода.

Значения по умолчанию

Рассмотрим на примере корректировки формы ввода новой записи в базу данных, которую создали ранее:

Предположим, что мы хотим для последних 4 полей задать значения по умолчанию аналогичные тем, которые имелись в предыдущей по порядку записи в базе. Однако если ввести что-то, значения по умолчанию должны замещаться новыми сведениями.

При задании формулы в самой ячейке посредством условия ЕСЛИ после ввода нового значения, она будет стерта, поэтому лучше задействовать дополнительные ячейки, например, справа от указанных. В каждую из них введем формулу вида:

=ЕСЛИ(адрес_ячейки="";ВПР(искомое_значение;диапазон_поиска;номер_возвращаемого_столбца;0);адрес_ячейки).

Например, для поля "Категория" - =ЕСЛИ(B5="";ВПР($B$2-1;'БД'!$A$2:$G;4;0);B5)

То есть, когда по адресу ячейки что-то записано, то оставляем это значение, иначе ищем номер записи на единицу меньший B2 в первом столбце выделенного диапазона (условие функции ВПР) и возвращается значение из четвертого столбца. Для наглядности отобразим соответствующий диапазон на листе с базой данных:

-2

Заполнив последующие столбцы аналогичным образом, получим:

-3

А когда одно из полей заполнено, значение по умолчанию замещается:

-4

Теперь, имеющийся макрос, привязанный к кнопке "ввод" (подробнее читай здесь) нужно перезаписать, чтобы он подхватывал значения не из столбцов B5:B8, а C5:C8.

Отображение подсказки в ячейке на основании ранее введенных в нее значений

Реализуем эту задачу посредством задания ограничения на список значений в ячейке. Как его создавать из готового перечня я рассказывал ранее. Вместе с тем данная ситуация отличается тем, что готового списка нет, поэтому создадим его сами.

Для этого перейдем на лист со всеми списками и заполним новый столбец:

-5

Он будет называться "Раздел" и сформирован с использованием следующей формулы:

= SORT(UNIQUE('БД'!E2:E);1;ИСТИНА)

Сначала для формирования уникальных значений применяется функция UNIQUE, которая получает соответствующий диапазон в базе данных, а затем результат сортируется по возрастанию функцией SORT:

-6

Теперь на основании готового диапазона можно задать ограничение, как это делалось ранее:

-7

Следует отметить, что в данном случае ограничение будет мягким и выдавать лишь предупреждение, если новое значение не попадает в список, чтобы мы все-таки могли его ввести в ячейку.

-8