Arte SheetsLearn. Try. Understand.

Charts & Visual Data

Diverging Likert Stacked Bar Chart Formula: Neutral Midpoint Split & Padding Spacer

Align 5-point Likert survey responses around a vertical zero spine on a 100% Stacked Bar Chart by splitting Neutral responses in half and computing each row’s exact left-padding spacer.

Align survey disagreement left and agreement right around a shared center spine!

Plotting 5-point Likert survey questions (Strongly Disagree, Disagree, Neutral, Agree, Strongly Agree) on a standard 100% Stacked Bar Chart buries sentiment shifts because every bar starts at 0% on the left! Robbins & Heiberger’s Diverging Stacked Bar standard splits Neutral (B4) into two equal halves (B4 / 2 left of the spine, B4 / 2 right of the spine) so the left-of-center mass is L_i = B2 + B3 + B4 / 2.

Setting a chart-wide anchor M = B7 (e.g., 0.50 or MAX_i(L_i)), each row’s invisible Left_Padding_Spacer = M - (B2 + B3 + B4 / 2) locks every Neutral midpoint onto one crisp vertical axis at X = M!

Likert Bucket (Question 1)Response ShareDiverging Stacked Placement (Spine at 50%)
Invisible Left Spacer15.0% (0.15)0.0% -> 15.0% (No Fill)
Strongly Disagree (8%) + Disagree (17%)25.0% (0.25)15.0% -> 40.0% (Left of Neutral)
Neutral Split (20% = 10% + 10%)20.0% (0.20)40.0% -> 50.0% Spine -> 60.0%
Agree (35%) + Strongly Agree (20%)55.0% (0.55)60.0% -> 115.0% (Net Favorability = +30.0 pts)

Invisible Left-Padding Spacer Aligning Neutral Midpoint to Spine B7

Offsets row i by B7 - (Strongly_Disagree + Disagree + Neutral/2) while verifying proportions sum to 1.00.

=IF(OR(ABS(SUM(B2:B6) - 1) > 0.001, B7 < B2 + B3 + B4 / 2), "Invalid Shares or Increase Spine Anchor B7", ROUND(B7 - (B2 + B3 + B4 / 2), 4))

Net Top-2 Minus Bottom-2 Favorability Score (Percentage Points)

Computes 100 * ((Agree + Strongly_Agree) - (Strongly_Disagree + Disagree)).

=ROUND(100 * ((B5 + B6) - (B2 + B3)), 2)

Try the example

Use the original values or change them to test your understanding.

Further reading