Lox365 is a LibreOffice Calc extension that adds modern spreadsheet functions like IMAGE, TEXTSPLIT, and TOCOL.
Do you like using Lox365? Let me know in the Discussions. Maybe buy me a coffee.
- Download the extension
Lox365.oxt
from Releases. - Start LibreOffice > Tools > Extension Manager > Add > Select the oxt file > restart LibreOffice.
Use the function like you would any other function in LibreOffice Calc.
To output results in multiple cells, enter your formula with Ctrl + Shift + Enter.
To edit the formula that is using multiple cells, select the entire cell range first.
This is because Lox365 functions are array functions. LibreOffice Calc does not support Excel's dynamic arrays.
Filters an array.
Similar to Excel's FILTER.
=FILTER(array, include, [if_empty])
array
: The array to filter.include
: An array of booleans where TRUE represents a row or column to retain.[if_empty]
: Returned if no items are retained. Optional.
Returns an image from a given source.
The source can be a local image file or a web URL. You can use a web URL of a third-party service to generate, for example, a QR code, equation, or diagram.
Similar to Excel's IMAGE.
=IMAGE(out_cell, source)
out_cell
: Reference to the cell where the image is to be placed.source
: The path of the source that points to the image.
Sorts an array.
Similar to Excel's SORT.
=SORT(array, [sort_index], [sort_order])
array
: The array to sort.[sort_index]
: A number indicating the row or column to sort by. Optional.[sort_order]
: A number indicating the desired sort order; 1 for ascending order (default), -1 for descending order. Optional.- Not supported:
by_col
.
Splits text into columns using delimiters.
Similar to Excel's TEXTSPLIT.
=TEXTSPLIT(text, col_delimiter)
text
: The text you want to split.col_delimiter
: The text that marks the point where to split the text across columns.- Not supported:
row_delimiter
,ignore_empty
,match_mode
,pad_with
.
Returns the array as one column.
Similar to Excel's TOCOL.
=TOCOL(array)
array
: The array to return as a column.- Not supported:
ignore
,scan_by_column
.
Returns the unique values from a range or array.
Similar to Excel's UNIQUE.
=UNIQUE(array)
array
: The array from which to return unique rows.- Not supported:
by_col
,exactly_once
.
Searches an array for a match and returns the corresponding item from a second array.
Similar to Excel's XLOOKUP.
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found])
lookup_value
: The value to search for.lookup_array
: The array to search.return_array
: The array to return.[if_not_found]
: Where a valid match is not found, return the [if_not_found] text you supply. Optional.- Not supported:
match_mode
,search_mode
.
These functions have been removed in Lox365 version 6 because you can now use them in the latest LibreOffice (24.8):
- FILTER
- SORT
- UNIQUE
- XLOOKUP
I use these functions quite often in Excel and wanted to use them in LibreOffice too, so I made this.
Here are what others are saying about this project:
Thanks for this; great idea!
— u/timespreader
Great work, goose! 😊
— Mike Saunders
Really nice idea.
— Behzat Yildirim
Very well done to the creator of the extension.
— Jimmy
Oh, wonderful!
😀 Thanks for implementing this!
— Arne
The support of XLOOKUP is a great addition.
— Marius Spix
Dobre rozszerzenie, bardzo przydatne funkcje.
— Piotr Osada
Pues muchísimas gracias.
— Guille
Bravo!
— Shakir Mahmud Sumon
The IMAGE function is very useful for those of us that import Google Docs that contain remote (URL base) images.
— René Haché
Keep up the great work!👍
— LeighAnne Kenney
👍😀
A 1000 thanks.
— Mikael Arling
The idea is splendid because Microsoft's IMAGE function in Excel doesn't work with local pictures or with pictures from LAN shares.
— Gabriela Salvisberg
Lox365 is not compatible with Microsoft Excel.
Lox365 must be installed in order to read and write Lox365 functions. You can check whether it is installed using LibreOffice Extension Manager.
On a machine without Lox365 installed, you will not be able to view calculation results from Lox365 functions.
These functions are not in LibreOffice and not provided by Lox365 but are available in the latest Excel:
- GROUPBY
- LAMBDA
- PIVOTBY
- STOCKHISTORY
- TOROW
These functions are available in the latest LibreOffice:
- CONCAT
- FILTER
- IFS
- LET
- MAXIFS
- MINIFS
- RANDARRAY
- SEQUENCE
- SORT
- SORTBY
- SWITCH
- TEXTJOIN
- UNIQUE
- XLOOKUP
- XMATCH
https://wiki.documentfoundation.org/Documentation/HowTo/install_extension
https://wiki.documentfoundation.org/Feature_Comparison:_LibreOffice_-_Microsoft_Office
https://www.reddit.com/r/libreoffice/comments/x98nqt/lox365_xlookup_for_libreoffice/
https://www.reddit.com/r/opensource/comments/xfdmml/lox365_xlookup_for_libreoffice/
https://twitter.com/LibreOffice/status/1573232603351879682
https://fosstodon.org/@libreoffice/109046849962893237
[es] https://es.blog.documentfoundation.org/extension-lox365-xlookup-y-mas-para-libreoffice-calc/
[es] https://www.youtube.com/watch?v=BSPCJnc6r2g
[ja] https://forest.watch.impress.co.jp/docs/news/1442776.html
[ja] https://opensource.srad.jp/story/22/09/27/1337200/
[ja] https://www.zaikei.co.jp/article/20220928/691186.html
[pt] https://www.matsuura.com.br/2022/09/extensao-lox365-xlookup-e-mais-para.html
[tr] https://blog.libreoffice.org.tr/2022/09/23/libreoffice-calc-icin-yeni-bir-eklenti-goosepirate/
https://www.ubuntubuzz.com/2023/06/how-to-add-xlookup-function-to-libreoffice-calc.html
https://www.reddit.com/r/libreoffice/comments/16gaeth/lox365_xlookup_and_now_image_for_libreoffice/
https://fosstodon.org/@libreoffice/111052323463423962
https://twitter.com/LibreOffice/status/1701582897784729628
[zh] https://www.youtube.com/watch?v=ndvbu0kC83o
https://www.youtube.com/watch?v=_zHuJIFLSMw
https://bugs.documentfoundation.org/show_bug.cgi?id=126573
https://bugs.documentfoundation.org/show_bug.cgi?id=127293
https://gerrit.libreoffice.org/c/core/+/131905
https://flywire.github.io/lo-p/
https://wiki.openoffice.org/wiki/Calc/Add-In/Python_How-To
https://wiki.openoffice.org/wiki/Python/Python_Language_Binding
https://wiki.documentfoundation.org/Documentation/DevGuide/Spreadsheet_Documents
https://help.libreoffice.org/latest/en-US/text/sbasic/python/main0000.html
https://help.libreoffice.org/latest/en-US/text/sbasic/python/python_programming.html
https://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/module-ix.html
https://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/AddIn.html
https://git.libreoffice.org/core/
https://forum.openoffice.org/en/forum/
https://api.libreoffice.org/docs/idl/ref/namespaces.html
https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1beans_1_1XPropertySet.html
https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1sheet_1_1AddIn.html
https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1table_1_1XCellRange.html
https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1uno_1_1XInterface.html
https://extensions.libreoffice.org/en/extensions/show/27434