ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Using "Non-Empty Cell" (https://www.excelbanter.com/excel-worksheet-functions/174539-using-non-empty-cell.html)

Steve[_8_]

Using "Non-Empty Cell"
 
I have a several columns of numbers, and I want to calculate the last cell
in the column divided by the first cell in each case (= B300/B1).
However, some columns do not extend all the way back to cell 1. For example,
column F might contain values only from F65 to F300 and so I want to
calculate = F300/F65 in this case. The cells always contain continuous
values when they start.

I want to write a formula to say "F300/highest cell with a value"?

Can anyone suggest a way?

Thanks,

Steve



T. Valko

Using "Non-Empty Cell"
 
Assuming the last cell is *always* on row 300:

=IF(COUNT(B1:B300),B300/INDEX(B1:B300,MATCH(TRUE,INDEX(B1:B300<"",,1),0)) ,"")

Copy across as needed.

--
Biff
Microsoft Excel MVP


"Steve" wrote in message
...
I have a several columns of numbers, and I want to calculate the last cell
in the column divided by the first cell in each case (= B300/B1).
However, some columns do not extend all the way back to cell 1. For
example, column F might contain values only from F65 to F300 and so I want
to calculate = F300/F65 in this case. The cells always contain continuous
values when they start.

I want to write a formula to say "F300/highest cell with a value"?

Can anyone suggest a way?

Thanks,

Steve




T. Valko

Using "Non-Empty Cell"
 
Slightly shorter, but volatile:

=IF(COUNT(B1:B300),B300/OFFSET(B1,COUNTBLANK(B1:B300),),"")

--
Biff
Microsoft Excel MVP


"T. Valko" wrote in message
...
Assuming the last cell is *always* on row 300:

=IF(COUNT(B1:B300),B300/INDEX(B1:B300,MATCH(TRUE,INDEX(B1:B300<"",,1),0)) ,"")

Copy across as needed.

--
Biff
Microsoft Excel MVP


"Steve" wrote in message
...
I have a several columns of numbers, and I want to calculate the last cell
in the column divided by the first cell in each case (= B300/B1).
However, some columns do not extend all the way back to cell 1. For
example, column F might contain values only from F65 to F300 and so I
want to calculate = F300/F65 in this case. The cells always contain
continuous values when they start.

I want to write a formula to say "F300/highest cell with a value"?

Can anyone suggest a way?

Thanks,

Steve






T. Valko

Using "Non-Empty Cell"
 
Ok, this IS my final answer! <g

=IF(COUNT(B1:B300),B300/INDEX(B1:B300,COUNTBLANK(B1:B300)+1),"")

--
Biff
Microsoft Excel MVP


"T. Valko" wrote in message
...
Slightly shorter, but volatile:

=IF(COUNT(B1:B300),B300/OFFSET(B1,COUNTBLANK(B1:B300),),"")

--
Biff
Microsoft Excel MVP


"T. Valko" wrote in message
...
Assuming the last cell is *always* on row 300:

=IF(COUNT(B1:B300),B300/INDEX(B1:B300,MATCH(TRUE,INDEX(B1:B300<"",,1),0)) ,"")

Copy across as needed.

--
Biff
Microsoft Excel MVP


"Steve" wrote in message
...
I have a several columns of numbers, and I want to calculate the last
cell in the column divided by the first cell in each case (= B300/B1).
However, some columns do not extend all the way back to cell 1. For
example, column F might contain values only from F65 to F300 and so I
want to calculate = F300/F65 in this case. The cells always contain
continuous values when they start.

I want to write a formula to say "F300/highest cell with a value"?

Can anyone suggest a way?

Thanks,

Steve








Ron Rosenfeld

Using "Non-Empty Cell"
 
On Sat, 26 Jan 2008 17:55:07 -0000, "Steve" wrote:

I have a several columns of numbers, and I want to calculate the last cell
in the column divided by the first cell in each case (= B300/B1).
However, some columns do not extend all the way back to cell 1. For example,
column F might contain values only from F65 to F300 and so I want to
calculate = F300/F65 in this case. The cells always contain continuous
values when they start.

I want to write a formula to say "F300/highest cell with a value"?

Can anyone suggest a way?

Thanks,

Steve



So long as the only data in the columns are the number entries, then:

=F300/OFFSET(F300,1-COUNT(F1:F300),0)
--ron

Rick Rothstein \(MVP - VB\)

Using "Non-Empty Cell"
 
If it is possible that your last filled cell can be something other than
300, then this volatile formula will calculate the value in the filled cell
with the highest row number divided by the filled cell with the lowest row
number...

=LOOKUP(9999999999,B1:B300)/INDIRECT("B"&SUMPRODUCT(MIN(9999999999-(B1:B300<"")*(9999999999-ROW(B1:B300)))))

The three occurrences of 9999999999 can be replaced by any number guaranteed
to be larger than the maximum value that can occur in the range B1:B300.

Rick


"Steve" wrote in message
...
I have a several columns of numbers, and I want to calculate the last cell
in the column divided by the first cell in each case (= B300/B1).
However, some columns do not extend all the way back to cell 1. For
example, column F might contain values only from F65 to F300 and so I want
to calculate = F300/F65 in this case. The cells always contain continuous
values when they start.

I want to write a formula to say "F300/highest cell with a value"?

Can anyone suggest a way?

Thanks,

Steve



Rick Rothstein \(MVP - VB\)

Using "Non-Empty Cell"
 
By the way, I meant to mention... the formula I posted is not dependent on
the range between the lowest filled cell and the highest filled cell being
contiguously filled (there can be gaps in the data and the formula will
still work).

Rick

"Rick Rothstein (MVP - VB)" wrote in
message ...
If it is possible that your last filled cell can be something other than
300, then this volatile formula will calculate the value in the filled
cell with the highest row number divided by the filled cell with the
lowest row number...

=LOOKUP(9999999999,B1:B300)/INDIRECT("B"&SUMPRODUCT(MIN(9999999999-(B1:B300<"")*(9999999999-ROW(B1:B300)))))

The three occurrences of 9999999999 can be replaced by any number
guaranteed to be larger than the maximum value that can occur in the range
B1:B300.

Rick


"Steve" wrote in message
...
I have a several columns of numbers, and I want to calculate the last cell
in the column divided by the first cell in each case (= B300/B1).
However, some columns do not extend all the way back to cell 1. For
example, column F might contain values only from F65 to F300 and so I
want to calculate = F300/F65 in this case. The cells always contain
continuous values when they start.

I want to write a formula to say "F300/highest cell with a value"?

Can anyone suggest a way?

Thanks,

Steve





All times are GMT +1. The time now is 02:20 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com