Наша система использует электронные таблицы шаблонов, каждый шаблон имеет два листа: Data и RawData. RawData содержит таблицы Excel с данными, заполненными приложением. Пользователи несут ответственность за создание отчетов (на листе данных), которые они хотят, на основе данных в листе RawData. Теперь данные в таблицах могут различаться, сегодня в таблице может быть 5 строк, на следующий день в ней может быть 10 строк.
Если в RawData у меня есть таблица 1 со столбцом 1, как мне сослаться на данные в этом столбце на листе данных таким образом, чтобы учесть рост/уменьшение данных в таблице 1?
Я думал, что могу использовать формулу массива и ссылку и использовать формулу массива {= Table1 [column1]}, но когда я ее определяю, мне всегда нужно указывать фиксированное количество строк. Кажется, нет никакого способа указать количество строк/столбцов, до которых будет расширяться формула массива, и получить это число из формулы, аналогично тому, как работают динамические диапазоны. Если я выберу слишком много строк, формула массива помещает значение #NA в ячейки, которые выходят за пределы доступных элементов.
Спасибо
PS. Использование VBA не вариант.
=SUM(Table1[column1])
, и это всегда будет относиться ко всему содержимому столбца1. Это то, что вы спрашиваете? - person Doug Glancy   schedule 08.08.2012countifs
,match
,if
иoffset
, работающих вместе для динамического выбора и управления таблицей в заданном пространстве. Если вы можете предоставить много деталей макета таблицы на листе, я был бы рад дать ответ. - person danielpiestrak   schedule 08.08.2012{=IFERROR(IFERROR(IFERROR(IFERROR(INDEX(LodgTbl[PC], MATCH(0, COUNTIF($A$1:A1, LodgTbl[PC]), 0)),INDEX(MealTbl[PC], MATCH(0, COUNTIF($A$1:A1, MealTbl[PC]), 0))),INDEX(TransTbl[PC], MATCH(0, COUNTIF($A$1:A1, TransTbl[PC]), 0))),INDEX(MiscTbl[PC], MATCH(0, COUNTIF($A$1:A1, MiscTbl[PC]), 0))), "")}
- person Zairja   schedule 09.08.2012=IF([@PC]<>"", SUMIF(LodgTbl[PC],[@PC],LodgTbl[Cost])+ SUMIF(MiscTbl[PC],[@PC],MiscTbl[Cost])+ SUMIF(MealTbl[PC],[@PC],MealTbl[Cost])+ SUMIF(TransTbl[PC],[@PC],TransTbl[Cost]),"")
Итак, формулы массива работают нормально, но нам нужно знать, что вы пытаетесь сделать. - person Zairja   schedule 09.08.2012#NA
, поэтому, возможно, вы можете изменить эти формулы массива, чтобы учесть пустые/лишние строки или ошибки отлова. Мне все еще нужен пример формулы массива, которую вы пытаетесь использовать для таблицы (пример данных), чтобы увидеть, в чем проблема, если это что-то, что мы можем изменить или решить с помощью сводной таблицы. - person Zairja   schedule 10.08.2012