Страницы: 1
RSS
Сдвиг по строкам блока (строк, ячеек) при заполнении таблицы
 
Коллеги, подскажите пожалуйста, есть ли какой-то способ при заполнении таблицы (в примере) сдвигать блок, выделенный зеленым вниз?
То есть список исследований должен пополняться, а подписи съезжать в зависимости от заполнения..
Поиск по форуму мне не помог, может не смог сформулировать запрос..
 
Выделить строку под таблицей, нажать Ctrl + Shift + символ плюс "+" не вариант?
Можно было бы сделать умную таблицу, но с Вашей структурой - не получится.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
JayBhagavan написал:
Выделить строку под таблицей, нажать Ctrl + Shift + символ плюс "+" не вариант?
Хотелось бы чтобы это автоматически происходило

Цитата
JayBhagavan написал:
Можно было бы сделать умную таблицу, но с Вашей структурой - не получится.
Тоже пришел к такому выводу..

Может макрос какой может помочь?
 
Сначала мысль была считать количество заполненных строк и каким-то образом отступив от них две вниз вставлять блок подписей, но не смог связать все это воедино :(
Можно конечно в ручном режиме копировать-вставлять после заполнения таблицы, или назначить макрос на копирование с другого листа, например, но опять же надо как-то выделять ячейку куда вставлять блок, а как в макросе прописать ЧСТРОК и СЧЁТЕСЛИ и прочее для вычисления я не знаю..
Опять же в таблице столбцы шириной миллиметр, а в подписях по-другому.. если просто вставлять - сломается..
 
hyperion3330, насколько я понял, то показанная таблица - это результат, а источник Вы не показали, так как Вам помочь?

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
JayBhagavan написал:
показанная таблица - это результат, а источник
Так и есть, просто не думал что это нужно..

Прикладываю для полной картины происходящего..
 
Формулы переделал на связку ИНДЕКС+ПОИСКПОЗ. Добавили нужное кол-во строк перед блоком с подписями, выделили добавленные строки и последнюю строку таблицы, нажали Ctrl+D. Сделали автоподбор высоты строк таблицы.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
То есть кроме как вручную никак не получится?

А чем ИНДЕКС+ПОИСКПОЗ лучше чем было? Если не сложно, объясните пожалуйста
 
1) Получится. Если напишете (Вам напишут) макрос, например. (у меня нет желания его писать)
2) Потому что данная связка формул подтягивает значения относительно своего положения по строке. Если Вы, допустим, удалите строку между 1й и 3й строками с данными, то Ваши ссылки пропустят 2ю строку исходных данных, а предложенная связка - нет. Для предложенной связки для подтягивания данных из другого столбца достаточно в формуле поменять его номер, а в Ваших формулах надо менять ссылку на ячейку. Если в исходных данных удалить строку, на которую ссылались Ваши формулы, то Вы получите в формулах ошибку #ССЫЛКА.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
JayBhagavan написал:
выделили добавленные строки и последнюю строку таблицы, нажали Ctrl+D
К сожалению пишет "ячейки должны иметь одинаковый размер"

Цитата
JayBhagavan написал:
Ваши ссылки пропустят 2ю строку исходных данных
И правда - спасибо, почитаю поподробнее про эту связку..


А формула для нахождения последней заполненной ячейки в диапазоне (с учетом того что в них формулы) только плана  ЧСТРОК()-СЧЁТЕСЛИ() получится? Я где-то на форуме видел обсуждение
 
А можно для несведущих разобрать формулу?
Код
=ИНДЕКС(Данные!$1:$1048576;СТРОКА()-СТРОКА($7:$7)+СТРОКА(Данные!$1:$1);3)

С листа Данные берем какой-то диапазон? 1:104.. что это за числа?
Почему потом СТРОКА без индекса, а потом от неё отнимают сумму строк с индексами?
Столбец 3 - это я понял :)
 
Числа - строки. Т.е. во всем диапазоне строк ищем одну нужную.

СТРОКА без индекса
=СТРОКА()
протяните формулу по строкам и посмотрите результат.

-СТРОКА($7:$7)+СТРОКА(Данные!$1:$1)- равнозначно:
-СТРОКА(A$7)+СТРОКА(Данные!X$1)
А если строки не меняют своего положения, то и 6 сойдет.
 
То есть мы берем диапазон (все строки листа Данные) это понятно..
Следующий аргумент - строка поиска..
Получается текущая строка (листа Форма где в данный момент выделена ячейка) минус СТРОКА 7 (на листе Форма, то есть строчки 1-6 мы в расчет не берем?) плюс СТРОКА 1 (на листе Данные это заголовок)
Следующий аргумент - столбец, ну тут понятно - 3 (третий)

То есть если выделена ячейка С12, то расчет такой - 12-7+1=6
И на листе Данные мы ищем значение на пересечении строки 6 и столбца 3?

И соответственно если тянуть формулу вниз, значение будет изменяться на +1 ?
 
Легче спросить, чем проверить?
 
Я проверил, просто хотелось уточнить правильно ли я понял логику работы формулы в целом
Страницы: 1
Наверх