pub struct DCountAFn;Trait Implementations§
Source§impl Function for DCountAFn
Counts non-blank values in a database field for records matching criteria.
impl Function for DCountAFn
Counts non-blank values in a database field for records matching criteria.
§Remarks
DCOUNTAcounts both text and numeric non-empty values.- Criteria rows are OR-ed; criteria columns in the same row are AND-ed.
- Blank cells are excluded from the count.
§Examples
title: "Count non-blank names where score > 80"
grid:
A1: "Name"
B1: "Score"
A2: "Ana"
B2: 92
A3: "Bo"
B3: 75
A4: "Cy"
B4: 88
D1: "Score"
D2: ">80"
formula: "=DCOUNTA(A1:B4,\"Name\",D1:D2)"
expected: 2title: "Count all non-blank values in a field"
grid:
A1: "Item"
A2: "X"
A3: "Y"
A4: ""
C1: "Item"
formula: "=DCOUNTA(A1:A4,\"Item\",C1:C1)"
expected: 2related:
- DCOUNT
- DGET
- COUNTA
faq:
- q: "What is treated as blank in DCOUNTA?"
a: "Empty cells and empty strings are treated as blank; other value types are counted when their row matches criteria."[formualizer-docgen:schema:start] Name: DCOUNTA Type: DCountAFn Min args: 3 Max args: 1 Variadic: false Signature: DCOUNTA(arg1: any@scalar) Arg schema: arg1{kinds=any,required=true,shape=scalar,by_ref=false,coercion=None,max=None,repeating=None,default=false} Caps: PURE, REDUCTION [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 DCountAFn
impl RefUnwindSafe for DCountAFn
impl Send for DCountAFn
impl Sync for DCountAFn
impl Unpin for DCountAFn
impl UnsafeUnpin for DCountAFn
impl UnwindSafe for DCountAFn
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