Notifications
Clear all
General Excel Questions & Answers
2
Posts
2
Users
1
Reactions
325
Views
Topic starter
Hi
Looking for assistance with my formula.
My formula ...
- =BYROW(TAKE(AB3:AB23,COUNTA(AB3:AB23)),LAMBDA(row,
LET(
prev_value,INDEX(AB3:AB23,ROW(row)-1),
IF(
AND(
ROW(row)>1,
--(row<>"")*(row<>0),
prev_value<>""),
IFERROR(row/OFFSET(row,-1,0)-1,0),
0
)
)))
As it is above it works BUT when I change OFFSET(row,-1,0) to prev_value I get incoreect values
I know I could leave it working but I want to understand why it wont work because essentially OFFSET(row,-1,0) is the same as prev_value.
Help me to understand, many thanks!
Posted : 03/01/2025 5:02 am
I couldn't really follow your approach and can't answer the question. But I understand what you are trying to achieve and suggest you simplify the formula without using BYROW, LAMBDA and OFFSET.
This one will do the job:
=LET( prev, TAKE(H2:H23,COUNTA(H2:H23)-1), curr, TAKE(H3:H23,COUNTA(H3:H23)), perc, IFERROR(curr/prev-1,""), IF(perc=-1,"",perc) )
Posted : 03/01/2025 4:21 pm
Kasey Morris reacted