Function Problems

How to Return Yearly Results with LAMBDA, MAP, or BYCOL in WPS Spreadsheets

Algirdas JasaitisAlgirdas Jasaitis Nov 13, 2026 869 views

Question details

The user wants to calculate yearly results in WPS Spreadsheets by placing a long calculation in a named LAMBDA and applying it to a sequence of years with MAP or BYCOL, without copying the formula across every year.

How to Return Yearly Results with LAMBDA, MAP, or BYCOL in WPS Spreadsheets
Product
WPS Spreadsheets
Device & OS
not provided
Scenario
The user has a long formula that returns a yearly result and wants to evaluate it for a full sequence of years while also improving calculation performance.
Observed behavior
A long formula must currently be copied across each year, causing repeated FILTER and BYROW operations and potential slowdowns.
Before you start

Open your workbook in WPS Spreadsheets and confirm that the LAMBDA, MAP, BYCOL, HSTACK, and other dynamic-array functions are available in your version. Check whether the source ranges used by the yearly formula are one-dimensional or two-dimensional arrays before rewriting the formula.

Solution 1Recommended

Create a named LAMBDA and apply it with MAP or BYCOL

Use this when you have one long yearly calculation and want to reuse it for a whole sequence of years instead of copying the formula into every year cell.

A named LAMBDA stores the yearly logic once. MAP evaluates it over a one-dimensional list such as a vertical year range, while BYCOL is useful when the years are arranged in columns.

This approach keeps the workbook easier to maintain because the calculation for one year is defined in a single location.

1
Open Name Manager

Open the workbook in WPS Spreadsheets, click the Formulas tab, and select Name Manager.

2
Define the named LAMBDA

Click New, enter a name such as YearlyCalc, and in the Refers to box enter a LAMBDA formula similar to =LAMBDA(y, YourYearlyFormulaUsingY).

3
Apply it to the year list

In a cell, enter =MAP(YearList, YearlyCalc) to evaluate the LAMBDA for every year in YearList, or use =BYCOL(YearRange, YearlyCalc) when years are spread across columns.

4
Confirm the spill results

Press Enter and verify that WPS Spreadsheets returns one result per year without copying the original long formula.

Create a named LAMBDA and apply it with MAP or BYCOL
Reusable yearly calculation: You can now edit YearlyCalc once and every yearly result updates.
WPS Spreadsheets solution

Calculate Yearly Results with Named LAMBDA, MAP, or BYCOL in WPS Spreadsheets

WPS Spreadsheets lets you store a yearly calculation in a named LAMBDA, apply it with MAP or BYCOL, and optimize SUM(FILTER(...)) by using SUMIFS or SUMPRODUCT, so you can avoid copying long formulas across every year.

  1. 1. Open the workbook: Launch WPS Spreadsheets and open the workbook that contains the yearly data and existing formula.
  2. 2. Create the named LAMBDA: Click Formulas > Name Manager > New, name the function, and enter =LAMBDA(y, YourYearlyCalculation).
  3. 3. Apply to all years: In an empty cell enter =MAP(YearList, YearlyCalc) for a vertical year list or =BYCOL(YearRange, YearlyCalc) for a column-based layout.
  4. 4. Optimize heavy calculations: Replace SUM(FILTER(...)) with SUMIFS or SUMPRODUCT, and combine arrays with HSTACK before using a single BYROW or FILTER operation.
Create a named LAMBDA once and reuse it across a full year list with MAP or BYCOLReduce repeated FILTER and BYROW operations with SUMIFS or SUMPRODUCTFull compatibility with Excel .xlsx workbooks, formulas, and common dynamic-array functionsFree, lightweight, and familiar spreadsheet interface for Microsoft Excel users
microsoft office alternative - wps office

Frequently Asked Questions

Does WPS Spreadsheets support LAMBDA, MAP, and BYCOL?

Yes. Update to the latest WPS Office version, then create a named LAMBDA from Formulas > Name Manager and call it with MAP or BYCOL in the worksheet.

How do I call one LAMBDA for a list of years?

Define a name such as YearlyCalc as =LAMBDA(y, YourFormula), then enter =MAP(YearList, YearlyCalc). If years are in columns, use =BYCOL(YearRange, YearlyCalc).

Why is my yearly formula slow when I use SUM(FILTER(...)) and BYROW?

Each copied formula can repeat filtering and row operations. Replacing SUM(FILTER(...)) with SUMIFS or SUMPRODUCT and combining arrays before filtering often reduces calculation load.

What should I check before replacing SUM(FILTER(...))?

Check whether the source arrays are one- or two-dimensional, and confirm that the year column or range used in the condition matches the value range. This prevents orientation errors when using HSTACK, TAKE, and COLUMNS.