ISREF in Calligra Sheets: Test Cell References Without Confusing Text
Learn how ISREF checks actual cell references in Calligra Sheets, with source-based examples, error cautions and compatibility notes.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Calligra Sheets. How formula examples are checked
Version and validation scope (checked October 12, 2026). The KDE 26.08.2 release was dated October 8, 2026. This guide checks the official ISREF handbook entry, the 26.08.2 function contract, and the 26.08.2 implementation and registration. Registry membership demonstrates that the function is registered by that source revision, not that every install or platform has passed a runtime test. No native Calligra Sheets execution was available; results below are labeled KDE-documented or source-inferred expected, never observed. The examples use the English function name. ISREF takes one argument, so regional semicolon/comma formula separators are irrelevant to its call; a surrounding IF example below uses the semicolon convention from KDE’s English documentation. Display languages may localize Boolean words.
Quick answer: =ISREF(A12) checks whether its argument is a real cell/range reference, not whether the cell contains a number or nonblank value. KDE explicitly documents that ISREF(A12) returns TRUE and ISREF("hello") returns FALSE; those are documented examples, not observations from this research run. Quoted text that looks like an address, such as "A12", is not automatically a reference.
Why use ISREF?
ISREF can help inspect formulas assembled from references or formulas that may yield reference values. It is not a blank-cell detector, an address-text parser, a check that a file exists, or a test of the value stored in a referenced cell. The source callback receives extra reference-position metadata; this design explains the difference between passing A12 as a reference and passing the text string "A12".
Exact documented syntax and arguments
=ISREF(x)
| Position | Name in KDE help | KDE XML argument type | Required? | Default |
|---|---|---|---|---|
| 1 | x (any value) |
Any |
Yes | None |
KDE labels the result Boolean. The 26.08.2 registration sets setNeedsExtra(true) and setAcceptArray() for this function; at the callback level, a true result depends on valid e->ranges[0] coordinates. These source flags do not independently establish every range/array edge case in a running installation. Official XML · C++ registration · callback.
Reproduce the worksheet examples
In a new Calligra sheet, enter 42 into A12. Enter each formula in a separate empty cell (for example, B2:B6). The expected results below should be compared with your own installed build in your installed version.
| Formula entered | Expected value | Validation basis | Reason |
|---|---|---|---|
=ISREF(A12) |
TRUE | KDE-documented | A12 is a direct cell reference. |
=ISREF("hello") |
FALSE | KDE-documented | Text is not a reference. |
=ISREF("A12") |
FALSE | Source-inferred | Quotation marks pass text, not reference metadata. |
=ISREF(42) |
FALSE | Source-inferred | A numeric literal has no originating referenced range. |
=ISREF(A12:A13) |
TRUE if the callback receives a valid range | Source-inferred, needs native test | Registration accepts arrays; runtime routing and range metadata still need confirmation. |
The content of A12 is not what the test asks about: changing A12 from 42 to "done" (entered as text) does not change the syntactic fact that A12 is a reference. For an empty A12, source-level coordinates still support TRUE, but blank-cell evaluation has not been natively checked.
Advanced case 1: A reference check inside a conditional
=IF(ISREF(A12);"Cell reference";"Not a reference")
With a direct A12 reference, the expected result is Cell reference. Substitute ISREF("A12") in the same formula to see why storing an address in a text cell is not equivalent to passing a real reference. The IF function and localized separator handling also matter to this combined example; these exact combined results were not observed in native Calligra.
Advanced case 2: distinguish ISREF from value tests
With A12 containing 42, compare =ISREF(A12) and =ISNUMBER(A12). Both are expected TRUE, but for fundamentally different reasons. If A12 instead contains ordinary text, ISNUMBER(A12) should be FALSE while ISREF(A12) should remain TRUE if the engine supplies the same valid address metadata. Use KDE’s ISNUMBER entry for the value-type test. If the business requirement is to detect truly empty cells, compare ISBLANK instead. None of these comparisons establishes that address-looking text is a reference.
Advanced case 3: reference-producing expressions
Expressions such as INDIRECT("A12") may result in a reference depending on the formula engine, but whether ISREF receives reference coordinates depends on evaluation semantics beyond this callback. =ISREF(INDIRECT("A12")) is therefore a native test case, not a guaranteed TRUE. Likewise do not conclude that every structured table reference, named region or external-document reference behaves identically across products.
Error handling, limitations, troubleshooting
- Why does
ISREF("A12")not return TRUE? It receives a string. Text that resembles an address is not automatically resolved into a reference. The 26.08.2 callback examines extra range coordinates rather than parsing text. - Why does the content of A12 not matter? ISREF assesses reference identity. Use ISNUMBER, ISTEXT or ISBLANK to inspect the evaluated value instead.
- What if the argument is an error? The callback explicitly returns a passed-in error (
if (args[0].isError()) return args[0]). This is source analysis; the evaluator may intercept errors earlier. Do not promise FALSE for=ISREF(NA()). C++. - What about ranges or array values? The registration accepts arrays and checks stored range positions. The correct behavior for array expressions, discontiguous ranges and reference-returning functions needs native execution.
- What if the result appears to be plain text TRUE/FALSE? Boolean display is localized. Test the returned logical result rather than comparing English display strings.
- Does ISREF validate a URL or a workbook file path? No. The term “reference” here means a spreadsheet formula reference, not an internet or filesystem resource.
Compatibility with Microsoft Excel and LibreOffice Calc
Microsoft’s IS-functions documentation includes ISREF among value information functions. Excel also distinguishes actual references from text; however, it can support reference-producing constructs that may not be handled the same way by Calligra. LibreOffice’s information-function documentation similarly describes ISREF for reference values. Transfer the simple A12 versus "A12" concept, not untested guarantees about INDIRECT, named ranges, dynamic arrays or the treatment of invalid references. A function present in all three products is not evidence that its internal reference metadata is interchangeable.
Checked sources and related learning
The KDE ISREF handbook entry, source-accurate XML signature, registration, callback, KDE 26.08.2 release, Microsoft reference and LibreOffice reference were consulted on October 12, 2026. The related KDE information functions ISNUMBER, ISTEXT, ISBLANK and ISERROR are documentation links.