LOG function
PRO
BASIC
The LOG
function in Jspreadsheet Formulas Pro is a mathematical tool that allows you to find the logarithm of a given number with a specified base. Essentially, it tells you how many times you need to multiply the base number to get the number you're looking for. To use it, you simply input the number and the base into the function, like this: LOG(number, base)
. This function can be particularly useful for calculations involving exponential growth or decay.
Documentation
Returns the logarithm of a number to a specified base.
Category
Math and trigonometry
Syntax
LOG(number, [base])
Parameter | Description |
---|---|
number |
The positive real number for which you want to find the logarithm. |
[base] |
Optional. The base of the logarithm you want to find. If omitted, base 10 is used. |
Behavior
The LOG
function is used to calculate the logarithm of a number to a specified base. The default base is 10 if not specified. Here's how it handles different types of input:
- Numbers: The
LOG
function works perfectly with positive numbers. However, it will return an error for negative numbers and zero. - Empty cells: If an empty cell is referenced, the function will treat it as a zero and return an error.
- Text: If a cell containing text is referenced, the function will return a
#VALUE!
error. - Booleans: If a cell contains a boolean value (TRUE/FALSE), the function converts TRUE to 1 (returns 0, since log of 1 is 0) and FALSE to 0 (returns a
#NUM!
error because log of 0 is undefined). - Errors: If a cell referenced in the
LOG
function contains an error, theLOG
function will also return that error.
Common Errors
Error | Description |
---|---|
#NUM! | This error is returned if the number is less than or equal to zero. |
#VALUE! | This error is returned if the base is less than or equal to zero or if the base is 1. It is also returned when the cell referenced contains text. |
#REF! | This error is returned if the cell reference is invalid. |
Best Practices
- Always ensure that the number and the base (if specified) are greater than zero and the base is not one. The
LOG
function returns errors for values that are less than or equal to zero and for base that equals one.- Avoid using cell references that might contain text, as this will cause the
LOG
function to return a#VALUE!
error.- Be aware that
LOG(TRUE)
will return0
as the function convertsTRUE
to1
and the logarithm of 1 is 0.- Always handle possible errors using error handling functions like
IFERROR
orISERROR
to ensure your spreadsheet remains clean and professional.
Usage
A few examples using the LOG function.
LOG(1) returns 0 because log base 10 of 1 is 0
LOG(100, 10) returns 2 because log base 10 of 100 is 2
LOG(A1, 2) returns the logarithm base 2 of the value in cell A1
LOG(TRUE) returns 0 because TRUE is treated as 1
LOG(FALSE) returns #NUM! because FALSE is treated as 0 and log(0) is undefined
LOG(-5) returns #NUM! because the number is negative
LOG(10, 1) returns #NUM! because log base 1 is undefined
Interactive Spreadsheet Demo
<html>
<script src="https://jspreadsheet.com/v11/jspreadsheet.js"></script>
<script src="https://jsuites.net/v5/jsuites.js"></script>
<link rel="stylesheet" href="https://jsuites.net/v5/jsuites.css" type="text/css" />
<link rel="stylesheet" href="https://jspreadsheet.com/v11/jspreadsheet.css" type="text/css" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons" />
<script src="https://cdn.jsdelivr.net/npm/@jspreadsheet/formula-pro/dist/index.min.js"></script>
<div id="spreadsheet"></div>
<script>
// Set your JSS license key (The following key only works for one day)
jspreadsheet.setLicense('ZDliZmExMTVjMTYyYjY4MDJmYzM2NTAwNDQyMThjNmFkY2Y0NDQyNWMxNmU1ZDgzMDQ1NTdkNDdiNDhhODRjMmViODQwYzY5MGEyMmFkYzkxYmU3MWQ5ZDg2MjUzY2E4MGM4YTFjMDJmYzIwOTUzMGU4OGUxOThjZjkzOGVjMmQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01EY3pNekV4TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
worksheets: [{
data: [
[
"Number",
"Base",
"LOG Result"
],
[
100,
10,
"=LOG(A2,B2)"
],
[
8,
2,
"=LOG(A3,B3)"
],
[
1000,
"",
"=LOG(A4)"
],
[
16,
2,
"=LOG(A5,B5)"
]
]
}]
});
</script>
</html>
import React, { useRef } from "react";
import { Spreadsheet, Worksheet, jspreadsheet } from "@jspreadsheet/react";
import formula from "@jspreadsheet/formula-pro";
import "jsuites/dist/jsuites.css";
import "jspreadsheet/dist/jspreadsheet.css";
// Set license
jspreadsheet.setLicense('ZDliZmExMTVjMTYyYjY4MDJmYzM2NTAwNDQyMThjNmFkY2Y0NDQyNWMxNmU1ZDgzMDQ1NTdkNDdiNDhhODRjMmViODQwYzY5MGEyMmFkYzkxYmU3MWQ5ZDg2MjUzY2E4MGM4YTFjMDJmYzIwOTUzMGU4OGUxOThjZjkzOGVjMmQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01EY3pNekV4TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
export default function App() {
// Spreadsheet array of worksheets
const spreadsheet = useRef();
// Worksheet data
const data = [
[
"Number",
"Base",
"LOG Result"
],
[
100,
10,
"=LOG(A2,B2)"
],
[
8,
2,
"=LOG(A3,B3)"
],
[
1000,
"",
"=LOG(A4)"
],
[
16,
2,
"=LOG(A5,B5)"
]
];
// Render component
return (
<Spreadsheet ref={spreadsheet}>
<Worksheet data={data} />
</Spreadsheet>
);
}
<template>
<Spreadsheet ref="spreadsheet">
<Worksheet :data="data" />
</Spreadsheet>
</template>
<script>
import { Spreadsheet, Worksheet, jspreadsheet } from "@jspreadsheet/vue";
import "jsuites/dist/jsuites.css";
import "jspreadsheet/dist/jspreadsheet.css";
import formula from "@jspreadsheet/formula-pro";
// Set license
jspreadsheet.setLicense('ZDliZmExMTVjMTYyYjY4MDJmYzM2NTAwNDQyMThjNmFkY2Y0NDQyNWMxNmU1ZDgzMDQ1NTdkNDdiNDhhODRjMmViODQwYzY5MGEyMmFkYzkxYmU3MWQ5ZDg2MjUzY2E4MGM4YTFjMDJmYzIwOTUzMGU4OGUxOThjZjkzOGVjMmQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01EY3pNekV4TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
export default {
components: {
Spreadsheet,
Worksheet,
},
data() {
// Worksheet data
const data = [
[
"Number",
"Base",
"LOG Result"
],
[
100,
10,
"=LOG(A2,B2)"
],
[
8,
2,
"=LOG(A3,B3)"
],
[
1000,
"",
"=LOG(A4)"
],
[
16,
2,
"=LOG(A5,B5)"
]
]
return {
data
};
}
}
</script>
import { Component, ViewChild, ElementRef } from "@angular/core";
import jspreadsheet from "jspreadsheet";
import * as formula from "@jspreadsheet/formula-pro";
// Set your JSS license key (The following key only works for one day)
jspreadsheet.setLicense('ZDliZmExMTVjMTYyYjY4MDJmYzM2NTAwNDQyMThjNmFkY2Y0NDQyNWMxNmU1ZDgzMDQ1NTdkNDdiNDhhODRjMmViODQwYzY5MGEyMmFkYzkxYmU3MWQ5ZDg2MjUzY2E4MGM4YTFjMDJmYzIwOTUzMGU4OGUxOThjZjkzOGVjMmQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01EY3pNekV4TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
@Component({
standalone: true,
selector: "app-root",
template: `<div #spreadsheet></div>`
})
export class AppComponent {
@ViewChild("spreadsheet") spreadsheet: ElementRef;
// Worksheets
worksheets: jspreadsheet.worksheetInstance[];
// Create a new data grid
ngAfterViewInit() {
// Create spreadsheet
this.worksheets = jspreadsheet(this.spreadsheet.nativeElement, {
worksheets: [{
data: [
[
"Number",
"Base",
"LOG Result"
],
[
100,
10,
"=LOG(A2,B2)"
],
[
8,
2,
"=LOG(A3,B3)"
],
[
1000,
"",
"=LOG(A4)"
],
[
16,
2,
"=LOG(A5,B5)"
]
]
}]
});
}
}