Skip to content

Numbering

The numbering commands live under the Numbering split-button in the Text and Number group (tab DVD Addin). Together they cover every kind of ordering a construction document needs: the No. column of a bill of quantities, the Roman/letter heading scheme of a method statement, and the 1.1.1 multilevel codes of a tiered estimate.

What sets them apart from dragging Excel's fill handle: hidden rows and columns are skipped and a merged cell only takes one number — exactly the behaviour a BoQ needs when it is both filtered and full of multi-row merges.

Commands in this group

Click the main button to open the numbering window; click the arrow for the full menu (four series fillers on top, then the List Format section with three sub-menus).

CommandWhat it does
NumberingFills a series from a Start value + Step; accepts a text prefix (HM → HM1, HM2…)
RomanFills I, II, III… overwriting the cells
Upper lettersFills A, B, C… (continues AA, AB… past Z)
Lower lettersFills a, b, c… (continues aa, ab… past z)
Assign LevelWrites a level number per row, inferred by AI description or matched by cell fill colour
Number listPrepends 1., 2., 3. to existing cell content
Roman listPrepends I., II., III.
Upper letters listPrepends A., B., C.
Lower letters listPrepends a., b., c.
Multilevel 1.1.1Numbers by each cell's indent level
(None) — numbered listStrips 1. I. A. a. prefixes from the selection
(None) — multilevelStrips 1.1.1. prefixes from the selection

The two halves differ in one important way: the series fillers (first four) overwrite the cell, which suits an empty No. column; the List Format commands prepend a prefix, which suits a description column.

Numbering a tiered bill of quantities

  1. Build the tree with Excel's Increase / Decrease Indent buttons on the "Description" column — no indent is level 1, one step is level 2, and so on.
  2. If the table already carries codes, select that column and run Multilevel ▸ (None) first. This step is mandatory: Multilevel 1.1.1 does not clear old numbers, so a second run stacks them.
  3. Select the description column and click Multilevel ▸ Multilevel 1.1.1. The status bar reports the number of cells numbered.
  4. Select the separate No. column to the left, click the main Numbering button, enter Start value = 1 and Step = 1, then Apply. The window is modeless, so you can select another range and click Apply again.
  5. For the major sections (Substructure, Superstructure, Finishes) select just those cells and click Roman to get I, II, III.
  6. Need an integer "Level" column to feed Auto group? Use Assign Level. It asks for STEP 1: RULE CELL (exactly one cell describing the rule), then STEP 2: DATA RANGE (left column = symbol, right column = result). The By background colour mode replaces step 1 with STEP 1: LEVEL COLOURS — pick the legend range where each cell is one level, top→bottom = level 1, 2, 3…
  7. Rows that Assign Level cannot match are left blank and highlighted red — review them by hand before relying on that column.

Example

Package 03 bill of quantities, column C already indented, column A carrying a running No.:

No.Description (indent)After Multilevel 1.1.1
1Substructure (0)1. Substructure
2Earthworks (1)1.1. Earthworks
3Machine excavation (2)1.1.1. Machine excavation
4Hand excavation (2)1.1.2. Hand excavation
5Blinding concrete M100 (1)1.2. Blinding concrete M100
6Superstructure (0)2. Superstructure
7Level 1 columns (1)2.1. Level 1 columns

The No. column above was filled by Numbering (start 1, step 1). If row 4 is hidden by a filter it consumes no number at all, so the visible rows stay continuous.

Tips and caveats

  • Ctrl+Z does not undo any of this. The commands write straight into cells — save the file before running on a large table, and use the matching (None) command instead of relying on undo.
  • The four list commands (Number / Roman / Upper letters / Lower letters list) strip old prefixes before writing, so re-running them never stacks numbers. Multilevel 1.1.1 does not — run (None) first.
  • Text cells are forced to Text (@) format before writing so 1. is not read as a date. Numbers, dates and TRUE/FALSE are skipped entirely.
  • Formula cells are wrapped as =""&"1. "&(old formula), so they stay live; the (None) commands remove only the add-in's own wrapper and never touch a concatenation formula you wrote yourself.
  • A multi-line cell (Alt+Enter) consumes several consecutive numbers — one per line. That is deliberate, not a bug.
  • (None) — numbered list only recognises prefixes ending in a dot: 1) and a) survive, while genuine content such as D. Nguyen Van A or CM. 12+500 gets cut by mistake. Check before running it over a whole column.
  • Multilevel reads the cell's Indent property, not leading spaces you typed, and supports at most 10 levels.
  • Assign Level's By background colour mode runs offline; only the By description (AI) mode needs a configured AI API key.

See also

  • Bullets — the other half of the List Format section: ●, ★, −, ◆ and the ☐ ☑ ☒ checkboxes.
  • Cells and Rows — row insertion/deletion and Auto group to outline the table once it is coded.
  • AI Assistant — where the AI provider for Assign Level's description mode is configured.

Released under DVDAddin License.