Template · Bidding
Bid tabulation sheet for comparing contractor bids
Unit prices, extended totals, unbalanced-line flags, responsiveness and ranking for competing contractor bids.
Downloads are included in the $19.85 yearly membership. Sign in
XLSXCSVODSXMLNumbers| Bid tabulation summary | |||||
| Example data — replace the blue input cells with your own. | |||||
| Headline results | |||||
| APPARENT LOW BIDDER | LOW BID | LOW BID VS ESTIMATE | SPREAD, LOW TO SECOND | ||
| Northwind Example Ltd. | $852,105 | -0.9% | 3.7% | ||
| Engineer's estimate | $860,075 | Quantity times engineer's unit price, from the Bid tab | |||
| Bidders ranked by computed total (responsive bids first) | |||||
| Position | Bidder | Computed total | vs estimate | Responsive? | Rank among responsive |
| 1 | Northwind Example Ltd. | $852,105 | -0.9% | Yes | 1 |
| 2 | Example Paving Co. | $883,360 | 2.7% | Yes | 2 |
| 3 | Lakeside Example LLC | $935,944 | 8.8% | Yes | 3 |
| 4 | Riverbend Example Inc. | $896,245 | 4.2% | No | |
| 5 | Hillcrest Example Corp. | $866,516 | 0.7% | No | |
Showing the first 16 of 21 rows and 6 of 6 columns. Cells with formulas show the formula on hover.
| Bid tab: line items and unit prices | |||||||||||
| Enter the project, the opening date, the quantities and the engineer's unit prices. Enter each bidder's unit prices in the blue columns. | |||||||||||
| Project | Example Township road resurfacing | ||||||||||
| Bid opening date | Nov 12, 2026 | ||||||||||
| Unbalanced threshold | 50% | A unit price above (1 + threshold) or below (1 - threshold) times the line median is flagged | |||||||||
| Unit prices by bidder (inputs) | Extended amounts by bidder (quantity times unit price) | ||||||||||
| Item no. | Description | Unit | Quantity | Engineer's unit price | Estimate amount | Example Paving Co. | Northwind Example Ltd. | Riverbend Example Inc. | Hillcrest Example Corp. | Lakeside Example LLC | Example Paving Co. |
| 201-1 | Mill and remove existing asphalt, 2 in depth | SY | 18,500 | $3.10 | $57,350 | $3.40 | $2.95 | $3.20 | $3.05 | $6.80 | $62,900 |
| 202-1 | Cold planing, 3 in depth, including haul off | SY | 4,200 | $4.25 | $17,850 | $4.10 | $4.60 | $3.95 | $4.20 | $4.05 | $17,220 |
| 301-1 | Aggregate base course, Class A, 6 in | TON | 2,650 | $28.00 | $74,200 | $27.50 | $29.80 | $26.10 | $28.40 | $27.90 | $72,875 |
| 303-1 | Prime coat, asphalt emulsion | TON | 38 | $540.00 | $20,520 | $540.00 | $510.00 | $575.00 | $498.00 | $560.00 | $20,520 |
| 401-1 | Hot mix asphalt surface course, 1.5 in | TON | 3,150 | $96.00 | $302,400 | $99.00 | $94.50 | $102.00 | $97.00 | $96.00 | $311,850 |
| 401-2 | Hot mix asphalt binder course, 2 in | TON | 2,480 | $88.00 | $218,240 | $91.00 | $86.00 | $93.50 | $90.00 | $89.00 | $225,680 |
| 405-1 | Tack coat, asphalt emulsion | TON | 22 | $610.00 | $13,420 | $620.00 | $585.00 | $650.00 | $598.00 | $605.00 | $13,640 |
| 604-1 | Adjust manhole frame and cover to grade | EA | 14 | $650.00 | $9,100 | $700.00 | $640.00 | $610.00 | $668.00 | $690.00 | $9,800 |
Showing the first 16 of 90 rows and 12 of 19 columns. Cells with formulas show the formula on hover.
| Bidders: stated totals, responsiveness and ranking | |||||||||||
| Enter each bidder's name, the total on its bid form, bond and addenda status. The table computes the rest. | |||||||||||
| Bidder entries (names feed the Bid tab headers) | |||||||||||
| Bidder | Stated total on bid form | Bid bond provided | Addenda acknowledged | Lines priced | Missing lines | Computed total | Arithmetic difference | Responsive? | Ranking key | Rank among responsive | Sort position |
| Example Paving Co. | $883,360.00 | Yes | Yes | 15 | 0 | $883,360 | $0 | Yes | $883,360 | 2 | 2 |
| Northwind Example Ltd. | $852,105.00 | Yes | Yes | 15 | 0 | $852,105 | $0 | Yes | $852,105 | 1 | 1 |
| Riverbend Example Inc. | $896,245.00 | Yes | No | 15 | 0 | $896,245 | $0 | No | $1,000,000,000,000 | 4 | |
| Hillcrest Example Corp. | $868,016.00 | No | Yes | 15 | 0 | $866,516 | $1,500 | No | $1,000,000,000,000 | 5 | |
| Lakeside Example LLC | $935,944.00 | Yes | Yes | 15 | 0 | $935,944 | $0 | Yes | $935,944 | 3 | 3 |
| Ranking key is the computed total for responsive bidders and 1E+12 for the others, so non-responsive bids sort last. | |||||||||||
| Responsive = bond provided and addenda acknowledged. Arithmetic difference = stated total less computed total. |
Showing the first 13 of 13 rows and 12 of 12 columns. Cells with formulas show the formula on hover.
| Bid tabulation |
| Notes: what this workbook does, how to use it and the method behind it. |
| What it does |
| Compares contractor bids for a public or private construction contract. The owner or engineer enters the line items with the engineer's estimate and each bidder's unit prices, and the workbook extends the prices, totals each bid, flags unb… |
| How to use it |
| 1. Enter the project name and bid opening date on the Bid tab. |
| 2. Enter item number, description, unit, quantity and the engineer's unit price for each line. Spare rows stay blank until you need them. |
| 3. Enter each bidder's name, the total on its bid form, the bond status and the addenda status on the Bidders tab. |
| 4. Enter each bidder's unit price for every line in the blue columns on the Bid tab. Lines left blank are not priced. |
| 5. Read the apparent low bidder, low bid, percent difference from the estimate and spread on the Summary tab. |
| Formulas and method |
| Extended amount per line: quantity times unit price. Bidder total: sum of its extended amounts. Estimate total: sum of quantity times the engineer's unit price. |
| Low unit price per line: MIN over the bidders that priced the line. Spread: MAX less MIN over the same bidders. |
Showing the first 16 of 32 rows and 1 of 1 columns. Cells with formulas show the formula on hover.
What does this template do?
A bid tabulation compares what each contractor bid on the same set of quantities. This workbook is built for the owner or engineer who receives unit price bids. The Bid tab holds the line items, the quantities, the engineer's estimate and each bidder's unit prices. The Bidders tab holds each bidder's name, the total printed on its bid form, the bond and addenda status, and the computed total from the Bid tab.
Each line extends quantity times unit price, and each bidder's total is the sum of its extended amounts. The workbook finds the low unit price and the spread for every line, and it flags a line as unbalanced when any unit price is more than 50% above or below the median of the prices on that line; the threshold is an input. A bid is responsive only when the bond and the addenda are both marked Yes, and responsive bids are ranked with RANK on the computed totals.
The example is a fictional road resurfacing project, Example Township road resurfacing, with fifteen line items and five invented bidders. The unit prices and the quantities are illustrative.
What’s inside
- Extended totals for up to five bidders on 80 line items
- Unbalanced-line flag when a unit price falls outside 50% of the line median
- Responsive bids ranked on computed totals with RANK
- Low bidder, low bid, difference from the estimate and spread to the second bid
- Stated total on the bid form checked against the computed total
Which tabs does the workbook have?
| Tab | What it holds |
|---|---|
| Summary | Apparent low bidder, low bid, difference from the estimate, spread, ranked bidders and checks. |
| Bid tab | Line items, quantities, engineer's unit prices, bidder unit prices, extended amounts and balance flags. |
| Bidders | Stated totals, bond and addenda status, responsiveness, arithmetic difference and ranking keys. |
| Notes | Purpose, steps, formulas used, assumptions and limits. |
What formulas does this template use?
This template holds 819 formulas in 1,073 cells across 4 tabs, so 76% of its cells calculate. They use 14 distinct functions; the longest formula is 239 characters and 58 of them read from another tab.
| Function | Uses | What it does |
|---|---|---|
IF | 907 | one result when a test is true, another when false |
OR | 646 | true when any test is true |
COUNT | 245 | counts numeric cells |
MEDIAN | 160 | middle value |
MIN | 160 | smallest value |
MAX | 80 | largest value |
SUMPRODUCT | 80 | multiplies matching entries, then adds them |
INDEX | 23 | value at a position in a range |
MATCH | 23 | position of a value in a range |
COUNTIF | 21 | counts cells meeting one condition |
RANK | 10 | position of a value in a list |
SUM | 6 | adds numbers |
The 12 most used of 14 functions. Counted from the workbook itself. Only functions that Excel, LibreOffice Calc, Google Sheets and Apple Numbers evaluate the same way are used, so the formulas survive every download format.
How do you use it?
- On the Bid tab, enter the project name, the bid opening date and the unbalanced threshold.
- Enter each line item with its unit, quantity and the engineer's unit price.
- On the Bidders tab, enter each bidder's name, stated total, bond status and addenda status.
- Enter each bidder's unit prices in the blue columns on the Bid tab.
- Read the apparent low bidder and the tiles on the Summary tab, then clear any messages in the checks block.
What is it good for?
- Tabulating unit price bids for a public works contract
- Comparing paving or site work bids against the engineer's estimate
- Checking bid forms for arithmetic errors before award
Questions about this sheet
Does the ranking use the stated total or the unit prices?
It ranks on the computed total, which is the sum of quantity times each unit price. The stated total is shown beside it, and any difference is reported on the Summary tab.
What does the unbalanced flag mean?
A line is flagged when a bidder's unit price is more than 50% above or below the median of the prices on that line. The flag asks for a review of the line, and it does not decide the award.
Why is a bidder marked as not responsive?
A bidder is responsive only when the bond and the addenda acknowledgement are both marked Yes. Non-responsive bids stay in the table and are left out of the low bid.
Can it be used for lump sum bids?
Yes. Enter each lump sum item with unit LS and a quantity of 1, and enter the bidder's price in its unit price column.