How to Return Yearly Results with LAMBDA, MAP, or BYCOL in WPS Spreadsheets
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.

- 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.
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.
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.
Open the workbook in WPS Spreadsheets, click the Formulas tab, and select Name Manager.
Click New, enter a name such as YearlyCalc, and in the Refers to box enter a LAMBDA formula similar to =LAMBDA(y, YourYearlyFormulaUsingY).
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.
Press Enter and verify that WPS Spreadsheets returns one result per year without copying the original long formula.

Optimize repeated FILTER and BYROW operations with SUMIFS or SUMPRODUCT
Use this when the workbook is slow or when the yearly formula repeatedly uses SUM(FILTER(...)), BYROW, or multiple filtering operations.
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. Open the workbook: Launch WPS Spreadsheets and open the workbook that contains the yearly data and existing formula.
- 2. Create the named LAMBDA: Click Formulas > Name Manager > New, name the function, and enter =LAMBDA(y, YourYearlyCalculation).
- 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. Optimize heavy calculations: Replace SUM(FILTER(...)) with SUMIFS or SUMPRODUCT, and combine arrays with HSTACK before using a single BYROW or FILTER operation.

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.




