Using VLOOKUP, EOMONTH, IFS & More

Raise your hand if you love spreadsheets! :woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3::woman_raising_hand:t3:

I have a few spreadsheet formulas for you to try out. Which of these is your favorite?

This image is a cheat sheet for some common, powerful functions. While theyโ€™re useful in any spreadsheet, they truly shine when combined with the live, automated financial data Tiller pipes into your Foundation Template (or your custom sheets) every day.

IFS(condition1, value_if_true1, [condition2, value_if_true2], โ€ฆ)

The IFS function checks multiple conditions in order and returns a value corresponding to the first condition that evaluates to TRUE. This avoids complex nested IF statements.

Tiller Ideas: Use it on your Monthly Budget sheet to create multi-level status indicators for spending categories (e.g., โ€œOver Budgetโ€, โ€œNearing Limitโ€, โ€œOn Trackโ€) based on comparing actual spending (ActualSpending) to your budgeted amount (BudgetAmount).

Example:
=IFS(ActualSpending > BudgetAmount, โ€œ:police_car_light: Over Budgetโ€, ActualSpending > BudgetAmount*0.9, โ€œ:warning: Nearing Limitโ€, TRUE, โ€œOn Trackโ€)

AND(condition1, [condition2], โ€ฆ)

The AND function checks if ALL of its arguments (conditions) are TRUE. It returns TRUE if every condition is met, and FALSE otherwise. Itโ€™s often used inside an IF function.

Tiller Ideas: Use it on your Transactions sheet to identify transactions meeting multiple specific criteria simultaneously, perhaps for filtering or conditional formatting.

Example: To flag large travel expenses in a helper column:
=IF(AND(Category=โ€œTravelโ€, Amount>1000), โ€œReview Big Tripโ€, โ€œโ€)
(Assumes Category and Amount are columns on your Transactions sheet)

OR(condition1, [condition2], โ€ฆ)

The OR function checks if ANY of its arguments (conditions) are TRUE. It returns TRUE if at least one condition is met, and FALSE only if all conditions are FALSE. Often used with IF.

Tiller Ideas: Use it on your Transactions sheet to group related categories under a broader heading or to flag transactions that meet one of several criteria.

Example: To create a โ€œVehicle Expenseโ€ label if the category is either Gas or Car Maintenance:
=IF(OR(Category=โ€œGasโ€, Category=โ€œCar Maintenanceโ€), โ€œVehicle Expenseโ€, โ€œโ€)

TODAY()

The TODAY function simply returns the current date. It updates automatically each day the spreadsheet is opened or recalculated.

Tiller Ideas: Place TODAY() in a cell on a summary dashboard or budget sheet to always see the current date. Use it in calculations, like finding the number of days left in the current month: =EOMONTH(TODAY(),0)-TODAY().

NOW()

The NOW function returns the current date AND time. Like TODAY, it updates frequently.

Tiller Ideas: Useful if you need to timestamp when you last performed a manual action within your sheet, such as reviewing budget numbers or reconciling accounts.

WARNING: This is dynamic, so any edits to the spreadsheet, update the time. Either use paste special (Control Shift V to paste the value) [Command Shift V on a Mac]

or use they keyboard shortcut on a Mac [Command Option Shift ;]

DATE(year, month, day)

The DATE function constructs a valid spreadsheet date value from individual year, month, and day numbers.

Tiller Ideas: Helpful if you need to create specific dates for reporting periods or benchmark comparisons that arenโ€™t already in your transaction data. Example: =DATE(2025, 5, 2) gives you May 2nd, 2025 (use the current year!).

YEAR(date)

The YEAR function extracts the year number from a valid date value.

Tiller Ideas: Add a โ€˜Yearโ€™ helper column to your Transactions sheet using =YEAR(D2) (assuming your transaction dates are in column D). This makes it easy to filter, summarize, or create pivot tables showing annual spending trends.

MONTH(date)

The MONTH function extracts the month number (1 for January, 2 for February, etc.) from a valid date value.

Tiller Ideas: Essential for monthly tracking! Add a โ€˜Monthโ€™ helper column to your Transactions sheet using =MONTH(D2). Use this column to group data for monthly reports or budget summaries.

DAY(date)

The DAY function extracts the day number (1-31) from a valid date value.

Tiller Ideas: Use =DAY(D2) on your Transactions sheet if you need to analyze spending based on the day of the month (e.g., are expenses higher right after payday?).

EOMONTH(start_date, months)

The EOMONTH function returns the date of the last day of the month, a specified number of months away from the start_date. Using 0 for months gives the last day of the current month relative to the start date.

Tiller Ideas: Crucial for accurately defining monthly reporting periods when filtering or summing data on your Transactions sheet. You can find the start and end of the month for any transaction date.
Example: For a date in Transactions!D2:
Start of Month: =EOMONTH(D2, -1) + 1
End of Month: =EOMONTH(D2, 0)

VLOOKUP(search_key, range, index, [is_sorted])

The VLOOKUP function searches for a search_key in the first column of a specified range and returns the value from the same row in the column specified by index. Using FALSE for the optional is_sorted argument requires an exact match, which is usually best for financial lookups.

Tiller Ideas: A classic use in the Tiller Foundation Template is on the Monthly Budget sheet. Look up the category name (your search_key) within the range containing your categories and budget amounts on the Categories sheet (your range, e.g., Categories!A:C), and return the budget amount from the appropriate column (index, e.g., 3).

Example:
=VLOOKUP(CategoryName, Categories!A:C, 3, FALSE)
(Finds CategoryName, looks in range A:C on Categories sheet, returns value from 3rd column)
(Note: Newer functions like XLOOKUP offer more flexibility if available in your spreadsheet version.)

5 Likes

Nooo. Not vlookup. xlookup is generally much better - more versatile, more functional, and faster.

If my data is structured where I am looking up the left valueโ€ฆ Iโ€™m still team VLOOKUP. :slight_smile:

-Alice
Tiller Evangelist

Bluesky, Instagram, Facebook, LinkedIn

Noting that the Tiller officially supported spreadsheet products all include XLOOKUP and most newer functions. One-time purchase Excel products are not supported (which is where backwards compatibility VLOOKUP might make sense).

Of those supported, Excel Online (browser version) is the least capable and it doesnโ€™t have some charting type functions that some Tiller templates use (since theyโ€™ve been designed using MS365), but it does have functions like XLOOKUP, LAMBDA, MAP, REGEXTEST.

1 Like