Что-то вроде двумерного массива в Excel

1969SHASHA

Всем привет!
Помогите, пожалуйста, решить следующую проблемку.
У меня есть два списка - заголовки строк на одном листе Excel и заголовки столбцов на другом, из которых собственно и формируются заголовки строк и столбцов таблицы на третьем листе. Вводятся днные в эту таблицу.
Так как мне нужно, чтобы при добавлении новых заголовков строк и столбцов они автоматически появлялись в таблице, я их сделала в виде массивов.
Когда новые названия столбцов и строк добавляются в конец списков - то все норм. Но у меня часто возникает необходимость вставлять строки и столбцы в середину, соответственно вся информация в таблице должна тоже сдвигаться туда, куда сдвигается ее заголовок.
Сейчас жеу меня получается, что новый столбец в таблице появляется, но он не пуст, а заполнен инфой, что была в соседе справа от него. :(
От Excel вообще стоит ожидать таких чудес? :confused:

Elen13

VBA тебе в помощь
Или полностью переосмыслить постановку задачи
Или поменять инструмент

Alex19691975

а как заносится информация на третий лист? ручками?

1969SHASHA

Ага, ручками

1969SHASHA

Мне при переходе на другой проект достался этот файл, в котором полный бардак, все на ссылках, которые ломаются.
Для того, чтобы заморочиться через VBA или через другой инструмент, нужен спонсор :) Отдельную задачу под это заводить пока не хотят.
Хотелось бы хоть немного его в порядок привести, работать же нельзя нормально, но тратить кучу личного времени тоже не хочется.
Если совсем нельзя стандартными штуками, то буду продавливать открытие новой задачи, конечно.

SergZ495

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

Alex19691975

могу предложить гемморойный способ =)
заносить инфу не в этот массив а в табличку, где у тебя столбцы развернуты в строки
а для заполнения массива использовать индекс + поиск поз, использовать первые два листа
правда если данных будет дохера, будет тяжелый файл, долго будет обновляться и может накрыться =)
ВБА наверное проще
апд
+ наверное в целом проще добавить строку, столбец руками - к чем собственно аппелирует слаер

zxczxc

Завели ещё один-два листа. С желаемыми номерами строк и столбцов. А в основном листе добавляй всегда в конец.

1969SHASHA

просто эти списки заголовков столбцов/строк используются не только на третьем листе, но и на четвертом, пятом, ..., двенадцатом :) везде вносится разная информация
Везде нужно повторять этот же подход.
Добавление в конец списков не очень подходит, так как заголовки логически сгруппированы в группы, и иногда добавляется какой-то элемент к группе

1969SHASHA

спасибо, подумаю, может можно будет это как-то использовать

Alex19691975

это тогда уж можно делать и на этих листах, просто проставив соответствие.
только как это помогает решить проблему?

Lioness2000

раз 5 перечитывал, пока вроде не дошло, что нужно - чтобы в таблицах с данными добавлялись новые строки/столбцы со сдвигом при добавлении новых строк/столбцов в середину листов с заголовками.
в этом случае vba,
либо отказаться от странной идеи ввода данных в двумерный массив с добавлением в середину и перейти к таблице вида
<название столбца><название строки><значение>,
тогда квадратные таблички можно будет делать сводными таблицами, лукапами в формулах и т.п. короче сделать типа таблицу фактов olap-куба :) в общем, разделить ввод и вывод. ввод по одним правилам, вывод - как угодно

igorek1

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

1969SHASHA

Все же выбьем задачу на переосмысление всего подхода к ведению этого файлика.
Скорее всего сделаем плоские списки
Ну нельзя жить в таком бардаке!
Оставить комментарий
Имя или ник:
Комментарий: