TAKE function
The TAKE
function in Jspreadsheet Formulas Pro extracts a specified number of rows or columns from an array. You can use positive values to extract from the start, or negative values to extract from the end. This makes it useful for working with dynamic datasets where you only need a subset of rows or columns.
Documentation
Extract specific rows or columns from an array using positive or negative index values.
Category
Array
Syntax
TAKE(array, rows, [columns])
Parameter | Description |
---|---|
array |
The array from which to extract rows or columns. |
rows |
The number of rows to extract from the start or end of the array. A positive value extracts from the start, and a negative value extracts from the end. |
[columns] |
Optional. The number of columns to extract from the start or end of the array. A positive value extracts from the start, and a negative value extracts from the end. If not specified, all columns are included. |
Behavior
The TAKE
function in Jspreadsheet extracts a subset of rows or columns from an array (cell range).
- Rows argument (rows): A positive value returns rows starting from the top of the array. A negative value returns rows starting from the bottom of the array.
- Columns argument (columns): A positive value returns columns starting from the left of the array. A negative value returns columns starting from the right of the array.
- If omitted, all columns are returned.
- Empty arrays return #N/A.
- If rows or columns exceeds the array size, the function returns #REF!.
Non-numeric rows or columns values cause a #VALUE! error.
Usage
A few examples using the TAKE function.
TAKE(A1:D4, 2, 3) returns the first 2 rows and 3 columns of the array.
TAKE(E1:H4, -3) returns the last 3 rows of the array.
TAKE(I1:K4, 2, -1) returns the first 2 rows and excludes the last column of the array.
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('OGU3MzczMDk5YmEwNGM5NzYxOTg0OTQ3MjU4NGFkZmZmY2FkYzM4ZDgyODBiYmFiN2Q4YWJkZWNlODZmM2MzYjA5ZTFlYjFhYTUxNjhlODk5NGFhOGFkMGZkYjU5MDkzZWQzNzhkNGFmZTAwOTk4YjE4NmZiZTEwMTI2YTgyNmMsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01EY3pORFF6TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
worksheets: [{
data: [
[
"Product",
"Q1",
"Q2",
"Q3",
"Q4"
],
[
"Laptops",
150,
180,
200,
175
],
[
"Tablets",
120,
140,
160,
145
],
[
"Phones",
300,
320,
350,
330
],
[
"Monitors",
80,
95,
110,
100
],
[
"",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,2,3)",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,-2)",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,3,-1)",
"",
"",
"",
""
]
]
}]
});
</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('OGU3MzczMDk5YmEwNGM5NzYxOTg0OTQ3MjU4NGFkZmZmY2FkYzM4ZDgyODBiYmFiN2Q4YWJkZWNlODZmM2MzYjA5ZTFlYjFhYTUxNjhlODk5NGFhOGFkMGZkYjU5MDkzZWQzNzhkNGFmZTAwOTk4YjE4NmZiZTEwMTI2YTgyNmMsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01EY3pORFF6TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
export default function App() {
// Spreadsheet array of worksheets
const spreadsheet = useRef();
// Worksheet data
const data = [
[
"Product",
"Q1",
"Q2",
"Q3",
"Q4"
],
[
"Laptops",
150,
180,
200,
175
],
[
"Tablets",
120,
140,
160,
145
],
[
"Phones",
300,
320,
350,
330
],
[
"Monitors",
80,
95,
110,
100
],
[
"",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,2,3)",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,-2)",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,3,-1)",
"",
"",
"",
""
]
];
// 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('OGU3MzczMDk5YmEwNGM5NzYxOTg0OTQ3MjU4NGFkZmZmY2FkYzM4ZDgyODBiYmFiN2Q4YWJkZWNlODZmM2MzYjA5ZTFlYjFhYTUxNjhlODk5NGFhOGFkMGZkYjU5MDkzZWQzNzhkNGFmZTAwOTk4YjE4NmZiZTEwMTI2YTgyNmMsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01EY3pORFF6TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
export default {
components: {
Spreadsheet,
Worksheet,
},
data() {
// Worksheet data
const data = [
[
"Product",
"Q1",
"Q2",
"Q3",
"Q4"
],
[
"Laptops",
150,
180,
200,
175
],
[
"Tablets",
120,
140,
160,
145
],
[
"Phones",
300,
320,
350,
330
],
[
"Monitors",
80,
95,
110,
100
],
[
"",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,2,3)",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,-2)",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,3,-1)",
"",
"",
"",
""
]
]
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('OGU3MzczMDk5YmEwNGM5NzYxOTg0OTQ3MjU4NGFkZmZmY2FkYzM4ZDgyODBiYmFiN2Q4YWJkZWNlODZmM2MzYjA5ZTFlYjFhYTUxNjhlODk5NGFhOGFkMGZkYjU5MDkzZWQzNzhkNGFmZTAwOTk4YjE4NmZiZTEwMTI2YTgyNmMsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01EY3pORFF6TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// 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: [
[
"Product",
"Q1",
"Q2",
"Q3",
"Q4"
],
[
"Laptops",
150,
180,
200,
175
],
[
"Tablets",
120,
140,
160,
145
],
[
"Phones",
300,
320,
350,
330
],
[
"Monitors",
80,
95,
110,
100
],
[
"",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,2,3)",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,-2)",
"",
"",
"",
""
],
[
"=TAKE(A1:E5,3,-1)",
"",
"",
"",
""
]
]
}]
});
}
}