Function Problems

How to Filter a Dynamic List for Missing Values in WPS Spreadsheets

Jason MillerJason Miller Nov 13, 2026 868 views

Question details

The user needs to identify which values are missing from a dynamic list generated by combining multiple tables with VSTACK, using a formula that works when the arrays have different lengths.

How to Filter a Dynamic List for Missing Values in WPS Spreadsheets
Product
WPS Spreadsheets
Device & OS
not provided
Scenario
The user is working with a spilled dynamic array created from multiple stacked tables and comparing its unique values against a lookup list.
Observed behavior
The goal is to return the missing items, or the text "All" when no items are missing.
Before you start

Make sure your WPS Office version supports dynamic array functions such as VSTACK, CHOOSECOLS, UNIQUE, FILTER, and XMATCH, and that both the dynamic list and lookup list are visible in your workbook.

Solution 1Recommended

Use LET, UNIQUE, CHOOSECOLS, FILTER, and XMATCH to return missing values

Use this when you have a spilled dynamic list and want a compact formula that compares unique items with a lookup list and returns only missing values or "All".

The formula first extracts the relevant column from the spilled range with CHOOSECOLS, reduces it to unique values with UNIQUE, then uses XMATCH to test each value against the lookup list. FILTER returns the values where XMATCH produces an error, meaning they are missing.

1
Select the output cell

Click an empty cell where the spilled missing-values list should start.

2
Enter the LET formula

Type =LET(arrange,UNIQUE(CHOOSECOLS(B14#,2)),FILTER(arrange,ISERROR(XMATCH(arrange,L6#)),"All")) and replace B14# with your VSTACK spill range, the column index 2 with the column to compare, and L6# with your lookup list spill reference.

3
Confirm the formula

Press Enter. WPS Spreadsheets spills the missing values into the cells below, or returns All when nothing is missing.

Use LET, UNIQUE, CHOOSECOLS, FILTER, and XMATCH to return missing values
Result: The output updates automatically when the source dynamic list or lookup list changes.
WPS Spreadsheets formula solution

Find Missing Values in a Dynamic List with WPS Spreadsheets

Use WPS Spreadsheets dynamic array functions to combine tables with VSTACK and compare unique values with a lookup list using LET, UNIQUE, CHOOSECOLS, FILTER, and XMATCH. The result spills automatically and updates as data changes.

  1. 1. Download and open WPS Office: Download WPS Office Free from wps.com and open your workbook in WPS Spreadsheets.
  2. 2. Prepare the dynamic list: Use =VSTACK(t_arr1,t_arr2,t_arr3) or your existing spilled range to combine the source tables.
  3. 3. Enter the missing values formula: In an empty cell, enter =LET(arrange,UNIQUE(CHOOSECOLS(B14#,2)),FILTER(arrange,ISERROR(XMATCH(arrange,L6#)),"All")) and adjust B14#, the column number, and L6# to match your workbook.
  4. 4. Verify the spilled result: Press Enter and confirm the missing items spill into the adjacent cells, or the cell shows All when no values are missing.
Uses built-in dynamic array formulas to handle arrays of different lengths from VSTACK.Returns missing values automatically and shows "All" when no items are missing.Maintains compatibility with Microsoft Excel XLSX formulas and workbook structure.Free to download and use with familiar spreadsheet functions.
microsoft office alternative - wps office

Frequently Asked Questions

Does this formula work if the lookup list is on another sheet?

Yes. Replace L6# with a reference such as Sheet2!L6# or the specific lookup range. As long as the reference returns a spilled range or a valid range, XMATCH can compare against it.

What does the # symbol mean in B14# and L6#?

The # reference means the entire spilled array range starting at that cell. It lets formulas automatically include all rows returned by VSTACK, FILTER, or another dynamic array formula.

Why does my formula return #SPILL! instead of the missing values?

The spill area likely contains existing data or merged cells. Clear the cells below and to the right of the formula, or move the formula to a location with enough empty space.

How do I show a blank instead of "All" when nothing is missing?

Replace the last argument of FILTER with an empty string: =LET(arrange,UNIQUE(CHOOSECOLS(B14#,2)),FILTER(arrange,ISERROR(XMATCH(arrange,L6#)),"")).

Can I compare values in a different column?

Yes. Change the 2 in CHOOSECOLS(B14#,2) to the column position you want to compare, counted from the spilled range.