I have already made charts and would like to make it dynamic so that when I add new data (highlighted yellow) the charts will update automatically.
Can someone guide me on how to do this.
Image of sample data for what I am trying to do is attached.
I would advise the use of named formulas for your series data inputs. Your named formulas can be dynamic in nature, in that they search across the row and check for the first blank row of data.
As an example, all the grapsh can have their horizontal axis labels set to the named formula 'validDates', where
validDates is put in the name manager as :
='NTesco'!$C$2:INDEX('NTesco'!$2:$2, MIN(IF('NTesco'!$B$3:$AZZ$3="", COLUMN('NTesco'!$B$3:$AZZ$3), 99999)))
N.B. You could use slightly different variations for each graphs date range if there will be independent data gathering for each corresponding value range. Then you should use that row's row index in the IF logical test argument...
You could also use a formula for the first graph values, such as:
='NTesco'!$C$3:INDEX('NTesco'!$3:$3, MIN(IF('NTesco'!$B$3:$AZZ$3="", COLUMN('NTesco'!$B$3:$AZZ$3), 99999)))
The AIOWHB graph takes values from the 4th row, so would be:
='NTesco'!$C$4:INDEX('NTesco'!$4:$4, MIN(IF('NTesco'!$B$4:$AZZ$4="", COLUMN('NTesco'!$B$4:$AZZ$4), 99999)))
And so on for the other two....
Related
I am trying to change a data series from a formula like =SHEET!$L$500:$L$750 to =(SHEET!$L$500:$L$750)+120 and Excel is refusing to allow this.
How can I achieve this offset (or bias) of 120 degrees to this data series, and consequently subtract 120 degrees to another set on the same plot - without modifying the input data or adding extra columns?
Series formulas don't allow calculations. If you don't want to use a helper column in the worksheet, you can set up a named formula with the Name Manager in the Formulas ribbon.
Create a new name, for example "ModifiedSeries" and use the formula you had above. In my screenshot, I used
=(Sheet1!$B$3:$B$10)+3
Then add a series (or edit the existing one), and instead of the range in the Series values, enter the name you just created. Note that it must be preceded by the sheet name, otherwise Excel will not allow it. To quickly write the sheet name, type a = sign, then click any cell in the sheet and use the backspace key to remove the cell reference, then type the name you used or pick it with F3.
In my screenshot, I added a new series with the named formula in addition to the existing series, so you can see the difference.
Instead of hard-coding the value to add to the original series data, you can make it more dynamic by pointing to a cell. In this animated screenshot, the name has the formula
=(Sheet1!$B$3:$B$10)+Sheet1!$B$13
I am trying to create a graph where the number of columns varies. what I have done is used name manager to label each of the possible columns (1-100). I have then used these named ranges to create a graph.
Each column in the table should be identified as a series, the issue is that I do not know how to change the number of series automatically, so that when data is added to the column the chart automatically added the series in. I tried to do this by naming the range as a table, this also did not work as it included the empty columns as series on the chart.
the data I am trying to use is as follows;
When I add data to another column I want to add that series to the graph. Is there a way of doing this? because all I have been able to find are examples where the number of rows are the only thing that is dynamic.
I was looking for a similar problems, but couldn't find an answer to this issue. I have a huge blank space on the side of my graph.
I cant change the axis setting because my graph auto updates when new data is entered. I have also cleaned the table, so there is no empty data in the table.
my graph
That means your Axis labels or Series values are derived by a formula. In order to deal with the scenario, create two dynamic named ranges and use them as series for the chart.
Assuming your axis labels are in column B, create a named range using the formula given below...
=OFFSET(Sheet1!$B$2,,,COUNTIF(Sheet1!$B:$B,"?*")-1)
Same way create another named range to hold the series values.
And then right click the chart --> choose Select Data --> select the series and the axis label one by one --> Edit --> And in the series values or in the axis label range, use the relevant named range using the formula given below..
Sheet1!YourNameRangeForAxisLabel
Sheet1!YourNameRangeForSeriesValues
Here Sheet1 is the sheet which the named ranges belong to.
Later this would be changed automatically and reflect the workbook reference correctly.
I have a chart in Excel 2010, and I want to have a data series that can refer to multiple named ranges based on criteria in another cell. For example, if A1 = 1, the data series will display the data from S_1, and if A1 = 2 it will display the data from X_1. Both S_1 and X_1 are dynamic, and can refer to different data based on other conditions I have.
I've gone into the select data source of the chart, and tried setting the series value of the data series equal to formulas like IF(A1 = 1, S_1, X_1), and CHOOSE(A1,S_1,X_1), but it says these functions aren't valid.
Is the syntax of the formula off, or does excel not accept these formulas in its series value? If it's the latter, what other way is there to achieve the desired result?
I would use another column (could be hidden) to extract the specific data I want to plot.
First, you'll need a list, or some other way to interpret the number in A1 to the specific series you want to show. Than you create a column (for simplicity I assume it is aligned with your data) that fetch the relevant data from the table, and set the chart on it.
Now, step by step:
Define the mapping between the number in A1 and the data series you want to choose. I'll use it as the column number of the data.
Define all the data range as a named range, say data.
Take a new column, and paste this formula in row 1:=INDEX(data,1,$A$1), This will bring the header.
In the cell below type: =IF(ISBLANK(INDEX(data,0,$A$1)),NA(),INDEX(data,0,$A$1)) to bring the data from the relevant series, or #N/A if it's blank.
Drag the 2nd formula all the way down to the lowest row in which any of the series has data in it.
Create a chart based on the new column, and watch how you can chang the value in A1 and see the chart updates.
Tell me if it answers your question ;)
I have several data in excel sheet and I wonder if its possible (through macros or something else) to select the data and display the series needed.
I'm not quite sure if I explained the situation correctly...
But I have multiple curves, and instead of plot the average curve or single curves, I would like to have the option to plot: curve 1, curve 2, curve 3, average curve...
Kind regards,
DNA
My preferred way to do this is with a combination of a couple of ideas. In general, Excel charts are easiest to maintain if they are looking at a simple range instead of complicated named ranges. Given this, I like to create a simple column of data for the chart and then use other Excel features to modify that column of data.
Note that the steps below are for a specific case of a block of data all on one sheet. There are a ton of variations that you can do to make this work for other configurations. The idea is simple: create a new column of data for the chart and use normal formulas to get the data there. You can make the x-axis a selector as well.
For the simple case of a common x-axis with varying series for the y-axis all in one block of data, I do these steps:
Start = block of data
Add a column header off to the side which will "drive" the selection. I like to make this a Data Validation drop down so that the selection is correct. I did this in G2, selecting the column headers as the Source.
With this in place, you can use the selection there to update the data in the column below it. A simple formula for doing this uses INDEX.
Formula in G3, copied down to end of data: =INDEX($C$3:$E$25,,MATCH($G$2,$C$2:$E$2,0))
This formula works by finding the column name in the list of column headers and returning that column of data. Since the row selection is blank ,,, it relies on the relative position of the cell which works since everything is lined up.
Once this is done, you can then create the chart simply using the date and the new column of data. It will respond to changes in the selector which works nicely. If you use the column G header as the series name, that will update too which is a good effect for free. Below is the chart showing the ranges it is using.