'Dont know how to Select Cell Range For SLOPE Formula

enter image description here

Here is my problem. I want to use =SLOPE formula with a cell range that refers to another sheet with criteria: Date period between Oct-21 until Apr-22, the known_ys = Emiten Name and known_xs = IHSG. I use this formula:

=SLOPE(IF(AND(Emiten!B:B>=Risk!$A$2;Emiten!B:B<=Risk!$B$2;Emiten!A:A=Risk!D17);Emiten!D:D);IF(AND(Indeks!B:B>=Risk!$A$2;Indeks!B:B<=Risk!$B$2;Indeks!A:A=Risk!$D$2);Indeks!D:D))

But it shows the result #VALUE!, can anyone please tell me where's the problem?

Thanks



Solution 1:[1]

AND only ever returns a single value. To simulate 'and' conditions within array constructions, use nested IF statements.

Also, you should not be using entire column references for such a construction, since it will be forced to process several million rows unnecessarily.

Try:

=SLOPE(IF(Emiten!B1:B10>=Risk!A2,IF(Emiten!B1:B10<=Risk!B2,IF(Emiten!A1:A10=Risk!D17,Emiten!D1:D10))),IF(Indeks!B1:B10>=Risk!A2,IF(Indeks!B1:B10<=Risk!B2,IF(Indeks!A1:A10=Risk!D2,Indeks!D1:D10))))

adjusting the last row referenced (10 here) to a suitably low, though sufficient, upper bound.

Also, I take it you are aware that the SLOPE function will only consider rows for which both the known_ys and the known_xs are numeric? For example, assuming that the above resolved to:

known_ys known_xs
14 FALSE
53 FALSE
FALSE 27
FALSE FALSE
16 63
58 90
FALSE FALSE
3 FALSE
80 85
25 40

then SLOPE would ignore everything apart from the the 5th, 6th, 9th and 10th pairs, effectively calculating over the following reduced array:

known_ys known_xs
16 63
58 90
80 85
25 40

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Jos Woolley