Available in:All versions (Works in Excel 2007, every later version, Microsoft 365 and Excel for the web)Examples need Excel 2021 or laterCategory:Math

INT

INTEGER in Dutch Excel

Rounds a number down to the nearest whole number below it, which also strips the time from a date-time value.

Difficulty rating 1 of 5. One argument and no options; the only trap is that negative numbers go down to the next lower integer, so -3.2 becomes -4 and not -3.

Last updated: 13 October 2026

See the worked examples

Sheet excerpt: C2 holds the formula
RowABC
1Invoice no.Days overdueFull periods
225-1041959533=INT(B2 / 30)=INT(B2 / 30)
325-10423030
425-10436161
525-10442929
625-1045118118
Formula cell (C2)Input

Result: 3

=INT(B2 / 30)
=INT(B2 / 30)

What INT does and when to use it

What it does: it rounds a number down to the whole number at or below it, for example 75 days overdue gives 2 full periods of 30 days.

When to use it: for whole units from a division, for bands of equal width, and to separate the date from a date-time. Note that -0.65 becomes -1, not 0. To round to the nearest whole number, use ROUND.

How Excel evaluates it

Excel evaluates number first, including any division or reference inside it. It then looks for the largest whole number that is less than or equal to that value:

  • a value that is already whole comes back unchanged
  • a positive number with a fractional part loses it
  • a negative number with a fractional part moves down to the next integer

The result is a plain number; when the input was a date-time, the result is the date's serial number and the cell needs a date format to read as a date.

Watch out: For a negative number INT goes down, not toward zero: -3.2 becomes -4, not -3. Use TRUNC when a negative number must be cut toward zero, so that -3.2 becomes -3.

Mental model

A number line with a marker on every whole number: INT always slides left to the nearest marker, never right, whichever side of zero you start on.

Terms used on this page: reference, serial number, cell

INT(number)
INT(number)
Arguments
ArgumentTypeMeaning
numberRequiredThe value to round down to a whole number; negatives go further from zero.

Return value:The largest whole number that is not greater than number

Formulas use commas (,) between arguments, as in English Excel. Formulas use semicolons (;) between arguments, as in Dutch Excel. Formulas use commas (,) between arguments, as in English Excel; Dutch Excel uses semicolons (;).

Worked examples

Beginner

Full 30-day periods overdue on a receivables aging list

You are working through the client's receivables aging list (ouderdomsanalyse debiteuren). For each open invoice you have the number of days past the due date, and you want to know how many full 30-day periods it is overdue, to sort invoices into the 30, 60 and 90-day bands.

An invoice 95 days overdue has passed 3 full periods; the list should say 3.

Sheet excerpt: C2 holds the formula
RowABCD
1Invoice no.Days overdueFull periods
225-1041959533=INT(B2 / 30)=INT(B2 / 30)
325-10423030
425-10436161
525-10442929
625-1045118118
7
Formula cell (C2)Input

Formula in C2

=INT(B2 / 30)
=INT(B2 / 30)

Result: 33

Step by step
  1. Excel evaluates the argument first: B2 / 30 = 95 / 30 = 3.166..., the number of periods if a part-period counted.
  2. INT looks for the largest whole number not above 3.166...: that is 3. The .166... (5 days) is dropped.
  3. C2 shows 3. Check: 3 × 30 = 90 days, and 95 - 90 = 5 days remain, fewer than a full period.
  4. Copy down. C3: 30 / 30 = 1 exactly, so INT returns 1 unchanged. C4: 61 / 30 = 2.033..., so 2. C5: 29 / 30 = 0.966..., so 0.
  5. C5 is 0: invoice 25-1044 has not completed one period, even though ROUND would have said 1. C6: 118 / 30 = 3.933..., so 3, not 4.

Watch out: Invoices not yet due have negative days overdue. INT(-10 / 30) gives -1, not 0, so a flagged invoice would show up as a minus one period. Test the sign first, for example with MAX(0, B2).

More on this example: why it works, 1 variation

Why it works

Dividing by 30 converts days into periods, and the fraction is the period that is not yet complete. INT removes exactly that fraction and never rounds up, so an invoice is only placed in a later band when it has really passed that boundary.

Variations

=B2 - INT(B2 / 30) * 30
=B2 - INT(B2 / 30) * 30

The days into the current period, 95 - 90 = 5. Shows the two parts of the split side by side; MOD(B2, 30) gives the same.

Intermediate

Group reconciliation differences into bands of 500 euro

You are reconciling the receivables ledger (grootboekrekening 1300) to the client's aging list, customer by customer. The differences are positive and negative.

To decide which ones to follow up, you want each difference labelled with the start of its band of 500 euro (from -1,5001.500 up to -1,0001.000, from 0 up to 500, and so on). The band width sits in E2 so you can change it.

Sheet excerpt: C2 holds the formula
RowABCDEF
1RelationDifferenceBand fromBand width
2D1001-€1,250.00€ -1.250,00-€1,500.00€ -1.500,00=INT(B2 / $E$2) * $E$2=INT(B2 / $E$2) * $E$2euro500500
3D1002€320.00€ 320,00
4D1003€1,180.00€ 1.180,00
5D1004-€80.00€ -80,00
6D1005€2,750.00€ 2.750,00
7D1006-€500.00€ -500,00
8
Formula cell (C2)Input

Formula in C2

=INT(B2 / $E$2) * $E$2
=INT(B2 / $E$2) * $E$2

Result: -€1,500.00€ -1.500,00

Step by step
  1. Excel divides the difference by the band width: B2 / $E$2 = -1250 / 500 = -2.5. That says the difference lies 2.5 bands below zero.
  2. INT(-2.5) looks for the largest whole number not above -2.5. That is -3, not -2: on the number line, -3 is the first whole number to the left.
  3. Multiplying back by the width gives the band start: -3 × 500 = -1500. The difference -1,2501.250 belongs to the band from -1,5001.500 up to -1,0001.000, which is correct.
  4. Compare with TRUNC, which cuts toward zero: TRUNC(-2.5) = -2, so -1,2501.250 would land in the band from -1,0001.000 up to -500, one band too high. Every negative difference would be placed too close to zero.
  5. Copy down; $E$2 stays fixed. D1002: INT(0.64) × 500 = 0. D1003: INT(2.36) × 500 = 1000. D1004: INT(-0.16) × 500 = -500. D1005: INT(5.5) × 500 = 2500. D1006: -500 / 500 = -1 exactly, INT(-1) = -1, so -500: a difference on a boundary opens its band.
  6. Change E2 to 1000 and the bands become 1,0001.000 wide: -1250 / 1000 = -1.25, INT gives -2, so the band starts at -2000.

Watch out: Without the $ signs, C3 divides by E3, which is empty, and returns #DIV/0!. The band width must be locked.

More on this example: why it works, 1 more pitfall, 1 variation

Why it works

Equal-width bands need the same rule on both sides of zero: every value goes to the band whose start is at or below it. INT is exactly that rule, because it always moves left on the number line. Dividing by the width, applying INT and multiplying back turns 'whole numbers' into 'whole multiples of the width'.

More to watch out for

  • Swapping INT for TRUNC gives no error and the positive differences stay right, so the mistake only shows in the negative rows. Always test a band formula with a negative difference.

Variations

=FLOOR.MATH(B2, $E$2)
=FLOOR.MATH(B2; $E$2)

FLOOR.MATH rounds down to a multiple of the width in one step and also goes away from zero for negatives by default: -1500 for -1250. Use it when the reader knows the function; INT with divide and multiply works in every version.

Advanced

Count manual entries created on the year-end date

In journal entry testing you have the manual entries (dagboek MEM) with the date and time the system created them. You want the number of entries created on 31 December 2025, the date in E1, for your cut-off work.

COUNTIF on the timestamp column does not work, because a timestamp at 09:10 is not equal to the date itself, so the formula has to compare the date part of each timestamp.

Sheet excerpt: E2 holds the formula
RowABCDEF
1Entry no.CreatedDate31 Dec 2025
225-090130 Dec 2025 17:45Entries44=SUMPRODUCT(--(INT(B2:B7) = E1))=SUMPRODUCT(--(INT(B2:B7) = E1))
325-090231 Dec 2025 00:00
425-090331 Dec 2025 09:10
525-090431 Dec 2025 15:20
625-090531 Dec 2025 23:58
725-09062 Jan 2026 08:30
8
Formula cell (E2)InputNote: Column B holds real date-time values (a serial number with a time fraction), shown with the format dd mmm yyyy hh:mm.

Formula in E2

=SUMPRODUCT(--(INT(B2:B7) = E1))
=SUMPRODUCT(--(INT(B2:B7) = E1))

Result: 44

Step by step
  1. E1 holds 31 December 2025, serial number 46022. Each timestamp in B2:B7 is a serial number with a fraction: 25-0903 at 09:10 is 46022 + 550 / 1440 = 46022.3819.
  2. The innermost function is INT(B2:B7). It works on every timestamp and drops the time: {46021; 46022; 46022; 46022; 46022; 46024}. 25-0905 at 23:58 is still 46022.9986, so INT keeps it on 31 December.
  3. The comparison with E1 gives {FALSE; TRUE; TRUE; TRUE; TRUE; FALSE}, and the double minus turns that into {0; 1; 1; 1; 1; 0}.
  4. SUMPRODUCT adds the ones: 0 + 1 + 1 + 1 + 1 + 0 = 4. Entry 25-0902 at exactly 00:00 counts for 31 December, because its fraction is 0 and INT leaves it unchanged; 25-0901 the day before does not.
  5. SUMPRODUCT is what lets INT work on the whole range in every Excel version without Ctrl+Shift+Enter. Change E1 to 2 January 2026 and the result is 1 (25-0906).

Watch out: COUNTIF(B2:B7, E1) returns 1 here, not 4: only 25-0902 at 00:00 is exactly equal to the date. It looks like a quiet year-end, which is why the error goes unnoticed.

More on this example: why it works, 1 more pitfall, 2 variations

Why it works

A date is a whole number and a date-time is that number plus a fraction of a day, so 'on this date' means 'the whole part equals this date'. INT extracts the whole part for every row at once, and the comparison plus SUMPRODUCT turns the matches into a count.

More to watch out for

  • If one timestamp arrived as text that Excel cannot read as a date (such as n/a) in the export, INT returns #VALUE! for that row and SUMPRODUCT returns #VALUE! for the whole count. Check the column with ISNUMBER.

Variations

=COUNTIFS(B2:B7, ">=" & E1, B2:B7, "<" & E1 + 1)
=COUNTIFS(B2:B7; ">=" & E1; B2:B7; "<" & E1 + 1)

Counts timestamps from midnight up to, but not including, the next midnight. Faster on large auditfiles, because COUNTIFS does not calculate INT for every row.

=B3 - INT(B3)
=B3 - INT(B3)

The other half of the split: the time of day as a fraction, 0 for 25-0902. Give the cell a time format to read it as 00:00.

MasterExcel 2021 or later (This example needs Excel 2021 or later)

Flag manual entries created outside office hours or on weekends

In journal entry testing you select manual entries (dagboek MEM) that were created at an unusual moment:

  • on a Saturday or Sunday
  • before 07:00
  • from 19:00 onwards

The auditfile gives the creation moment as one date-time. You want a 1 for every entry that meets one of these criteria and a 0 for the others. An entry created at exactly 07:00 on a weekday is within office hours.

Sheet excerpt: C2 holds the formula
RowABCD
1Entry no.CreatedUnusual moment
225-091131 Dec 2025 22:4011=LET( created, B2, day, INT(created), hours, ROUND((created - day) * 24, 2), IF(OR(WEEKDAY(day, 2) > 5, hours < 7, hours >= 19), 1, 0) )=LET( created; B2; day; INT(created); hours; ROUND((created - day) * 24; 2); IF(OR(WEEKDAY(day; 2) > 5; hours < 7; hours >= 19); 1; 0) )
325-091230 Dec 2025 07:00
425-091327 Dec 2025 11:00
525-09142 Jan 2026 06:30
625-091530 Dec 2025 10:15
7
Formula cell (C2)InputNote: Column B holds real date-time values, shown with the format dd mmm yyyy hh:mm. The office hours 07:00 to 19:00 are an assumption for this test.

Formula in C2

=LET(
  created, B2,
  day, INT(created),
  hours, ROUND((created - day) * 24, 2),
  IF(OR(WEEKDAY(day, 2) > 5, hours < 7, hours >= 19), 1, 0)
)
=LET(
  created; B2;
  day; INT(created);
  hours; ROUND((created - day) * 24; 2);
  IF(OR(WEEKDAY(day; 2) > 5; hours < 7; hours >= 19); 1; 0)
)

Result: 11

Step by step
  1. LET names the inputs. created is B2, 31 December 2025 at 22:40: serial 46022 + 1360 / 1440 = 46022.9444.
  2. day is INT(created) = 46022: 31 December 2025 at 00:00. The time part is created - day = 0.9444.
  3. hours converts that to hours: 0.9444... × 24 = 22.666..., and ROUND to 2 decimals gives 22.67. ROUND removes the binary noise that time fractions carry, so an entry at exactly 07:00 is 7 and not 6.9999999999.
  4. The three tests: WEEKDAY(46022, 2) = 3 (Wednesday), and 3 > 5 is FALSE. 22.67 < 7 is FALSE. 22.67 >= 19 is TRUE. OR finds one TRUE, so IF returns 1.
  5. Copy down. 25-0912: Tuesday 30 December at 07:00, hours = 7, and 7 < 7 is FALSE, so 0 (the boundary is inside office hours). 25-0913: 27 December is serial 46018, WEEKDAY = 6 (Saturday), so 1.
  6. 25-0914: Friday 2 January 2026, serial 46024 + 6.5 / 24, hours = 6.5, and 6.5 < 7 is TRUE, so 1. 25-0915: Tuesday at 10:15, hours = 10.25: no test is TRUE, so 0. Three of the five entries are flagged.

Watch out: The limits 7 and 19 are typed into the formula. When the client has other office hours, you have to find them inside the formula. Put them in cells and refer to them with absolute references.

More on this example: why it works, 2 more pitfalls, 1 variation

Why it works

INT of a date-time is the midnight at the start of that day, so created minus day is exactly the time of day, and WEEKDAY can use the same day. LET names day once, so the weekday test and the time-of-day calculation cannot drift apart when someone edits one of them.

Do not use this construction when the export holds times without dates: INT of a time is 0, which Excel reads as a Saturday, so every entry would be flagged by the weekend test. The alternative for a time-only test is MOD(B2, 1) * 24, which needs no date but cannot test weekends.

More to watch out for

  • Use hours >= 19 and hours < 7, not <= and >. An entry at exactly 07:00 is within office hours and one at exactly 19:00 is not; the wrong operator moves both boundary cases to the other side.
  • The system creation moment is not the posting date. A flagged entry is a reason to look at the support, not proof of an error.

Variations

=IF(OR(WEEKDAY(INT(B2), 2) > 5, ROUND((B2 - INT(B2)) * 24, 2) < 7, ROUND((B2 - INT(B2)) * 24, 2) >= 19), 1, 0)
=IF(OR(WEEKDAY(INT(B2); 2) > 5; ROUND((B2 - INT(B2)) * 24; 2) < 7; ROUND((B2 - INT(B2)) * 24; 2) >= 19); 1; 0)

The same logic without LET, for Excel 2019 and earlier. The INT and ROUND parts appear several times, so a later edit has to change every copy.

Common mistakes

Common mistakes
SymptomCauseFix
-3.2 becomes -4, not -3A credit of -3.2 hours comes back as -4, and you expected -3.TRUNC(-3.2) returns -3 because it cuts off the decimals on both sides of zero; INT(-3.2) returns -4 because it takes the next lower whole number.
A number like 46156 instead of a dateINT(A2) on a timestamp shows a number like 46156 instead of a date.The result is correct: it is the date's serial number. Give the cell a date format.
INT returns 7 for a product of 8INT((0.1 + 0.7) * 10) can return 7 although the calculation looks like exactly 8.Decimal fractions are stored in binary, and that product can be stored as 7.999999999999999. INT has no tolerance. Round the input first: INT(ROUND((0.1 + 0.7) * 10, 10)).
#VALUE! on one row of timestampsINT on a timestamp column where an import left text that Excel cannot read as a date or time, such as n/a, gives #VALUE! for that row.Replace or clean such entries first, and convert text that does look like a date-time with Data, Text to Columns, or VALUE, then apply INT.