Solved

Excel: GROWTH with Inverted Column

Posted on 2010-09-08
7
312 Views
Last Modified: 2013-11-10
I have the following column of numbers in F12:F18:

99.49
95.09
103.93
99.11
99.07
96.65
97.94

How do I construct a formula that effectively gives me =GROWTH(F18:F12)?

Best wishes,

John
0
Comment
Question by:jfdinneen
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 2
7 Comments
 
LVL 92

Expert Comment

by:Patrick Matthews
ID: 33628228
Simply select G12:G18, enter this formula:

=GROWTH(F12:F18)

and instead of hitting Enter, hit Ctrl+Shift+Enter (thus making it an array formula).

Excel will display it as:

{=GROWTH(F12:F18)}
0
 
LVL 92

Expert Comment

by:Patrick Matthews
ID: 33628238
Formatting to two decimal places, the above returns:

Original      Growth
99.49       99.38
95.09       99.16
103.93       98.94
99.11       98.72
99.07       98.50
96.65       98.28
97.94       98.06
0
 

Author Comment

by:jfdinneen
ID: 33628607
Patrick

Thanks for the prompt reply.

Unfortunately, I do not want to create a new column, just a single result in G12. Forgive my ignorance, GROWTH(99.49, 95.09, 103.93, 99.11, 99.07, 96.65, 97.94) = 99.38, but GROWTH(97.94, 96.65, 99.07,, 99.11, 103.93, 95.09, 99.49) = 98.07 - I want the latter. Please advise?

Best wishes,

John
0
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

 
LVL 92

Expert Comment

by:Patrick Matthews
ID: 33628743
I see now what you meant by "inverted".

As far as I know, you will either have to use a "helper" column, or use VBA to accomplish the inversion.  For example:

1) Put this formula in G12...

=INDEX($F$12:$F$18,COUNT($F$12:$F$18)-ROW(G1)+1)

2) Copy that through G18

3) In another cell, enter the formula...

=GROWTH(G12:G18)
0
 
LVL 92

Expert Comment

by:Patrick Matthews
ID: 33628844
Using VBA, I created the function below, which is intended to return an array that is the "reverse" of the range fed in.  It only works properly if the range has:

1) 1 column and 2+ rows OR
2) 2+ columns and 1 row OR
3) a single cell

I then got the expected result with:

=GROWTH(ReverseRange(F12:F18))



Function ReverseRange(rng As Range) As Variant
    
    Dim arr() As Variant
    Dim Counter As Long
    
    If rng.Rows.Count > 1 Then
        ReDim arr(1 To rng.Rows.Count, 1 To 1) As Variant
        For Counter = 1 To rng.Cells.Count
            arr(rng.Cells.Count - Counter + 1, 1) = rng.Cells(Counter)
        Next
    ElseIf rng.Columns.Count > 1 Then
        ReDim arr(1 To 1, 1 To rng.Columns.Count) As Variant
        For Counter = 1 To rng.Cells.Count
            arr(1, rng.Cells.Count - Counter + 1) = rng.Cells(Counter)
        Next
    Else
        ReDim arr(1 To 1) As Variant
        arr(1) = rng.Cells(1)
    End If
    
    ReverseRange = arr
    
End Function

Open in new window

0
 
LVL 92

Accepted Solution

by:
Patrick Matthews earned 500 total points
ID: 33628957
I like this version much better.  Handles ranges with >1 row and >1 column, and is simpler.

=GROWTH(ReverseRange(F12:F18)) still works.
Function ReverseRange(rng As Range) As Variant
    
    Dim arr() As Variant
    Dim Counter1 As Long
    Dim Counter2 As Long
    
    ReDim arr(1 To rng.Rows.Count, 1 To rng.Columns.Count) As Variant
    
    For Counter1 = 1 To rng.Rows.Count
        For Counter2 = 1 To rng.Columns.Count
            arr(rng.Rows.Count - Counter1 + 1, rng.Columns.Count - Counter2 + 1) = rng(Counter1, Counter2)
        Next
    Next
    
    ReverseRange = arr
    
End Function

Open in new window

0
 

Author Closing Comment

by:jfdinneen
ID: 33629130
Patrick,

Excellent result. Thanks for the benefit of your expertise.

Best wishes,

John
0

Featured Post

Want Experts Exchange at your fingertips?

With Experts Exchange’s latest app release, you can now experience our most recent features, updates, and the same community interface while on-the-go. Download our latest app release at the Android or Apple stores today!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
This Micro Tutorial will demonstrate in Google Sheets how to use the HYPERLINK function to create live links inside your spreadsheet.
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question