Доброго дня, добрые люди. Разрабатываю таблицу для расчёта отпусков иностранных граждан. Отпуска она считает замечательно. Однако нужно сформировать сводную таблицу. Сводную делал по стандартной схеме Индекс(массив2;Поискпоз($имя1;$масив$1)). Есть вариант со статичными массивами, он работает прекрасно. Но там, естественно, ограничено количество сотрудников, которое может быть вписано в таблицу. Поэтому стал попытался сделать "динамический" массив с АДРЕС(); ДВССЫЛ() а теперь дошёл ещё и до СМЕЩ(). Как я понял адрес() возвращает текст. А ДВССЫЛ() сразу берёт значение из ссылки, так что возвращает не саму ссылку, а значение в ссылаемой ячейки. И вот теперь не могу понять почему не работает СМЕЩ(), если она должна возвращать именно ссылку без её мгновенного вычисления. Заранее благодарен.
ЗЫ. Сводная располагается на втором листе файла и ссылается на первый. Относительная позиция у имени и у искомого значения будет одна и та же в массивах - смещаются сами массивы. Во всяком случае я представляю себе это именно так.
Доброго дня, добрые люди. Разрабатываю таблицу для расчёта отпусков иностранных граждан. Отпуска она считает замечательно. Однако нужно сформировать сводную таблицу. Сводную делал по стандартной схеме Индекс(массив2;Поискпоз($имя1;$масив$1)). Есть вариант со статичными массивами, он работает прекрасно. Но там, естественно, ограничено количество сотрудников, которое может быть вписано в таблицу. Поэтому стал попытался сделать "динамический" массив с АДРЕС(); ДВССЫЛ() а теперь дошёл ещё и до СМЕЩ(). Как я понял адрес() возвращает текст. А ДВССЫЛ() сразу берёт значение из ссылки, так что возвращает не саму ссылку, а значение в ссылаемой ячейки. И вот теперь не могу понять почему не работает СМЕЩ(), если она должна возвращать именно ссылку без её мгновенного вычисления. Заранее благодарен.
ЗЫ. Сводная располагается на втором листе файла и ссылается на первый. Относительная позиция у имени и у искомого значения будет одна и та же в массивах - смещаются сами массивы. Во всяком случае я представляю себе это именно так.JustMe
Где $А$1 - тупо точка отсчёта. C$7 - в седьмой строке указывается смещение по столбцам. C$3 - в третьей строке указывается дополнительное смещение по строкам. $D$5 - указано количество строк на предельное количество сотрудников. В процессе лепки из говна конфетки значение там не до конца верное, но это не должно повлиять на результат. Само это смещение задаёт узкий длинный массив, в котором должны искать позицию, полученную в ПОИСКПОЗ() В самой поискпоз() просматривается колонка имён из первого листа.
Исправил. В первый раз почему то не прикрепилось.... Только там АДъ и Израиль. Хотя для понимания у всех формул должен быть примерно такой вид.
Где $А$1 - тупо точка отсчёта. C$7 - в седьмой строке указывается смещение по столбцам. C$3 - в третьей строке указывается дополнительное смещение по строкам. $D$5 - указано количество строк на предельное количество сотрудников. В процессе лепки из говна конфетки значение там не до конца верное, но это не должно повлиять на результат. Само это смещение задаёт узкий длинный массив, в котором должны искать позицию, полученную в ПОИСКПОЗ() В самой поискпоз() просматривается колонка имён из первого листа.JustMe
Сообщение отредактировал JustMe - Четверг, 28.11.2013, 11:37