Superimposing time data in excel - excel

So I want to make a load duration curve in excel. And I have the demand and the time for which the EV is active for a year. So basically I want to make a load curve for the whole year. My problem is that I only have like a starting and end time where the EV is active during the day and data does not show that it is zero elsewhere.
So I want to create a whole sheet with 24 hour times for 365 days using the data that I have.
My confusion is how to take the limited data that i have which starts at any time not on the hour to make a full 24 hr one year data for a load duration curve.

In a chart with 365 days on the X axis, the distinction between different times of the day will be difficult to discern.
If you use a line chart you can set it to show empty cells as zero instead of connecting empty cells with a line.
If you want the line to drop to zero, you must have rows for that date with no data in the values column.

Related

Is a date within several date ranges

I'm trying to put together an excel spreadsheet to show the day-by-day impact of stays by 3rd country citizens in the EU's Schengen area (it's a fairly complex rolling 180 day window). At the moment, I have a column with every day from a start date (so lots of rows) and another where I enter a 1 if there was a stay in a Schengen country for that day. Then other columns calculate when the 180 day period started and how many days have been in Schengen for that day.
It's a bit of a faff having to enter a 1 for every day away. I'd like to have another worksheet where I simply enter the start and end dates of (an arbitrary number of) each stay and then the calculation spreadsheet simply works out if each date falls within a stay or not. Working out whether a date falls within one date range is pretty straightforward, but working out if it falls within several date ranges isn't obvious to me. Any suggestions please?
After a very fair comment, here's a couple of images that hopefully illustrate what I'm trying to do (please ignore the colours).
Example of date ranges, but the number of these should be arbitrary:
The calculated sheet - currently I have to enter the 1s individually whereas I'd like them evaluated from the date ranges:

Excel average if function for obtaining hourly data

I have minute data for air temperature and relative humidity (about 930,000 cells) for a building and I am trying to obtain the hourly average using excels "AverageIF" function. Here's the criteria that I have come up with: whenever one hour passes, average the air temperature and relative humidity for that hour. I am having trouble communicating these criteria to excel and any help would be appreciated. I have included a pic of what my data looks like:
the yellow row is me manually adding a row after an hour has passed and calculated the average using the average function.
In the example above I went a bit long winded in the formula to deal with time intervals where there was no data, as that generates a divide by 0 error.
Essentially what I did was setup a summary table to the right. I gave a start and end time for each hour (ASSUMING this is based on a 24 hour clock and not 1 hour from some arbitrary start time)
I used the AVERAGEIFS function as you have two criteria. Everything after a start time and everything before an end time. Only lines that match BOTH criteria are included.
The basic formula looks like this and is based on my example cell J4:
AVERAGEIFS(E$4:E$31,$C$4:$C$31,">="&$H4,$C$4:$C$31,"<="&$I4)
If the date is important, then you would need to add a date column to the table on the right and add a third criteria to the formula above.
In order to deal with divide by zero error and display blank instead of zero so you can distinguish between actual average of 0 and no data and still presenting an error when another type of error comes up I use the following formula in J4:
=IFERROR(AVERAGEIFS(E$4:E$31,$C$4:$C$31,">="&$H4,$C$4:$C$31,"<="&$I4),IF(ERROR.TYPE(AVERAGEIFS($E$4:$E$31,$C$4:$C$31,">="&$H4,$C$4:$C$31,"<="&$I4))=2,"","ERROR"))
The above formulas can be copied down and to the right.

Excel - Plot time slots on a continuous time axis

Let's say we have time slots documented in which a production line was running. In between each product maufactured are time slots in which the machine was idling.
I now want to plot the machine status over time, basically as a boolean value (running vs idling).
I get the machine log and need the chart on the right.
The machining duration will ultimately be logged including seconds and may vary for each product.
The first - and probably biggest - challenge for me is to find a smart way to extract the status from the time stamps. My current first step ist to create a table row for each minute and use the if statement in H4 to check wether article 1 was being manufactured.
IF(AND([#Time]>Machine_log[#Start],[#Time]<Machine_log[#Finish]);;)
However, since the final list will range over 24 hours or more and the number of articles quickly reaches 50 and more, I would love to avoid using nested IFs on this one..
I'm thankfull for any input and open for inspiration :)
Thank you all in advance!
PS: Anyone know how a better way than a scatter chart with two values per X-Value to display the chart as vertical lines/right angles like this?
One option is to add only those points that are necessary to the Status extraction table (which I named "Status"). (I named the Machine log table "Log").
Note: it looks like you are using a semicolon list separator, so you'll need to change the commas in the formulas below to semicolons.
Formula for the Time column:
=IF(ROW()=ROW(Status),MIN(Log[Start])-1/144,IFERROR(INDEX(Log[[Start]:[Finish]],INT((ROW()-ROW(Status)-1)/4)+1,MOD(INT((ROW()-ROW(Status)-1)/2),2)+1),MAX(Log[Finish])+1/144))
Formula for the Production running? column (enter into H4 and fill down):
=IF(SUMPRODUCT(--(Log[[Start]:[Finish]]=[#Time])),IF([#Time]=G3,3-H3,H3),1)
These formulas will pad your plot with 10 minutes of off time on either side.
To answer your question about avoiding two points for each x-value: no, each point on the plot has to have a corresponding data pair.
UPDATE IN RESPONSE TO COMMENT: I failed to mention that the above solution assumes the time data in the Machine log table are in ascending order. This means that if your data span more than one day, they will need to contain a date component or you can get plots where the line crosses back to the beginning. For example, if you have 23:57:00 followed by 00:10:00 with no date component, Excel treats these as 11:57 pm on 1 January 1900 and 12:10 am on 1 January 1900. (To see this, change the format to "General", and you'll see the values that Excel uses to encode date-time aren't in ascending order.) The solution is to enter the dates as "8/16/2020 23:57:00" and "8/17/2020 00:10:00" in the formula bar. If you're copying over from another data source, the date needs to be copied with the time. If the dates and times are in separate columns, your Start and Finish columns would each be a date column plus a time column.

Determining the optimal excel chart major unit

one of my tasks is updating a presentation with zillion charts.
Since there are 4 charts per slide it is important that the major unit on a chart is set so that the charts are legible.
I found a way to code some steps and cut the time significantly but one of the missing pieces is determining the major unit of a chart.
So the question is:
Is there a way to to determine through formulas or vba what should be the major unit in a date type x axis based on the dynamic start date and end date (I want last date to be shown on a graph)
Bellow is the example:
dates are having one week interval
I need the final date that shows up in pivot to be on the chart
I need the chart dates to be legible given that it will take quarter of a slide
chart example
I tried going through similar questions and one of the solutions (that didnt work for me) was:
using Days360 to calculate number of days between start and end date
adding 1 to be inclusive of start and end day
dividing that number of days with number of wanted ticks minus one
so far I was using 27 as a number of ticks, based on legibility experience
If I find a way to precisely determine a number to be used I will use it as a reference # for my macro that changes all the applicable charts
Could anyone help me out please?

How to get an Excel graph show "up to" current day of week

In Mac Excel 2011 I have a Scrum burndown chart that tracks the number of points ‘burnt’ per day (starting from say 100, hopefully burning down to 0).
The number of points per day is made up of a sum of X number of columns (tasks).
I then have a marked line graph which takes it’s Y value data from the summed points per day.
My issue is that the marked line graph will always display 5 work days worth of burn, even though we might be on Tuesday.
I need a solution that means I don’t have to manually update the graph y value each day (adding it), instead the graph knows it is Wednesday, and selects data up to Wednesday.
Do you want to show the days for the whole week? (probably, since a 1 or 2 day chart early in the week will look funny.) Are the Y values linked from another cell?
If so, change your links from
=A1
to
=IF(LEN(A1)=0,NA(),A1)
NA() produces #N/A in the cell, which isn't plotted.

Resources