У меня есть именованная таблица ( DATA
) в Excel. Я хочу создать отдельную таблицу ( INFO_TABLE
) в другом месте, где один столбец будет содержать заголовки из DATA
таблицы.
Это то, что мне нужно — таблица 'HEADERS' содержит столбец, заполненный одной формулой (в верхней ячейке этого столбца), пролитой вниз, содержащей все значения заголовков из первой таблицы. Как мне этого добиться?
{=DATA[#Headers]}
дает мнерядсодержащий заголовки, но не заполняется автоматически (слева направо) при использовании CSE (на Mac). Перетаскивание формулы вниз (например, A2:A5
) дает только первое имя столбца из DATA
, как показано на этом снимке экрана:
Я тоже пробовал {=TRANSPOSE(DATA[#Headers]))}
, но это не работает.
(Идеальное решение не содержит VBA или макросов).
решение1
решение2
К сожалению, в таблицу, которая SPILLS, ввести формулу нельзя.
Но вы можете использовать эту формулу в первой ячейке столбца «Заголовки» и перетащить ее вниз настолько, насколько это необходимо:
=INDEX(Data[#Headers],ROWS($1:1))
При перетаскивании вниз ROWS
функция автоматически меняется, возвращая каждый последовательный элемент в #Headers
массиве.
решение3
Таблицы не допускают двух вещей, являющихся вариациями одной и той же идеи:
SPILL
формулы (вероятно, из-за повторения в каждой строке формулы для столбца, что приводит к тому, что каждая такая формула «наступает» на те, что находятся ниже, что приводит к ошибке разлива)Использование массивов старого стиля для решения той же задачи (вероятно, по той же причине)
Вы можете попробовать следующую формулу, которая не включает SPILL
или иным образом включает результаты, которые должны были бы отображаться поверх результатов следующей строки:
=INDEX(Table1[#Headers],1,ROW()-1)
Его результаты представляют собой одну ячейку данных, поэтому РЕЗУЛЬТАТЫ не выливаются на результаты других строк. Он использует функцию таблицы (по сути) вылива ФОРМУЛЫ, чтобы получить заполненный столбец результатов, который вам нужен.
Однако он поддерживает только то количество строк, которое соответствует количеству столбцов в исходной таблице, но это, по-видимому, не будет проблемой.
Либо потяните размеры таблицы вниз, чтобы было достаточно строк для всех столбцов в исходной таблице, затем введите формулу, либо введите формулу, затем потяните размеры таблицы вниз, чтобы подогнать результаты. Никаких дополнительных строк, но и не слишком мало! (Используйте маленький маркер в правом нижнем углу нижней правой ячейки таблицы, чтобы перетащить вверх/вниз (и влево/вправо, если это необходимо), чтобы подогнать ее размер. Перетащите вниз, пока не получите дефектные результаты, затем вверх до последнего хорошего результата. Или заранее выясните, куда перетаскивать. Или просто отредактируйте диапазон таблицы. Множество способов.)