1

Смотрите следующий скриншот:

Это всего лишь пример, мой настоящий рабочий лист более сложен, чем этот, и содержит сотни строк.

Моя текущая формула =HLOOKUP(A7,A1:D4,2,0) , но эта формула не позволяет мне перетащить ее вниз по столбцу, чтобы я мог получить «2-Jan-12» и «3-Jan- 12 "для Тома тоже. Как изменить формулу, чтобы она подходила для перетаскивания?


Обновление: я пробовал =HLOOKUP($A$7,$A$1:$D$4,2,0) , но при перетаскивании теперь я получаю 5 для "2-Jan-12" и "3-Jan-12" также , Я хочу перетащить формулу вниз, чтобы "2-Jan-12" показывал 6, а "3-Jan-12" - 7.

4 ответа4

3

Вам необходимо обновить 2 также, чтобы вы могли использовать эту версию в B8 скопированы

=HLOOKUP(A$7,$A$1:$D$4,ROWS(B$8:B8)+1,0)

Функция ROWS увеличивается при перемещении вниз и изменяет row_index_num в HLOOKUP на 3, 4 и т.д.

Примечание: вышеупомянутое на самом деле не совпадает с датами, оно просто получает значение из следующей строки независимо от даты, для конкретного соответствия дат используйте эту версию

=INDEX(B$2:D$4,MATCH(A8,A$2:A$4,0),MATCH(A$7,B$1:D$1,0))

0

Я не уверен на 100%, что это именно то, что вам нужно, но чтобы отдельные столбцы или строки не изменялись при перетаскивании, добавьте перед ними знак $ :

  • A1 всегда будет обновляться в зависимости от направления перетаскивания ячейки.
  • $A1 будет обновлять строку только при перетаскивании вверх / вниз.
  • A$1 будет обновлять столбец только при перетаскивании влево / вправо.
  • $A$1 никогда не изменится независимо от того, как / куда вы перетащите ячейку.

Для обновленного вопроса:

Я проверил следующую формулу для ячейки B8:

=HLOOKUP($A$7,$B$1:$D$4,MATCH($A8,$A$1:$A$4,0),0)

MATCH определит n-ую строку, как определено датой в первом столбце, которая затем выберет правильную строку из первой таблицы, используя HLOOKUP .

0

Вы на правильном пути с этим. Вот формула, которую я использовал:

ГПР

=HLOOKUP($B$1,$C$1:$E$4,ROW(),FALSE)

HLOOKUP просматривает ваши столбцы и возвращает первое значение $ B $ 1 (используя $, чтобы сохранить абсолютную ссылку). Диапазон поиска также использует абсолютные значения, поэтому он не "ползет" при перетаскивании и заполнении формулы. Функция ROW возвращает значения в той же строке без каких-либо дополнительных вычислений. Я также использовал проверку данных, чтобы заполнить искомое значение в $ B $ 1 одним из ваших существующих искомых значений, предоставляя вам быстрый раскрывающийся список для работы. Сохраняя значение "target" в той же компоновке данных (строки и столбцы), что и исходные данные, все становится проще в управлении (в отличие от вашего примера, где оно смещается на количество строк). Хорошая разметка данных делает практически все проще в Excel.

-1

Вам нужно "исправить" ссылки на массив: =HLOOKUP(A7,$A$1:$D$4,2,0)

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