pub struct ModeMultiFn;Expand description
Returns all modal values as a vertical array.
Use MODE.MULT when a data set can have multiple values with the same highest frequency.
§Remarks
- Returns each tied mode as a separate row in the result array.
- Returns
#N/Awhen every numeric value appears only once. - Non-numeric values in referenced ranges are ignored.
§Examples
title: "Multiple modes from direct values"
formula: "=MODE.MULT({1,2,2,3,3,4})"
expected:
- [2]
- [3]title: "Single repeated mode still returns an array"
grid:
A1: 5
A2: 5
A3: 2
A4: 1
formula: "=MODE.MULT(A1:A4)"
expected:
- [5]related:
- MODE.SNGL
- FREQUENCY
- MEDIAN
faq:
- q: "Why can MODE.MULT return an array result?"
a: "It emits every value tied for highest frequency as separate rows."Trait Implementations§
Source§impl Debug for ModeMultiFn
impl Debug for ModeMultiFn
Source§impl Function for ModeMultiFn
[formualizer-docgen:schema:start]
Name: MODE.MULT
Type: ModeMultiFn
Min args: 1
Max args: variadic
Variadic: true
Signature: MODE.MULT(arg1…: number@range)
Arg schema: arg1{kinds=number,required=true,shape=range,by_ref=false,coercion=NumberLenientText,max=None,repeating=None,default=false}
Caps: PURE, REDUCTION, NUMERIC_ONLY
[formualizer-docgen:schema:end]
impl Function for ModeMultiFn
[formualizer-docgen:schema:start] Name: MODE.MULT Type: ModeMultiFn Min args: 1 Max args: variadic Variadic: true Signature: MODE.MULT(arg1…: number@range) Arg schema: arg1{kinds=number,required=true,shape=range,by_ref=false,coercion=NumberLenientText,max=None,repeating=None,default=false} Caps: PURE, REDUCTION, NUMERIC_ONLY [formualizer-docgen:schema:end]
fn name(&self) -> &'static str
fn min_args(&self) -> usize
fn variadic(&self) -> bool
fn arg_schema(&self) -> &'static [ArgSchema]
Source§fn eval<'a, 'b, 'c>(
&self,
args: &'c [ArgumentHandle<'a, 'b>],
_ctx: &dyn FunctionContext<'b>,
) -> Result<CalcValue<'b>, ExcelError>
fn eval<'a, 'b, 'c>( &self, args: &'c [ArgumentHandle<'a, 'b>], _ctx: &dyn FunctionContext<'b>, ) -> Result<CalcValue<'b>, ExcelError>
The unified evaluation path. Read more
fn namespace(&self) -> &'static str
fn volatile(&self) -> bool
Source§fn aliases(&self) -> &'static [&'static str]
fn aliases(&self) -> &'static [&'static str]
Optional list of additional alias names (case-insensitive) that should resolve to this
function. Default: empty slice. Implementors can override to expose legacy names.
Returned slice must have ’static lifetime (typically a static array reference).
fn function_salt(&self) -> u64
Source§fn eval_reference<'a, 'b, 'c>(
&self,
_args: &'c [ArgumentHandle<'a, 'b>],
_ctx: &dyn FunctionContext<'b>,
) -> Option<Result<ReferenceType, ExcelError>>
fn eval_reference<'a, 'b, 'c>( &self, _args: &'c [ArgumentHandle<'a, 'b>], _ctx: &dyn FunctionContext<'b>, ) -> Option<Result<ReferenceType, ExcelError>>
Optional reference result path. Only called by the interpreter/engine
when the callsite expects a reference (e.g., range combinators, by-ref
argument positions, or spill sources). Read more
Source§fn dispatch<'a, 'b, 'c>(
&self,
args: &'c [ArgumentHandle<'a, 'b>],
ctx: &dyn FunctionContext<'b>,
) -> Result<CalcValue<'b>, ExcelError>
fn dispatch<'a, 'b, 'c>( &self, args: &'c [ArgumentHandle<'a, 'b>], ctx: &dyn FunctionContext<'b>, ) -> Result<CalcValue<'b>, ExcelError>
Dispatch to the unified evaluation path with automatic argument validation.
Auto Trait Implementations§
impl Freeze for ModeMultiFn
impl RefUnwindSafe for ModeMultiFn
impl Send for ModeMultiFn
impl Sync for ModeMultiFn
impl Unpin for ModeMultiFn
impl UnsafeUnpin for ModeMultiFn
impl UnwindSafe for ModeMultiFn
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more