Today let’s have a poll. Lets debate if this pie chart about world elections in 2014 is good or bad.
First lets take a look at the chart
This chart, published by The Economist talks about how 42% of the world population is going to vote this year. Take a look:

My thoughts on this chart
Usually I try to avoid pie and donut charts. But this combination works. I like the simplicity of the chart and the clear message. Although rotated labels around the chart are tricky to read, you get the message quickly.
Even though a typical time line chart or map chart can convey the same information, they do not look as exciting and attention grabbing this one. Also, depicting the time line of events on a map is really tricky (unless you go for animated chart or use too many labels).
Can this be made in Excel?

Gerald, One of our fans on Facebook asked if this chart can be recreated in Excel? That got me thinking… why not?
Steps for creating this chart in Excel
1. First organize the data. You can download election data from electionista. Since electionista site only showed data for next 6 months, I gathered rest of the data from Economist’s chart.
2. Make the 12 sliced donut
In a blank range, type the names of all 12 months and enter 1 in adjacent column for all of them. Now select everything and insert a donut chart.
3. Format the donut chart
- Select the slices of donut and fill all of them with same color.
- Select second slice of the donut. You have to click twice on the second slice, once to select all slices, again to select the particular slice.
- Fill it with another color.
- Repeat the process for every other month (April, June… December). You can just select each of these month’s slices and press F4 to repeat last action (which is filling the color)
- Finally fill the plot area & chart area of donut chart with no color. This makes the donut chart transparent so that anything behind it shows thru.
- Remove any chart titles, legends.
4. Calculations for the pie charts
As per the data, there are 48 elections in 2014. But if you plot these 48, the pie slices will not properly align with the months to which they belong. So we need to insert some gap slices so that each month’s elections are plotted in that wedge. Do not understand.. see this:

To fix this, we need to insert a few gap slices between elections. How many gap slices ?!?
Well, to answer that question, we first need to find out what is the maximum number of elections in any month?
The answer is 11.
So, we are going to create a pie chart of 12 x 11 = 132 slices. Then, for each month, we just put the names of countries that have election in that month. If a month has only 5 elections (February for example), then we leave the rest of 6 cells in Feb empty. All of this can be done with lookup formulas. INDEX + MATCH to be exact. I am leaving how part of this to your imagination.
Once we have mapped the 48 election dates to 132 cells, we need to separate the country names to 3 columns depending on type of election. Legislative in first column, Presidential in 2nd column and Referendums in 3rd column.
The final calculations look like this:

5. Make pie chart for legislative election dates
Select legislative & dummy columns. Insert a pie chart.
Now format the pie chart.
- Fill color for slices = no color
- no line
- Set data labels to category
- Set the location of data labels to “outside edge”
- Color data labels.
- Set fill color for plot area & chart area to no color as well.
- Remove any chart titles, legends.
6. Repeat the process and create 2 more pie charts
One for Presidential & one for Referendum election dates.
7. Insert another pie chart
For 42% center pie chart. Just type 42% in a cell, 58% in another. Select both, insert a pie chart. Format it.
8. Align all charts
- Select all charts (by holding ctrl key or using Home ribbon > find & select > select objects tool
- Go to Format ribbon > Align
- Select Align in the middle
- Select Align Center
This ensures that everything is aligned properly.
Now adjust the sizes of these charts as needed until you get desired effect.
Since all charts are transparent, they work like layers to give you the desired effect.
How does the layering work?
This is how the layering works.

Download World Elections in 2014 Excel chart
Click here to download the chart workbook. Examine the charts, formulas and formatting to understand this better.
Our own election – Like it or hate it? World Elections in 2014 chart
Lets have our own election. What do you think about the world elections in 2014 chart? Do you like it or hate it? Please vote using comments.
Discussion on pie charts
At Chandoo.org parliament, we debate pie charts (and donuts, bars, spiders and scatter plots too) often. Here are some important bills we passed,













27 Responses to “Sum of Values Between 2 Dates [Excel Formulas]”
I would apply a filter and use function subtotal, with option 9. This way you can see multiple views based on the filter.
hey Chandoo, the solutions you proposed are very efficient, but if I wanted to be fancy I would do it this way .. the references are as your example workbook.
=SUM(INDIRECT("C"&(MATCH(F5,B5:B95)+4)):INDIRECT("C"&(MATCH(F6,B5:B95)+4)))
I like things simple:
=SUMIF(B5:B95,">="&F5,C5:C95)-SUMIF(B5:B95,">"&F6,C5:C95)
use something like: =SUM(OFFSET(B1,0,0,DATEDIF(A1,D1,"d")))
and have D1 be the date that I want to sum to.
In Excel 2003 (and earlier) I'd use an array formula to calculate either with nested if statements (as shown here) or with AND.
{=SUM(IF(B5:B95>F5,IF(B5:B95<F6,C5:C95,0),0))}
Note that I truly made this for BETWEEN the dates, not including the dates
I turned the data set into a table named Dailies.
I named the two limits StartDate and EndDate.
And used an array formula:
{=SUM((Dailies[Date]>=StartDate)*(Dailies[Date]<=EndDate)*Dailies[Sales])}
If I would still be using the old Excel I would do it as follows:
SUMIF($B$5:$B$95,"<="&H6,$C$5:$C$95)-SUMIF($B$5:$B$95,"<"&H5,$C$5:$C$95)
Works as simple as it is.
Regards
=sum(index(c:c,match(startdate,c:c,1)+1):index(c:c,match(enddate,c:c,1))
=sum(index(c:c,match(startdate,b:b,1)+1):index(c:c,match(enddate,b:b,1))
Great examples and thanks to Chandoo. You have simplified my work.
Hi! great tips I have found in your page, have you seen this
http://runakay.blogspot.com/2011/10/searching-in-multiple-excel-tabs.html
[...] I'm not sure I understand your question fully, but have a look at this: Sum of Values Between 2 Dates [Excel Formulas] | Chandoo.org - Learn Microsoft Excel Online [...]
Thank you! Thank you! Thank you!
=SUMIF(A2:A11;">="&B13;B2:B11)-SUMIF(A2:A11;"<"&A11;B2:B11)
awesome... thank yoo Chandoo!
which is most efficient and fast, if all are efficient ?
Thank you for this formula, I've just spent ages trying to find something to work on my data, I knew it would be possible! Don't care if others think there are easier/other ways to do it, you explained it so I understood it and could apply it to what I was doing so I'm happy!
The above said example is awesome for calculating values between dates,
can you pls let know how to calculate sale values if we have 10 sales boys for
ex: 1,rama
2,krishna
3,ashwin
4,naga
5,suresh
how much rama sale value between 1/jan/2015 to 10/jun/15
how much krishna sale value between 10/jan/2015 to 15/july/2015
i think you understood can you pls let me know the formula for how to calculate the sale between diffrent sale man sale value from master data file
Thanks,
Nagaraju
Hi
I have a list of people's names in column A, I have a list of dates in column B which records the dates they have been off sick, in column C I have either 1 if it is a full sick day or 0.5 if it is a half day.
What I would like to do is to add up the number of dates a specific person has been off within two dates.
For example, I want to look at my list of names and to find Joe Bloggs (column A), then add up all his sick days (column C). The start date will be in cell E1 and the end date will be in F1.
If this possible using SUMIFS?
List of names are in range A2:A100
List of dates in B2:B100
List of sick days (either 0.5 or 1 in C2:C100
The start date is in cell E2
The end date is in cell F2
Your help would be greatly appreciated.
Yes, with the help of SUMIFS you can have the solution.
Note: you need have an extra col. D2 where you will input Name of the person.
=SUMIFS(C2:C100,A2:A100,D2,C2:C100,">="&E2,C2:C100,"<"&F2)
Col. A Col. B Col. C Col.D Col. E Col. F
Name Date Sales
ABC 28-Jun-11 1 MNO 28-Jun-11 25-Sep-11
XYZ 29-Jun-11 0.5
MNO 30-Jun-11 1
PQR 1-Jul-11 1
Typo ERROR / Correction in formula:
Yes, with the help of SUMIFS you can have the solution.
Note: you need have an extra col. D2 where you will input Name of the person.
=SUMIFS(C2:C100,A2:A100,D2,B2:B100,">="&E2,B2:B100,"<"&F2)
Hi
I have a list of people's names in column A, I have a list of dates in column B which records the dates they have been off sick, in column C I have either 1 if it is a full sick day or 0.5 if it is a half day.
What I would like to do is to add up the number of dates a specific person has been off within two dates.
For example, I want to look at my list of names and to find Joe Bloggs (column A), then add up all his sick days (column C). The start date will be in cell E1 and the end date will be in F1.
If this possible using SUMIFS?
List of names are in range A2:A100
List of dates in B2:B100
List of sick days (either 0.5 or 1 in C2:C100
The start date is in cell E2
The end date is in cell F2
Your help would be greatly appreciated.
Viv
@Viv
Can you please post the question in the Chandoo.org Forums
http://forum.chandoo.org/
Please attach a file so that a specific answer can be delivered.
Thanks for this - it solved the problem that I was having. However can someone please explain to me why the "" needs to be around >= and <= as well as why we need to add & in order for the formula to work? Thanks in advance!
This formula works perfectly as well. Any ideas?: =SUM(INDEX(C5:C95,MATCH(H5,B5:B95,1)):INDEX(C5:C95,MATCH(H6,B5:B95,1)))
ikkeman had posted the same thing.
I am trying to sum total a range of cells between date ranges ie column n has $ amounts column d has the transaction dates ie 1/3/2015 or 25/3/2015 or 25/4/2015 column b has the text saying drp or distribution - reinv
In another cell I am trying to sum or total (in column n) with the value of a range of different dates (column d) that contain different text (column b) ie cell n48 is 50, n65 is 85, n165 is 36
with the dates ie cell d48 is 1/3/2015, d65 is 25/3/2015 and d165 is 25/4/2015
with different text that says drp or distribution - reinv ie cell b48 is drp, b65 is distribution - reinv, b165 is drp
If I wanted to sum the amounts between 1/3/2015 to 31/3/2015 with drp then the total would be 50. Also if I wanted to sum the amounts between 1/4/2015 to 30/4/2015 with drp the sum total would be 36 If I wanted to sum the amounts between 1/3/2015 to 31/3/2015 with drp and distribution - reinv the sum would be 115
What would the formula be for these different questions
hope you can help, it has been driving me nuts and cant work it out