1

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

В качестве примера три столбца на листе 1 являются

id     name     due date

Но в другом случае листа 1 они могут выглядеть как

id     due date     name

Я хочу, чтобы на моем втором листе было указано, что первая строка - «id», вторая - «name» и т.д. Я попытался использовать hlookup, но нашел полезным только заполнение одной ячейки, перетаскивание формулы не слишком хорошо переносилось. для меня. Любые идеи о том, как выполнить это с помощью функций в Excel? Я бы предпочел не использовать макрос без крайней необходимости.

2 ответа2

1
=HLOOKUP(A$1,Sheet1!$A:$C,ROW(),FALSE)

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

0

Я сталкиваюсь с этим часто. Один из простых способов решить эту проблему - вернуть столбцы на первую страницу со смещением. Предполагая, что эти переменные данные на Листе 1, в A1:Q499, затем на Листе 2, я бы поместил это в ячейку B2:

OFFSET(Sheet1!$A$2,0,MATCH(A$1,Sheet1!$A$1:$Q$1,0)-1,499,)

Для большей наглядности вы можете поместить защиту ячеек в Sheet2, A1:Q1, которая допускает только значения из списка, и использовать Sheet1 A1:q1 в качестве этого списка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .