Excel 2016: формула для получения данных из другой электронной таблицы

331
GregM

помощь с этой сложной формулой очень ценится.

 ='[DATA.xlsm]2018'!$G$6 *this formula works, but . . . 

Электронная таблица с формулой Электронная таблица с данными

Мне нужна формула, чтобы определить, где найти данные. Смотрите изображение. Формула в столбце VALUE B. Информация QTR в столбце A указывает, где искать данные на изображении.

Четырьмя совпадающими полями QTR являются D1, I1, N1, S1. Тогда значение OFFSET равно 3 столбцам (например, D1 = 1Q18, столбец G - столбец данных, столбец L для 2Q18 и т. Д.), А строка OFFSET равна 5 (имеется в виду строка 6).

В строке 10 мне нужна формула в B10, чтобы прочитать 1Q18 в A10 и, чтобы перейти к «[DATA.xlsx] 2018» и найти, что «1Q18» - это D1, а затем использовать Смещение (5,3), чтобы найти значение "1,80"

Когда мы дойдем до строки 14 на листе FORMULA, он увидит «1Q19» в A14 и, чтобы перейти к «[DATA.xlsx] 2019». Каждый год имеет новую вкладку, названную четырехзначным годом.

Я надеюсь, что я был достаточно ясен, и я, безусловно, надеюсь, что PNG изображения видимы. Заранее спасибо за любую помощь.

2
Трудно следовать тому, что ты хочешь. У меня такое чувство, что вам может понадобиться использовать «НЕПРЯМОЙ». cybernetic.nomad 5 лет назад 0
См. Этот https://superuser.com/questions/1351540. Копирует / читает данные из одного в другой. Что вам нужно сделать, это добавить имя Wbook с листа. Rajesh S 5 лет назад 0

1 ответ на вопрос

1
Ian

Ты довольно близко, тебе нужно OFFSET. Но вам также нужно, чтобы MATCHквартал вы смотрели вверх. Я разделил формулу на 2 ячейки, чтобы вы могли видеть ее по частям, но как только вы ее поняли, вы легко можете объединить их.

Я лечил фальшивый набор данных (я использовал таблицу с именем «Данные» в той же книге): Excel data.

Тогда я назвал другой лист "Отчет". В отчете вы сначала хотите MATCHуказать квартал, в котором вы ищите позицию в вашем листе данных. MATCHимеет определение:

MATCH (lookup_value, lookup_array, [match_type])

Таким образом, мы устанавливаем на lookup_valueквартал, который вы ищете, lookup_arrayна набор данных и на match_type0 (точное совпадение). Обратите внимание, что это работает только для одного массива (строки или столбца), вы не можете предоставить 2D сетку ячеек. Это даст нам относительную позицию в массиве, 1 проиндексирован (первый элемент возвращает 1, а не 0).

Затем мы используем эту информацию с OFFSET. Определение для смещения это:

OFFSET (ссылка, строки, столбцы, [высота], [ширина])

В этом случае ссылка - это отдельная ячейка. Вам не нужно предоставлять массив или сетку ячеек. Так что в моем случае я прохожу Data!$B$1. Для rowsнас нужно сместить 2 строки вниз. Количество столбцов по хитрее. Поскольку MATCHфункция указана в качестве ссылочной позиции, которая начинается с 1, мы уже переходим ко второму месяцу. Так что для colsнас нужны результаты MATCH плюс 2 .

Итак, наконец мы получаем отчетный лист, который выглядит примерно так: Excel report

Примечание в этом поле для комментариев говорит не говорить спасибо здесь. Пожалуйста, скажите мне, где / как я могу выразить свою признательность всем, чтобы увидеть И как я должен сделать так, чтобы этот ответ решил проблему с помощью подробного подробного объяснения того, как вы это сделали? GregM 5 лет назад 0
Рад слышать, что это помогло @GregM. В разделе справки подробно описано, что делать, когда [кто-то отвечает] (https://stackoverflow.com/help/someone-answers) на ваш вопрос. Ian 5 лет назад 0

Похожие вопросы