Google Sheets Tips

ROUND, CEILING and FLOOR in Google Sheets: which rounding function to use

ROUND rounds to a number of decimal places, CEILING and FLOOR round up or down to a multiple, and MROUND rounds to the nearest multiple. This guide compares all the rounding functions of Google Sheets on the same numbers, shows how to round to the nearest 0.5, 5 or 10 and to quarter hours, and explains what each function does with negative numbers.

Google Sheets TipsVadym Kramarenko10 min read

ROUND, CEILING and FLOOR in Google Sheets: which rounding function to use

Google Sheets rounds in two ways. ROUND, ROUNDUP and ROUNDDOWN round to a number of decimal places. CEILING, FLOOR and MROUND round to a multiple of a number you choose, such as 0.5, 5 or 10.

=ROUND(87.16, 0)

=CEILING(87.16, 10)

=FLOOR(87.16, 10)

The results are 87, 90 and 80.

Which rounding function to use

Which rounding function to use

To round Use 4.3 becomes -4.3 becomes
To the nearest whole number or decimal place ROUND(value, places) 4 -4
Always away from zero ROUNDUP(value, places) 5 -5
Always toward zero ROUNDDOWN(value, places) 4 -4
Up to a multiple CEILING(value, factor) 5 -4
Down to a multiple FLOOR(value, factor) 4 -5
To the nearest multiple MROUND(value, factor) 4 see below
Down to a whole number INT(value) 4 -5
Cut off the decimals TRUNC(value) 4 -4

The quick answers to the common tasks:

Task Formula 7.3 becomes
Round to the nearest 0.5 =MROUND(A2, 0.5) 7.5
Round up to the next 0.5 =CEILING(A2, 0.5) 7.5
Round down to the previous 0.5 =FLOOR(A2, 0.5) 7
Round to two decimal places =ROUND(A2, 2) 7.3
Round to the nearest 10 =ROUND(A2, -1) 10
Round up to the next 5 =CEILING(A2, 5) 10

ROUND, ROUNDUP and ROUNDDOWN

ROUND, ROUNDUP and ROUNDDOWN

=ROUND(value, [places])

  • value: the number to round.
  • places: the number of decimal places. Optional, 0 by default. A negative number rounds to the left of the decimal point: -1 to tens, -2 to hundreds.

ROUNDUP and ROUNDDOWN take the same arguments.

=ROUND(C3, 0)

Google Sheets with prices in column C and the formula =ROUND(C3, 0) returning 87 for 87.16 and 360 for 359.52

ROUND goes to the nearest value, and a 5 rounds away from zero: 2.5 becomes 3 and -4.5 becomes -5.

=ROUNDUP(C3)

Google Sheets with the formula =ROUNDUP(C3) returning 88 for 87.16

=ROUNDDOWN(C3, 0)

Google Sheets with the formula =ROUNDDOWN(C3, 0) returning 87 for 87.16 and 359 for 359.52

Round to tens, hundreds or thousands

=ROUND(C3, -1)

Google Sheets with weights in column C and the formula =ROUND(C3, -1) returning 10 for 12.34 and 20 for 15.89

=ROUND(1234.567, -2) returns 1200. The places can come from a cell, which lets one formula round different rows to different precision:

=ROUNDDOWN(C3, D3)

Google Sheets with values in column C, the number of places in column D and the formulas ROUNDDOWN and ROUNDUP; with -1 places 12.34 becomes 10 and 20

Negative numbers

“Up” in ROUNDUP means away from zero, and “down” in ROUNDDOWN means toward zero:

Google Sheets with negative weights in column C and three columns of results: ROUND returns -3 for -3.21, ROUNDUP -4 and ROUNDDOWN -3

Remove the time from a date

A date with a time is a number with decimals: the whole part is the day, the fraction the time. Rounding down leaves the date:

=ROUNDDOWN(C3, 0)

Google Sheets with dates and times in column C and the formula =ROUNDDOWN(C3,0) returning the same dates with the time 00:00:00

INT(C3) does the same. Format the result as a date to hide the zero time. See dates and times.

ROUND or a number format

The decimal buttons on the toolbar change how a number looks, not the number. A cell that shows 0.3 may hold 0.33333, and a sum of such cells adds the full values, so a column of rounded-looking numbers can add up to a total that seems off by a cent. ROUND changes the value itself. Use the format for display and ROUND when the rounded number goes into further calculations, such as invoice lines.

The Turning Point

OWOX Data Marts

See your first report built in real time. 15 minutes.

  1. Connect your data warehouse
  2. Pick your metrics
  3. Get a live Google Sheets report

In the time it takes to write a ticket. Then imagine never writing that ticket again.

Book a Demo

We'll use your actual use case

CEILING and FLOOR: round to a multiple

CEILING and FLOOR: round to a multiple

=CEILING(value, [factor])

=FLOOR(value, [factor])

  • value: the number to round.
  • factor: the multiple to round to. Optional, 1 by default.

CEILING goes up to the next multiple, FLOOR down to the previous one.

=CEILING(C3, 1)

Google Sheets with weights in column C and the formula =CEILING(C3, 1) returning 13 for 12.34 and 16 for 15.89

=FLOOR(C3, 1)

Google Sheets with prices in column C and the formula =FLOOR(C3, 1) returning 87 for 87.16 and 359 for 359.52

To the nearest 5 or 10

=FLOOR(C3, 5)

Google Sheets with weights in column C and the formula =FLOOR(C3, 5) returning 15 for 17.68 and 20 for 21.23

=CEILING(C3, 10)

Google Sheets with the formulas CEILING, CEILING.MATH and CEILING.PRECISE with a factor of 10, all returning 20 for 12.34 and 30 for 20.01

To the nearest 0.5

=CEILING(C3, 0.5)

Google Sheets with the formula =CEILING(C3, 0.5) returning 12.5 for 12.34 and 16 for 15.89

CEILING always goes up and FLOOR always down. To round to the nearest half, use MROUND:

=MROUND(C3, 0.5)

MROUND returns 12.5 for 12.34 and 16 for 15.89, but 12 for 12.2, where CEILING would return 12.5. The same works for any step: =MROUND(A2, 5), =MROUND(A2, 0.25).

A factor from a cell

=CEILING(C3, D3)

Google Sheets with weights in column C, a round-up base of 5, 10, 15, 20 or 30 in column D and a CEILING.MATH formula that takes its factor from column D through INDIRECT

Each row is rounded up to a multiple of its own base. The formula in the screenshot reads the base through INDIRECT, which is not needed: a plain reference to D3 gives the same result and follows the row when the formula is copied down.

CEILING.MATH, CEILING.PRECISE, FLOOR.MATH, FLOOR.PRECISE

CEILING.MATH, CEILING.PRECISE, FLOOR.MATH, FLOOR.PRECISE

These four mirror the Excel functions of the same names. For positive numbers they return the same as CEILING and FLOOR. They differ in how they treat negative numbers:

=CEILING.MATH(number, [significance], [mode])

=FLOOR.MATH(number, [significance], [mode])

=CEILING.PRECISE(number, [significance])

=FLOOR.PRECISE(number, [significance])

Formula Result for -4.3 Direction
=CEILING(-4.3) -4 Toward zero
=CEILING(-4.3, -1) -5 Away from zero
=CEILING.MATH(-4.3) -4 Toward zero
=CEILING.MATH(-4.3, 1, -1) -5 Away from zero (mode set)
=CEILING.PRECISE(-4.3) -4 Toward zero
=FLOOR(-4.3, 1) -5 Away from zero
=FLOOR(-4.3, -1) -4 Toward zero
=FLOOR.MATH(-4.3) -5 Away from zero
=FLOOR.MATH(-4.3, 1, 1) -4 Toward zero (mode set)
=FLOOR.PRECISE(-4.3) -5 Away from zero

“Up” for the ceiling functions means toward positive infinity, so -4.3 goes to -4. The mode argument of the .MATH functions, when it is not zero, reverses the direction for negative numbers.

Google Sheets with negative weights and four columns: CEILING, CEILING.MATH and CEILING.PRECISE return -3 for -3.21, CEILING.MATH with a mode returns -4

Google Sheets with negative weights and the formulas FLOOR and FLOOR.MATH with a factor of 5 returning -5 for -3.21, and FLOOR.MATH with a mode returning 0

Round time

Round time

Time is a fraction of a day, so it rounds to a multiple like any number. Give the step as a time:

  • =FLOOR(A2, "0:30") rounds 9:47 down to 9:30.
  • =CEILING(A2, "0:15") rounds 9:47 up to 10:00.
  • =MROUND(A2, "0:15") rounds 9:47 to the nearest quarter, 9:45.

Format the result as a time. If the hours are kept as decimal numbers, as on a timesheet, the step is a decimal too. This formula turns a time into decimal hours:

=HOUR(C3) + (MINUTE(C3) / 60)

Google Sheets with times in column C and the formula =HOUR(C3) + (MINUTE(C3) / 60) returning 8.5 for 8:30 AM and 9.25 for 9:15 AM

=CEILING.MATH(D3, 0.25)

Google Sheets with decimal hours in column D and a CEILING.MATH formula with a step of 0.25 returning 9.25 for 9.2 and 10.75 for 10.71

=FLOOR(D3, 0.5)

Google Sheets with decimal hours in column D and the formula =FLOOR(D3, 0.5) returning 9 for 9.25 and 10.5 for 10.75

Rounding inside other formulas

Rounding inside other formulas

Round the result of a calculation, not its inputs: wrap the whole formula.

=CEILING(SUM(C3:D3), 1)

Google Sheets with two weight columns and three result columns: CEILING of the row sum returns 31, FLOOR.MATH and ROUND return 30 for 12.34 plus 17.68

The factor must not be 0: =CEILING(SUM(C3:D3), 0) returns 0, and FLOOR with a factor of 0 returns #DIV/0!.

=ROUND(AVERAGE(C3:C12), 1)

Google Sheets with weights in C3:C12 and the formula =ROUND(AVERAGE(C3:C12), 1) returning 26.5 for an average of 26.464

With IF, the precision can depend on the value:

=IF(C3 < 30, ROUND(C3, 0), ROUND(C3, 1))

Google Sheets with weights in column C and an IF formula that rounds values under 30 to whole numbers and the others to one decimal place

Rounding each row and then adding gives a different total from adding first and rounding once. Decide which one the report needs, and use the same order everywhere.

Errors and wrong results

Errors and wrong results

⚠️ Error: #NUM!

✅ Solution: The value is positive and the factor negative, as in =CEILING(4.3, -1), or MROUND was given a value and a factor of different signs. Use the same sign for both.

⚠️ Error: #DIV/0!

✅ Solution: FLOOR or MROUND has a factor of 0. Often the factor comes from an empty cell.

⚠️ Error: CEILING returns 0.

✅ Solution: The factor is 0. Set it to 1 for whole numbers.

⚠️ Error: #VALUE!

✅ Solution: The value is text, such as “abc” or a number with a currency sign typed as text. Convert it with VALUE first.

⚠️ Error: A total does not match the sum of the rounded numbers on screen.

✅ Solution: The cells are formatted to fewer decimals but hold the full values. Round with ROUND where the rounded value matters.

⚠️ Error: A negative number rounds the “wrong” way.

✅ Solution: Check the table above: CEILING and INT move toward positive and negative infinity, ROUNDUP and ROUNDDOWN away from and toward zero.

Related Google Sheets functions

Rounding is the last step, the numbers come first

Rounding is the last step, the numbers come first

Rounding rules are easy to agree on and easy to check. The numbers being rounded are harder: in a report built on pasted exports, two people can round the same metric correctly and still show different figures, because their copies of the data are from different days. No rounding function can close that gap.

The OWOX Data Marts extension for Google Sheets covers that half. A data analyst publishes a data mart (a table or an SQL query in your data warehouse) and makes it available for reports. In Sheets you open the extension, pick the data mart, tick the columns you want and run it. The rows land in a tab, ready for your formulas.

Google Sheets with the OWOX Data Marts extension open beside an ad spend table: the Unified Ad Spend data mart, nine of fourteen columns ticked and a Save & Run button – the rows in the sheet come from a governed data mart, not a pasted export

What changes for the person who maintains the sheet:

  • Refresh replaces re-export. Refresh current report in the extension menu re-runs the same pull, and a scheduled refresh keeps the tab current without anyone touching it.
  • The source is written on the sheet. The header cell of an imported tab carries a note with the data mart it came from, the time of the import and a link to the report.
  • No SQL and no warehouse access needed. The analyst decides which data marts and columns are available. You choose from that list.

The extension does not write or change the analyst’s SQL. Everyone rounds the same refreshed numbers, and a difference between two reports is a difference in the formulas, which is easy to find. The extension comes with the OWOX Cloud plans of OWOX Data Marts; spreadsheet reporting describes both ways data reaches a sheet.

Your New Normal

Turn your data into decisions.

Governed data marts give you the clean foundation ML needs to actually work.

  • No AI hallucinations
  • Analyst-governed definitions
  • Every number traces to SQL
Get started free

FAQ

Frequently Asked Questions

Can I round negative numbers using the ROUNDUP function?

Yes, ROUNDUP rounds negative numbers away from zero, just like positive numbers. For example, =ROUNDUP(-4.5, 0) will return -5, effectively rounding the value up to the nearest integer away from zero.

What’s the difference between FLOOR and FLOOR.MATH in Google Sheets?

For positive numbers FLOOR and FLOOR.MATH return the same result: both round down to a multiple. They differ for negative numbers. FLOOR(-4.3, 1) and FLOOR.MATH(-4.3) both return -5, away from zero, but FLOOR.MATH has a third argument, mode: FLOOR.MATH(-4.3, 1, 1) returns -4, toward zero. FLOOR gets the same result with a negative factor, FLOOR(-4.3, -1).

How do I troubleshoot the #VALUE! error when using the FLOOR function in Google Sheets?

The #VALUE! error often indicates a non-numeric entry in your FLOOR formula. Check that all values and cells referenced are numbers, and remove any text or formatting that may interfere with the calculation.

How can I round numbers up to the nearest 10 in Google Sheets?

Enter =CEILING(cell, 10) to round a number up to the next multiple of 10. This is useful for standardizing figures, managing financial data, and simplifying values into rounded increments, especially when grouping data into easily readable numbers.

How do I round numbers to two decimal places in Google Sheets?

Use =ROUND(cell, 2), where "cell" is the cell reference or value you want to round. This formula ensures the value is rounded to exactly two decimal places, ideal for financial data, grades, or any other information requiring decimal precision.

What is the difference between the ROUND, FLOOR, and CEILING functions in Google Sheets?

ROUND rounds numbers to the nearest specified decimal or integer, useful for general rounding. FLOOR rounds down to the nearest multiple, ideal for budgeting or standardizing figures. CEILING rounds up to the nearest multiple, ensuring values meet or exceed set thresholds.

Who wrote this

Vadym Kramarenko

Vadym Kramarenko · Growth Marketing Manager

Vadym Kramarenko is a Growth Marketing Manager at OWOX, where he drives user acquisition and product-led growth strategies. He hosts the OWOX podcast, interviewing analytics professionals about data-driven marketing, attribution, and reporting best practices. Vadym specializes in turning complex analytics concepts into practical, actionable marketing frameworks.