Excel 2016 - wish to pull line of data from Sheet 1 to Sheet 2 where condition is met, without blank rows

Gary57

New Member
Joined
Mar 16, 2017
Messages
7
Office Version
  1. 2016
Platform
  1. Windows
Thanks in advance for considering my plea.
I am using Excel 2016 and am trying pull lines of data from a table of data on one sheet (Input Screen)
Excel 2016 input screen tab.png


and pulling it across to a second sheet (Summary) but without showing any blank rows where there are no entries on the first sheet.

Excel 2016 Summary tab.png


As you can from Line 14 the Summary tab, Line 4 of the Input Screen tab doesn't come across as it has a nil value. This is the result I want, but I also want to group all results without blank rows. I wanted to use the FILTER formula but this isn't supported by Excel 2016.
I am using formula =IF('Input Screen'!B4>0,'Input Screen'!A4,"") currently to pull across the data.
Can anyone suggest a suitable formula that would bring across to the Summary tab the data in columns A to D where the value in Column B is >0, but preventing blank rows being inserted where the value is zero? Appreciate your knowledgeable assistance.
 

Excel Facts

What does custom number format of ;;; mean?
Three semi-colons will hide the value in the cell. Although most people use white font instead.
=IFERROR(INDEX(A$2:A$12,SMALL(IF($B$2:$B$12=1,ROW($B$2:$B$12)),ROW(1:1))-1,1),"")

Book1
ABCD
1
2descqtyratecost
3desc-a11x100
4desc-a20y2000
5desc-a31z300000
6
7
8
9
10
11
12descqtyratecost
13desc-a11x100
14desc-a31z300000
Sheet1
Cell Formulas
RangeFormula
B12:D12B12=B2
A13:D14A13=IFERROR(INDEX(A$2:A$12,SMALL(IF($B$2:$B$12=1,ROW($B$2:$B$12)),ROW(1:1))-1,1),"")
 
Upvote 0
Would that post #2 suggestion require Ctrl+Shift+Enter confirmation in Excel 2016?
I also note that if any new rows are subsequently added at the top of the worksheet containing the formula, the formula will return incorrect results.

I am using Excel 2016
Please add that information to your Account details (click your user name at the top right of the forum) so helpers always know what Excel version(s) & platform(s) you are using as the best solution often varies by version. (Don’t forget to scroll down & ‘Save’)

The suggestion below is somewhat similar to thee previous one but definitely does not require C+S+E confirmation and would still return correct results if new rows are subsequently added at the top.
Where I have ranges like 'Input Screen'!A$3:A$100 in the formula, make sure the sheet name is correct for you and that the range starts at the first row below the headings in the input sheet and the last row (where I have $100) is large enough to cover any amount of data you might have.
Where I have ROWS(A$12:A12) in the top left formula, make sure that cell reference is the cell that the first formula is in.

Gary57.xlsm
ABCD
1
2descqtyratecost
3desc-a11x100
4desc-a20y2000
5desc-a31z300000
6
Input Screen



Gary57.xlsm
ABCD
12descqtyratecost
13desc-a11x100
14desc-a31z300000
15    
16    
Summary
Cell Formulas
RangeFormula
A13:D16A13=IFERROR(INDEX('Input Screen'!A:A,AGGREGATE(15,6,ROW('Input Screen'!A$3:A$100)/('Input Screen'!$B$3:$B$100>0),ROWS(A$12:A12))),"")
 
Upvote 0
Solution
Would that post #2 suggestion require Ctrl+Shift+Enter confirmation in Excel 2016?
I also note that if any new rows are subsequently added at the top of the worksheet containing the formula, the formula will return incorrect results.


Please add that information to your Account details (click your user name at the top right of the forum) so helpers always know what Excel version(s) & platform(s) you are using as the best solution often varies by version. (Don’t forget to scroll down & ‘Save’)

The suggestion below is somewhat similar to thee previous one but definitely does not require C+S+E confirmation and would still return correct results if new rows are subsequently added at the top.
Where I have ranges like 'Input Screen'!A$3:A$100 in the formula, make sure the sheet name is correct for you and that the range starts at the first row below the headings in the input sheet and the last row (where I have $100) is large enough to cover any amount of data you might have.
Where I have ROWS(A$12:A12) in the top left formula, make sure that cell reference is the cell that the first formula is in.

Gary57.xlsm
ABCD
1
2descqtyratecost
3desc-a11x100
4desc-a20y2000
5desc-a31z300000
6
Input Screen



Gary57.xlsm
ABCD
12descqtyratecost
13desc-a11x100
14desc-a31z300000
15    
16    
Summary
Cell Formulas
RangeFormula
A13:D16A13=IFERROR(INDEX('Input Screen'!A:A,AGGREGATE(15,6,ROW('Input Screen'!A$3:A$100)/('Input Screen'!$B$3:$B$100>0),ROWS(A$12:A12))),"")

=IFERROR(INDEX(A$2:A$12,SMALL(IF($B$2:$B$12=1,ROW($B$2:$B$12)),ROW(1:1))-1,1),"")

Book1
ABCD
1
2descqtyratecost
3desc-a11x100
4desc-a20y2000
5desc-a31z300000
6
7
8
9
10
11
12descqtyratecost
13desc-a11x100
14desc-a31z300000
Sheet1
Cell Formulas
RangeFormula
B12:D12B12=B2
A13:D14A13=IFERROR(INDEX(A$2:A$12,SMALL(IF($B$2:$B$12=1,ROW($B$2:$B$12)),ROW(1:1))-1,1),"")
Thanks Etaf. I tried your suggestion but was unable to get it to work. I suspect, as suggested below, that I need to Control Shift Enter, so will try it
 
Upvote 0
Would that post #2 suggestion require Ctrl+Shift+Enter confirmation in Excel 2016?
I also note that if any new rows are subsequently added at the top of the worksheet containing the formula, the formula will return incorrect results.


Please add that information to your Account details (click your user name at the top right of the forum) so helpers always know what Excel version(s) & platform(s) you are using as the best solution often varies by version. (Don’t forget to scroll down & ‘Save’)

The suggestion below is somewhat similar to thee previous one but definitely does not require C+S+E confirmation and would still return correct results if new rows are subsequently added at the top.
Where I have ranges like 'Input Screen'!A$3:A$100 in the formula, make sure the sheet name is correct for you and that the range starts at the first row below the headings in the input sheet and the last row (where I have $100) is large enough to cover any amount of data you might have.
Where I have ROWS(A$12:A12) in the top left formula, make sure that cell reference is the cell that the first formula is in.

Gary57.xlsm
ABCD
1
2descqtyratecost
3desc-a11x100
4desc-a20y2000
5desc-a31z300000
6
Input Screen



Gary57.xlsm
ABCD
12descqtyratecost
13desc-a11x100
14desc-a31z300000
15    
16    
Summary
Cell Formulas
RangeFormula
A13:D16A13=IFERROR(INDEX('Input Screen'!A:A,AGGREGATE(15,6,ROW('Input Screen'!A$3:A$100)/('Input Screen'!$B$3:$B$100>0),ROWS(A$12:A12))),"")
Thanks Peter_SSs. I will try your solution this afternoon and report back. really grateful for the member support here.
 
Upvote 0
Would that post #2 suggestion require Ctrl+Shift+Enter confirmation in Excel 2016?
I also note that if any new rows are subsequently added at the top of the worksheet containing the formula, the formula will return incorrect results.


Please add that information to your Account details (click your user name at the top right of the forum) so helpers always know what Excel version(s) & platform(s) you are using as the best solution often varies by version. (Don’t forget to scroll down & ‘Save’)

The suggestion below is somewhat similar to thee previous one but definitely does not require C+S+E confirmation and would still return correct results if new rows are subsequently added at the top.
Where I have ranges like 'Input Screen'!A$3:A$100 in the formula, make sure the sheet name is correct for you and that the range starts at the first row below the headings in the input sheet and the last row (where I have $100) is large enough to cover any amount of data you might have.
Where I have ROWS(A$12:A12) in the top left formula, make sure that cell reference is the cell that the first formula is in.

Gary57.xlsm
ABCD
1
2descqtyratecost
3desc-a11x100
4desc-a20y2000
5desc-a31z300000
6
Input Screen



Gary57.xlsm
ABCD
12descqtyratecost
13desc-a11x100
14desc-a31z300000
15    
16    
Summary
Cell Formulas
RangeFormula
A13:D16A13=IFERROR(INDEX('Input Screen'!A:A,AGGREGATE(15,6,ROW('Input Screen'!A$3:A$100)/('Input Screen'!$B$3:$B$100>0),ROWS(A$12:A12))),"")
Thanks. Worked a treat once I had set up the correct source cells
 
Upvote 0
You're welcome. Thanks for the follow-up. :)

.. and for updating your version details. (y)
 
Upvote 0

Forum statistics

Threads
1,224,823
Messages
6,181,181
Members
453,022
Latest member
Mohamed Magdi Tawfiq Emam

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top