How to Make Multiple Conditions Return an Array in Excel 365
Question details
The user needs to evaluate multiple logical conditions across a range to return an array of TRUE/FALSE values, but the standard AND function fails to produce an array.

- Product
- Excel 365
- Device & OS
- not provided
- Scenario
- Writing dynamic array formulas (like SCAN or FILTER) that require evaluating multiple logical conditions row by row.
- Observed behavior
- The AND function aggregates the results into a single TRUE or FALSE value instead of returning an array of individual TRUE/FALSE values for each element.
Ensure you are using a version of Excel or WPS Spreadsheet that supports dynamic array formulas, and clearly identify the separate logical criteria you want to evaluate.
Use Boolean Math (Multiplication) Instead of AND
Replace the AND function with multiplied logical conditions to force the spreadsheet to evaluate the criteria element-by-element and return a dynamic array.
When working with dynamic arrays, the AND function aggregates all values and returns a single Boolean result. To get an array of results for each row or element, you must use Boolean math.
In Boolean logic, TRUE evaluates to 1 and FALSE evaluates to 0. Multiplying two conditions works exactly like an AND operator because 1 * 1 = 1 (TRUE), while any multiplication by 0 results in 0 (FALSE).
Enclose your first logical test in parentheses. For example, if checking if values in column A are greater than 50, type: `(A2:A10>50)`.
Use the asterisk symbol `*` to multiply, and add your second logical test in parentheses: `*(B2:B10<100)`.
Wrap the multiplied conditions inside an IF formula or a dynamic array function. For example: `=IF((A2:A10>50)*(B2:B10<100), "Pass", "Fail")`.
Press Enter. The formula will now correctly evaluate both conditions for each row and spill the array of results down the column automatically.

Use WPS Spreadsheet for Advanced Array Formulas
WPS Spreadsheet fully supports dynamic arrays and Boolean math logic, allowing you to process large datasets with multiple conditions effortlessly without needing complex workarounds.
- 1. Open WPS Spreadsheet: Launch WPS Office and open your dataset workbook in WPS Spreadsheet.
- 2. Enter your Boolean formula: Select the target cell and type your array formula using the multiplication method, such as `=IF((A1:A10="Yes")*(B1:B10>10), 1, 0)`.
- 3. Spill the array: Press Enter to instantly calculate and spill the TRUE/FALSE array results across your adjacent cells.

Frequently Asked Questions
Why does the AND function return only a single value in array formulas?
The AND function is designed to aggregate all logical values it receives. If it checks a range of 10 cells, it will evaluate if ALL 10 are TRUE and return a single TRUE or FALSE, instead of evaluating each cell individually.
How do I write an OR condition for an array formula?
To create an OR condition that returns an array, use the addition operator (+) between your logical tests, such as `(A1:A5="Red")+(B1:B5="Blue")`. If either condition is true, the mathematical result is greater than 0, which the spreadsheet interprets as TRUE.
Do I need to press Ctrl+Shift+Enter for this to work?
In modern versions of Excel (like Excel 365) and WPS Office that support dynamic arrays, you only need to press Enter. The results will automatically "spill" into the adjacent cells. For older versions, Ctrl+Shift+Enter is still required to create an array formula.
Can I chain more than two conditions using multiplication?
Yes, you can chain as many conditions as you need by continuing to multiply them. For example: `(condition1)*(condition2)*(condition3)`. All conditions must evaluate to TRUE (1) for the specific row's final evaluation to result in TRUE.




