In google sheets, I have a data set that identifies historical pricing multiplyers for a product in certain size ranges. I'm using square inches in this case. The data is set up in a table like this:
Data set
What I've done is create a formula that allows me to specify any width, height and quantity, find the current square inches, then find the corresponding price for this specific sized product based on where it falls on the range of sizes that I've provided in the data set.
For example, if the square inches equals 150, the price for this size is .6 (or 60 cents) per square inch. (90)
I've already solved this. This is the formula I have:
=(A10*B10)*C10)*(filter(C2:C6,A2:A6<=((A10*B10)*C10),B2:B6>((A10*B10)*C10))
In this example, A10 = height, B10 = width, and C10 = quantity
So, like I said, this works just fine. My problem is that a product with a square inch value of 105 will ultimately have the same cost per square inch as a product with a square inch value of 214. It's only after it crosses the 250 square inch threshold that my cost per square inch will change.
Is there a way to dynamically find the appropriate multiplyer, so that, for instance, a square inch value of 175, would have a multiplyer between .8 and .6 since it falls in the middle of 100 square inches and 250 square inches?
I will try to assume that you have some kind of calculator for calculating coefficients.
If value of the area in C13 then in A16:C17 we can get the calculate range. Put in to A16
=ARRAY_CONSTRAIN(OFFSET(A2:C6,MATCH(C13,A2:A6,1)-2,0),2,3)
After that we can calculate part of price
=IF(ISNUMBER(A16),C16-(C16-C17)*(C13-A17)/(B17-A17),C17)
One formula solution
=VLOOKUP(C13,B2:C6,2)-
(VLOOKUP(C13,B2:C6,2)-VLOOKUP(C13,A2:C6,3))*
(C13-VLOOKUP(C13,A2:C6,1))/
(VLOOKUP(C13,A2:C6,2)-VLOOKUP(C13,A2:C6,1))
The best solution is use a TREND. It's very clear.
=TREND(
OFFSET(B2,MATCH(C13,B2:B3)-1,1,2,1),
OFFSET(B2,MATCH(C13,B2:B3)-1,0,2,1),
C13
)
My sample
References
VLOOKUP
ARRAY_CONSTRAIN
OFFSET
TREND
I trust you'll forgive me if I don't explain the math involved, but this formula should produce the result you want:
=(A10*B10*C10)*(VLOOKUP(A10*B10*C10,A2:C6,3,TRUE)+(((A10*B10*C10)-VLOOKUP(A10*B10*C10,A2:A6,1,TRUE))*(ABS(VLOOKUP(A10*B10*C10,A2:C6,3,TRUE)-INDEX(C2:C6,MATCH(VLOOKUP(A10*B10*C10,A2:C6,3,TRUE),C2:C6,0)-1))/(VLOOKUP(A10*B10*C10,A2:B6,2,TRUE)-VLOOKUP(A10*B10*C10,A2:A6,1,TRUE)))))
I would like to be set a fixed interval of 2 hours between every tick on the X axis, but also limit the number of ticks on the whole axis to 5, cropping out the extra data if necessary.
Currently I can achieve one or the other, but not both, using the following config :
tickInterval: 2 * 3600 * 1000 // sets the interval between each tick to 2 hours
tickPixelInterval: 100 // sets the number max number of ticks (for the current graph width) to 5
JSFiddle here
Is there a way to achieve both ?
You can set desired range using max or maxPadding properties.
API Reference:
http://api.highcharts.com/highcharts/xAxis.max
http://api.highcharts.com/highcharts/xAxis.maxPadding
Examples:
https://jsfiddle.net/vwrpwcq0/ - setting max
https://jsfiddle.net/ztqL9j3g/ - setting maxPadding
I want to have a different scale using a slider for the Min and Max. 0 should be in the middle, but I want to have a scale 0-50 for max and -200-0 for min.
Is that possible? How could I achieve that?
I don't think that this is possible out of the box.
But what you can do is, e.g. setup the slider in a way that for min it has 0 and for max 1000. Now you will have to check in which part of the part, user left the slider. If it's in the lower half, you will have to normalize those values to the desired range, the same for the upper range. The exact middle could be a bit tricky because you will have more points in the slider than in the ranges you are providing, but I guess with some fiddling around you can do this. :)
Hope that helped :)
I believe this is quite possible.
Here is my idea of how you can do it
Take a slider with values -200 to 200
For values > 0. Divide value by 4. (i.e. 200 / 4 = 50)
This will make your positive range from 0 to 50 but negative range from -200 to 0
Similarly while setting value to slider in positive manner you can multiply it by 4.
I have a core-plot graph, that has values from 50 to 250 and the interval is set to 20. However the labels underneath the graph are as follows: 40, 60, 80, ..., 260. What I want from them is to become: 50, 70, 90, ..., 250. I guess that has to do with the starting value of the x-axis (which is 0 and because the interval is set to 20, the labels are in that condition). I'll be extremely grateful if you suggest a solution for this.
Best regards,
Boyan
Use the labelingOrigin to adjust the starting point for fixed interval ticks. Setting it to 10 (or 30 or 50, etc.) will work.
I have some data that can have values in the range (0..100). Highcharts will sometimes label the axis from -10 to 110, which looks odd.
How can I prevent this? I can set a fixed min and max value for the axis, but if the current values happen to be between e.g. (50..60), I'd rather let Highcharts zoom in on the axis accordingly. Just don't want Highcharts to ever show anything outside of (0..100).
I could of course determine the appropriate min and max values myself every time I load data, but was hoping there would be some kind of minMin and maxMax setting?
So it looks like this isn't possible; opened a feature request.
Nowadays highcharts has floor and ceiling options for this use case.