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

Прежде чем опубликовать свои формулы, мне нужно объяснить, что я пытаюсь сделать, и это немного сложно (по крайней мере, это единственный способ, которым я могу думать об этом).

**Фон**
Мне нужно создать таблицу бюджета моего подразделения (отсортированного по категориям), в настоящее время, когда я загружаю доходы / расходы из нашей финансовой системы, она просто выкачивает ряды данных (RAW DATA), отсортированные по дате.

  • Цель 1 - Иметь экспортированный RAW DATA автоматически сортировать по категориям , которые затем таблица наглядно показывает , сколько было потрачено в каждой категории ДОСТИГНУТОМ

  • Цель 2 - Иметь экспортированный RAW DATA сортировать по категориям и показывает только конкретные месяцы на основе выбора пользователя Застрял


ПРИМЕР ЭКСПОРТА ДАННЫХ RAW:

ТАБЛИЦА: Данные2015

Date    |  Description of Expense  |  Amount  |  Codes
Jan-15  |  Workshop for employee   |  100000  |  WRKS
Jan-15  |  Workshop for employee   |  100000  |  WRKS
Feb-15  |  Sponsors for employee   |  200000  |  SPON
Feb-15  |  Sponsors for employee   |  100000  |  SPON
Feb-15  |  Workshop for employee   |  300000  |  WRKS
Mar-15  |  Sponsors for employee   |  100000  |  SPON

Если мы используем приведенную выше таблицу в качестве примера RAW DATA (с именем "Data2015"), я получаю при экспорте из наших финансовых систем (которые я преобразовал в таблицу в Excel).
Для достижения цели 1 я создал новую таблицу (названную "Категории") с описанием категорий.

ТАБЛИЦА: Категории

Categories | Codes
Workshop   | WRKS
Sponsors   | SPON

Затем создали другую таблицу (с именем "Бюджет"), как показано ниже:

ТАБЛИЦА: Бюджет

Categories | Codes | Amount
Workshop   | WRKS  | 500000
Sponsors   | SPON  | 400000



Формула, которую я использовал для столбца Сумма в таблице Бюджет:

=SUMIF(Data2015[Codes],[@Codes],Data2015[Amount])

Таким образом, эта формула помогает мне достичь цели 1.

Своей попыткой достичь цели 2 я попробовал следующее.

Создана таблица для сбора месяцев, которые пользователь хочет видеть:

ТАБЛИЦА: Условия

Month  | X | Background
Jan-15 | x | 1/01/2015
Feb-15 | x | 1/02/2015
Mar-15 | x | 1/03/2015

Пользователь помещает "x" в столбец X, если он хотел бы видеть расходы за этот конкретный месяц.
Я использовал эту формулу в столбце Фон:

=IF([@X]="x",TEXT([@Month], "d/mm/yyyy"),"")

Я хочу затем отфильтровать месяцы по категориям, как раньше.
Так похоже на приведенную выше таблицу «Категории», но для определенных месяцев, в зависимости от того, что хочет видеть пользователь.
Мне удалось заставить его работать, но только на 1 строку, а не на всю таблицу.
Я хотел бы, чтобы вы пересмотрели мою формулу и сообщили, что я могу делать то, что неправильно, или, может быть, даже моя логика в достижении цели 2 неверна. Ваше понимание будет очень полезным, и я прошу прощения за очень запутанную ситуацию, я не могу придумать более простой способ объяснить.

Я создал еще одну электронную таблицу, которая будет имитировать лист Data2015 со следующей формулой

=IF(ISNUMBER(SEARCH(Month_View!$D$5, $A5)),Data2015[@Account], IF(ISNUMBER(SEARCH(Month_View!$D$6,$A5)),Data2015[@Account],""))

Month_View! где ТАБЛИЦА: Условия расположены, и $ D $ 5 - 15 января, $ D $ 6 - 15 февраля и так далее.
Эта формула в значительной степени заполняет таблицу, если обнаруживает, что A5 (столбец, в котором указана дата) совпадает со столбцом Date таблицы TABLE: Data2015 (в той же строке, отсюда и символ @).

До этого момента все было хорошо, это работает, пока у меня в ячейке А5 "Янв 15" или "15 февраля". Чтобы заполнить эту ячейку на основе предпочтений пользователя, я использовал следующую формулу (которая не дает желаемого результата):

=IF(Condition[Background]=TEXT(Data2015[@Date],"d/mm/yyyy",Data2015[@Date],"")

Так что для меня эта формула предназначена для следующего:
ЕСЛИ Дата в таблице Data2015 совпадает с одной из дат / значений (в формате «d / mm / yyyy») в столбце условия с именем "Background" (который будет отображаться только в том случае, если пользователь введет "x" в месяц, который они хотят видеть), затем заполните эту ячейку значением из столбца Дата Data2015 .
Если ячейка затем заполнится значениями «Jan-15» или «1/01/2015», тогда заполнится остальная часть таблицы, которую я затем смогу использовать для дальнейшей фильтрации по категориям с помощью формулы, которую я использовал для достижения цели 1.

Но ячейка не заполняется "Jan-15" или "01.01.2015", вместо этого она показывает пустое значение или #VALUE!
Похоже, что ссылка на таблицу Условий тоже с @, что мне не нужно.

Как запутанно, как это ... Если вы можете понять, чего я пытаюсь достичь, любое понимание или обсуждение помогут. Возможно, мой мозг слишком перегружен на этой стадии.

2 ответа2

0

Итак, я решил это!

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

=SUM(SUMIF(Data2015BG1[Category],[@Codes],Data2015GB1[Amount]))

* PS: Извините, если ссылки отличаются от примеров, приведенных в моем вопросе.

Лист Data2015BG1 имеет формулы, которые определяют, есть ли в столбце "Триггер" знак "x" или нет, и представляют необходимые данные на основе выбранного месяца. Формула, которую я использовал:

=IF(ISNUMBER(MATCH(TEXT(Data2015[@Period],"d/mm/yyyy"),Condition2015A[Background],0))=TRUE,Data2015[@Period],"")

Надеюсь, что это имеет смысл, я бы опубликовал фотографии, чтобы показать вам, чего именно мне удалось достичь визуально, потому что по сути то, что я сделал, облегчило использование любого, но у меня пока недостаточно репутации для публикации изображений! Возможно, в следующий раз.

Фильтры сработали бы, но я создаю это для людей, у которых практически нет опыта работы с Excel, поэтому даже попросить их отфильтровать немного (... Я знаю я знаю...)

0

Я бы использовал функциональность таблиц, встроенную в Excel, - никаких формул не требуется. Выберите диапазон и нажмите Ctrl-T, чтобы начать.

Это включает фильтры в верхнем ряду - вы / ваши пользователи могут использовать их для фильтрации дат по годам и / или месяцам.

Для функции суммирования добавьте строку «Итоги» (с помощью инструментов «Инструменты таблицы» / «Дизайн»), и в этой строке вы можете выбрать, какую агрегацию вы хотите для каждого столбца (сумма, количество и т.д.). Это автоматически настроится, чтобы следовать вашей фильтрации.

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