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:



`Dataset










share|improve this question
























  • Sorry about that, changes added above.
    – M. Terry
    Nov 9 at 16:42















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:



`Dataset










share|improve this question
























  • Sorry about that, changes added above.
    – M. Terry
    Nov 9 at 16:42













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:



`Dataset










share|improve this question















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:



`Dataset







excel date indexing match pivot-table






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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


















  • 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












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))),"")


![![enter image description here



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.






share|improve this answer























  • 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


















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))






share|improve this answer





















  • 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











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















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

























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))),"")


![![enter image description here



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.






share|improve this answer























  • 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















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))),"")


![![enter image description here



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.






share|improve this answer























  • 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













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))),"")


![![enter image description here



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.






share|improve this answer














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))),"")


![![enter image description here



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.







share|improve this answer














share|improve this answer



share|improve this answer








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


















  • 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












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))






share|improve this answer





















  • 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















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))






share|improve this answer





















  • 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













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))






share|improve this answer












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))







share|improve this answer












share|improve this answer



share|improve this answer










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


















  • 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


















 

draft saved


draft discarded



















































 


draft saved


draft discarded














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





















































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







Popular posts from this blog

Schultheiß

Verwaltungsgliederung Dänemarks

Liste der Kulturdenkmale in Wilsdruff