Как использовать Excel для классификации банковских транзакций по понятным категориям, чтобы увидеть, куда идут мои деньги?

0

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

Банковские операции экспортируются в Excel по дате, описанию, сумме, типу (дебетовый кредит и т. Д.).

Я хочу, чтобы Excel прошел через «Столбец описания» и превратил его во что-то простое и удобочитаемое. Пример Описание столбец содержит «ADP компании xyx 4003». Я хочу, чтобы excel возвратил «payroll», следующая ячейка содержит «# 3k322 Phil Marqu LLC», а я хочу, чтобы он возвратил «Cafe supplies». Я хочу сделать то же самое для депозитов, например, «Депозит WEB PMTS» должен стать «онлайн-продажи»

Таким образом, я могу затем создать таблицу и отсортировать ее по категориям, т. Е. «Товары для кафе» и «онлайн-продажи», чтобы создать простой ежемесячный отчет, показывающий поступающие и выводимые деньги.

Моя идеальная ситуация связана с отдельной справочной таблицей, которую я могу продолжать добавлять к ней, в которой будет 2 столбца. Столбец A будет соответствовать подстроке, а столбец B будет что возвращать. Пример, который я могу поместить в столбец A "# 3k322", потому что я знаю, что он всегда будет отображаться для поставщика принадлежностей для кафе, а столбец B будет "поставками для кафе", и если в будущем мы добавим еще одно кафе, поставляющее поставщика, я могу просто добавить еще одну строку к моей справочной таблице.

Я много читал в Интернете об индексах, матчах и vlookup, но я не профессионал Excel, и мне трудно это понять. Я узнаю все функции, которые вы мне бросаете. Я очень мотивирован, чтобы сделать это.

Спасибо.

Пульс
источник

Ответы:

2

Вы можете создать индексный массив, в котором вы пишете ключевое слово в столбце и соответствующую категорию во втором столбце той же строки:

# 3k322 Кафе поставляет
WEB Онлайн продажи

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

=OFFSET($I$2,SUMPRODUCT(--ISNUMBER(FIND($I$2:$I$4,B2,1))*ROW($I$2:$I$4))-2,1)

Где $ I $ 2: $ I $ 4 - столбец ключевых слов, начинающийся с I2
J2: J4 - столбец соответствующих категорий
B2 - первое описание
Sumproduct найдет ключевое слово, соответствующее описанию в B2, и даст ему номер строки
Смещение найдет категорию, соответствующую найденной строке -2, потому что I2 - это источник, а 1 - для второго столбца.
Вы можете перетащить формулу вниз, оставив $, где я написал ее в формуле, и измените ссылку, чтобы она соответствовала вашему
обновлению данных
в Для добавления категории без изменения формулы используйте следующее

=OFFSET($I$2,SUMPRODUCT(--ISNUMBER(FIND(INDIRECT($L$1),B2,1))*ROW(INDIRECT($L$1)))-2,1)

где L1 - ссылка на столбец ключевых слов, каждый раз, когда вы меняете категории (добавляете или удаляете), пишите в L1 ссылки: $ I $ 2: $ I $ 4
Не забывайте писать ключевое слово в точности так, как оно написано в описании ( поиск в верхнем или нижнем регистре чувствителен к регистру)
INDIRECT прочитает L1 и преобразует его в $ I $ 2: $ I $ 4

введите описание изображения здесь

Ясс
источник
Это выглядит намного проще, чем макрос, предложенный в другом ответе. Отчитаемся с результатами. Спасибо
Пульс
@yass - Ооо! Мне это нравится. Я бы выбрал решение с индексом, но у вас есть ключевые слова, а не вся строка!
JSmart523
Кажется, это работает, но я должен менять функцию каждый раз, когда добавляю новую категорию, есть ли способ автоматизировать это? Также я начинаю задаваться вопросом, есть ли способ сортировки категорий еще дальше, например категория «Расходы» с «Расходами»> «Фиксированные» и «Расходы»> «Переменная». Так что, если я могу сортировать, основываясь только на поиске расходов, но если я хочу, я могу смотреть только на переменные расходы?
Пульс
Для категорий (Расходы, Фиксированные, Переменные ...) вы можете решить все, что вам нужно, без проблем, просто это должно быть написано в описании или любом ключевом слове, которое ему соответствует
yass
Я обновил формулу, чтобы она соответствовала любой новой категории, просто необходима простая модификация
yass
0

Я создал макрос для аналогичного проекта, в основном назначив категорию для записи.

Предупреждение: это неэффективно. не имеет большого значения для личного использования обычно.

Требования:

две таблицы:

один с именами транзакций в первом столбце, пустой столбец 2

один с уникальными именами транзакций в первом столбце и их категории в столбце 2

нет пустых строк

изменить на for i = 1 - Xравное количество обрабатываемых транзакций

измените строку p на количество категорий, которые у вас есть

см .: https://stackoverflow.com/questions/23025031/excel-compare-two-columns-from-one-sheet-copy-entire-row-on-match-to-new-sheet

Sub AddDepartment()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim i As Long, j As Long, p As Long
    Dim isMatch As Boolean

Set ws1 = ActiveWorkbook.Sheets("Sheet1") 'transactions sheet
Set ws2 = ActiveWorkbook.Sheets("Sheet2") 'categorized sheet

'Initial position of first element in sheet2
p = 1

For i = 1 To 100 'last row of transaction sheet necessary
    isMatch = False
    For j = 1 To 100 'last row of category sheet necessary
        If ws1.Cells(i, 1).Value = ws2.Cells(j, 1).Value Then 'if transactions.transactions = category.transactions
            ws2.Cells(j, 2).Copy ws1.Cells(p, 2) 'write category.category to transactions.category
            isMatch = True
            p = p + 1
        End If
    Next j
    If isMatch = False Then
        ws1.Cells(p, 2) = "OTHER" 'set anything that does not match to "other" category
        p = p + 1
    End If
Next i
End Sub
user19702
источник
Спасибо, что нашли время ответить. Как бы я внедрил это в мою ситуацию? Я думаю, что мне нужно немного больше рекомендаций, так как я использовал макрос только один раз, и это было намного проще.
Пульс
создайте новый модуль в окне Visual Basic и вставьте код. Убедитесь, что ваш лист транзакций называется «Лист1», а лист категорий - «Лист2», и запустите макрос. Попробуйте в новой тестовой
книге