Как я могу получить доступ к значениям в именованном диапазоне, используя динамически сгенерированную ссылку (название месяца) и значения соседнего столбца? - PullRequest
0 голосов
/ 26 мая 2020

У меня есть книга Excel, содержащая 12 именованных диапазонов для каждого месяца года (JanuaryTallies, FebruaryTallies), каждый из которых содержит два столбца, Amount и Category.

What I Я пытаюсь получить сумму всех «Сумм», которые относятся к каждой «Категории» за текущий месяц . Например, учитывая, что сейчас май, я хотел бы получить SUM() всех значений в столбце Amount в именованном диапазоне MayTallies, которые имеют значение «Продовольственные товары» в соседнем Category ячейка.

Я знаю, что могу получить название текущего месяца, используя =TEXT(TODAY(), "mmmm"), и сгенерировать соответствующее имя диапазона, используя =(TEXT(TODAY(), "mmmm") & "Tallies").

Я также знаю, что если бы это были отдельные таблицы, а не именованные диапазоны, я мог бы использовать что-то вроде SUMIFS(MayTallies[Amount], MayTallies[Category], "Groceries"), но это не только не работает с именованными диапазонами, у меня возникают проблемы с созданием именованный диапазон в формуле динамически.

По логике, я ищу возможность сделать что-то вроде:

SUMIFS( (TEXT(TODAY(), "mmmm") & "Tallies")[Amount], (TEXT(TODAY(), "mmmm") & "Tallies")[Category], "Groceries" )

как этого добиться? Были бы полезны даже некоторые мысли как о создании ссылки на именованный диапазон с динамической c конкатенацией, так и о некоторой альтернативе СУММЕСЛИМН, использующей именованные диапазоны. Спасибо.

РЕДАКТИРОВАТЬ: Обновить! Я решил часть проблемы, создав вместо этого таблицы именованных диапазонов. Это позволяет мне использовать SUMIFS(). Теперь мне просто нужно выяснить, как динамически генерировать ссылку.

1 Ответ

1 голос
/ 27 мая 2020

Мне удалось решить эту проблему частично окольным путем. Я преобразовал названные диапазоны в таблицы, чтобы позволить мне использовать SUMIFS(), а затем использовал INDIRECT(), как @BigBen рекомендовал в комментариях. Окончательная формула была следующей:

=SUMIFS((INDIRECT((TEXT(TODAY(),"mmmm")&"Tallies")&"[Amount]")), (INDIRECT((TEXT(TODAY(),"mmmm")&"Tallies")&"[Category]")), "Groceries")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...