Я пытаюсь вычислить формулу на основе столбца данных, и я хочу выбрать столбец на основе числа в соседней ячейке. Вот упрощенный пример того, что я хочу сделать:

Скажем, я пытался найти сумму каждого столбца на основе номера группы в столбце А. Какую формулу я бы набрал в ячейке B2, чтобы указать, что я хочу посмотреть на столбец, указанный в ячейке A2, без жесткого кодирования, которое я хочу взять СУММУ Д2: Д11? Я уверен, что есть простое решение для этого, но я не могу понять это.

1 ответ1

1

Функции для использования

Позвольте мне показать вам это с помощью двух функций. Мы будем использовать:

=MATCH(lookup_value, lookup_array, [match type])

а также

=OFFSET(reference, rows, columns, [height], [width])

Как их использовать

Итак, я настроил рабочий лист, как ваш, чтобы начать:

Сначала я хочу найти, какой столбец использовать. В моем случае я использовал свой столбец "помощь". В эту камеру я положил:

=MATCH(A3,D1:H1,0)

Это просто возвращает индекс столбца по отношению к столбцу D.

Оттуда вы можете использовать функцию OFFSET, чтобы переместить выделение на столько строк / столбцов на основе ввода. В нашем случае мы перемещаемся только на столько столбцов, поэтому будем использовать следующее:

=SUM(OFFSET(D2:D6,0,B2-2))

Обратите внимание, что для OFFSET вторым параметром является 0, потому что мы вообще не перемещаем наш выбор по строкам. Третий параметр - B2-2, который ссылается на наш вспомогательный столбец. D2:D6 - это исходное выделение, на которое оно сдвигается в зависимости от того, что находится в параметре столбцов или строк.

Объединение формул

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

=SUM(OFFSET(D2:D6,0,MATCH(A3,D1:H1,0)-2))

Мне всегда полезно разбивать длинные формулы на куски, чтобы понять, как они работают.

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