qax-os/excelize · error

the operator %q in expression %q is not valid in relation to

Error message

the operator %q in expression %q is not valid in relation to Blanks/NonBlanks

What it means

Error from newInvalidAutoFilterOperatorError, raised by parseFilterTokens when a criteria uses the Blanks/NonBllanks operand with an operator that cannot combine with it (e.g. >, <, >= with blanks); at fault is the operator/operand pair in the filter expression.

Source

Thrown at errors.go:267

	return fmt.Errorf("field %s must be less than or equal to 255 characters", name)
}

// newInvalidAutoFilterColumnError defined the error message on receiving the
// incorrect index of column.
func newInvalidAutoFilterColumnError(col string) error {
	return fmt.Errorf("incorrect index of column %q", col)
}

// newInvalidAutoFilterExpError defined the error message on receiving the
// incorrect number of tokens in criteria expression.
func newInvalidAutoFilterExpError(exp string) error {
	return fmt.Errorf("incorrect number of tokens in criteria %q", exp)
}

// newInvalidAutoFilterOperatorError defined the error message on receiving the
// incorrect expression operator.
func newInvalidAutoFilterOperatorError(op, exp string) error {
	return fmt.Errorf("the operator %q in expression %q is not valid in relation to Blanks/NonBlanks", op, exp)
}

// newInvalidCellNameError defined the error message on receiving the invalid
// cell name.
func newInvalidCellNameError(cell string) error {
	return fmt.Errorf("invalid cell name %q", cell)
}

// newInvalidColumnNameError defined the error message on receiving the
// invalid column name.
func newInvalidColumnNameError(col string) error {
	return fmt.Errorf("invalid column name %q", col)
}

// newInvalidExcelDateError defined the error message on receiving the data
// with negative values.
func newInvalidExcelDateError(dateValue float64) error {
	return fmt.Errorf("invalid date value %f, negative values are not supported", dateValue)

View on GitHub (pinned to f2483381fb)

Solutions

  1. Use '=' or '!=' style operators with Blanks/NonBlanks
  2. Express blank tests via the equals operator only
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at errors.go:267 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of qax-os/excelize@f2483381fb (2026-09-02). Data as JSON: /api/errors/12cf869e930f2920. Report an issue: GitHub.