{
  "category": "Operators",
  "display_name": "Less than (<)",
  "entry_kind": "built_in_operator",
  "eval_api": {
    "method": "POST",
    "url": "https://handbook.dnacalc.com/api/eval"
  },
  "function_id": "FUNC.OP_LESS_THAN",
  "implementation_state": {
    "answer_bank": null,
    "detail": "Of 1,618 recorded answers (1,618 workbook cells), 8 do not match: 8 are refused.",
    "dnacalc_commit": "9e1884369a678158dd82d3d74188daf986995e87",
    "in_catalogue": true,
    "state": "differs",
    "state_label": "Known larger differences",
    "summary": "Refuses 8 of 1,618 recorded calls; the rest match",
    "workbook_corpus": {
      "cells": 1618,
      "matched": 1610,
      "refused": 8,
      "worst_ulp": 0
    }
  },
  "implementations": [
    {
      "commit": "9e1884369a678158dd82d3d74188daf986995e87",
      "flavour": "excel-compatibility-candidate",
      "language": "Rust",
      "name": "CalcFunc",
      "own_code": [
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/comparison.rs#L58-L58",
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/comparison.rs#L128-L133"
      ],
      "repository": "https://github.com/DnaCalc/DnaCalc",
      "shared_code": [
        "catalogue/comparison::compare",
        "catalogue/comparison::Operand::kind",
        "catalogue/comparison::Operand::blank",
        "catalogue/comparison::order",
        "catalogue/comparison::overflow_numbers",
        "catalogue/comparison::numbers",
        "catalogue/comparison::in_band",
        "catalogue/comparison::Rounded::up",
        "catalogue/comparison::Roundings::of",
        "catalogue/comparison::Roundings::disjoint",
        "catalogue/comparison::texts",
        "catalogue/comparison/collation::compare",
        "catalogue/comparison/collation::weighed",
        "catalogue/comparison/collation::measured_iteration_extension",
        "catalogue/comparison/sort_key::table",
        "catalogue/comparison/sort_key::decode64",
        "catalogue/comparison/sort_key::Reader::byte",
        "catalogue/comparison/sort_key::Reader::varint",
        "catalogue/comparison/sort_key::Reader::done",
        "catalogue/comparison/sort_key::in_ranges",
        "catalogue/comparison/sort_key::build",
        "catalogue/comparison/sort_key::han_base",
        "catalogue/comparison/sort_key::derive",
        "catalogue/comparison/sort_key::shared_jamo_tails",
        "catalogue/comparison/sort_key::ordinary_jamo_prefix",
        "catalogue/comparison/sort_key::independent_jamo_suffix",
        "catalogue/comparison/sort_key::jamo_leading_primary",
        "catalogue/comparison/sort_key::leading_order",
        "catalogue/comparison/sort_key::Before::separate_special",
        "catalogue/comparison/sort_key::Gathered::kana",
        "catalogue/comparison/sort_key::Gathered::unit",
        "catalogue/comparison/sort_key::parts",
        "catalogue/comparison/sort_key::diacritic_order",
        "catalogue/comparison/sort_key::diacritics",
        "decimal::low32",
        "decimal::Natural::from_u64",
        "decimal::Natural::pow10",
        "decimal::Natural::normalize",
        "decimal::Natural::is_zero",
        "decimal::Natural::mul_add_small",
        "decimal::Natural::times_pow10",
        "decimal::Natural::times_pow5",
        "decimal::Natural::times_pow2",
        "decimal::ExactDecimal::binary"
      ],
      "source": "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/comparison.rs#L58-L58",
      "state": "differs",
      "suite": null,
      "summary": "Refuses 8 of 1,618 recorded calls; the rest match"
    }
  ],
  "json_url": "https://handbook.dnacalc.com/api/functions/FUNC.OP_LESS_THAN.json",
  "name": "OP_LESS_THAN",
  "notes": [
    {
      "basis": "32 recorded readings on one collation sheet.",
      "documentation": null,
      "evidence": [
        {
          "commit": "eceb809985e244e9d0a20f905e58fe57b8741ed8",
          "locator": "sheet fn3_collation, rows 290 to 321",
          "note": null,
          "path": "crates/calc-func/tests/captures/fn3_questions/oracle.capture.json",
          "repository": "DnaCalc"
        }
      ],
      "functions": [
        "FUNC.OP_EQUAL",
        "FUNC.OP_LESS_THAN"
      ],
      "inferred": null,
      "kind": "quirk",
      "note_id": "FN-OP_EQUAL-001",
      "open": [
        "Twelve further comparisons (other leading consonants, a trailing consonant, a compound vowel, compatibility jamo) were read on 2026-11-04. They are not yet in a published capture, so this note does not rest on them."
      ],
      "recorded_on": "2026-11-04",
      "repros": [
        {
          "call": "=\"가\"=\"가\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "FALSE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "eceb809985e244e9d0a20f905e58fe57b8741ed8",
            "locator": "sheet fn3_collation, row 290, column 4",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn3_questions/oracle.capture.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "=\"가\"<\"가\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "eceb809985e244e9d0a20f905e58fe57b8741ed8",
            "locator": "sheet fn3_collation, row 291, column 4",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn3_questions/oracle.capture.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "=\"각\"=\"각\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "FALSE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "eceb809985e244e9d0a20f905e58fe57b8741ed8",
            "locator": "sheet fn3_collation, row 296, column 4",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn3_questions/oracle.capture.json",
            "repository": "DnaCalc"
          }
        }
      ],
      "schema": "efh.function-note/v1",
      "statement": "U+1100 U+1161 is canonically equivalent to the syllable U+AC00 in Unicode, but Excel's comparison says they are not equal, and the jamo sequence sorts first. The same holds with a final consonant, U+1100 U+1161 U+11A8 against U+AC01.",
      "status": "measured",
      "title": "Conjoining Hangul jamo do not compare equal to the precomposed syllable"
    },
    {
      "basis": "66 recorded readings of =, < and > on 22 pairs of strings, 11 pairs after 時 and 11 after a.",
      "documentation": null,
      "evidence": [
        {
          "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
          "locator": "sheets q001 to q066",
          "note": "66 recorded readings",
          "path": "crates/calc-func/tests/captures/fn4_questions/functions-fn4.capture.json",
          "repository": "DnaCalc"
        }
      ],
      "functions": [
        "FUNC.OP_GREATER_THAN",
        "FUNC.OP_LESS_THAN"
      ],
      "inferred": null,
      "kind": "quirk",
      "note_id": "FN-OP_LESS_THAN-001",
      "open": [
        "The collation rule behind this is not identified, and none is claimed here."
      ],
      "recorded_on": "2026-11-04",
      "repros": [
        {
          "call": "=\"a-ゝx\"<\"aゝx\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "sheet q059, row 20, column 10",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn4_questions/functions-fn4.capture.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "=\"a-ゝx\">\"aゝx\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "FALSE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "sheet q060, row 20, column 10",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn4_questions/functions-fn4.capture.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "=\"時-ゝx\"<\"時ゝx\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "FALSE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "sheet q050, row 20, column 10",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn4_questions/functions-fn4.capture.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "=\"時-ゝx\">\"時ゝx\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "sheet q051, row 20, column 10",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn4_questions/functions-fn4.capture.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "=\"a−ゝ\"<\"aゝ\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "sheet q029, row 20, column 10",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn4_questions/functions-fn4.capture.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "=\"時−ゝ\">\"時ゝ\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "sheet q006, row 20, column 10",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn4_questions/functions-fn4.capture.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "=\"a−ゝ\">\"a−\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "sheet q027, row 20, column 10",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn4_questions/functions-fn4.capture.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "=\"時−ゝ\">\"時−\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "sheet q003, row 20, column 10",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn4_questions/functions-fn4.capture.json",
            "repository": "DnaCalc"
          }
        }
      ],
      "schema": "efh.function-note/v1",
      "statement": "Comparing a string with punctuation before a repeat or prolonged-sound mark against the same string without the punctuation, the order depends on the character at the start. After a Latin letter the punctuated string is smaller: \"a-ゝx\" < \"aゝx\". After a Han character it is larger: \"時-ゝx\" > \"時ゝx\". This held for every pair read, with the marks ゝ, 々 and ー and with hyphen-minus, U+2212 and U+2019 as the punctuation. In all 66 readings the two strings are never equal, and a string with the mark added sorts after the string without it, after Latin and after Han alike: \"a−ゝ\" > \"a−\".",
      "status": "measured",
      "title": "Punctuation before a Japanese repeat mark sorts one way after a Latin letter, the other after Han"
    },
    {
      "basis": "77 recorded controls over three bases (時, 人, 漢).",
      "documentation": null,
      "evidence": [
        {
          "commit": "44db028d72d692e94557b3657748d25643cd199d",
          "locator": "fn1_han_iteration_comparison_and_lookup_order",
          "note": "recorded order pinned",
          "path": "crates/calc-fml/tests/acceptance/f3.rs",
          "repository": "DnaCalc"
        }
      ],
      "functions": [
        "FUNC.OP_LESS_THAN",
        "FUNC.SORT"
      ],
      "inferred": null,
      "kind": "quirk",
      "note_id": "FN-SORT-001",
      "open": [],
      "recorded_on": "2026-11-04",
      "repros": [
        {
          "call": "=\"時々\"<\"時時\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "f3275d997ae0706471e7b2c52b36fafad6966a03",
            "locator": "sheet fn1_collation, row 2, column 4",
            "note": null,
            "path": "crates/calc-func/tests/captures/catalogue/sections/fn1_collation.capture.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "=\"時々\"<\"時a\"",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "f3275d997ae0706471e7b2c52b36fafad6966a03",
            "locator": "sheet fn1_collation, row 3, column 4",
            "note": null,
            "path": "crates/calc-func/tests/captures/catalogue/sections/fn1_collation.capture.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "=TEXTJOIN(\"|\",FALSE,SORT({\"時々\";\"時時\";\"時\";\"時a\";\"時b\"}))",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "時|時々|時a|時b|時時",
            "kind": "text"
          },
          "input_route": "formula-literal",
          "inputs": [],
          "recorded_in": "Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA",
          "source": {
            "commit": "f3275d997ae0706471e7b2c52b36fafad6966a03",
            "locator": "sheet fn1_collation, row 229, column 4",
            "note": null,
            "path": "crates/calc-func/tests/captures/catalogue/sections/fn1_collation.capture.json",
            "repository": "DnaCalc"
          }
        }
      ],
      "schema": "efh.function-note/v1",
      "statement": "In text comparison and SORT, after a Han character the iteration mark 々 sorts before Latin letters and before the doubled character: 時 < 時々 < 時a < 時b < 時時. Latin letters sort before Han here, and 時々 is not treated as 時時.",
      "status": "measured",
      "title": "A Han iteration mark is not read as a repeat of the character"
    }
  ],
  "schema": "efh.function-reference/v1",
  "section_order": [
    "what-it-does",
    "try-it",
    "quirks",
    "how-to-implement",
    "version-differences",
    "alternatives"
  ],
  "sections": {
    "alternatives": "\n### Relationships\n\n\n- [`FUNC.OP_LESS_EQUAL`](FUNC.OP_LESS_EQUAL.md) — the non-strict form.\n- [`FUNC.OP_GREATER_THAN`](FUNC.OP_GREATER_THAN.md) — the mirror. `A<B` and `B>A` should\n  agree; that they do is an assumption worth testing rather than a theorem.\n- [`FUNC.OP_EQUAL`](FUNC.OP_EQUAL.md) — the rules; also the third leg of trichotomy.\n- `MIN`, `SMALL`, `SORT`, `RANK` — functions that order values. They do not necessarily use\n  this operator's rules; `MIN` over a range ignores text entirely, where `<` ranks it above\n  every number. Do not reason from one to the other.\n- `MATCH` with match type `1` or `-1`, and `VLOOKUP`/`HLOOKUP` in approximate mode, depend on\n  a data ordering that must agree with the comparison ordering. Mixed-kind columns are where\n  that assumption breaks.\n- `COUNTIF(range,\"<5\")` — criteria strings again: parsed by the consuming function, not this\n  operator.\n\n\n",
    "how-to-implement": "\n### Notes for implementers\n\n\n- Implement one comparison core returning a three-way result (less, equal, greater, plus an\n  error lane), and derive all six operators from it. Six independent implementations will\n  disagree somewhere, and the disagreement will be invisible until a user finds it.\n- The kind ordering must be applied before any within-kind comparison, and must be total.\n- Case-insensitive text comparison and locale collation are not the same problem. Record\n  which one you implemented; the contract's own slice stops at the installed baseline.\n- Do not reduce `A<B` to `NOT(A>=B)` in the presence of errors — the error must reach the\n  result, not become a logical.\n\n\n",
    "quirks": "\n### Result and edge cases\n\n- **Equal operands** give `FALSE`; `<` is strict.\n- **Different kinds** give the kind ordering, always, with no numeric interpretation of text.\n- **Blank operands.** The context-sensitive blank rule applies: blank behaves as `0` against\n  a number, `\"\"` against text, `FALSE` against a logical. So a blank cell is not less than\n  zero, and is not less than `\"\"` — but it *is* less than any positive number and less than\n  `TRUE`.\n- **Text ordering of numeric strings.** `\"10\" < \"9\"` is `TRUE` under text ordering while\n  `10 < 9` is `FALSE`; the difference is entirely in whether the operands are text. Sorted\n  columns of numbers stored as text are the standard way this reaches a real workbook.\n- **Arrays.** Ordinary broadcast with `#N/A` for unsupplied coordinates.\n\n\n\n### Errors\n\n`data/functions/FUNC.OP_LESS_THAN.json` records no Microsoft documentation URL (`docs` is\n`null`).\n\n\n",
    "sources": "- `data/presence/FUNC.OP_LESS_THAN.json` — implementing module\n  `earlier-implementation/operator_compare_concat_family.rs`.\n- Handbook `content/model/01-value-universe.md`, `02-coercion-and-lifting.md`,\n  `03-call-pipeline.md`, and [`FUNC.OP_EQUAL`](FUNC.OP_EQUAL.md) for the three rules.\n\n",
    "version-differences": "No comparison between specific Excel builds is recorded here yet. This does not establish that all builds behave alike.",
    "what-it-does": "\n`A < B` returns `TRUE` when `A` precedes `B` in Excel's comparison order, and `FALSE`\notherwise.\n\nThe three shared comparison rules are stated in full on\n[`FUNC.OP_EQUAL`](FUNC.OP_EQUAL.md). This operator is where the first of them stops being an\nabstraction, because ordering across kinds is only observable through the strict\ninequalities:\n\n```\n   any Number   <   any Text   <   any Logical\n```\n\nWithin a kind:\n\n- **Numbers** order numerically, but through the family's normalization lane rather than\n  exact IEEE comparison — the contract records `=0.1+0.2<0.3` as `FALSE`, which exact\n  arithmetic would make `TRUE`. See [`FUNC.OP_EQUAL`](FUNC.OP_EQUAL.md) rule 3.\n- **Text** orders by a case-insensitive comparison. The collation beyond that — accents,\n  non-Latin scripts, locale-specific sequences — is explicitly out of the contract's slice,\n  and the Handbook has measured only the cases in FN-OP_EQUAL-001, FN-OP_LESS_THAN-001 and\n  FN-SORT-001.\n- **Logicals** order `FALSE` before `TRUE`.\n\n\n\n### Arguments\n\n\n| Position | Name | Meaning |\n|---|---|---|\n| 0 | `A` | Left operand: the candidate lesser value. Required. |\n| 1 | `B` | Right operand: the candidate greater value. Required. |\n\nArity is exactly 2; no optional arguments, no defaults. Order is load-bearing — this is the\nfirst comparison page where swapping operands changes the answer.\n\n\n"
  },
  "signature": {
    "display": "value1 < value2",
    "parameters": [
      {
        "description": null,
        "name": "value1",
        "optional": false,
        "repeats": false
      },
      {
        "description": null,
        "name": "value2",
        "optional": false,
        "repeats": false
      }
    ],
    "trailing_repeats": false
  },
  "sources": {
    "metadata": {
      "admission": {
        "label": "implemented",
        "reason": null
      },
      "arity": {
        "max": 2,
        "min": 2
      },
      "category": "Operators",
      "classification": {
        "arg_preparation_profile": "ValuesOnlyPreAdapter",
        "coercion_lift_profile": "Custom",
        "determinism_class": "Deterministic",
        "error_collapse_profile": "None",
        "fec_dependency_profile": "None",
        "host_interaction_class": "None",
        "kernel_signature_class": "Custom",
        "rich_value_usage": "RichBlind",
        "surface_fec_dependency_profile": "RefOnly",
        "thread_safety_class": "SafePure",
        "volatility_class": "NonVolatile"
      },
      "descriptions": {
        "long": null,
        "short": null,
        "short_source": "no-short-description"
      },
      "docs": null,
      "entry_kind": "built_in_operator",
      "localized_family_names": null,
      "localized_names": [],
      "signature": {
        "display": "value1 < value2",
        "parameters": [
          {
            "description": null,
            "name": "value1",
            "optional": false,
            "repeats": false
          },
          {
            "description": null,
            "name": "value2",
            "optional": false,
            "repeats": false
          }
        ],
        "trailing_repeats": false
      },
      "surface_name": "OP_LESS_THAN",
      "version_marker": null,
      "xlcall": null
    },
    "microsoft": null
  },
  "try_it": {
    "formula": "=1<2"
  },
  "url": "https://handbook.dnacalc.com/functions/OP_LESS_THAN.html",
  "variants": [],
  "versions": []
}