PERMUT in WPS Spreadsheet: Count Ordered Selections Without Repetition
Count ordered WPS selections, enumerate a small fixture, compare combinations and repeated choices, and apply the dated truncation and argument rules.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: PERMUT counts ordered selections from distinct objects without choosing the same object twice in a selection. Choosing two ordered positions from four objects gives 12, because AB and BA are different outcomes.
Availability and version history
- Introduced: documented by 2019-06-17 in the official WPS lesson; the first release is not established.
- Availability: the current dedicated Windows introduction documents WPS on Windows. The historical lesson’s edition field is blank.
- Scope: exact current supported builds and other WPS clients remain unverified. Historical naming does not establish retirement.
- Checked: October 14, 2026. Documentation and independent calculations; no native WPS test was performed.
Syntax and source boundaries
=PERMUT(number, number_chosen)
Both arguments are required. The historical lesson describes truncating noninteger arguments, #VALUE! for nonnumeric arguments, and #NUM! when number is at most zero, number_chosen is negative, or the selected count exceeds the available count.
The formal description calls both counts positive while its error condition permits a zero selected count. The exact native zero-selection result and the order of truncation versus boundary checking remain unverified here. Worked selections use positive counts within range.
The 2019 lesson’s edition field is blank. A separately retrieved current WPS Windows introduction identifies PERMUT as a built-in Windows spreadsheet function, without a numeric minimum build. No Windows edition is retroactively assigned to the historical metadata.
Example 1: enumerate all ordered pairs
For objects A, B, C and D:
=PERMUT(4,2)
Expected result: 12. The complete outcome list is:
| First object | Possible second object | Ordered pairs |
|---|---|---|
| A | B, C, D | AB, AC, AD |
| B | A, C, D | BA, BC, BD |
| C | A, B, D | CA, CB, CD |
| D | A, B, C | DA, DB, DC |
There are four choices for the first position and three remaining choices for the second: 4*3 = 12. AA is absent because repetition is not part of this selection model.
This reproduces the historical lesson’s four-person, two-position example with a complete explicit enumeration.
Example 2: assign three distinct roles
Suppose six distinct people can fill three different roles, with one person per role and nobody filling two roles:
=PERMUT(6,3)
Expected result: 654 = 120. The first role has six candidates, the second five remaining candidates, and the third four.
The role labels make order meaningful. Selecting an unordered three-person team answers a different question: COMBIN(6,3) has expected result 20. Each team can fill the three distinct roles in 321 = 6 orders, and 20*6 = 120.
Advanced example: do not confuse no-repetition and repetition models
If the same six symbols may be reused independently in each of three positions, the independent count is 6^3 = 216. That is not the PERMUT(6,3) model, which gives 120.
For a two-position example with four symbols, repetition permits 4^2 = 16 outcomes. The additional outcomes are AA, BB, CC and DD, beyond the twelve distinct-object pairs.
Clarify the policy before choosing a formula. “Three positions” alone does not tell the function whether reuse is allowed; PERMUT’s documented selection meaning supplies the no-repetition model.
Advanced check: truncation changes the effective counts
Under the historical source’s explicit truncation rule:
=PERMUT(5.9,2.8)
The effective positive counts are 5 and 2, giving expected result 20. The function does not interpolate between neighboring integer counts or treat 0.9 of a person as another possible object.
Use explicit integers in normal work so truncation does not hide a damaged input. For nonnegative count inputs, a separate validation step should decide whether decimals are acceptable rather than silently relying on conversion.
Boundary and interpretation checks
=PERMUT(3,4) is covered by the documented selected-count-too-large #NUM! condition. =PERMUT(0,1) is covered by the nonpositive-total condition. These are documented error expectations, not native test captures.
When every available object is selected, the independent positive-integer model gives PERMUT(4,4) = 432*1 = 24. When one object is selected from four, it gives 4. These controls show how the position count changes the result.
PERMUT counts outcomes; it does not assign their probabilities. Equal probability for all arrangements is an additional modeling assumption. FACT can help inspect the factorial relationship, but large-count overflow and current native precision limits remain unverified.
References and verification
- WPS Academy: PERMUT, 2019-06-17 (Chinese).
- WPS Windows PERMUT introduction.
- Editorial testing standards.
Worked outputs are independently calculated expectations, not captured native results. Function-specific source gaps and product/client boundaries remain explicitly scoped.