How to make an excel ticket sales break even chart - excel

I'm not very experienced with excel, I have made 2 tables, one for our costs and one for our ticket sales.
I would like to make a chart visualizing how many tickets we need to sell to break even.
We don't have any variable costs so just want one horizontal line for the fixed costs (bottom of the left table) and one for ticket sales.
The problem I've got is we have 3 tiers of tickets at different prices so this wont just be a straight line. Each tier of ticket can only be bought once the previous tier has run out. I.e after 50 tickets have been sold, the price goes up to £7.
Here are the tables:
EDIT:
This is the kind of chart I want to make:

Set up another table that has the # of sales as one line item, and the cost as a second line item, and build the chart (under the insert menu) from it.
The data should look similar (but with the full numbers) to the attached picture.
It should end up looking similar (but smoother) to this:

One way to get to where you want to go is set up the following data table:
| Qty | Tier1 | Tier2 | Tier3 | BE |
|-----|-------|-------|-------|------|
| 10 | 50 | 50 | 50 | 1015 |
| 20 | 100 | 100 | 100 | 1015 |
| 30 | 150 | 150 | 150 | 1015 |
| 40 | 200 | 200 | 200 | 1015 |
| 50 | 250 | 250 | 250 | 1015 |
| 60 | | 320 | 320 | 1015 |
| 70 | | 390 | 390 | 1015 |
| 80 | | 460 | 460 | 1015 |
| 90 | | 530 | 530 | 1015 |
| 100 | | 600 | 600 | 1015 |
| 110 | | 670 | 670 | 1015 |
| 120 | | 740 | 740 | 1015 |
| 130 | | 810 | 810 | 1015 |
| 140 | | 880 | 880 | 1015 |
| 150 | | 950 | 950 | 1015 |
| 160 | | | 1040 | 1015 |
| 170 | | | 1130 | 1015 |
| 180 | | | 1220 | 1015 |
| 190 | | | 1310 | 1015 |
| 200 | | | 1400 | 1015 |
| 210 | | | 1490 | 1015 |
| 220 | | | 1580 | 1015 |
| 230 | | | 1670 | 1015 |
| 240 | | | 1760 | 1015 |
| 250 | | | 1850 | 1015 |
which list out the quantities and corresponding revenue under each tier plus the break even target which would be the fixed cost in your example.
Highlight the data table and insert a Line Chart from it. The line chart will look funny in the first place.
Click anywhere within the line chart, you will see a Design tab showing on your ribbon, go to that tab and click on the Select Data button:
Then manually modify the Series (left section) and Axis Labels (right section) as shown below:
Where Tier1 should be all the data from the Tier1 column, Tier2 should be all the data from the Tier2 column, Tier3 should be all the data from the Tier3 column, BE should be all the data from the BE column, and Axis Labels should be all the data from the Qty column.
If you have set up the data correctly (and ordered the series in the exact way as mine) , then you should have something similar to the following:
Please note I have modified the formats and styling of the chart to make it look more "attractive". The water is quite deep in the world of charting in Excel and I will leave it to you to explore.
A tip here, you can click on any elements of the chart, and press Ctrl+1 key on your key board to bring out the format panel on the right of your worksheet. You can test out each function and eventually craft the chart in a way you desired. Or you can use a standard style given in the Design tab.
Let me know if you have any questions. Cheers :)

Related

Create list based on descending values and include duplicates

Excel-File
| A | B | C | D | E |
---|--------------|-------------------|--------|-----------------|------------|----
1 | Product | Sales | | Product | Sales |
---|--------------|-------------------|--------|-----------------|------------|----
2 | Product_A | 20 | | Product_D | 100 |
3 | Product_A | 10 | | Product_D | 90 |
4 | Product_A | 50 | | Product_B | 80 |
5 | Product_B | 80 | | Product_A | 50 |
6 | Product_C | 40 | | Product_D | 50 |
7 | Product_C | 30 | | Product_D | 50 |
8 | Product_D | 100 | | Product_C | 40 |
9 | Product_D | 90 | | Product_C | 30 |
10 | Product_D | 50 | | Product_A | 20 |
11 | Product_D | 50 | | Product_D | 10 |
12 | | | | | |
In Column A I have list of different products with their corresponding sales in Column B.
Products can appear mutliple times in the list.
Sales numbers can be equal for multiple products.
Now, I want to create a descending list of the products in Column D and Column E depending on the sales in Column B.
I tried to go with =LARGE(B3:B12,1), =LARGE(B3:B12,2), ... but it delets all duplicates from the list.
Do you have any idea what formular I need to make this list work?
Here is a solution that should work in older versions.
I create a Table and am using structured references, for flexibility, but you can convert to regular addressing if you need to:
D2: =INDEX(Table31[Product],AGGREGATE(15,6,1/(Table31[Sales]=E2)*ROW(Table31[Sales]),COUNTIF($E$2:E2,E2))-ROW(Table31[#Headers]))
E2: =LARGE(Table31[Sales],ROWS($A$1:A1))
Selectd D2:E2 and fill down as far as needed
Office 356 Solution:
=SORT(A2:B11,2,-1,FALSE)
Including Filters:
=SORT(FILTER(A2:B11,A2:A11=M2,""),2,-1,FALSE)
Including multiple Filters-Criterias:
=SORT(FILTER(A2:B11,(A2:A11=M2)*(A2:A11=M2)*(A2:A11=M2),""),2,-1,FALSE)

Cross Table - Calculate difference between two nested columns

I have a cross table as follows -
ColumnA ColumnB ColumnC
+================+===========+===========+===========+===========+===========+===========+
| Store Location | Category1 | Category2 | Category1 | Category2 | Category1 | Category2 |
+================+===========+===========+===========+===========+===========+===========+
| Boston | 200 | 100 | 250 | 230 | 230 | 210 |
+----------------+-----------+-----------+-----------+-----------+-----------+-----------+
| New York | 180 | 150 | 310 | 270 | 240 | 220 |
+----------------+-----------+-----------+-----------+-----------+-----------+-----------+
| Stockholm | 190 | 140 | 180 | 160 | 220 | 210 |
+----------------+-----------+-----------+-----------+-----------+-----------+-----------+
| London | 170 | 140 | 340 | 310 | 420 | 380 |
+----------------+-----------+-----------+-----------+-----------+-----------+-----------+
I want to calculate the difference between two categories for each Columns as follows -
ColumnA ColumnA Diff ColumnB ColumnB Diff ColumnC ColumnC Diff
+================+===========+===========+=====+===========+===========+====+===========+===========+====+
| Store Location | Category1 | Category2 | | Category1 | Category2 | | Category1 | Category2 | |
+================+===========+===========+=====+===========+===========+====+===========+===========+====+
| Boston | 200 | 100 | 100 | 250 | 230 | 20 | 230 | 210 | 20 |
+----------------+-----------+-----------+-----+-----------+-----------+----+-----------+-----------+----+
| New York | 180 | 150 | 30 | 310 | 270 | 40 | 240 | 220 | 20 |
+----------------+-----------+-----------+-----+-----------+-----------+----+-----------+-----------+----+
| Stockholm | 190 | 140 | 50 | 180 | 160 | 20 | 220 | 210 | 10 |
+----------------+-----------+-----------+-----+-----------+-----------+----+-----------+-----------+----+
| London | 170 | 140 | 30 | 340 | 310 | 30 | 420 | 380 | 40 |
+----------------+-----------+-----------+-----+-----------+-----------+----+-----------+-----------+----+
My horizontal axes expression is as follows -
[Axis.Default.Names] NEST [CategoryName]
What custom expression need to use to get it? Appreciate any suggestions.
Thanks a lot.
I haven't found a great way to do this in the cross table. There is one way but it's a little messy depending on how many different values are in the category column and you'd need to know the values in advance. Basically in the cell values axis you would write a custom expression for each column you'd like to see rendered on the horizontal axis. Something like this for each axis:
Vertical Axis:[Store Names]
Horizontal Axis: (Column Names) <--written just like that, or selected from the dropdown on the axis
Values Axis:
sum(if([category]="A", [sales])) as [Sum of A],
sum(if([category]="B", [sales])) as [Sum of B],
sum(if([category]="A", [sales])) - sum(if([category]="B", [sales]) as [delta A-B]
So long as you have "(column names)" on the one of the axes, you can write independent expressions separated by commas on the values axis to back your way into a blend of calculations that aren't applied uniformly to whatever else is on the axis. Its a bit of a slog and can cause issues when new values pop up in your data unexpectedly but it works. Unfortunately it doesn't play nice with marking though. Good luck.

excel:how to calculate average interval time

+-------------+----------+----------+--------+------------------+
| customer_id | date | time | answer | missed_call_type |
+-------------+----------+----------+--------+------------------+
| 101 | 2018/8/3 | 12:13:00 | no | employee  |
| 102 | 2018/8/3 | 12:15:00 | no | customer |
| 103 | 2018/8/3 | 12:20:00 | no | employee  |
| 102 | 2018/8/3 | 15:15:00 | no | customer |
| 101 | 2018/8/3 | 18:15:00 | no | employee  |
| 105 | 2018/8/3 | 18:18:00 | no | customer |
| 102 | 2018/8/3 | 19:18:00 | no | employee  |
+-------------+----------+----------+--------+------------------+
I got a table whick looks like this and wanted to calculate average interval time for those who did not answer the phone.
for this example,the average interval time is:
{(18:15:00-12:13:00)+[(19:18:00-15:15:00)+(15:15:00-12:15:00)]/2}/2
the problem is I could only manipulate it in Excel...someone knows Excel please help!or any suggestion is fine,I am familiar with SQL.
I've entered your data as shown below, and added a time_to_next_call-column which calculates the interval until the next call to the same customer_id using the formula: =INDEX(C3:C$8,MATCH(A2,A3:A$8,0))-C2 for the first cell in the data set.
Then, list your customer IDs in a column, and use and AVERAGEIF-function to calcualte the average time_to_next_call for that customer_ID, as shown below:
As I've placed the customer_id 101 in cell A12, my function for calculating the average time_to_next_call is: =AVERAGEIFS($F$2:$F$8,$A$2:$A$8,A13,$F$2:$F$8,">0")
Adjust your ranges as appropriate to fit your workbook. Hope this helps

Adding Columns to Excel As List From Other Sheet Grows

Background
I'm creating a grade book in Excel for my wife. I have sheets for the overall grade, classwork, exams, and participation.
The three sections of work (classwork, exams, and participation) each have a variable number of items, and each item has a different number of points possible. Each section has a weight in the overall grade.
I have this up and running with a fixed number of items per section, but I'd like to create a template that can be updated from class to class and year to year.
Here's the problem:
On the classwork sheet, I'd like to be able to enter new assignments and their point value and have that automatically update the master grade sheet on my first sheet tab. Is there any way to add columns in a section of one worksheet (the master grade sheet) when new rows are added to another worksheet (the list of assignments)?
It is possible to achieve this without using VBA. The reason you will have difficulty acheiving this, however, is that you've violated normal form in the table you've already built. It appears the pertinent data you're looking for is each student's score on each assignment. If this if correct, the level of granularity you will want is on the Assignment, not on the Student.
There are some fairly quick ways to modify your existing work to account for this. I've written out some sample data below. Take a look and see if it helps.
Sample Original Table
+---------+------+------------+------------+
| Student | Quiz | Thumbnails | Watercolor |
+---------+------+------------+------------+
| Paul | 3 | 10 | 90 |
| Frank | 4 | 10 | 95 |
| Mary | 5 | 10 | 70 |
| Ellen | | 10 | 85 |
| Sue | 6 | 10 | 92 |
| Anton | 5 | 10 | 87 |
+---------+------+------------+------------+
Image of the data is below ( note I have highlighted the blank value ).
Sample Normal Table
+---------+-------------+-----------+-------+
| Student | Assignment | New_Score | Score |
+---------+-------------+-----------+-------+
| Paul | Quiz | | 3 |
| Frank | Quiz | | 4 |
| Mary | Quiz | | 5 |
| Ellen | Quiz | | 0 |
| Sue | Quiz | | 6 |
| Anton | Quiz | | 5 |
| Paul | Thumbnails | | 10 |
| Frank | Thumbnails | | 10 |
| Mary | Thumbnails | | 10 |
| Ellen | Thumbnails | | 10 |
| Sue | Thumbnails | | 10 |
| Anton | Thumbnails | | 10 |
| Paul | Watercolor | | 90 |
| Frank | Watercolor | | 95 |
| Mary | Watercolor | | 70 |
| Ellen | Watercolor | | 85 |
| Sue | Watercolor | | 92 |
| Anton | Watercolor | | 87 |
| Mary | ExtraCredit | 10 | 10 |
| Ellen | ExtraCredit | 8 | 8 |
| Sue | ExtraCredit | 9 | 9 |
| Anton | ExtraCredit | 10 | 10 |
+---------+-------------+-----------+-------+
Image of the data is below. The score column reaches back to your old table and grabs the score you've already entered for the students, so you won't have to do this all manually. The formula for this is =INDEX(non_normal,MATCH([#Student],non_normal[Student],0),MATCH([#Assignment],non_normal[#Headers],0)).
This assumes you've formatted the old data into an Excel DataTable ( ctrl+t ) and named it non_normal ( alt+j+t+i ). Note the unsubmitted assignment for Ellen comes through with a score of zero using this method. I've added a column named New_Score so that you are able to add new student-assignment submission combinations to the table without having to modify your old non_normal table ( which was the trouble in the OP ). With this column added, the formula in the Score column can be changed to =IF(NOT(ISBLANK([#[New_Score]])),[#[New_Score]],INDEX(non_normal,MATCH([#Student],non_normal[Student],0),MATCH([#Assignment],non_normal[#Headers],0))) which will take the New_Score value if available and the original score if not.
The orange cells are new student-assignment submission combinations. Note you do not need to add a row for every student, just add a row whenever a student submits an assignment.
Sample Assignments Table
+-------------+-----------------+
| Assignment | Points_Possible |
+-------------+-----------------+
| Quiz | 6 |
| Thumbnails | 10 |
| Wartercolor | 100 |
| ExtraCredit | |
+-------------+-----------------+
I've added the ExtraCredit assignment with a possible max score of zero/blank ( since not completing extra credit shouldn't count against a student )
Payoff - Back to the Original Table
+--------------+---------------+------------+------------+-------------+-------------+--------+
| Sum of Score | Column Labels | | | | | |
+--------------+---------------+------------+------------+-------------+-------------+--------+
| Row Labels | Quiz | Thumbnails | Watercolor | ExtraCredit | Grand Total | |
+--------------+---------------+------------+------------+-------------+-------------+--------+
| Anton | 5 | 10 | 87 | 10 | 112 | 96.6% |
| Ellen | 0 | 10 | 85 | 8 | 103 | 88.8% |
| Frank | 4 | 10 | 95 | | 109 | 94.0% |
| Mary | 5 | 10 | 70 | 10 | 95 | 81.9% |
| Paul | 3 | 10 | 90 | | 103 | 88.8% |
| Sue | 6 | 10 | 92 | 9 | 117 | 100.9% |
+--------------+---------------+------------+------------+-------------+-------------+--------+
Using the image below, you pivot your newly normalized data into a Pivot Table. ( alt+n+v ). Now, simply adding a new assignment to the normal_assignment DataTable will cause that assignment to appear in a new column when you refresh the Pivot Table ( alt+a+r+a ).
The % score on the right of the Pivot Table is calculated using the following formula ( with the sample Pivot Table starting in cell $M$2 ): =GETPIVOTDATA("Score",$M$2,"Student",M4)/SUM(assignment[Points_Possible])
I've uploaded the raw sample file for this to my public repo if you'd like to pull it and take a peek at the source. Credit to sensefulsolutions for text-to-table conversion.
Hope this is what you need!

Convert Rows into Columns with same values

Let's say I've a table
ID | Item | Purchased
17 | Chocolate | 1304
17 | Biscuit | 1209
17 | Jelly | 657
17 | Milk | 2234
18 | Chocolate | 1000
19 | Jelly |2387
I want to convert the rows into columns for each Item through Pivot tables in Excel
ID | Chocolate_Purchased | Biscuit_Purchased | Jelly_Purchased | Milk_Purchased
17 | 1304 | 1209 | 657 | 2234
18 | 1000 | | |
19 | | | 2387 |
How do I do that in Excel?
One simple way is with a Pivot table, although you may need to do some massaging to get exactly the output format you want.
With ID-->Rows; Itme-->Columns and Purchased--> Values, you can easily produce a Pivot looking like:
And you can do all kinds of different things with the formatting.

Resources