Products

ISO.CEILING function

PRO

The ISO.CEILING function in Jspreadsheet Formulas Pro is a useful tool for rounding numbers upwards. This function will round a number to the closest integer, or alternatively, to a specified multiple that you choose. Importantly, the result will always round away from zero, in compliance with ISO rounding rules, making it reliable for consistent numerical calculations.

Documentation

Rounds a number up to the nearest integer or to the nearest multiple of a specified significance, and returns a result that is on the ISO list of paper sizes.

Category

Math and trigonometry

Syntax

ISO.CEILING(number, [significance])

Parameter Description
number The number that you want to round.
significance Optional. The multiple to which you want to round. If omitted, defaults to 1.

Behavior

The ISO.CEILING function rounds a number up, to the nearest multiple of significance. The difference between this function and the CEILING function is that ISO.CEILING always rounds away from zero. Here's how it handles different input:

  • Empty cells: If the provided reference cell is empty, the function treats it as zero.
  • Text: If the cell reference contains text, the function will return a #VALUE! error.
  • Booleans: Boolean values are treated as numbers, with TRUE being equivalent to 1 and FALSE equivalent to 0.
  • Errors: If the cell reference contains an error, the function will propagate the error.
  • Negative Numbers: The function rounds negative numbers away from zero, meaning they become less negative.

Common Errors

Error Description
#VALUE! This error is returned if any of the provided arguments are non-numeric.
#NUM! This error is returned if the significance provided is zero.

Best practices

  • Always ensure that the inputs to the ISO.CEILING function are numeric. Non-numeric values will result in a #VALUE! error.
  • Be aware that the function treats empty cells as zero. Make sure your referenced cells contain relevant data.
  • Use absolute cell references if you want to copy the function across multiple cells.
  • Keep in mind that ISO.CEILING always rounds away from zero, even for negative numbers. This is a key difference between ISO.CEILING and other rounding functions.

Usage

A few examples using the ISO.CEILING function.

ISO.CEILING(2.7) ➜ 3 // rounds up to nearest integer
ISO.CEILING(5.5, 0.5) ➜ 5.5 // rounds up to nearest multiple of 0.5
ISO.CEILING(123, 10) ➜ 130 // rounds up to nearest multiple of 10
ISO.CEILING(A1:A3, 5) ➜ array of values rounded up to nearest multiple of 5

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('NDQ3ZDhkMTA2NDdiZDVjMzAwZTUyNTg4NTgwMjljMTY5Yjc0NjY3MmEzMjI3OTg2NWU5YWI2NGMwNjA4OTliMjRiM2ZiNzM2NzI2Yzc3Mzk5ZTQ5N2RkZDFjZGNhODE1MGNhMTRiODBiZmRjZjM2NjRlM2EwMWZjYTY1ZDI2OWEsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNRE01TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

// Set the extensions
jspreadsheet.setExtensions({ formula });

// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
  worksheets: [{
    data: [
    [
        "Number",
        "Significance",
        "ISO.CEILING Result"
    ],
    [
        2.3,
        "",
        "=ISO.CEILING(A2)"
    ],
    [
        4.7,
        0.5,
        "=ISO.CEILING(A3,B3)"
    ],
    [
        8.2,
        2,
        "=ISO.CEILING(A4,B4)"
    ],
    [
        15.6,
        "",
        "=ISO.CEILING(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('NDQ3ZDhkMTA2NDdiZDVjMzAwZTUyNTg4NTgwMjljMTY5Yjc0NjY3MmEzMjI3OTg2NWU5YWI2NGMwNjA4OTliMjRiM2ZiNzM2NzI2Yzc3Mzk5ZTQ5N2RkZDFjZGNhODE1MGNhMTRiODBiZmRjZjM2NjRlM2EwMWZjYTY1ZDI2OWEsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNRE01TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

// Set the extensions
jspreadsheet.setExtensions({ formula });

export default function App() {
    // Spreadsheet array of worksheets
    const spreadsheet = useRef();

    // Worksheet data
    const data = [
    [
        "Number",
        "Significance",
        "ISO.CEILING Result"
    ],
    [
        2.3,
        "",
        "=ISO.CEILING(A2)"
    ],
    [
        4.7,
        0.5,
        "=ISO.CEILING(A3,B3)"
    ],
    [
        8.2,
        2,
        "=ISO.CEILING(A4,B4)"
    ],
    [
        15.6,
        "",
        "=ISO.CEILING(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('NDQ3ZDhkMTA2NDdiZDVjMzAwZTUyNTg4NTgwMjljMTY5Yjc0NjY3MmEzMjI3OTg2NWU5YWI2NGMwNjA4OTliMjRiM2ZiNzM2NzI2Yzc3Mzk5ZTQ5N2RkZDFjZGNhODE1MGNhMTRiODBiZmRjZjM2NjRlM2EwMWZjYTY1ZDI2OWEsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNRE01TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

// Set the extensions
jspreadsheet.setExtensions({ formula });

export default {
    components: {
        Spreadsheet,
        Worksheet,
    },
    data() {
        // Worksheet data
        const data = [
    [
        "Number",
        "Significance",
        "ISO.CEILING Result"
    ],
    [
        2.3,
        "",
        "=ISO.CEILING(A2)"
    ],
    [
        4.7,
        0.5,
        "=ISO.CEILING(A3,B3)"
    ],
    [
        8.2,
        2,
        "=ISO.CEILING(A4,B4)"
    ],
    [
        15.6,
        "",
        "=ISO.CEILING(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('NDQ3ZDhkMTA2NDdiZDVjMzAwZTUyNTg4NTgwMjljMTY5Yjc0NjY3MmEzMjI3OTg2NWU5YWI2NGMwNjA4OTliMjRiM2ZiNzM2NzI2Yzc3Mzk5ZTQ5N2RkZDFjZGNhODE1MGNhMTRiODBiZmRjZjM2NjRlM2EwMWZjYTY1ZDI2OWEsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNRE01TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

// 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",
        "Significance",
        "ISO.CEILING Result"
    ],
    [
        2.3,
        "",
        "=ISO.CEILING(A2)"
    ],
    [
        4.7,
        0.5,
        "=ISO.CEILING(A3,B3)"
    ],
    [
        8.2,
        2,
        "=ISO.CEILING(A4,B4)"
    ],
    [
        15.6,
        "",
        "=ISO.CEILING(A5)"
    ]
]
            }]
        });
    }
}