Skip to content

excel chart funnel

zmworm edited this page Apr 29, 2026 · 16 revisions

Excel: Chart - funnel

A dedicated page for the funnel chart type. Funnel charts are part of Excel's cx:chart (extended chart, Office 2016+) family. They display values as progressively narrowing horizontal bars, ideal for pipeline stages, conversion funnels, and filtering processes.

Path: /{SheetName}/chart[N]

Add command shape:

officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=funnel \
  --prop series1="Name:v1,v2,v3,..." \
  --prop categories="Stage1,Stage2,Stage3,..." \
  <styling props>

See also: Chart - add, Chart - set, histogram for the full cx styling reference.

What a funnel is

A funnel chart displays values as horizontal bars centered on a vertical axis, with each bar's width proportional to its value. Bars typically narrow from top to bottom, visualizing progressive reduction through pipeline stages (leads to won deals, visitors to subscribers, etc.).

officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=funnel \
  --prop title="Sales Funnel" \
  --prop series1="Pipeline:1000,800,400,200,100" \
  --prop categories="Leads,Qualified,Proposal,Negotiation,Won"

Funnel-specific properties

Funnel has no unique properties beyond the shared cx vocabulary. All styling is done via the common cx knobs documented below.

Layout knobs

Property Default Notes
x / y 0 Top-left cell position (column / row index)
width 8 Chart width in column units
height 15 Chart height in row units

Shared cx styling vocabulary

All cx:chart types (funnel, treemap, sunburst, boxWhisker, histogram) share these properties:

Title styling

Property Default Notes
title Chart title text; none/false to hide
title.color / titlecolor Title font color (hex)
title.size / titlesize Title font size (pt)
title.bold / titlebold Title bold (true/false)
title.font / titlefont Title font family
title.shadow / titleshadow Title drop shadow: "COLOR-BLUR-ANGLE-DIST-OPACITY" or "none"

Legend

Property Default Notes
legend top / bottom / left / right / none (omit legend)
legend.overlay / legendoverlay false Let the legend float on top of the plot area when true
legendfont / legend.font Compound legend text styling: "size:color:fontname"

Series colors

Property Default Notes
fill (theme) Single hex color for all bars: "4472C4" or with #. Internally stored without #.
colors (theme) Comma-separated hex colors, cycled across bars/cells/segments
series.shadow / seriesshadow Outer drop shadow: "COLOR-BLUR-ANGLE-DIST-OPACITY" (e.g. "000000-6-45-3-35") or "none" to remove

Data labels

Property Default Notes
dataLabels false true draws the value on each element
datalabels.numfmt / labelnumfmt Excel format code: "0", "0.0", "0.00%", "#,##0", etc.

Axis titles and tick labels (histogram / boxWhisker only)

These properties apply only to chart types with axes (histogram and boxWhisker). Funnel, treemap, and sunburst are axis-less — these properties are silently ignored on those types.

Property Default Notes
xAxisTitle Category (bottom) axis title
yAxisTitle Value (left) axis title
axisTitle.color Color for both axis titles (cx can't split per-axis)
axisTitle.size Font size for both axis titles, in pt
axisTitle.bold Bold both axis titles (true/false)
axisTitle.font Font family for both axis titles
axisfont / axis.font Compound tick-label styling for both axes: "size:color:fontname", all fields optional
tickLabels true Show tick labels on the axes

Axis scaling (histogram / boxWhisker only)

Property Default Notes
axismin / min (auto) Value-axis lower bound (numeric)
axismax / max (auto) Value-axis upper bound (numeric)
majorunit (auto) Major gridline interval
minorunit (auto) Minor gridline interval

Axis visibility and spine styling (histogram / boxWhisker only)

Property Default Notes
axis.visible / axisvisible true Hide both axes when false. axis.delete is the inverse alias.
cataxis.visible / cataxisvisible true Hide only the category (bottom) axis
valaxis.visible / valaxisvisible true Hide only the value (left) axis
axisline / axis.line Spine outline shared by both axes: "color", "color:width", "color:width:dash", or "none"
cataxis.line / cataxisline Category-axis-only spine
valaxis.line / valaxisline Value-axis-only spine

Gridlines (histogram / boxWhisker only)

Property Default Notes
gridlines / majorGridlines true Toggle value-axis major gridlines
gridlineColor / gridline.color Value-axis gridline color (hex)
xGridlines false Toggle category-axis major gridlines
xGridlineColor / xGridline.color Category-axis gridline color

Plot area and chart area fills

The plot area is the rectangle the data is drawn inside. The chart area is the outer frame that also contains the title, legend, and axis labels.

Property Default Notes
plotareafill / plotfill Plot-area solid background: hex color
plotarea.border / plotborder Plot-area outline: "color", "color:width", "color:width:dash", or "none"
chartareafill / chartfill Chart-area (outer frame) solid background: hex color
chartarea.border / chartborder Chart-area outline, same grammar as plotarea.border

Axes and gridlines

Funnel charts have no axes and no gridlines. All axis-related properties (xAxisTitle, yAxisTitle, axismin, gridlines, etc.) are silently ignored on funnel charts. The stage labels shown alongside bars are rendered from the categories data, not from an axis.

Full example: styled conversion funnel

officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=funnel \
  --prop title="Conversion Funnel Q4 2025" \
  --prop title.color=1B2838 --prop title.size=18 --prop title.bold=true \
  --prop title.font="Helvetica Neue" \
  --prop "title.shadow=000000-6-45-3-50" \
  --prop series1="Users:10000,6000,3000,1500,500" \
  --prop categories="Visit,Signup,Activate,Subscribe,Renew" \
  --prop colors=2E86AB,3D9DC4,5BB5D5,7DCBE6,A0E0F0 \
  --prop "series.shadow=000000-6-45-3-35" \
  --prop dataLabels=true --prop "datalabels.numfmt=#,##0" \
  --prop plotareafill=F8F9FA \
  --prop "plotarea.border=DEE2E6:1" \
  --prop chartareafill=FFFFFF \
  --prop "chartarea.border=CED4DA:0.75" \
  --prop legend=bottom \
  --prop "legendfont=10:6C757D:Helvetica Neue" \
  --prop x=0 --prop y=0 --prop width=14 --prop height=20

HTML preview support

Feature Preview Notes
Centered horizontal bars Yes Width proportional to value
Category + value labels Yes
Series colors Yes
Plot/chart area fills Yes

Known quirks and limitations

  • No axes. Funnel charts are axis-less. Stage labels come from the categories data, not from a category axis. All axis-related properties are silently ignored.
  • Single series only. Funnel charts accept exactly one series. Additional series2, series3, etc. are ignored.
  • Preview font fallback. The HTML preview renders bar colors and fills correctly but does not reproduce custom font families — labels fall back to the preview's default sans font. Use Excel for final typographic QA.

Inspect an existing funnel

# Count all charts across the workbook
officecli query data.xlsx chart

# Introspect a single chart's bound properties
officecli get data.xlsx "/Sheet1/chart[1]"

# Render the sheet to HTML preview
officecli view data.xlsx html > preview.html

See Also


Based on OfficeCLI v1.0.64

Clone this wiki locally