logo
search
Function Problems

How to Use Dynamic Array Functions FILTER and CHOOSECOLS in Excel for Mac

Elise WilliamsElise Williams Oct 8, 2026 868 views

Question details

The user needs to combine the FILTER and CHOOSECOLS functions using structured table references, lock criteria cells, and properly format and summarize the resulting spilled dynamic array.

How to Combine FILTER and CHOOSECOLS Dynamic Array Functions in Excel for Mac
Product
Microsoft Excel
Device & OS
Mac
Scenario
Extracting specific columns from a filtered dataset and managing the resulting dynamic array's layout and calculations without causing errors.
Observed behavior
The user is trying to extract columns accurately using CHOOSECOLS, apply absolute references correctly, format the spilled range, and place total calculations (like SUMIF) safely without triggering a #SPILL! error.
Before you start

Ensure you are using Microsoft 365 or Excel for Mac 2021 (or later), as earlier versions do not support dynamic array functions like FILTER and CHOOSECOLS. Verify that your source data is formatted as an official Excel Table.

Solution 1Recommended

Combine FILTER and CHOOSECOLS for Column Selection

Use a nested formula to filter a table and return only specific columns, utilizing absolute references to ensure stability when copying.

The FILTER function returns an array of data that meets specific criteria, while CHOOSECOLS lets you pick exactly which columns of that array to display. Combining them is a highly effective method for custom data extraction in modern Excel versions.

1
Prepare your table and criteria

Select your source data and format it as a Table (e.g., 'Table1'). Designate a specific cell for your filter criteria, such as cell K3.

2
Enter the nested dynamic array formula

In an empty destination cell, type the formula: =CHOOSECOLS(FILTER(Table1,Table1[Filter]=$K$3,"Wrong"),3,4,5,6,7). This formula filters 'Table1' where the 'Filter' column matches cell K3, and then outputs only columns 3, 4, 5, 6, and 7 from the result.

3
Lock the criteria reference

Ensure you use absolute references (like $K$3 instead of K3) for your criteria cell. This prevents the reference from shifting if you move or copy the formula to another location.

Combine FILTER and CHOOSECOLS for Column Selection
Spill Behavior Check: Because this is a dynamic array function, the results will automatically 'spill' down and across adjacent cells. Ensure the entire destination area is completely empty to avoid a #SPILL! error.
Free Microsoft Office alternative

Experience Seamless Dynamic Arrays with WPS Office for Mac

Having trouble with dynamic arrays, #SPILL! errors, or version limitations in Microsoft Excel for Mac? WPS Office provides a lightweight, highly compatible alternative for macOS. It fully supports advanced functions and dynamic array handling, but with a faster, more user-friendly interface.

Fully compatible with Microsoft Excel (.xlsx) formulas, including dynamic array functions like FILTER.Lightweight application that runs exceptionally smoothly on macOS without heavy resource usage.Free to use with a familiar tabbed interface, ensuring zero learning curve and seamless migration.Easily manage structured tables and complex multi-sheet calculations without performance lag.
microsoft office alternative - wps office

Frequently Asked Questions

Why am I getting a #SPILL! error when using the FILTER function?

A #SPILL! error occurs when the dynamic array function requires more adjacent blank cells to display its results, but one or more of those destination cells already contain text, spaces, or formatting. You must clear the blocking cells completely to allow the formula to spill.

Can I use CHOOSECOLS and FILTER on older versions of Excel for Mac?

No, CHOOSECOLS and FILTER are dynamic array functions available only in Microsoft 365 subscriptions and Excel 2021 or later. Older standalone versions do not support these functions and will return a #NAME? error.

How do I retain source formatting when using the FILTER function?

Dynamic array functions only extract raw data and do not copy cell formatting from the source table. You must manually apply the desired formatting (such as currency, dates, or cell borders) directly to the destination range where the array spills.