Excel Guide

How to Categorize Bank Transactions in Excel After Converting (Complete System)

๐Ÿ“… June 9, 2026 โฑ 10 min read ๐Ÿ“Š Excel & Bookkeeping

Once you've converted your bank statement PDF to CSV or Excel, the next step is categorization โ€” assigning each transaction to a meaningful category like "Office Supplies," "Payroll," "Meals," or "Revenue." Without categorization, a spreadsheet of transactions is just data. With it, you have a cash flow picture, a tax deduction ledger, and a budget tracking system.

This guide builds a complete categorization system in Excel โ€” from the initial workbook setup to a VLOOKUP formula that automatically categorizes known merchants, to a pivot table that shows spending by category instantly.

๐Ÿ’ก
Starting point: This guide assumes you already have your bank statement as a CSV or Excel file. If you're still working from a PDF, convert it free at bankstatementtocsvfile.com first โ€” the output CSV has exactly the column structure this guide uses (Date, Description, Amount).

Step 1: Set Up Your Workbook Structure

A well-organized workbook makes categorization and reporting significantly easier. Use this two-sheet structure:

After importing your CSV, add "Category" as a header in cell D1. Leave the column blank for now โ€” you'll populate it with a formula in Step 4.

Step 2: Build Your Category List

On Sheet 2 ("Categories"), build two tables: a keyword table for auto-matching and a master category list for your dropdown.

Keyword Table (Columns A and B)

Column A contains keywords that appear in bank transaction descriptions. Column B contains the category those keywords should map to. Examples:

Column A: KeywordColumn B: Category
AMAZONOffice Supplies
AMZNOffice Supplies
PAYROLLRevenue - Payroll
DIRECT DEPRevenue - Payroll
STRIPERevenue - Sales
PAYPALRevenue - Sales
STARBUCKSMeals & Entertainment
UBER EATSMeals & Entertainment
AT&TUtilities - Phone
VERIZONUtilities - Phone
GOOGLE ADSMarketing
FACEBOOKMarketing
GUSTOPayroll Expense
ADPPayroll Expense
INTUITSoftware - Accounting
DROPBOXSoftware - Storage
USPSShipping
FED EXShipping
RENTRent
NSF FEEBank Fees

Add as many keyword rows as you need. The more keywords you define, the higher the auto-categorization rate. Name this range: select all data in columns A and B, then use the Name Box (top-left) to name it KeywordTable.

Before writing the formula, set up dropdown validation on column D so that manually entered or formula-assigned categories are always consistent spelling โ€” inconsistent names ("Office supplies" vs "Office Supplies") break pivot table totals.

  1. In Sheet 2, create your master category list in column D, starting at D1. List every category name you want to use โ€” one per row.
  2. Name this list. Select all category names in column D, then type CategoryList in the Name Box and press Enter.
  3. Go back to Sheet 1. Select the entire Category column (D2:D5000 or however far your data goes).
  4. Go to Data โ†’ Data Validation. Under Allow, choose "List." In the Source field, enter =CategoryList. Click OK.

Now every cell in column D has a dropdown. Manually entered categories will be validated against your list, preventing typos.

Step 4: Auto-Categorize Transactions with SEARCH + INDEX/MATCH

The key formula uses SEARCH() (partial text match) rather than VLOOKUP() with exact match, because bank transaction descriptions contain merchant names alongside reference codes and timestamps. You need to find "AMAZON" within "AMAZON.COM*AB12345 SEATTLE WA."

The Formula

Cell D2 โ€” paste this as an array formula (Ctrl+Shift+Enter)
=IFERROR(
  INDEX(Categories!$B$2:$B$100,
    MATCH(TRUE,
      ISNUMBER(SEARCH(Categories!$A$2:$A$100, B2)),
      0)),
  "Uncategorized")

How it works: SEARCH(Categories!$A:$A, B2) checks whether each keyword in your keyword table appears anywhere in the transaction description. ISNUMBER() converts the result to TRUE/FALSE. MATCH(TRUE, ..., 0) finds the first TRUE (first matching keyword). INDEX() returns the corresponding category from column B. IFERROR() returns "Uncategorized" if no keyword matches.

โš ๏ธ
Array formula requirement: Press Ctrl+Shift+Enter (not just Enter) to confirm this formula in Excel 2019 and earlier. In Excel 365 / Excel 2021, it works as a regular formula โ€” just press Enter.

Simpler Alternative: IF + SEARCH Chain

If you have fewer than 10 keywords, a nested IF approach is easier to read:

Simple version โ€” works as regular formula
=IF(ISNUMBER(SEARCH("PAYROLL",B2)), "Revenue - Payroll",
IF(ISNUMBER(SEARCH("AMAZON",B2)), "Office Supplies",
IF(ISNUMBER(SEARCH("STRIPE",B2)), "Revenue - Sales",
"Uncategorized")))

Step 5: Highlight Uncategorized Transactions

Use conditional formatting to make uncategorized rows visually obvious so you don't miss them:

  1. Select your entire data range (A2 through E1000).
  2. Go to Home โ†’ Conditional Formatting โ†’ New Rule.
  3. Choose "Use a formula to determine which cells to format."
  4. Enter the formula: =$D2="Uncategorized" โ€” note the $ before D but not before 2, so it applies the condition per row.
  5. Set the format to a light orange or yellow fill. Click OK. Uncategorized rows now stand out immediately.

Step 6: Build a Category Summary Pivot Table

Once your transactions are categorized, a pivot table turns the data into an actionable summary in seconds:

  1. Click anywhere in your transaction data.
  2. Go to Insert โ†’ PivotTable. Choose "New Worksheet."
  3. In the PivotTable Fields panel: Drag "Category" to Rows. Drag "Amount" to Values (it will default to Sum). Drag "Date" to Filters (optional โ€” lets you filter by month).
  4. Format the Amount column as Currency: right-click on any value in the pivot > Number Format > Currency.
  5. Sort by sum descending to see your largest expense categories at the top: right-click on any amount > Sort > Largest to Smallest.

You now have a live spending-by-category summary. When you update your transaction data, right-click the pivot table and choose "Refresh" to update the totals.

IRS Business Expense Categories to Use

If you're categorizing for tax purposes, align your categories with IRS Schedule C line items so your accountant can use your spreadsheet directly:

๐Ÿ’ฐ Income Categories

  • Revenue - Sales
  • Revenue - Payroll
  • Revenue - Refund Received
  • Revenue - Interest Income
  • Owner Contribution
  • Loan Proceeds (non-taxable)

๐Ÿ“‹ Deductible Expenses

  • Advertising & Marketing
  • Office Supplies
  • Software & Subscriptions
  • Meals & Entertainment (50%)
  • Travel
  • Professional Services
  • Payroll Expense
  • Rent
  • Utilities
  • Insurance
  • Bank Fees
  • Shipping & Postage

๐Ÿšซ Non-Deductible / Pass-Through

  • Owner Draw
  • Loan Repayment - Principal
  • Personal - Non-Deductible
  • Inter-Account Transfer
  • Tax Payment

โ“ Needs Review

  • Uncategorized
  • Unknown Vendor
  • Large Transaction - Review
  • Possible Duplicate

Get Your Bank Statement Into Excel First

Convert your PDF bank statement to a clean CSV or Excel file โ€” then use this categorization system. Free, no sign-up, done in 30 seconds.

Convert to Excel Free โ†’

Frequently Asked Questions

What are the standard categories for business bank transactions?

IRS Schedule C business categories: Advertising, Office Expenses, Supplies, Legal & Professional Services, Payroll, Rent or Lease, Repairs & Maintenance, Travel, Meals (50% deductible), Utilities, Wages, Insurance, Interest, Taxes & Licenses, Contract Labor, Employee Benefits. Add Revenue and Owner Draw to complete your chart of accounts.

How do I auto-categorize bank transactions in Excel?

Build a keyword table (merchant name โ†’ category) on a separate sheet. Then use this array formula in your Category column: =IFERROR(INDEX(Categories!$B:$B,MATCH(TRUE,ISNUMBER(SEARCH(Categories!$A:$A,B2)),0)),"Uncategorized"). Press Ctrl+Shift+Enter to confirm. This searches each transaction description for keywords and returns the matching category.

Why does VLOOKUP not work well for bank transaction descriptions?

VLOOKUP requires an exact match. Bank transaction descriptions are never exact โ€” they contain the merchant name plus reference codes, location codes, and timestamps. "AMAZON.COM*AB12345" will never exactly match "AMAZON." The SEARCH() function finds substrings within text, so it correctly matches "AMAZON" inside any Amazon transaction description.

How do I export categorized transactions to QuickBooks?

Save your Excel file as CSV. Import into QuickBooks Online via Banking > Upload from file. Note: QuickBooks CSV import doesn't accept a Category column โ€” categories are assigned inside QuickBooks after import using Bank Rules. The better workflow is: set up Bank Rules in QuickBooks with the same keywords you use in your Excel keyword table โ€” they'll auto-categorize on import.

Should I separate personal and business transactions before categorizing?

Yes โ€” always. If you have a dedicated business bank account, all transactions should be business-related (any personal expenses paid through the business account should be categorized as "Owner Draw"). If you use a personal account for business, add a column to flag each transaction as "Business" or "Personal" before categorizing, and only include business transactions in your tax analysis.


Related Guides

How to Convert a PDF Bank Statement to Excel โ€” Free, Fast
Excel Guide
How to Reconcile a Bank Statement in Excel: Step-by-Step
QuickBooks
How to Import a Bank Statement CSV into QuickBooks Online