--- title: "LibreOffice Calc Tips" date: 2021-02-20T12:37:48-05:00 draft: false tags: [] medium_enabled: true --- I've been working with LibreOffice Calc (or Excel) spreadsheets recently and wanted to share some of the things I've learned. **Absolute vs Relative Cell References** The main difference between referencing a cell relatively vs absolute is that the absolute reference includes a `$` in the front. This is important if you want to drag a formula across multiple cells. ```excel $A:$B ``` **Referring to a sheet name** To refer to cells in another sheet, first begin the reference with the sheet name, then a period, follow by the cells you wish to reference in that sheet. If the sheet name has spaces in it, then you need to wrap it in quotes. ```excel 'Another Sheet'.A:B ``` **Referring to a column** To refer to a single column, you need to repeat the column name separated by a colon. ```excel B:B ``` **Get row that matches a query** For this we'll use the `MATCH` function. It takes three parameters: 1. The value to match 2. The range of cells to query over 3. Which comparison function to use. Use `0` for equality. It will then return the first row number that matches the query. ```excel MATCH("Bob", B:B, 0) ``` **Query a value based on another from that row.** To do this, we will need to combine both the `INDEX` function and the `MATCH` function. The `INDEX` function takes three parameters: 1. The range of cells to reference 2. The row number 3. The column number Use the `MATCH` function as the second argument, and you can reference another column of a row based on a query. ```excel INDEX(A:B, MATCH("Bob", B:B, 0), 1) ``` **Refer to a value in a nearby cell** With the `OFFSET` function you can refer to a cell relative to another. Its parameters are: 1. Reference Cell 2. Row Offset 3. Column Offset 4. Height 5. Width ```excel # To see the value in the row above A5 (A4) OFFSET(A5, -1, 0, 1, 1) ``` **Concatenate Strings** Strings separated by `&` are concatenated together. ```excel "Hello " & "World." ```