Excel Dynamic List with no blanks

Multi tool use
up vote
1
down vote
favorite
I have a list of products (1-10) for example and an Invoice for a customer.
I want to show which products are being bought on the invoice, based on a formula.
The only problem is that the customer might not buy all products. So for example they could buy product 1,5,6, I want to show 1 on the first row, 5 on the second and 6 on the third (no blanks in between).
I have been fiddling with Index and Match as per this post, but I still get blank rows coming through. I know that I can loop through the invoice and delete blank rows, but I'd prefer not to do this (reusability issues).
I believe that Helper columns can work here. I have been using Helper columns for a long time (without realising that there was a term for them :) )
I often concatenate cells to do vlookups etc.
How would a helper column help here? What would I do? How would I do it?
Below is the list of products:
Products
And below is the list of products that the client wants (blank rows are products that they didn't order (products 2 - 4,7-10):
Ordered Products
excel list dynamic
|
show 1 more comment
up vote
1
down vote
favorite
I have a list of products (1-10) for example and an Invoice for a customer.
I want to show which products are being bought on the invoice, based on a formula.
The only problem is that the customer might not buy all products. So for example they could buy product 1,5,6, I want to show 1 on the first row, 5 on the second and 6 on the third (no blanks in between).
I have been fiddling with Index and Match as per this post, but I still get blank rows coming through. I know that I can loop through the invoice and delete blank rows, but I'd prefer not to do this (reusability issues).
I believe that Helper columns can work here. I have been using Helper columns for a long time (without realising that there was a term for them :) )
I often concatenate cells to do vlookups etc.
How would a helper column help here? What would I do? How would I do it?
Below is the list of products:
Products
And below is the list of products that the client wants (blank rows are products that they didn't order (products 2 - 4,7-10):
Ordered Products
excel list dynamic
would you open to using VBA?
– Kubie
Nov 10 at 3:13
What does your starting data look like? That will in part determine your options. And please share your current formula attempt.
– QHarr
Nov 10 at 3:24
Open to VBA definitely, just not deleting rows :)
– Craig Archer
Nov 10 at 3:34
Formula: =IFERROR(INDEX('Jan Calcs'!D$22:D$31,MATCH(ROW()-ROW($D$4),$A$5:$A$14,0)),"") Jan Calcs D22:D31 contains 1,"","","","",5,6 A5:A14 contains:1,2,3,4,5,6,7,8,9,10
– Craig Archer
Nov 10 at 3:35
1
It's not that clear from your screenshots how your data is arranged or where your formulas are...
– Tim Williams
Nov 10 at 6:45
|
show 1 more comment
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I have a list of products (1-10) for example and an Invoice for a customer.
I want to show which products are being bought on the invoice, based on a formula.
The only problem is that the customer might not buy all products. So for example they could buy product 1,5,6, I want to show 1 on the first row, 5 on the second and 6 on the third (no blanks in between).
I have been fiddling with Index and Match as per this post, but I still get blank rows coming through. I know that I can loop through the invoice and delete blank rows, but I'd prefer not to do this (reusability issues).
I believe that Helper columns can work here. I have been using Helper columns for a long time (without realising that there was a term for them :) )
I often concatenate cells to do vlookups etc.
How would a helper column help here? What would I do? How would I do it?
Below is the list of products:
Products
And below is the list of products that the client wants (blank rows are products that they didn't order (products 2 - 4,7-10):
Ordered Products
excel list dynamic
I have a list of products (1-10) for example and an Invoice for a customer.
I want to show which products are being bought on the invoice, based on a formula.
The only problem is that the customer might not buy all products. So for example they could buy product 1,5,6, I want to show 1 on the first row, 5 on the second and 6 on the third (no blanks in between).
I have been fiddling with Index and Match as per this post, but I still get blank rows coming through. I know that I can loop through the invoice and delete blank rows, but I'd prefer not to do this (reusability issues).
I believe that Helper columns can work here. I have been using Helper columns for a long time (without realising that there was a term for them :) )
I often concatenate cells to do vlookups etc.
How would a helper column help here? What would I do? How would I do it?
Below is the list of products:
Products
And below is the list of products that the client wants (blank rows are products that they didn't order (products 2 - 4,7-10):
Ordered Products
excel list dynamic
excel list dynamic
edited Nov 10 at 18:33
asked Nov 10 at 3:09
Craig Archer
64
64
would you open to using VBA?
– Kubie
Nov 10 at 3:13
What does your starting data look like? That will in part determine your options. And please share your current formula attempt.
– QHarr
Nov 10 at 3:24
Open to VBA definitely, just not deleting rows :)
– Craig Archer
Nov 10 at 3:34
Formula: =IFERROR(INDEX('Jan Calcs'!D$22:D$31,MATCH(ROW()-ROW($D$4),$A$5:$A$14,0)),"") Jan Calcs D22:D31 contains 1,"","","","",5,6 A5:A14 contains:1,2,3,4,5,6,7,8,9,10
– Craig Archer
Nov 10 at 3:35
1
It's not that clear from your screenshots how your data is arranged or where your formulas are...
– Tim Williams
Nov 10 at 6:45
|
show 1 more comment
would you open to using VBA?
– Kubie
Nov 10 at 3:13
What does your starting data look like? That will in part determine your options. And please share your current formula attempt.
– QHarr
Nov 10 at 3:24
Open to VBA definitely, just not deleting rows :)
– Craig Archer
Nov 10 at 3:34
Formula: =IFERROR(INDEX('Jan Calcs'!D$22:D$31,MATCH(ROW()-ROW($D$4),$A$5:$A$14,0)),"") Jan Calcs D22:D31 contains 1,"","","","",5,6 A5:A14 contains:1,2,3,4,5,6,7,8,9,10
– Craig Archer
Nov 10 at 3:35
1
It's not that clear from your screenshots how your data is arranged or where your formulas are...
– Tim Williams
Nov 10 at 6:45
would you open to using VBA?
– Kubie
Nov 10 at 3:13
would you open to using VBA?
– Kubie
Nov 10 at 3:13
What does your starting data look like? That will in part determine your options. And please share your current formula attempt.
– QHarr
Nov 10 at 3:24
What does your starting data look like? That will in part determine your options. And please share your current formula attempt.
– QHarr
Nov 10 at 3:24
Open to VBA definitely, just not deleting rows :)
– Craig Archer
Nov 10 at 3:34
Open to VBA definitely, just not deleting rows :)
– Craig Archer
Nov 10 at 3:34
Formula: =IFERROR(INDEX('Jan Calcs'!D$22:D$31,MATCH(ROW()-ROW($D$4),$A$5:$A$14,0)),"") Jan Calcs D22:D31 contains 1,"","","","",5,6 A5:A14 contains:1,2,3,4,5,6,7,8,9,10
– Craig Archer
Nov 10 at 3:35
Formula: =IFERROR(INDEX('Jan Calcs'!D$22:D$31,MATCH(ROW()-ROW($D$4),$A$5:$A$14,0)),"") Jan Calcs D22:D31 contains 1,"","","","",5,6 A5:A14 contains:1,2,3,4,5,6,7,8,9,10
– Craig Archer
Nov 10 at 3:35
1
1
It's not that clear from your screenshots how your data is arranged or where your formulas are...
– Tim Williams
Nov 10 at 6:45
It's not that clear from your screenshots how your data is arranged or where your formulas are...
– Tim Williams
Nov 10 at 6:45
|
show 1 more comment
1 Answer
1
active
oldest
votes
up vote
0
down vote
Okay, so not exactly the solution, but it worked:
I basically listed all the values (blanks and all), and before printing, I checked if that cell was blank and if blank it hides the row.
For x = 1 To 300
If Cells(x, 1) = "1" Then
For z = x To x + 29
If Cells(z, 2).Value = "" Then Rows(z).EntireRow.Hidden = True
Next
End If
Next
Thanks for all the interest :)
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Okay, so not exactly the solution, but it worked:
I basically listed all the values (blanks and all), and before printing, I checked if that cell was blank and if blank it hides the row.
For x = 1 To 300
If Cells(x, 1) = "1" Then
For z = x To x + 29
If Cells(z, 2).Value = "" Then Rows(z).EntireRow.Hidden = True
Next
End If
Next
Thanks for all the interest :)
add a comment |
up vote
0
down vote
Okay, so not exactly the solution, but it worked:
I basically listed all the values (blanks and all), and before printing, I checked if that cell was blank and if blank it hides the row.
For x = 1 To 300
If Cells(x, 1) = "1" Then
For z = x To x + 29
If Cells(z, 2).Value = "" Then Rows(z).EntireRow.Hidden = True
Next
End If
Next
Thanks for all the interest :)
add a comment |
up vote
0
down vote
up vote
0
down vote
Okay, so not exactly the solution, but it worked:
I basically listed all the values (blanks and all), and before printing, I checked if that cell was blank and if blank it hides the row.
For x = 1 To 300
If Cells(x, 1) = "1" Then
For z = x To x + 29
If Cells(z, 2).Value = "" Then Rows(z).EntireRow.Hidden = True
Next
End If
Next
Thanks for all the interest :)
Okay, so not exactly the solution, but it worked:
I basically listed all the values (blanks and all), and before printing, I checked if that cell was blank and if blank it hides the row.
For x = 1 To 300
If Cells(x, 1) = "1" Then
For z = x To x + 29
If Cells(z, 2).Value = "" Then Rows(z).EntireRow.Hidden = True
Next
End If
Next
Thanks for all the interest :)
answered Nov 13 at 13:34
Craig Archer
64
64
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53235700%2fexcel-dynamic-list-with-no-blanks%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
aO 6dxz2nBRDz6V4fqDFNThHMv4e,BchVzA,51ObaCV,J,lX,uPKXCGhfjV
would you open to using VBA?
– Kubie
Nov 10 at 3:13
What does your starting data look like? That will in part determine your options. And please share your current formula attempt.
– QHarr
Nov 10 at 3:24
Open to VBA definitely, just not deleting rows :)
– Craig Archer
Nov 10 at 3:34
Formula: =IFERROR(INDEX('Jan Calcs'!D$22:D$31,MATCH(ROW()-ROW($D$4),$A$5:$A$14,0)),"") Jan Calcs D22:D31 contains 1,"","","","",5,6 A5:A14 contains:1,2,3,4,5,6,7,8,9,10
– Craig Archer
Nov 10 at 3:35
1
It's not that clear from your screenshots how your data is arranged or where your formulas are...
– Tim Williams
Nov 10 at 6:45