Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 79
Default Making a vertical list from a rectangular range, with no empty lines

My problem is the following:

I have a rectangular range of values. They represent the coefficients
of allocation of costs from origine cost center to destination cost
center. Where no allocation is necessary, I have an empty cell. The
range is rather empty, because the number of cost allocations is
limited (it is a sparse range).

Say columns and rows are numbered from 1 on.

1 2 3 4 5 6 7 8 9 ... n
1
2 .65
3 .7
4
5
6
7 .8 .15
8
9 .3
....
m

I want to obtain a vertical list of cells with the coefficients that
exist, thus without the blank cells

In our case, from left to right, from top to bottom:

1 .65
2 .7
3 .8
4 .15
5 .3

How can I do this?
  #2   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 5,441
Default Making a vertical list from a rectangular range, with no empty lines

A macro: see example below, which takes the values from D5:H20 and lists them starting in J1

HTH,
Bernie
MS Excel MVP

Sub TryNow()
Dim myR As Range
Dim myT As Range
Dim i As Integer
Dim j As Integer
Dim myCount As Integer

myCount = 1
Set myT = Range("J1")
Set myR = Range("D5:H20")
For i = 1 To myR.Rows.Count
For j = 1 To myR.Columns.Count
If myR.Cells(i, j).Value < "" Then
myT.Cells(myCount, 1).Value = _
myR.Cells(i, j).Value
myCount = myCount + 1
End If
Next j
Next i
End Sub


"vsoler" wrote in message
...
My problem is the following:

I have a rectangular range of values. They represent the coefficients
of allocation of costs from origine cost center to destination cost
center. Where no allocation is necessary, I have an empty cell. The
range is rather empty, because the number of cost allocations is
limited (it is a sparse range).

Say columns and rows are numbered from 1 on.

1 2 3 4 5 6 7 8 9 ... n
1
2 .65
3 .7
4
5
6
7 .8 .15
8
9 .3
...
m

I want to obtain a vertical list of cells with the coefficients that
exist, thus without the blank cells

In our case, from left to right, from top to bottom:

1 .65
2 .7
3 .8
4 .15
5 .3

How can I do this?



  #3   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 206
Default Making a vertical list from a rectangular range, with no emptylines

press F5, select special, select blanks then OK
right click on the selected range and select delete
select shift cells up
press f5 again, select special, select blanks then OK
right click on the selected range and select delete
select shift cells left
  #4   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 79
Default Making a vertical list from a rectangular range, with no emptylines

On Feb 24, 2:41*pm, CurlyDave wrote:
press F5, select special, select blanks then OK
right click on the selected range and select delete
select shift cells up
press f5 again, select special, select blanks then OK
right click on the selected range and select delete
select shift cells left


Thank you Bernie and CurlyDave. However, what I am looking for is a
solution with formulas, it it exists.

If I update the initial rectangular range, I would like to see the new
coefficients appear in the vertical list.

Regards
  #5   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 5,441
Default Making a vertical list from a rectangular range, with no empty lines

Can you have multiple attributes on one row, or only one per row?

If you only have one per row, you can use the technique from this page:
http://www.cpearson.com/excel/noblanks.htm

Use the technique twice, once on each row to get a list in a single column, then on that column to
get your overall list.

HTH,
Bernie
MS Excel MVP


"vsoler" wrote in message
...
On Feb 24, 2:41 pm, CurlyDave wrote:
press F5, select special, select blanks then OK
right click on the selected range and select delete
select shift cells up
press f5 again, select special, select blanks then OK
right click on the selected range and select delete
select shift cells left


Thank you Bernie and CurlyDave. However, what I am looking for is a
solution with formulas, it it exists.

If I update the initial rectangular range, I would like to see the new
coefficients appear in the vertical list.

Regards




  #6   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 1,240
Default Making a vertical list from a rectangular range, with no emptylines

vsoler wrote:
My problem is the following:

I have a rectangular range of values. They represent the coefficients
of allocation of costs from origine cost center to destination cost
center. Where no allocation is necessary, I have an empty cell. The
range is rather empty, because the number of cost allocations is
limited (it is a sparse range).

Say columns and rows are numbered from 1 on.

1 2 3 4 5 6 7 8 9 ... n
1
2 .65
3 .7
4
5
6
7 .8 .15
8
9 .3
...
m

I want to obtain a vertical list of cells with the coefficients that
exist, thus without the blank cells

In our case, from left to right, from top to bottom:

1 .65
2 .7
3 .8
4 .15
5 .3

How can I do this?



With some helper cells. Name your range "Data". Name a blank worksheet
"Helper". Put the following array formula (commit with CTRL+SHIFT+ENTER) in
Helper!A1:

=SMALL((Data="")*9^9+ROW(Data),ROW(1:1))-ROW(Data)+1


Put this array formula (again, commit with CTRL+SHIFT+ENTER) in Helper!B1:

=SMALL((INDIRECT("'"&CELL("filename",Data)&"'!R"&A 1+MIN(ROW(Data))-1&
"C"&MIN(COLUMN(Data))&":R"&A1+MIN(ROW(Data))-1&"C"&MIN(COLUMN(Data))+
COLUMNS(Data)-1,0)="")*9^9+COLUMN(Data),COUNTIF($A$1:A1,A1))-COLUMN(Data)+1



Copy each down for as many rows as there are total used cells in "Data".


In the cell where you want your list to start, put this "normal" formula:

=IF(ISNUMBER(ERROR.TYPE(Helper!A1)),"",
IF(OR(Helper!A1="",Helper!A1ROWS(Data)),"",
INDEX(Data,Helper!A1,Helper!B1)))
  #7   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 1,240
Default Making a vertical list from a rectangular range, with no emptylines

Glenn wrote:
vsoler wrote:
My problem is the following:

I have a rectangular range of values. They represent the coefficients
of allocation of costs from origine cost center to destination cost
center. Where no allocation is necessary, I have an empty cell. The
range is rather empty, because the number of cost allocations is
limited (it is a sparse range).

Say columns and rows are numbered from 1 on.

1 2 3 4 5 6 7 8 9 ... n
1
2 .65
3 .7
4
5
6
7 .8 .15
8
9 .3
...
m

I want to obtain a vertical list of cells with the coefficients that
exist, thus without the blank cells

In our case, from left to right, from top to bottom:

1 .65
2 .7
3 .8
4 .15
5 .3

How can I do this?



With some helper cells. Name your range "Data". Name a blank worksheet
"Helper". Put the following array formula (commit with
CTRL+SHIFT+ENTER) in Helper!A1:

=SMALL((Data="")*9^9+ROW(Data),ROW(1:1))-ROW(Data)+1


Put this array formula (again, commit with CTRL+SHIFT+ENTER) in Helper!B1:

=SMALL((INDIRECT("'"&CELL("filename",Data)&"'!R"&A 1+MIN(ROW(Data))-1&
"C"&MIN(COLUMN(Data))&":R"&A1+MIN(ROW(Data))-1&"C"&MIN(COLUMN(Data))+
COLUMNS(Data)-1,0)="")*9^9+COLUMN(Data),COUNTIF($A$1:A1,A1))-COLUMN(Data)+1



Copy each down for as many rows as there are total used cells in "Data".


In the cell where you want your list to start, put this "normal" formula:

=IF(ISNUMBER(ERROR.TYPE(Helper!A1)),"",
IF(OR(Helper!A1="",Helper!A1ROWS(Data)),"",
INDEX(Data,Helper!A1,Helper!B1)))



A couple of follow-ups:

The named range "Data" should include only the values you are looking to list,
not the row or column headers, if present.

If the first two formulas above ended up with 99's in them when copied to Excel,
it should have been 9 raised to the 9th power. Instead, you could replace them
with "ROWS(Data)", without the quotes but definitely with the "S".

If you have headers on your rows and columns in "Data" and want to know where
the result was within "Data", use the following "normal" formula:

=IF(B19<"","ROW ["&INDEX(INDIRECT("R"&ROW(Data)&"C"&COLUMN(Data )-1&
":R"&ROW(Data)+ROWS(Data)-1&"C"&COLUMN(Data)-1,FALSE),Helper!A1)&
"] - COLUMN ["&INDEX(INDIRECT("R"&ROW(Data)-1&"C"&COLUMN(Data)&
":R"&ROW(Data)-1&"C"&COLUMN(Data)+COLUMNS(Data)-1,FALSE),,Helper!B1)&"]","")

This assumes that the first entry of your result list is B19. Adjust as needed.
  #8   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 3,346
Default Making a vertical list from a rectangular range, with no empty lin

Hi,

Here is one formula which may need modification depending on how many rows
or columns you have. This will work without modification for a 9x9 matrix.
Assume you range is A2:E10 then array enter the following formula:

=INDEX(A$2:E$10,--LEFT(SMALL(IF(--(ROW($A$2:$E$10)&COLUMN($A$2:$E$10))*$A$2:$E$10<0 ,--(ROW($A$2:$E$10)&COLUMN($A$2:$E$10)),""),ROW(A1)))-1,--RIGHT(SMALL(IF(--(ROW($A$2:$E$10)&COLUMN($A$2:$E$10))*$A$2:$E$10<0 ,--(ROW($A$2:$E$10)&COLUMN($A$2:$E$10)),""),ROW(A1))) )

And copy it down as far as you want. It will return #NUM! for formulas that
don't find anything. You can apply conditional formatting to hide these
errors.

And if you think this was hard, your right.

--
If this helps, please click the Yes button

Cheers,
Shane Devenshire


"vsoler" wrote:

My problem is the following:

I have a rectangular range of values. They represent the coefficients
of allocation of costs from origine cost center to destination cost
center. Where no allocation is necessary, I have an empty cell. The
range is rather empty, because the number of cost allocations is
limited (it is a sparse range).

Say columns and rows are numbered from 1 on.

1 2 3 4 5 6 7 8 9 ... n
1
2 .65
3 .7
4
5
6
7 .8 .15
8
9 .3
....
m

I want to obtain a vertical list of cells with the coefficients that
exist, thus without the blank cells

In our case, from left to right, from top to bottom:

1 .65
2 .7
3 .8
4 .15
5 .3

How can I do this?

  #9   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 1,240
Default Making a vertical list from a rectangular range, with no emptylin

Shane Devenshire wrote:
Hi,

Here is one formula which may need modification depending on how many rows
or columns you have. This will work without modification for a 9x9 matrix.
Assume you range is A2:E10 then array enter the following formula:


=INDEX(A$2:E$10,--LEFT(SMALL(IF(--(ROW($A$2:$E$10)&COLUMN($A$2:$E$10))*
$A$2:$E$10<0,--(ROW($A$2:$E$10)&COLUMN($A$2:$E$10)),""),ROW(A1)))-1,
--RIGHT(SMALL(IF(--(ROW($A$2:$E$10)&COLUMN($A$2:$E$10))*$A$2:$E$10<0 ,
--(ROW($A$2:$E$10)&COLUMN($A$2:$E$10)),""),ROW(A1))) )


And copy it down as far as you want. It will return #NUM! for formulas that
don't find anything. You can apply conditional formatting to hide these
errors.

And if you think this was hard, your right.


Nice, except...it didn't seem to work for row 10. Regardless of the data,
returns the column number.
  #10   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 1,766
Default Making a vertical list from a rectangular range, with no empty lines

Hi,

You may want to try something like this

1. In one row below the last row I.e cell A52, enter max(A1:A50) and copy to
the right;
2. Now highlight the header row I.e. A1:G1 and copy it;
3. Select cell A55 and say Edit Paste Speical Transpose. Say the
headings get pasted in A55:A61
4. Now highlight B55:B61 and array enter (Ctrl+Shift+Enter)
=transpose(A52:G52)

Hope this helps.


--
Regards,

Ashish Mathur
Microsoft Excel MVP
www.ashishmathur.com

"vsoler" wrote in message
...
My problem is the following:

I have a rectangular range of values. They represent the coefficients
of allocation of costs from origine cost center to destination cost
center. Where no allocation is necessary, I have an empty cell. The
range is rather empty, because the number of cost allocations is
limited (it is a sparse range).

Say columns and rows are numbered from 1 on.

1 2 3 4 5 6 7 8 9 ... n
1
2 .65
3 .7
4
5
6
7 .8 .15
8
9 .3
...
m

I want to obtain a vertical list of cells with the coefficients that
exist, thus without the blank cells

In our case, from left to right, from top to bottom:

1 .65
2 .7
3 .8
4 .15
5 .3

How can I do this?




  #11   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 1,766
Default Making a vertical list from a rectangular range, with no empty lines

Hi,

My solution assumes that there is just one value per column.

--
Regards,

Ashish Mathur
Microsoft Excel MVP
www.ashishmathur.com

"vsoler" wrote in message
...
My problem is the following:

I have a rectangular range of values. They represent the coefficients
of allocation of costs from origine cost center to destination cost
center. Where no allocation is necessary, I have an empty cell. The
range is rather empty, because the number of cost allocations is
limited (it is a sparse range).

Say columns and rows are numbered from 1 on.

1 2 3 4 5 6 7 8 9 ... n
1
2 .65
3 .7
4
5
6
7 .8 .15
8
9 .3
...
m

I want to obtain a vertical list of cells with the coefficients that
exist, thus without the blank cells

In our case, from left to right, from top to bottom:

1 .65
2 .7
3 .8
4 .15
5 .3

How can I do this?


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Making a cell empty JoeP Excel Discussion (Misc queries) 3 November 19th 08 06:23 PM
I want horizontal and vertical lines David Ames Excel Worksheet Functions 0 June 26th 08 04:31 PM
horizontal lines to vertical [email protected] Excel Discussion (Misc queries) 5 February 11th 08 01:52 PM
Vertical lines Enna Charts and Charting in Excel 2 December 7th 06 04:16 PM
Vertical Lines on the Lines on 2 Axes Chart [email protected] Charts and Charting in Excel 3 March 3rd 06 04:14 AM


All times are GMT +1. The time now is 10:33 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"