What Most People Miss About Does LibreOffice Have Excel

Most people think 'Does LibreOffice have Excel?' is a yes-or-no question. It’s not. Asking that is like asking 'Does a wrench have a screwdriver?' — they’re different tools with overlapping jobs. And if you assume compatibility equals equivalence, you’ll lose $12,400 in Q3 forecasting data before lunch.

The Problem

You’ve just received Q2 Sales Report.xlsx from Finance. You open it in LibreOffice Calc. Everything looks fine: headers align, numbers show up, charts render. You tweak column C (Discount %), hit Save, and email it back. Three days later, Sarah Chen flags an error: the SUM in cell F22 jumped from $45,200 to $44,987. No one edited that cell. No version history. No audit trail.

That’s not user error. That’s formula reinterpretation — and it’s happening silently in thousands of SMBs right now.

FeatureExcel (Microsoft 365)LibreOffice Calc 7.6What Actually Happens
=XLOOKUP(A2,A10:A50,B10:B50,"Not found")✅ Works❌ Returns #NAME?Calc doesn’t support XLOOKUP — replaces with #NAME? but won’t warn you on open.
=TEXT(TODAY(),"dd-mmm-yy")✅ "15-Mar-24"✅ Same outputWorks — but only because Calc uses same locale-aware formatting engine.
=SUMIFS(D2:D100,A2:A100,"Acme Corp",C2:C100,">=15-May-2024")✅ Correct total⚠️ Off by $2,118Date comparison fails silently when regional settings differ (e.g., US vs EU date parsing).
Conditional Formatting (icon sets)✅ Renders icons❌ Shows blank cellsIcon sets are ignored — no warning, no placeholder, just emptiness.
PivotTable with calculated field✅ Fully editable❌ Disappears on saveCalc reads the pivot but strips calculated fields when resaving as .xlsx.
Named ranges (e.g., "SalesData")✅ Resolves correctly✅ Mostly worksBut scope resets to sheet-level on reopen — global names become local.

The Solution

This isn’t about switching tools. It’s about controlling the handoff. Do this — in order — every time you open an Excel file in Calc:

  1. Before opening: Right-click the .xlsx file → Properties → Details tab → Check “Author” and “Last saved by”. If it says “Microsoft Excel”, assume formulas may break. If it says “LibreOffice”, proceed cautiously.
  2. On first open: Go to Tools → Options → LibreOffice Calc → Formula. Set “Formula syntax” to Excel A1 (not “Calc A1”). This forces Calc to parse formulas using Excel’s grammar — critical for SUMIFS, INDEX/MATCH, etc.
  3. Immediately after opening: Press Ctrl+Shift+F to open Find & Replace. In “Find”, type =XLOOKUP. If found, replace with =INDEX(MATCH()) pattern — or flag the file for Excel-only handling. Don’t ignore it.
  4. Before saving: Go to File → Save As. Choose “Microsoft Excel 2007–365 (.xlsx)” — NOT “ODS”. Then click Options → check “Save cell formulas instead of calculated values” and “Embed fonts”. Uncheck “Use printer metrics for text layout”.

Here’s what your cleaned workflow produces:

CellBefore (Calc default)After (corrected workflow)
F22$44,987 (wrong)$45,200 (matches Excel)
B5#NAME? (XLOOKUP)28% (converted to INDEX/MATCH)
D100:D105Blank (icon set missing)Icons visible (saved as .xlsx with embedded formatting)
A1:A10“15/03/2024” (EU format)“15-Mar-24” (locale-preserved)
PivotTableCollapsed, no fieldsFully interactive, retains calculated field

Going Further

You can automate the safety checks. Paste this into Calc’s Tools → Macros → Organize Macros → LibreOffice Basic:

Sub CheckXLOOKUP
    Dim oSheet As Object, oCell As Object
    oSheet = ThisComponent.Sheets(0)
    For i = 0 To oSheet.Rows.Count - 1
        oCell = oSheet.getCellByPosition(0, i)
        If InStr(oCell.Formula, "XLOOKUP") > 0 Then
            MsgBox "XLOOKUP detected in row " & (i+1) & ". Open in Excel or convert."
        End If
    Next i
End Sub

Run it with Alt+F8, select CheckXLOOKUP, click Run. It scans column A only — fast, targeted, zero false positives.

For shared workbooks: never use Calc’s “Share Document” feature with Excel users. Instead, use OneDrive or SharePoint and force Excel Online editing. Calc’s co-editing mode ignores Excel’s locking logic — two people can overwrite each other’s SUMIFS edits without conflict warnings.

Surprising tip: Calc handles =LET() better than Excel 2019. If your team uses LET-heavy models, Calc will read and recalculate them — but won’t let you *edit* the LET block. So open in Calc to verify outputs, then switch to Excel to adjust logic.

When NOT to Use This

Stop using Calc for Excel files if any of these apply:

  • You rely on Power Query (Get & Transform) — Calc has zero equivalent. Data connections break on save.
  • Your workbook uses Dynamic Arrays (spilled ranges like =UNIQUE(A2:A100)) — Calc renders them as static values and discards spill behavior.
  • You’re auditing financial models where rounding must match Excel’s IEEE 754 implementation — Calc uses a different floating-point library. Differences appear at the 15th decimal place… which matters for IFRS compliance reports.
  • The file contains VBA macros — Calc runs no VBA. It strips all modules silently. Even simple Workbook_Open triggers vanish.

If your finance team sends you a file with .xlsm extension, don’t open it in Calc. Just don’t.

Keyboard Shortcuts

ActionLibreOffice CalcMicrosoft Excel
Open Formula WizardShift+F2Shift+F3
Toggle Formula ViewCtrl+`Ctrl+`
Apply Currency FormatCtrl+Shift+$Ctrl+Shift+$
Open Options DialogTools → Options (no Alt shortcut)Alt+F+T
Insert FunctionCtrl+F2Shift+F3
Save As DialogCtrl+Shift+SF12
Lisa Anderson

Lisa Anderson

Lisa is a certified Microsoft trainer who writes step-by-step guides for Power Automate