Creating an Index(Match()) for Multiple Criteria, with Multiple Results for Multiple Dates
up vote
0
down vote
favorite
The solution to this problem has been evading me and admittedly hurting my brain a little bit, so hopefully someone here can lend a hand. Essentially, I have around 10 columns of data. One of these columns contains the identifier I want to use, another column has the date I want to reference, and the rest of the columns are the values I want to use to populate the table. What I'm trying to do is build a tool where you type in the identifier and the date and it tells you what the other columns are for that particular pairing.
The problem is, however, that the data set contains multiple repeated dates (dates are in a column), and sometimes repeated identifiers. So identifier 1 may appear three times on 1/1/2018, then appear three more times on 1/2/2018.
Forgive my inexperience, as this is probably the incorrect way to show this, but this is what I want my data to look like, with the bins being the 1st, 2nd, and so on occurrences of the same identifier on the given date:
Identifier - A1
Date - 1/1/2018
Bin Column1 Column2 Column3 Column4
1 1 2 3 4
2 1 2 3 4
3
4
5
The Identifier and Date would be manual entries and the rest of the table would be automatically populated. I've been looking up different ways of using index(match()) all morning and have yet to achieve any success. I'm not sure if I'm approaching this incorrectly or what, but any help with this problem is greatly appreciated.
PS - I understand that a pivot table would likely give me the information I need, however, this table isn't for my own use, so I'm trying to make it as straightforward as possible (enter two lines, necessary info pops up).
Edit - This is how the data is currently set up:
`
excel date indexing match pivot-table
add a comment |
up vote
0
down vote
favorite
The solution to this problem has been evading me and admittedly hurting my brain a little bit, so hopefully someone here can lend a hand. Essentially, I have around 10 columns of data. One of these columns contains the identifier I want to use, another column has the date I want to reference, and the rest of the columns are the values I want to use to populate the table. What I'm trying to do is build a tool where you type in the identifier and the date and it tells you what the other columns are for that particular pairing.
The problem is, however, that the data set contains multiple repeated dates (dates are in a column), and sometimes repeated identifiers. So identifier 1 may appear three times on 1/1/2018, then appear three more times on 1/2/2018.
Forgive my inexperience, as this is probably the incorrect way to show this, but this is what I want my data to look like, with the bins being the 1st, 2nd, and so on occurrences of the same identifier on the given date:
Identifier - A1
Date - 1/1/2018
Bin Column1 Column2 Column3 Column4
1 1 2 3 4
2 1 2 3 4
3
4
5
The Identifier and Date would be manual entries and the rest of the table would be automatically populated. I've been looking up different ways of using index(match()) all morning and have yet to achieve any success. I'm not sure if I'm approaching this incorrectly or what, but any help with this problem is greatly appreciated.
PS - I understand that a pivot table would likely give me the information I need, however, this table isn't for my own use, so I'm trying to make it as straightforward as possible (enter two lines, necessary info pops up).
Edit - This is how the data is currently set up:
`
excel date indexing match pivot-table
Sorry about that, changes added above.
– M. Terry
Nov 9 at 16:42
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
The solution to this problem has been evading me and admittedly hurting my brain a little bit, so hopefully someone here can lend a hand. Essentially, I have around 10 columns of data. One of these columns contains the identifier I want to use, another column has the date I want to reference, and the rest of the columns are the values I want to use to populate the table. What I'm trying to do is build a tool where you type in the identifier and the date and it tells you what the other columns are for that particular pairing.
The problem is, however, that the data set contains multiple repeated dates (dates are in a column), and sometimes repeated identifiers. So identifier 1 may appear three times on 1/1/2018, then appear three more times on 1/2/2018.
Forgive my inexperience, as this is probably the incorrect way to show this, but this is what I want my data to look like, with the bins being the 1st, 2nd, and so on occurrences of the same identifier on the given date:
Identifier - A1
Date - 1/1/2018
Bin Column1 Column2 Column3 Column4
1 1 2 3 4
2 1 2 3 4
3
4
5
The Identifier and Date would be manual entries and the rest of the table would be automatically populated. I've been looking up different ways of using index(match()) all morning and have yet to achieve any success. I'm not sure if I'm approaching this incorrectly or what, but any help with this problem is greatly appreciated.
PS - I understand that a pivot table would likely give me the information I need, however, this table isn't for my own use, so I'm trying to make it as straightforward as possible (enter two lines, necessary info pops up).
Edit - This is how the data is currently set up:
`
excel date indexing match pivot-table
The solution to this problem has been evading me and admittedly hurting my brain a little bit, so hopefully someone here can lend a hand. Essentially, I have around 10 columns of data. One of these columns contains the identifier I want to use, another column has the date I want to reference, and the rest of the columns are the values I want to use to populate the table. What I'm trying to do is build a tool where you type in the identifier and the date and it tells you what the other columns are for that particular pairing.
The problem is, however, that the data set contains multiple repeated dates (dates are in a column), and sometimes repeated identifiers. So identifier 1 may appear three times on 1/1/2018, then appear three more times on 1/2/2018.
Forgive my inexperience, as this is probably the incorrect way to show this, but this is what I want my data to look like, with the bins being the 1st, 2nd, and so on occurrences of the same identifier on the given date:
Identifier - A1
Date - 1/1/2018
Bin Column1 Column2 Column3 Column4
1 1 2 3 4
2 1 2 3 4
3
4
5
The Identifier and Date would be manual entries and the rest of the table would be automatically populated. I've been looking up different ways of using index(match()) all morning and have yet to achieve any success. I'm not sure if I'm approaching this incorrectly or what, but any help with this problem is greatly appreciated.
PS - I understand that a pivot table would likely give me the information I need, however, this table isn't for my own use, so I'm trying to make it as straightforward as possible (enter two lines, necessary info pops up).
Edit - This is how the data is currently set up:
`
excel date indexing match pivot-table
excel date indexing match pivot-table
edited Nov 10 at 9:10
Brian Tompsett - 汤莱恩
4,153133699
4,153133699
asked Nov 9 at 16:20
M. Terry
255
255
Sorry about that, changes added above.
– M. Terry
Nov 9 at 16:42
add a comment |
Sorry about that, changes added above.
– M. Terry
Nov 9 at 16:42
Sorry about that, changes added above.
– M. Terry
Nov 9 at 16:42
Sorry about that, changes added above.
– M. Terry
Nov 9 at 16:42
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
accepted
Use this:
=IFERROR(INDEX(C:C,AGGREGATE(15,7,ROW($B$2:INDEX($B:$B,MATCH("zzz",$A:$A)))/(($B$2:INDEX($B:$B,MATCH("zzz",$A:$A))=$J$2)*($A$2:INDEX($A:$A,MATCH("zzz",$A:$A))=$J$1)),ROW(1:1))),"")
Note: realize this is an array formula that is entered normally with Enter, but as an array formula it will slow down the calcs if the dataset is large.
Thanks Scott, a little testing shows this should probably work with the larger data set. Just to clarify, I don't need to enter this with Ctrl + Shift + Enter even thought it's an array? Thanks again.
– M. Terry
Nov 9 at 17:29
1
That is correct. AGGREGATE is a natural array type formula and thus does not need the Ctrl-Shift-Enter. Make sure you are using the latest version of my formula, I changed it slightly. It will automatically expand and contract the data range as the data grows or contracts without the need of manual intervention.
– Scott Craner
Nov 9 at 17:31
Will do. Thank you for the help.
– M. Terry
Nov 9 at 17:32
add a comment |
up vote
1
down vote
It generally looks like:
=INDEX('range all of the data, not the headers', MATCH('row header value to match','the row headers range',0), MATCH('column header to match','the column headers range',0))
Hi Kurt, thanks for the response. I tried this formula with a helper column in order to include the specific date I'm looking for, however, it's still only pulling the data for the first correct match it finds for every entry in the table. Formula:=INDEX('Data Excluding Labels',MATCH('Helper Value','Helper Range',0),MATCH('Target Column Header', 'Header Range',0))
– M. Terry
Nov 9 at 17:03
Try adding a helper column where you add 0.000001* the row/column number to the value
– Kurt VonOhlen
Nov 9 at 17:53
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
Use this:
=IFERROR(INDEX(C:C,AGGREGATE(15,7,ROW($B$2:INDEX($B:$B,MATCH("zzz",$A:$A)))/(($B$2:INDEX($B:$B,MATCH("zzz",$A:$A))=$J$2)*($A$2:INDEX($A:$A,MATCH("zzz",$A:$A))=$J$1)),ROW(1:1))),"")
Note: realize this is an array formula that is entered normally with Enter, but as an array formula it will slow down the calcs if the dataset is large.
Thanks Scott, a little testing shows this should probably work with the larger data set. Just to clarify, I don't need to enter this with Ctrl + Shift + Enter even thought it's an array? Thanks again.
– M. Terry
Nov 9 at 17:29
1
That is correct. AGGREGATE is a natural array type formula and thus does not need the Ctrl-Shift-Enter. Make sure you are using the latest version of my formula, I changed it slightly. It will automatically expand and contract the data range as the data grows or contracts without the need of manual intervention.
– Scott Craner
Nov 9 at 17:31
Will do. Thank you for the help.
– M. Terry
Nov 9 at 17:32
add a comment |
up vote
1
down vote
accepted
Use this:
=IFERROR(INDEX(C:C,AGGREGATE(15,7,ROW($B$2:INDEX($B:$B,MATCH("zzz",$A:$A)))/(($B$2:INDEX($B:$B,MATCH("zzz",$A:$A))=$J$2)*($A$2:INDEX($A:$A,MATCH("zzz",$A:$A))=$J$1)),ROW(1:1))),"")
Note: realize this is an array formula that is entered normally with Enter, but as an array formula it will slow down the calcs if the dataset is large.
Thanks Scott, a little testing shows this should probably work with the larger data set. Just to clarify, I don't need to enter this with Ctrl + Shift + Enter even thought it's an array? Thanks again.
– M. Terry
Nov 9 at 17:29
1
That is correct. AGGREGATE is a natural array type formula and thus does not need the Ctrl-Shift-Enter. Make sure you are using the latest version of my formula, I changed it slightly. It will automatically expand and contract the data range as the data grows or contracts without the need of manual intervention.
– Scott Craner
Nov 9 at 17:31
Will do. Thank you for the help.
– M. Terry
Nov 9 at 17:32
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
Use this:
=IFERROR(INDEX(C:C,AGGREGATE(15,7,ROW($B$2:INDEX($B:$B,MATCH("zzz",$A:$A)))/(($B$2:INDEX($B:$B,MATCH("zzz",$A:$A))=$J$2)*($A$2:INDEX($A:$A,MATCH("zzz",$A:$A))=$J$1)),ROW(1:1))),"")
Note: realize this is an array formula that is entered normally with Enter, but as an array formula it will slow down the calcs if the dataset is large.
Use this:
=IFERROR(INDEX(C:C,AGGREGATE(15,7,ROW($B$2:INDEX($B:$B,MATCH("zzz",$A:$A)))/(($B$2:INDEX($B:$B,MATCH("zzz",$A:$A))=$J$2)*($A$2:INDEX($A:$A,MATCH("zzz",$A:$A))=$J$1)),ROW(1:1))),"")
Note: realize this is an array formula that is entered normally with Enter, but as an array formula it will slow down the calcs if the dataset is large.
edited Nov 9 at 17:19
answered Nov 9 at 17:13
Scott Craner
87k82449
87k82449
Thanks Scott, a little testing shows this should probably work with the larger data set. Just to clarify, I don't need to enter this with Ctrl + Shift + Enter even thought it's an array? Thanks again.
– M. Terry
Nov 9 at 17:29
1
That is correct. AGGREGATE is a natural array type formula and thus does not need the Ctrl-Shift-Enter. Make sure you are using the latest version of my formula, I changed it slightly. It will automatically expand and contract the data range as the data grows or contracts without the need of manual intervention.
– Scott Craner
Nov 9 at 17:31
Will do. Thank you for the help.
– M. Terry
Nov 9 at 17:32
add a comment |
Thanks Scott, a little testing shows this should probably work with the larger data set. Just to clarify, I don't need to enter this with Ctrl + Shift + Enter even thought it's an array? Thanks again.
– M. Terry
Nov 9 at 17:29
1
That is correct. AGGREGATE is a natural array type formula and thus does not need the Ctrl-Shift-Enter. Make sure you are using the latest version of my formula, I changed it slightly. It will automatically expand and contract the data range as the data grows or contracts without the need of manual intervention.
– Scott Craner
Nov 9 at 17:31
Will do. Thank you for the help.
– M. Terry
Nov 9 at 17:32
Thanks Scott, a little testing shows this should probably work with the larger data set. Just to clarify, I don't need to enter this with Ctrl + Shift + Enter even thought it's an array? Thanks again.
– M. Terry
Nov 9 at 17:29
Thanks Scott, a little testing shows this should probably work with the larger data set. Just to clarify, I don't need to enter this with Ctrl + Shift + Enter even thought it's an array? Thanks again.
– M. Terry
Nov 9 at 17:29
1
1
That is correct. AGGREGATE is a natural array type formula and thus does not need the Ctrl-Shift-Enter. Make sure you are using the latest version of my formula, I changed it slightly. It will automatically expand and contract the data range as the data grows or contracts without the need of manual intervention.
– Scott Craner
Nov 9 at 17:31
That is correct. AGGREGATE is a natural array type formula and thus does not need the Ctrl-Shift-Enter. Make sure you are using the latest version of my formula, I changed it slightly. It will automatically expand and contract the data range as the data grows or contracts without the need of manual intervention.
– Scott Craner
Nov 9 at 17:31
Will do. Thank you for the help.
– M. Terry
Nov 9 at 17:32
Will do. Thank you for the help.
– M. Terry
Nov 9 at 17:32
add a comment |
up vote
1
down vote
It generally looks like:
=INDEX('range all of the data, not the headers', MATCH('row header value to match','the row headers range',0), MATCH('column header to match','the column headers range',0))
Hi Kurt, thanks for the response. I tried this formula with a helper column in order to include the specific date I'm looking for, however, it's still only pulling the data for the first correct match it finds for every entry in the table. Formula:=INDEX('Data Excluding Labels',MATCH('Helper Value','Helper Range',0),MATCH('Target Column Header', 'Header Range',0))
– M. Terry
Nov 9 at 17:03
Try adding a helper column where you add 0.000001* the row/column number to the value
– Kurt VonOhlen
Nov 9 at 17:53
add a comment |
up vote
1
down vote
It generally looks like:
=INDEX('range all of the data, not the headers', MATCH('row header value to match','the row headers range',0), MATCH('column header to match','the column headers range',0))
Hi Kurt, thanks for the response. I tried this formula with a helper column in order to include the specific date I'm looking for, however, it's still only pulling the data for the first correct match it finds for every entry in the table. Formula:=INDEX('Data Excluding Labels',MATCH('Helper Value','Helper Range',0),MATCH('Target Column Header', 'Header Range',0))
– M. Terry
Nov 9 at 17:03
Try adding a helper column where you add 0.000001* the row/column number to the value
– Kurt VonOhlen
Nov 9 at 17:53
add a comment |
up vote
1
down vote
up vote
1
down vote
It generally looks like:
=INDEX('range all of the data, not the headers', MATCH('row header value to match','the row headers range',0), MATCH('column header to match','the column headers range',0))
It generally looks like:
=INDEX('range all of the data, not the headers', MATCH('row header value to match','the row headers range',0), MATCH('column header to match','the column headers range',0))
answered Nov 9 at 16:48
Kurt VonOhlen
387
387
Hi Kurt, thanks for the response. I tried this formula with a helper column in order to include the specific date I'm looking for, however, it's still only pulling the data for the first correct match it finds for every entry in the table. Formula:=INDEX('Data Excluding Labels',MATCH('Helper Value','Helper Range',0),MATCH('Target Column Header', 'Header Range',0))
– M. Terry
Nov 9 at 17:03
Try adding a helper column where you add 0.000001* the row/column number to the value
– Kurt VonOhlen
Nov 9 at 17:53
add a comment |
Hi Kurt, thanks for the response. I tried this formula with a helper column in order to include the specific date I'm looking for, however, it's still only pulling the data for the first correct match it finds for every entry in the table. Formula:=INDEX('Data Excluding Labels',MATCH('Helper Value','Helper Range',0),MATCH('Target Column Header', 'Header Range',0))
– M. Terry
Nov 9 at 17:03
Try adding a helper column where you add 0.000001* the row/column number to the value
– Kurt VonOhlen
Nov 9 at 17:53
Hi Kurt, thanks for the response. I tried this formula with a helper column in order to include the specific date I'm looking for, however, it's still only pulling the data for the first correct match it finds for every entry in the table. Formula:
=INDEX('Data Excluding Labels',MATCH('Helper Value','Helper Range',0),MATCH('Target Column Header', 'Header Range',0))
– M. Terry
Nov 9 at 17:03
Hi Kurt, thanks for the response. I tried this formula with a helper column in order to include the specific date I'm looking for, however, it's still only pulling the data for the first correct match it finds for every entry in the table. Formula:
=INDEX('Data Excluding Labels',MATCH('Helper Value','Helper Range',0),MATCH('Target Column Header', 'Header Range',0))
– M. Terry
Nov 9 at 17:03
Try adding a helper column where you add 0.000001* the row/column number to the value
– Kurt VonOhlen
Nov 9 at 17:53
Try adding a helper column where you add 0.000001* the row/column number to the value
– Kurt VonOhlen
Nov 9 at 17:53
add a comment |
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%2f53229517%2fcreating-an-indexmatch-for-multiple-criteria-with-multiple-results-for-mult%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
Sorry about that, changes added above.
– M. Terry
Nov 9 at 16:42