You can calculate exactly how many tiles or flooring planks you need by entering your room dimensions, tile size, and a wastage percentage into a structured Google Sheets formula model. The same spreadsheet can total pack quantities, material costs, and ancillary items. This guide walks you through building that model from scratch and publishing it as a live web calculator using the GSheetPress GS2Web add-on.
Enter room area, tile dimensions, and wastage % to get tile count and pack quantity • Wastage allowances vary by pattern: 5–10% for straight lay, 10–15% for diagonal or herringbone • Formulas round up to whole packs so you never order short • The GS2Web calculator add-on turns your sheet into a shareable web tool • Always verify local supplier pack sizes and coverage rates before purchasing
Flooring & Tile Quantity Calculator in Google Sheets

Photo by Team Nocoloco on Unsplash

Key terms explained

  • Gross area: The total floor area of a room in square metres or square feet, measured wall to wall before any deductions.
  • Net area: The usable floor area after subtracting fixed features such as a bath, island unit, or built-in wardrobe.
  • Wastage allowance: An extra percentage of material ordered to cover cuts, breakages, pattern matching, and future repairs. Expressed as a decimal multiplier, so 10% wastage means multiplying by 1.10.
  • Coverage rate: The floor area one pack of tiles or planks covers, stated by the supplier on the product label (for example, 1.44 m² per pack).
  • Diagonal lay: A tile pattern set at 45° to the walls, which requires significantly more cuts and therefore a higher wastage allowance.
  • Herringbone: A V-shaped interlocking plank or tile pattern that also increases cut waste.
  • CEILING function: A spreadsheet function that rounds a number up to the nearest whole unit, used here to avoid ordering a fractional pack.
  • Grout joint: The gap between tiles filled with grout. Wider joints reduce the effective tile count per square metre.
  • Ancillary materials: Supporting products needed alongside tiles or planks, such as adhesive, grout, underlay, or trim strips.
  • Runtime input (G column): The cell where the web form writes a visitor's answer. Formulas reference G cells, not E cells. E holds the default value shown in the form before a visitor changes it.

What this guide covers and what it excludes

This guide builds a rectangular-room flooring calculator that handles tile or plank area calculations, wastage, whole-pack rounding, and a simple cost summary. It covers one rectangular room at a time. It does not handle L-shaped or multi-room plans, radial cuts, underfloor heating offsets, structural substrate checks, or labour pricing beyond a simple per-square-metre rate. All pack sizes, coverage rates, adhesive quantities, and grout quantities must be confirmed with your actual supplier before purchasing, as these vary by product and region.

Prerequisites

  • A Google account with access to Google Sheets.
  • The GS2Web SaaS add-on installed from the Google Workspace Marketplace, with a Calculator-tier entitlement active on your account. Visit GSheetPress pricing to review plan options.
  • A dedicated sample workbook created only for this calculator — do not use a file containing private or financial data, because the publish step makes the spreadsheet editable by anyone who holds its link.
  • Basic comfort with clicking cells and typing values. No prior formula knowledge is required; every formula is provided in full.

How the flooring quantity model works

The core calculation chain is straightforward:

  1. Multiply room length by room width to get gross area.
  2. Subtract any fixed features to get net area.
  3. Multiply net area by (1 + wastage fraction) to get the gross area including wastage.
  4. Divide by the tile or plank area (length × width) to get tile count, then round up to whole tiles.
  5. Divide tile count by tiles-per-pack (or divide gross area by pack coverage) and round up to whole packs.
  6. Multiply packs by cost per pack for material cost.
  7. Add adhesive and grout estimates based on area.

The Google Sheets CEILING function documentation explains how CEILING(value, significance) always rounds up, which is exactly what you need to avoid ordering short.

Room shapes and layout patterns

A perfectly rectangular room is the simplest case. Any recess, bay window, or L-shape should be broken into rectangles, the areas calculated separately, then summed. Subtract fixed features (bath footprint, kitchen island) from the total.

Layout pattern affects wastage significantly. Use these benchmarks as a starting point and adjust based on your supplier's recommendation:

PatternSuggested wastageReason for extra waste
Straight grid (brick bond)5–10%Minimal cuts on straight walls
Diagonal (45°)10–15%Many angled cuts along all four walls
Herringbone10–15%Short repeating cuts on each plank end
Large-format irregular rooms15–20%Fewer tiles, so each cut represents more material

Setting up the helper data section

Before building the calculator tab, create a second sheet in your workbook called Data. This sheet holds tile dimensions and pack information that your result formulas will reference. Having it separate keeps the calculator tab clean and makes it easy to swap product details.

In the Data sheet, enter the following in columns A and B starting at row 1:

CellLabel (column A)Value (column B)
A1Tile length (m)0.6
A2Tile width (m)0.3
A3Tiles per pack10
A4Cost per pack (£)24.50
A5Adhesive coverage (m² per bag)5
A6Adhesive cost per bag (£)8.00
A7Grout coverage (m² per bag)8
A8Grout cost per bag (£)6.50

Replace the example values with the real figures from your chosen product. These cells are referenced by name in the result formulas below using the notation Data!B1, meaning cell B1 on the Data sheet.

Building the web calculator

This section creates the interactive form that visitors will use. The GS2Web add-on generates a fixed template structure; your job is to fill in the correct values for each column.

Step 1 — Create the calculator tab

  1. Open your dedicated sample workbook in Google Sheets.
  2. Click Extensions in the top menu, then GS2Web SaaS, then Calculator, then New Calculator.
  3. When prompted, enter a name such as Flooring Tile Calculator.
  4. When asked for the number of inputs, enter 7. Do not count the button.
  5. When asked whether to include graphs, choose No unless you specifically want a chart.
  6. Click to confirm. The add-on creates a new sheet with headers already in row 1 across columns A to H: Labels, Input Type, Required, Data, Default, ToolTips, Inputs, Rules. Do not rename or delete these headers.

With 7 inputs, the layout is: input rows 2–8, button row 9, merged separator row 10, result headings row 11, and results starting from row 12.

Step 2 — Fill in each input row

Work through the following blocks one row at a time. The column letters match the generated headers exactly.

Row 2 — Room length

  • A2 — Label: Room length (m)
  • B2 — Input Type: Number
  • C2 — Required: Tick the checkbox (required)
  • D2 — Data: Leave blank
  • E2 — Default: 4
  • F2 — ToolTips: Enter the longest wall-to-wall measurement of the room in metres.
  • H2 — Rules: Leave blank

Row 3 — Room width

  • A3 — Label: Room width (m)
  • B3 — Input Type: Number
  • C3 — Required: Tick the checkbox (required)
  • D3 — Data: Leave blank
  • E3 — Default: 3
  • F3 — ToolTips: Enter the shorter wall-to-wall measurement of the room in metres.
  • H3 — Rules: Leave blank

Row 4 — Fixed feature area to deduct

  • A4 — Label: Fixed feature area to deduct (m²)
  • B4 — Input Type: Number
  • C4 — Required: Leave the checkbox unticked (optional)
  • D4 — Data: Leave blank
  • E4 — Default: 0
  • F4 — ToolTips: Enter the total area of built-in units, baths, or islands to subtract. Enter 0 if none.
  • H4 — Rules: Leave blank

Row 5 — Wastage percentage

  • A5 — Label: Wastage percentage
  • B5 — Input Type: Number
  • C5 — Required: Tick the checkbox (required)
  • D5 — Data: Leave blank
  • E5 — Default: 10
  • F5 — ToolTips: Enter a whole number, e.g. 10 for 10% wastage. Use 10–15 for diagonal or herringbone patterns.
  • H5 — Rules: Leave blank

Note on percentages: The visitor enters 10, meaning 10%. The result formula divides this by 100 internally, so the visitor does not type 0.10.

Row 6 — Tile length

  • A6 — Label: Tile length (m)
  • B6 — Input Type: Number
  • C6 — Required: Tick the checkbox (required)
  • D6 — Data: Leave blank
  • E6 — Default: 0.6
  • F6 — ToolTips: Enter the tile or plank length in metres. Convert millimetres: 600 mm = 0.6 m.
  • H6 — Rules: Leave blank

Row 7 — Tile width

  • A7 — Label: Tile width (m)
  • B7 — Input Type: Number
  • C7 — Required: Tick the checkbox (required)
  • D7 — Data: Leave blank
  • E7 — Default: 0.3
  • F7 — ToolTips: Enter the tile or plank width in metres. 300 mm = 0.3 m.
  • H7 — Rules: Leave blank

Row 8 — Tiles per pack

  • A8 — Label: Tiles per pack
  • B8 — Input Type: Number
  • C8 — Required: Tick the checkbox (required)
  • D8 — Data: Leave blank
  • E8 — Default: 10
  • F8 — ToolTips: Check the product label for how many tiles or planks come in one pack.
  • H8 — Rules: Leave blank

Row 9 — The button (do not change B, D, or E)

Row 9 is the generated Calculate button. The add-on places specific values here. Confirm the following and do not alter them:

  • A9 — Label: Calculate
  • B9 — Input Type: Button
  • D9 — Data: main
  • E9: Reset (this is the reset label; leave it as generated)

Step 3 — Add result labels

Row 10 is a merged separator row generated by the add-on; leave it as is. Row 11 is for result column headings. Results begin at row 12.

In column A, enter the following result labels:

CellLabel to type in column A
A11Results
A12Gross room area (m²)
A13Net area after deductions (m²)
A14Area including wastage (m²)
A15Tile area (m²)
A16Tiles needed (whole tiles)
A17Packs to order
A18Tile material cost (£)
A19Adhesive bags needed
A20Adhesive cost (£)
A21Grout bags needed
A22Grout cost (£)
A23Total estimated material cost (£)

Step 4 — Enter result formulas in column B

Click cell B12. Type or paste each formula exactly as shown below, pressing Enter after each one before moving to the next cell. The formulas reference G2 through G8, which are the runtime input cells — the values a visitor submits via the web form. E2 through E8 hold the default values shown before submission. To test your formulas before publishing, copy E2:E8, then right-click G2 and choose Paste special → Values only; this fills G2:G8 without overwriting your defaults.

B12 — Gross room area:

=G2*G3

B13 — Net area after deductions:

=B12-G4

B14 — Area including wastage:

=B13*(1+G5/100)

B15 — Tile area in m²:

=G6*G7

B16 — Tiles needed (rounded up to whole tiles):

=CEILING(B14/B15,1)

B17 — Packs to order (rounded up to whole packs):

=CEILING(B16/G8,1)

B18 — Tile material cost:
This formula uses the cost per pack from your Data sheet. If you prefer to enter cost per pack as a calculator input, add it as an eighth input row and reference G9 instead of Data!B4.

=B17*Data!B4

B19 — Adhesive bags needed (rounded up):

=CEILING(B14/Data!B5,1)

B20 — Adhesive cost:

=B19*Data!B6

B21 — Grout bags needed (rounded up):

=CEILING(B14/Data!B7,1)

B22 — Grout cost:

=B21*Data!B8

B23 — Total estimated material cost:

=B18+B20+B22

Worked example

Use these inputs to verify your formulas produce the correct outputs before publishing.

InputValue entered
Room length (m)5
Room width (m)4
Fixed feature deduction (m²)1.2
Wastage percentage10
Tile length (m)0.6
Tile width (m)0.3
Tiles per pack10

Data sheet assumptions for this example: cost per pack £24.50, adhesive coverage 5 m² per bag at £8.00, grout coverage 8 m² per bag at £6.50.

Result labelFormulaExpected value
Gross room area5 × 420.00 m²
Net area20 − 1.218.80 m²
Area with 10% wastage18.80 × 1.1020.68 m²
Tile area0.6 × 0.30.18 m²
Tiles neededCEILING(20.68 / 0.18, 1)115 tiles
Packs to orderCEILING(115 / 10, 1)12 packs
Tile material cost12 × £24.50£294.00
Adhesive bagsCEILING(20.68 / 5, 1)5 bags
Adhesive cost5 × £8.00£40.00
Grout bagsCEILING(20.68 / 8, 1)3 bags
Grout cost3 × £6.50£19.50
Total material cost£294 + £40 + £19.50£353.50

Alternative scenario: a 6 m × 5 m room with a 2 m² island, 15% wastage (herringbone pattern), and 600 × 600 mm square tiles in packs of 4. Net area = 28 m², gross with wastage = 32.20 m², tile area = 0.36 m², tiles needed = CEILING(32.20 / 0.36, 1) = 90 tiles, packs = CEILING(90 / 4, 1) = 23 packs.

Checking your results

  • Gross area should equal length multiplied by width. If it appears zero, check that G2 and G3 contain numbers, not text.
  • Area with wastage should always be larger than net area. If they are equal, G5 may be zero or empty; the formula treats blank as zero, which is mathematically valid but means no wastage allowance.
  • Packs to order should never be less than tiles-needed divided by tiles-per-pack. If it is, check that B16 contains the CEILING formula rather than a plain division.
  • Total cost should equal tile cost plus adhesive cost plus grout cost. Use a manual addition to verify.
  • If any result shows a #DIV/0! error, check that tile length (G6), tile width (G7), and tiles per pack (G8) are non-zero.

Frequently asked questions

What wastage percentage should I use for a bathroom with many internal cuts?

For a bathroom with a straight grid layout, 10% is a commonly used starting figure. If the room has many internal features such as a shower tray, toilet base, and vanity unit that require precision cuts, some installers recommend 15%. For diagonal or herringbone patterns in any room, start at 15%. Always discuss the specific job with your tiler, as their experience with the actual tile size and room shape is the most reliable guide. The calculator lets you test different wastage values instantly to see how pack count changes.

Can I use this calculator for plank flooring such as LVT or laminate?

Yes. Enter the plank dimensions in the same length and width fields. For LVT or laminate, tiles per pack refers to planks per pack. The coverage-based approach is identical. The only difference is that plank flooring sold by area coverage (m² per pack) rather than piece count needs a slight formula adjustment: replace B17 with =CEILING(B14/pack_coverage,1) where pack_coverage is the m² figure from the product label entered in your Data sheet. Everything else remains the same.

Why does the calculator round up to whole packs rather than individual tiles?

Tiles and planks are sold in complete packs, not individually (in most cases). Ordering a fractional pack is not possible, so you must always round up. The CEILING function handles this by moving any decimal result to the next whole number. For example, if you need 11.2 packs, CEILING returns 12. This ensures you never arrive on site short of material. If you later find a supplier who sells individual tiles, you can reference B16 (whole tiles) directly instead of B17.

Troubleshooting

Results show #VALUE! or #REF!

#VALUE! usually means a cell expected a number but found text. Check that all G cells contain numbers. If you copied a value from another source, it may have been pasted as text; select the cell, press Delete, and type the number manually.

#REF! means a formula is pointing to a cell that does not exist. Check that your Data sheet is named exactly Data (capital D, no trailing space) and that B1 through B8 on that sheet all contain values.

The add-on menu does not show Calculator

Your GS2Web entitlement may not include the Calculator feature. Visit your GSheetPress account to confirm your plan level, or consult the GSheetPress support page for guidance on upgrading.

The public calculator shows blank results after submitting

Open the spreadsheet and check that G2 through G8 are not locked or protected. Web submissions write to the G column; if those cells are protected, the calculation never fires. Also confirm that all result formulas in column B reference G cells rather than E cells.

Pack count seems too high

Check the tiles-per-pack value in G8 (or E8 before submission). A common mistake is entering the pack weight or coverage in m² instead of the piece count. If your product is sold by coverage area, adjust the B17 formula as described in the FAQ above.

Ancillary quantities look wrong

Adhesive and grout coverage varies by product, substrate, tile size, and joint width. The figures in your Data sheet are starting estimates only. Always check the coverage rate printed on the specific product you are buying and update Data!B5 and Data!B7 accordingly.

For a deeper look at how GSheetPress handles calculator inputs and result fields, see the calculator feature details page. If you want to present results in a structured table on your site, the table feature details page explains how to combine a calculator output with an embedded table view.

Publish and test your web calculator

  1. Before publishing, make the spreadsheet accessible to the add-on. Click Share in the top-right corner of Google Sheets. Under General access, change the setting to Anyone with the link and set the role to Editor. Click Done. Important: this setting allows anyone who holds the spreadsheet URL to edit the file. Only use your dedicated sample workbook for this step — never a file containing personal, client, or financial data.
  2. Click on the calculator tab you built (the tab the add-on created, not the Data tab).
  3. Go to Extensions → GS2Web SaaS → Calculator → Publish Calculator.
  4. Wait for the confirmation message that publishing is complete.
  5. Go to Extensions → GS2Web SaaS → Calculator → Calculator Link. A sheet listing your published calculators will open.
  6. Find the row whose Sheet Name column matches the tab you just published.
  7. Open the URL in column C (the public Link). Do not use column B (the Edit Link), which opens the spreadsheet editor rather than the public form.
  8. If the list looks outdated, click Get Links to refresh it.
  9. On the public calculator page, enter the worked example values from this guide: length 5, width 4, deduction 1.2, wastage 10, tile length 0.6, tile width 0.3, tiles per pack 10.
  10. Click Calculate and verify the results match the expected values in the worked example table: 12 packs, £353.50 total.
  11. If you want to embed the calculator on a website, copy the iframe code from column D and paste it into an HTML block on your page.
  12. Republishing the same calculator tab in future retains the same public link, so existing embeds continue to work without updating.