IMSQRT function
PRO
BASIC
The IMSQRT
function in Jspreadsheet Formulas Pro is a useful tool when dealing with complex numbers. It is designed to return the square root of a complex number that you provide. In other words, it calculates the number which when multiplied by itself gives the original complex number. This function is especially helpful in fields like engineering or physics where complex number calculations are common.
Documentation
Returns the square root of a complex number.
Category
Engineering
Syntax
IMSQRT(inumber)
Parameter | Description |
---|---|
inumber |
The complex number for which you want to calculate the square root. |
Behavior
The IMSQRT
function is used to calculate the square root of a complex number. Here's how it handles various inputs:
- Empty Cells: If the
IMSQRT
function is used with an empty cell, it returns a#VALUE!
error because the input cannot be interpreted as a complex number. - Text: If the input is a pure text string that cannot be interpreted as a complex number, the
IMSQRT
function returns a#VALUE!
error. - Booleans: The function doesn't support boolean values. If a boolean value is provided as the argument, the function will treat it as an integer (TRUE as 1 and FALSE as 0).
- Errors: If the argument in the
IMSQRT
function is another function or formula that results in an error, thenIMSQRT
will also result in an error. - Complex Numbers: The
IMSQRT
function works best with complex numbers. The function calculates the square root of the given complex number.
Common Errors
Error | Description |
---|---|
#NUM! | Occurs if the argument to IMSQRT function is either non-numeric or is an invalid numeric value. |
#VALUE! | Occurs if the input is a pure text string which cannot be interpreted as a complex number or if the argument is a boolean value. |
Error passed from argument | If the argument in the IMSQRT function is another function or formula that results in an error, then IMSQRT will result in the same error. |
Best practices
- Always ensure that the input to the
IMSQRT
function is a valid complex number.- Handle errors properly to ensure that your spreadsheets remain clean and easy to read. Use error functions like
IFERROR
to handle errors and provide a default value if an error occurs.- Be careful about the cell references and ranges when using
IMSQRT
function to avoid unexpected#NUM!
and#VALUE!
errors.- Remember that
IMSQRT
function cannot be used with logical values or pure text strings which cannot be interpreted as complex numbers.
Usage
A few examples using the IMSQRT function.
IMSQRT("1+i") returns 1.09868411346781+0.455089860562227i
IMSQRT("4+0i") returns 2
IMSQRT("-1") returns 6.1257422745431E-17+i
IMSQRT(9) returns 3 // Treated as a real number
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('MWJiZTExNGNkZGIxMDYwNjA4YjdkNDQxZDFiNjVmNmNhZGE5N2RlMTA2NDlmOTlhYzU4OTdlNDYxYTVhYWNmM2QwYjJlODJlYzYwMTg2MTVkZGFjNjBmMDRhNjc1OGE2N2U3NDBmYjY4ZDllOTA3NmY5ODU5YTJjOWVjMDE4ZGQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNekk1TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
worksheets: [{
data: [
[
"Complex Number",
"Square Root"
],
[
"1+i",
"=IMSQRT(A2)"
],
[
"4+3i",
"=IMSQRT(A3)"
],
[
"2-2i",
"=IMSQRT(A4)"
],
[
"-1+0i",
"=IMSQRT(A5)"
]
]
}]
});
</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('MWJiZTExNGNkZGIxMDYwNjA4YjdkNDQxZDFiNjVmNmNhZGE5N2RlMTA2NDlmOTlhYzU4OTdlNDYxYTVhYWNmM2QwYjJlODJlYzYwMTg2MTVkZGFjNjBmMDRhNjc1OGE2N2U3NDBmYjY4ZDllOTA3NmY5ODU5YTJjOWVjMDE4ZGQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNekk1TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
export default function App() {
// Spreadsheet array of worksheets
const spreadsheet = useRef();
// Worksheet data
const data = [
[
"Complex Number",
"Square Root"
],
[
"1+i",
"=IMSQRT(A2)"
],
[
"4+3i",
"=IMSQRT(A3)"
],
[
"2-2i",
"=IMSQRT(A4)"
],
[
"-1+0i",
"=IMSQRT(A5)"
]
];
// 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('MWJiZTExNGNkZGIxMDYwNjA4YjdkNDQxZDFiNjVmNmNhZGE5N2RlMTA2NDlmOTlhYzU4OTdlNDYxYTVhYWNmM2QwYjJlODJlYzYwMTg2MTVkZGFjNjBmMDRhNjc1OGE2N2U3NDBmYjY4ZDllOTA3NmY5ODU5YTJjOWVjMDE4ZGQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNekk1TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
export default {
components: {
Spreadsheet,
Worksheet,
},
data() {
// Worksheet data
const data = [
[
"Complex Number",
"Square Root"
],
[
"1+i",
"=IMSQRT(A2)"
],
[
"4+3i",
"=IMSQRT(A3)"
],
[
"2-2i",
"=IMSQRT(A4)"
],
[
"-1+0i",
"=IMSQRT(A5)"
]
]
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('MWJiZTExNGNkZGIxMDYwNjA4YjdkNDQxZDFiNjVmNmNhZGE5N2RlMTA2NDlmOTlhYzU4OTdlNDYxYTVhYWNmM2QwYjJlODJlYzYwMTg2MTVkZGFjNjBmMDRhNjc1OGE2N2U3NDBmYjY4ZDllOTA3NmY5ODU5YTJjOWVjMDE4ZGQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNekk1TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// 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: [
[
"Complex Number",
"Square Root"
],
[
"1+i",
"=IMSQRT(A2)"
],
[
"4+3i",
"=IMSQRT(A3)"
],
[
"2-2i",
"=IMSQRT(A4)"
],
[
"-1+0i",
"=IMSQRT(A5)"
]
]
}]
});
}
}