Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Hi,
My namelist.xls contains 10 stock codes for example - ABC, DEF, ....., XYZ in the first column. How can I match these names against the closing pricelist, 20060912.csv which contains the date and the closing prices, so that if there is an exact match (not ABCD) it will record the corresponding date (or otherwise a blank) in the second column of namelist.xls? To make it clear, the date field is the second element of the closing pricelist as shown below: AAC,20061204,1.85,1.86,1.85,1.86,33383 AAE,20061204,.415,.48,.405,.445,294925 ABC,20061204,43,43,43,43,0 ABCD,20061204,.22,.22,.21,.21,96000 ACG,20061204,10.21,10.52,10.2,10.46,2920359 <snip........ Much appreciate for any help. TIA Tom PS. For those who enjoy challenges, after that, close 20060912.csv and incrementally open up the next pricelist, namely 20060913.csv and do the match again, recording the date along the next, i.e. third column. Do that for N = 1 to N = 10. |
#2
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Say your name list is on Sheet1, A1 to A10, and you've pasted the csv to
Sheet2, from A1 down. Try this *array* formula in B1 of Sheet1: =INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5) +1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)-1),0)) -- Array formulas must be entered with CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, you must use CSE when revising the formula. *After* the CSE, copy down to A10. If *no* match is found, you'll get a #N/A error returned. If you really don't want to see the error message, and would prefer a blank cell returned, the error trap makes this *array* formula "kind of bigger": =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)+1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(" ,",Sheet2!A$1:A$5)-1),0))) Don't forget the CSE for this one also! -- HTH, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... Hi, My namelist.xls contains 10 stock codes for example - ABC, DEF, ....., XYZ in the first column. How can I match these names against the closing pricelist, 20060912.csv which contains the date and the closing prices, so that if there is an exact match (not ABCD) it will record the corresponding date (or otherwise a blank) in the second column of namelist.xls? To make it clear, the date field is the second element of the closing pricelist as shown below: AAC,20061204,1.85,1.86,1.85,1.86,33383 AAE,20061204,.415,.48,.405,.445,294925 ABC,20061204,43,43,43,43,0 ABCD,20061204,.22,.22,.21,.21,96000 ACG,20061204,10.21,10.52,10.2,10.46,2920359 <snip........ Much appreciate for any help. TIA Tom PS. For those who enjoy challenges, after that, close 20060912.csv and incrementally open up the next pricelist, namely 20060913.csv and do the match again, recording the date along the next, i.e. third column. Do that for N = 1 to N = 10. |
#3
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
I must thank you for your effort but unfortunately something was not right.
There was not a single match when there ought to be. What is this A$1:A$5? Tom "RagDyer" wrote in message ... Say your name list is on Sheet1, A1 to A10, and you've pasted the csv to Sheet2, from A1 down. Try this *array* formula in B1 of Sheet1: =INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5) +1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)-1),0)) -- Array formulas must be entered with CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, you must use CSE when revising the formula. *After* the CSE, copy down to A10. If *no* match is found, you'll get a #N/A error returned. If you really don't want to see the error message, and would prefer a blank cell returned, the error trap makes this *array* formula "kind of bigger": =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)+1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(" ,",Sheet2!A$1:A$5)-1),0))) Don't forget the CSE for this one also! -- HTH, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... Hi, My namelist.xls contains 10 stock codes for example - ABC, DEF, ....., XYZ in the first column. How can I match these names against the closing pricelist, 20060912.csv which contains the date and the closing prices, so that if there is an exact match (not ABCD) it will record the corresponding date (or otherwise a blank) in the second column of namelist.xls? To make it clear, the date field is the second element of the closing pricelist as shown below: AAC,20061204,1.85,1.86,1.85,1.86,33383 AAE,20061204,.415,.48,.405,.445,294925 ABC,20061204,43,43,43,43,0 ABCD,20061204,.22,.22,.21,.21,96000 ACG,20061204,10.21,10.52,10.2,10.46,2920359 <snip........ Much appreciate for any help. TIA Tom PS. For those who enjoy challenges, after that, close 20060912.csv and incrementally open up the next pricelist, namely 20060913.csv and do the match again, recording the date along the next, i.e. third column. Do that for N = 1 to N = 10. |
#4
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
A$1:A$5 is the size of the range of names that you used in your OP.
It must be replaced with the *actual* cell references of your datalist (name list). I used it strictly as an example for you to try on your posted test data! Since you didn't mention the size and location of your real data, I had to use "something" to illustrate the workings of the suggested formula. I might have (should have) mentioned to <<"adjust ranges to suit". -- Regards, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message ... I must thank you for your effort but unfortunately something was not right. There was not a single match when there ought to be. What is this A$1:A$5? Tom "RagDyer" wrote in message ... Say your name list is on Sheet1, A1 to A10, and you've pasted the csv to Sheet2, from A1 down. Try this *array* formula in B1 of Sheet1: =INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5) +1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)-1),0)) -- Array formulas must be entered with CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, you must use CSE when revising the formula. *After* the CSE, copy down to A10. If *no* match is found, you'll get a #N/A error returned. If you really don't want to see the error message, and would prefer a blank cell returned, the error trap makes this *array* formula "kind of bigger": =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)+1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(" ,",Sheet2!A$1:A$5)-1),0))) Don't forget the CSE for this one also! -- HTH, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... Hi, My namelist.xls contains 10 stock codes for example - ABC, DEF, ....., XYZ in the first column. How can I match these names against the closing pricelist, 20060912.csv which contains the date and the closing prices, so that if there is an exact match (not ABCD) it will record the corresponding date (or otherwise a blank) in the second column of namelist.xls? To make it clear, the date field is the second element of the closing pricelist as shown below: AAC,20061204,1.85,1.86,1.85,1.86,33383 AAE,20061204,.415,.48,.405,.445,294925 ABC,20061204,43,43,43,43,0 ABCD,20061204,.22,.22,.21,.21,96000 ACG,20061204,10.21,10.52,10.2,10.46,2920359 <snip........ Much appreciate for any help. TIA Tom PS. For those who enjoy challenges, after that, close 20060912.csv and incrementally open up the next pricelist, namely 20060913.csv and do the match again, recording the date along the next, i.e. third column. Do that for N = 1 to N = 10. |
#5
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
That was a neat way of extracting the date (the second element). One last
question. What would I have to change in the formula in order to extract the sixth element, a decimal number, which can range from 0.001 to 999.999? Thanks again for your help RD. Tom "RagDyer" wrote in message ... A$1:A$5 is the size of the range of names that you used in your OP. It must be replaced with the *actual* cell references of your datalist (name list). I used it strictly as an example for you to try on your posted test data! Since you didn't mention the size and location of your real data, I had to use "something" to illustrate the workings of the suggested formula. I might have (should have) mentioned to <<"adjust ranges to suit". -- Regards, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message ... I must thank you for your effort but unfortunately something was not right. There was not a single match when there ought to be. What is this A$1:A$5? Tom "RagDyer" wrote in message ... Say your name list is on Sheet1, A1 to A10, and you've pasted the csv to Sheet2, from A1 down. Try this *array* formula in B1 of Sheet1: =INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5) +1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)-1),0)) -- Array formulas must be entered with CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, you must use CSE when revising the formula. *After* the CSE, copy down to A10. If *no* match is found, you'll get a #N/A error returned. If you really don't want to see the error message, and would prefer a blank cell returned, the error trap makes this *array* formula "kind of bigger": =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)+1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(" ,",Sheet2!A$1:A$5)-1),0))) Don't forget the CSE for this one also! -- HTH, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... Hi, My namelist.xls contains 10 stock codes for example - ABC, DEF, ....., XYZ in the first column. How can I match these names against the closing pricelist, 20060912.csv which contains the date and the closing prices, so that if there is an exact match (not ABCD) it will record the corresponding date (or otherwise a blank) in the second column of namelist.xls? To make it clear, the date field is the second element of the closing pricelist as shown below: AAC,20061204,1.85,1.86,1.85,1.86,33383 AAE,20061204,.415,.48,.405,.445,294925 ABC,20061204,43,43,43,43,0 ABCD,20061204,.22,.22,.21,.21,96000 ACG,20061204,10.21,10.52,10.2,10.46,2920359 <snip........ Much appreciate for any help. TIA Tom PS. For those who enjoy challenges, after that, close 20060912.csv and incrementally open up the next pricelist, namely 20060913.csv and do the match again, recording the date along the next, i.e. third column. Do that for N = 1 to N = 10. |
#6
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Sorry for the delay, too much work ... not enough time to play in this sand
box!<bg Also, no time to look for shorter options, but this works for me: No error trap, returns text: =INDEX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Shee t2!A$1:A$5,",","^",5))+1,(FIND("^",SUBSTITUTE(Shee t2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0)) For XL recognizable numbers, add double unary in front of Mid() function: =INDEX(--MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Sheet2!A$1: A$5,",","^",5))+1,(FIND("^",SUBSTITUTE(Sheet2!A$1: A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0)) With error trap, returns text: =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTI TUTE(Sheet2!A$1:A$5,",","^",5))+1,(FIND("^",SUBSTI TUTE(Sheet2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0))) Just add unary if you want numbers. Don't forget, these are *array* formulas. -- Array formulas are entered using CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, CSE *must* be used when revising the formula. -- HTH, RD ================================================== === Please keep all correspondence within the Group, so all may benefit! ================================================== === "Tom" wrote in message ... That was a neat way of extracting the date (the second element). One last question. What would I have to change in the formula in order to extract the sixth element, a decimal number, which can range from 0.001 to 999.999? Thanks again for your help RD. Tom "RagDyer" wrote in message ... A$1:A$5 is the size of the range of names that you used in your OP. It must be replaced with the *actual* cell references of your datalist (name list). I used it strictly as an example for you to try on your posted test data! Since you didn't mention the size and location of your real data, I had to use "something" to illustrate the workings of the suggested formula. I might have (should have) mentioned to <<"adjust ranges to suit". -- Regards, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message ... I must thank you for your effort but unfortunately something was not right. There was not a single match when there ought to be. What is this A$1:A$5? Tom "RagDyer" wrote in message ... Say your name list is on Sheet1, A1 to A10, and you've pasted the csv to Sheet2, from A1 down. Try this *array* formula in B1 of Sheet1: =INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5) +1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)-1),0)) -- Array formulas must be entered with CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, you must use CSE when revising the formula. *After* the CSE, copy down to A10. If *no* match is found, you'll get a #N/A error returned. If you really don't want to see the error message, and would prefer a blank cell returned, the error trap makes this *array* formula "kind of bigger": =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)+1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(" ,",Sheet2!A$1:A$5)-1),0))) Don't forget the CSE for this one also! -- HTH, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... Hi, My namelist.xls contains 10 stock codes for example - ABC, DEF, ....., XYZ in the first column. How can I match these names against the closing pricelist, 20060912.csv which contains the date and the closing prices, so that if there is an exact match (not ABCD) it will record the corresponding date (or otherwise a blank) in the second column of namelist.xls? To make it clear, the date field is the second element of the closing pricelist as shown below: AAC,20061204,1.85,1.86,1.85,1.86,33383 AAE,20061204,.415,.48,.405,.445,294925 ABC,20061204,43,43,43,43,0 ABCD,20061204,.22,.22,.21,.21,96000 ACG,20061204,10.21,10.52,10.2,10.46,2920359 <snip........ Much appreciate for any help. TIA Tom PS. For those who enjoy challenges, after that, close 20060912.csv and incrementally open up the next pricelist, namely 20060913.csv and do the match again, recording the date along the next, i.e. third column. Do that for N = 1 to N = 10. |
#7
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
It seems to capture the data correctly for the few cells of data tested. I
have yet to test the rest, which is up to 1240 cells. If they tested ok I can dispense with an old macro procedure which matches and records each of the names and corresponding data sequentially. Thanks once again, RD that was wonderful. Tom "RagDyeR" wrote in message ... Sorry for the delay, too much work ... not enough time to play in this sand box!<bg Also, no time to look for shorter options, but this works for me: No error trap, returns text: =INDEX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Shee t2!A$1:A$5,",","^",5))+1,(FIND("^",SUBSTITUTE(Shee t2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0)) For XL recognizable numbers, add double unary in front of Mid() function: =INDEX(--MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Sheet2!A$1: A$5,",","^",5))+1,(FIND("^",SUBSTITUTE(Sheet2!A$1: A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0)) With error trap, returns text: =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTI TUTE(Sheet2!A$1:A$5,",","^",5))+1,(FIND("^",SUBSTI TUTE(Sheet2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0))) Just add unary if you want numbers. Don't forget, these are *array* formulas. -- Array formulas are entered using CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, CSE *must* be used when revising the formula. -- HTH, RD ================================================== === Please keep all correspondence within the Group, so all may benefit! ================================================== === "Tom" wrote in message ... That was a neat way of extracting the date (the second element). One last question. What would I have to change in the formula in order to extract the sixth element, a decimal number, which can range from 0.001 to 999.999? Thanks again for your help RD. Tom "RagDyer" wrote in message ... A$1:A$5 is the size of the range of names that you used in your OP. It must be replaced with the *actual* cell references of your datalist (name list). I used it strictly as an example for you to try on your posted test data! Since you didn't mention the size and location of your real data, I had to use "something" to illustrate the workings of the suggested formula. I might have (should have) mentioned to <<"adjust ranges to suit". -- Regards, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message ... I must thank you for your effort but unfortunately something was not right. There was not a single match when there ought to be. What is this A$1:A$5? Tom "RagDyer" wrote in message ... Say your name list is on Sheet1, A1 to A10, and you've pasted the csv to Sheet2, from A1 down. Try this *array* formula in B1 of Sheet1: =INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5) +1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)-1),0)) -- Array formulas must be entered with CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, you must use CSE when revising the formula. *After* the CSE, copy down to A10. If *no* match is found, you'll get a #N/A error returned. If you really don't want to see the error message, and would prefer a blank cell returned, the error trap makes this *array* formula "kind of bigger": =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)+1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(" ,",Sheet2!A$1:A$5)-1),0))) Don't forget the CSE for this one also! -- HTH, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... Hi, My namelist.xls contains 10 stock codes for example - ABC, DEF, ....., XYZ in the first column. How can I match these names against the closing pricelist, 20060912.csv which contains the date and the closing prices, so that if there is an exact match (not ABCD) it will record the corresponding date (or otherwise a blank) in the second column of namelist.xls? To make it clear, the date field is the second element of the closing pricelist as shown below: AAC,20061204,1.85,1.86,1.85,1.86,33383 AAE,20061204,.415,.48,.405,.445,294925 ABC,20061204,43,43,43,43,0 ABCD,20061204,.22,.22,.21,.21,96000 ACG,20061204,10.21,10.52,10.2,10.46,2920359 <snip........ Much appreciate for any help. TIA Tom PS. For those who enjoy challenges, after that, close 20060912.csv and incrementally open up the next pricelist, namely 20060913.csv and do the match again, recording the date along the next, i.e. third column. Do that for N = 1 to N = 10. |
#8
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Appreciate the feed-back.
-- Regards, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... It seems to capture the data correctly for the few cells of data tested. I have yet to test the rest, which is up to 1240 cells. If they tested ok I can dispense with an old macro procedure which matches and records each of the names and corresponding data sequentially. Thanks once again, RD that was wonderful. Tom "RagDyeR" wrote in message ... Sorry for the delay, too much work ... not enough time to play in this sand box!<bg Also, no time to look for shorter options, but this works for me: No error trap, returns text: =INDEX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Shee t2!A$1:A$5,",","^",5))+1,(FIND("^",SUBSTITUTE(Shee t2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0)) For XL recognizable numbers, add double unary in front of Mid() function: =INDEX(--MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Sheet2!A$1: A$5,",","^",5))+1,(FIND("^",SUBSTITUTE(Sheet2!A$1: A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0)) With error trap, returns text: =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTI TUTE(Sheet2!A$1:A$5,",","^",5))+1,(FIND("^",SUBSTI TUTE(Sheet2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0))) Just add unary if you want numbers. Don't forget, these are *array* formulas. -- Array formulas are entered using CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, CSE *must* be used when revising the formula. -- HTH, RD ================================================== === Please keep all correspondence within the Group, so all may benefit! ================================================== === "Tom" wrote in message ... That was a neat way of extracting the date (the second element). One last question. What would I have to change in the formula in order to extract the sixth element, a decimal number, which can range from 0.001 to 999.999? Thanks again for your help RD. Tom "RagDyer" wrote in message ... A$1:A$5 is the size of the range of names that you used in your OP. It must be replaced with the *actual* cell references of your datalist (name list). I used it strictly as an example for you to try on your posted test data! Since you didn't mention the size and location of your real data, I had to use "something" to illustrate the workings of the suggested formula. I might have (should have) mentioned to <<"adjust ranges to suit". -- Regards, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message ... I must thank you for your effort but unfortunately something was not right. There was not a single match when there ought to be. What is this A$1:A$5? Tom "RagDyer" wrote in message ... Say your name list is on Sheet1, A1 to A10, and you've pasted the csv to Sheet2, from A1 down. Try this *array* formula in B1 of Sheet1: =INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5) +1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)-1),0)) -- Array formulas must be entered with CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, you must use CSE when revising the formula. *After* the CSE, copy down to A10. If *no* match is found, you'll get a #N/A error returned. If you really don't want to see the error message, and would prefer a blank cell returned, the error trap makes this *array* formula "kind of bigger": =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)+1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(" ,",Sheet2!A$1:A$5)-1),0))) Don't forget the CSE for this one also! -- HTH, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... Hi, My namelist.xls contains 10 stock codes for example - ABC, DEF, ....., XYZ in the first column. How can I match these names against the closing pricelist, 20060912.csv which contains the date and the closing prices, so that if there is an exact match (not ABCD) it will record the corresponding date (or otherwise a blank) in the second column of namelist.xls? To make it clear, the date field is the second element of the closing pricelist as shown below: AAC,20061204,1.85,1.86,1.85,1.86,33383 AAE,20061204,.415,.48,.405,.445,294925 ABC,20061204,43,43,43,43,0 ABCD,20061204,.22,.22,.21,.21,96000 ACG,20061204,10.21,10.52,10.2,10.46,2920359 <snip........ Much appreciate for any help. TIA Tom PS. For those who enjoy challenges, after that, close 20060912.csv and incrementally open up the next pricelist, namely 20060913.csv and do the match again, recording the date along the next, i.e. third column. Do that for N = 1 to N = 10. |
#9
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
That's a complex but clever formula. It works completely. I am more at home
with the old Excel macro. Since I left the scene, I have not bothered keeping up with the changes when Microsoft introduced VBA for use with Excel. But you have now made me want to pursue it further. Can you recommend a good comprehensive text that I can get my hand on? Thanks. Regards, Tom "RagDyer" wrote in message ... Appreciate the feed-back. -- Regards, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... It seems to capture the data correctly for the few cells of data tested. I have yet to test the rest, which is up to 1240 cells. If they tested ok I can dispense with an old macro procedure which matches and records each of the names and corresponding data sequentially. Thanks once again, RD that was wonderful. Tom "RagDyeR" wrote in message ... Sorry for the delay, too much work ... not enough time to play in this sand box!<bg Also, no time to look for shorter options, but this works for me: No error trap, returns text: =INDEX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Shee t2!A$1:A$5,",","^",5))+1,(FIND("^",SUBSTITUTE(Shee t2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0)) For XL recognizable numbers, add double unary in front of Mid() function: =INDEX(--MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Sheet2!A$1: A$5,",","^",5))+1,(FIND("^",SUBSTITUTE(Sheet2!A$1: A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0)) With error trap, returns text: =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTI TUTE(Sheet2!A$1:A$5,",","^",5))+1,(FIND("^",SUBSTI TUTE(Sheet2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0))) Just add unary if you want numbers. Don't forget, these are *array* formulas. -- Array formulas are entered using CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, CSE *must* be used when revising the formula. -- HTH, RD ================================================== === Please keep all correspondence within the Group, so all may benefit! ================================================== === "Tom" wrote in message ... That was a neat way of extracting the date (the second element). One last question. What would I have to change in the formula in order to extract the sixth element, a decimal number, which can range from 0.001 to 999.999? Thanks again for your help RD. Tom "RagDyer" wrote in message ... A$1:A$5 is the size of the range of names that you used in your OP. It must be replaced with the *actual* cell references of your datalist (name list). I used it strictly as an example for you to try on your posted test data! Since you didn't mention the size and location of your real data, I had to use "something" to illustrate the workings of the suggested formula. I might have (should have) mentioned to <<"adjust ranges to suit". -- Regards, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message ... I must thank you for your effort but unfortunately something was not right. There was not a single match when there ought to be. What is this A$1:A$5? Tom "RagDyer" wrote in message ... Say your name list is on Sheet1, A1 to A10, and you've pasted the csv to Sheet2, from A1 down. Try this *array* formula in B1 of Sheet1: =INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5) +1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)-1),0)) -- Array formulas must be entered with CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, you must use CSE when revising the formula. *After* the CSE, copy down to A10. If *no* match is found, you'll get a #N/A error returned. If you really don't want to see the error message, and would prefer a blank cell returned, the error trap makes this *array* formula "kind of bigger": =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2 !A$1:A$5)+1,8),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(" ,",Sheet2!A$1:A$5)-1),0))) Don't forget the CSE for this one also! -- HTH, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... Hi, My namelist.xls contains 10 stock codes for example - ABC, DEF, ....., XYZ in the first column. How can I match these names against the closing pricelist, 20060912.csv which contains the date and the closing prices, so that if there is an exact match (not ABCD) it will record the corresponding date (or otherwise a blank) in the second column of namelist.xls? To make it clear, the date field is the second element of the closing pricelist as shown below: AAC,20061204,1.85,1.86,1.85,1.86,33383 AAE,20061204,.415,.48,.405,.445,294925 ABC,20061204,43,43,43,43,0 ABCD,20061204,.22,.22,.21,.21,96000 ACG,20061204,10.21,10.52,10.2,10.46,2920359 <snip........ Much appreciate for any help. TIA Tom PS. For those who enjoy challenges, after that, close 20060912.csv and incrementally open up the next pricelist, namely 20060913.csv and do the match again, recording the date along the next, i.e. third column. Do that for N = 1 to N = 10. |
#10
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
I assume you're referring to functions and formulas.
http://tinyurl.com/ymknqs -- Regards, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... That's a complex but clever formula. It works completely. I am more at home with the old Excel macro. Since I left the scene, I have not bothered keeping up with the changes when Microsoft introduced VBA for use with Excel. But you have now made me want to pursue it further. Can you recommend a good comprehensive text that I can get my hand on? Thanks. Regards, Tom "RagDyer" wrote in message ... Appreciate the feed-back. -- Regards, RD -------------------------------------------------------------------------- - Please keep all correspondence within the NewsGroup, so all may benefit ! -------------------------------------------------------------------------- - "Tom" wrote in message u... It seems to capture the data correctly for the few cells of data tested. I have yet to test the rest, which is up to 1240 cells. If they tested ok I can dispense with an old macro procedure which matches and records each of the names and corresponding data sequentially. Thanks once again, RD that was wonderful. Tom "RagDyeR" wrote in message ... Sorry for the delay, too much work ... not enough time to play in this sand box!<bg Also, no time to look for shorter options, but this works for me: No error trap, returns text: =INDEX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Shee t2!A$1:A$5,",","^",5))+1,( FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$ 1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)- 1),0)) For XL recognizable numbers, add double unary in front of Mid() function: =INDEX(--MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Sheet2!A$1: A$5,",","^",5))+1 ,(FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2! A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5 )-1),0)) With error trap, returns text: =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",IND EX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Sheet2!A $1:A$5,",","^",5))+1,(FIND ("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$ 5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0 ))) Just add unary if you want numbers. Don't forget, these are *array* formulas. -- Array formulas are entered using CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, CSE *must* be used when revising the formula. -- HTH, RD ================================================== === Please keep all correspondence within the Group, so all may benefit! ================================================== === "Tom" wrote in message ... That was a neat way of extracting the date (the second element). One last question. What would I have to change in the formula in order to extract the sixth element, a decimal number, which can range from 0.001 to 999.999? Thanks again for your help RD. Tom "RagDyer" wrote in message ... A$1:A$5 is the size of the range of names that you used in your OP. It must be replaced with the *actual* cell references of your datalist (name list). I used it strictly as an example for you to try on your posted test data! Since you didn't mention the size and location of your real data, I had to use "something" to illustrate the workings of the suggested formula. I might have (should have) mentioned to <<"adjust ranges to suit". -- Regards, RD ----------------------------------------------------------------------- ---- Please keep all correspondence within the NewsGroup, so all may benefit ! ----------------------------------------------------------------------- ---- "Tom" wrote in message ... I must thank you for your effort but unfortunately something was not right. There was not a single match when there ought to be. What is this A$1:A$5? Tom "RagDyer" wrote in message ... Say your name list is on Sheet1, A1 to A10, and you've pasted the csv to Sheet2, from A1 down. Try this *array* formula in B1 of Sheet1: =INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5) +1,8),MATCH(A1,LEFT(Sheet2 !A$1:A$5,FIND(",",Sheet2!A$1:A$5)-1),0)) -- Array formulas must be entered with CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, you must use CSE when revising the formula. *After* the CSE, copy down to A10. If *no* match is found, you'll get a #N/A error returned. If you really don't want to see the error message, and would prefer a blank cell returned, the error trap makes this *array* formula "kind of bigger": =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",IND EX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5)+1,8 ),MATCH(A1,LEFT(Sheet2!A$1 :A$5,FIND(",",Sheet2!A$1:A$5)-1),0))) Don't forget the CSE for this one also! -- HTH, RD --------------------------------------------------------------------- ------ Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------- ------ "Tom" wrote in message u... Hi, My namelist.xls contains 10 stock codes for example - ABC, DEF, ....., XYZ in the first column. How can I match these names against the closing pricelist, 20060912.csv which contains the date and the closing prices, so that if there is an exact match (not ABCD) it will record the corresponding date (or otherwise a blank) in the second column of namelist.xls? To make it clear, the date field is the second element of the closing pricelist as shown below: AAC,20061204,1.85,1.86,1.85,1.86,33383 AAE,20061204,.415,.48,.405,.445,294925 ABC,20061204,43,43,43,43,0 ABCD,20061204,.22,.22,.21,.21,96000 ACG,20061204,10.21,10.52,10.2,10.46,2920359 <snip........ Much appreciate for any help. TIA Tom PS. For those who enjoy challenges, after that, close 20060912.csv and incrementally open up the next pricelist, namely 20060913.csv and do the match again, recording the date along the next, i.e. third column. Do that for N = 1 to N = 10. |
#11
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Thanks RD.
Tom "Ragdyer" wrote in message ... I assume you're referring to functions and formulas. http://tinyurl.com/ymknqs -- Regards, RD --------------------------------------------------------------------------- Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------------- "Tom" wrote in message u... That's a complex but clever formula. It works completely. I am more at home with the old Excel macro. Since I left the scene, I have not bothered keeping up with the changes when Microsoft introduced VBA for use with Excel. But you have now made me want to pursue it further. Can you recommend a good comprehensive text that I can get my hand on? Thanks. Regards, Tom "RagDyer" wrote in message ... Appreciate the feed-back. -- Regards, RD -------------------------------------------------------------------------- - Please keep all correspondence within the NewsGroup, so all may benefit ! -------------------------------------------------------------------------- - "Tom" wrote in message u... It seems to capture the data correctly for the few cells of data tested. I have yet to test the rest, which is up to 1240 cells. If they tested ok I can dispense with an old macro procedure which matches and records each of the names and corresponding data sequentially. Thanks once again, RD that was wonderful. Tom "RagDyeR" wrote in message ... Sorry for the delay, too much work ... not enough time to play in this sand box!<bg Also, no time to look for shorter options, but this works for me: No error trap, returns text: =INDEX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Shee t2!A$1:A$5,",","^",5))+1,( FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$ 1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)- 1),0)) For XL recognizable numbers, add double unary in front of Mid() function: =INDEX(--MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Sheet2!A$1: A$5,",","^",5))+1 ,(FIND("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2! A$1:A$5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5 )-1),0)) With error trap, returns text: =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",IND EX(MID(Sheet2!A$1:A$5,FIND("^",SUBSTITUTE(Sheet2!A $1:A$5,",","^",5))+1,(FIND ("^",SUBSTITUTE(Sheet2!A$1:A$5,",","^",6))-FIND("^",SUBSTITUTE(Sheet2!A$1:A$ 5,",","^",5)))-1),MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",Sheet2!A$ 1:A$5)-1),0 ))) Just add unary if you want numbers. Don't forget, these are *array* formulas. -- Array formulas are entered using CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, CSE *must* be used when revising the formula. -- HTH, RD ================================================== === Please keep all correspondence within the Group, so all may benefit! ================================================== === "Tom" wrote in message ... That was a neat way of extracting the date (the second element). One last question. What would I have to change in the formula in order to extract the sixth element, a decimal number, which can range from 0.001 to 999.999? Thanks again for your help RD. Tom "RagDyer" wrote in message ... A$1:A$5 is the size of the range of names that you used in your OP. It must be replaced with the *actual* cell references of your datalist (name list). I used it strictly as an example for you to try on your posted test data! Since you didn't mention the size and location of your real data, I had to use "something" to illustrate the workings of the suggested formula. I might have (should have) mentioned to <<"adjust ranges to suit". -- Regards, RD ----------------------------------------------------------------------- ---- Please keep all correspondence within the NewsGroup, so all may benefit ! ----------------------------------------------------------------------- ---- "Tom" wrote in message ... I must thank you for your effort but unfortunately something was not right. There was not a single match when there ought to be. What is this A$1:A$5? Tom "RagDyer" wrote in message ... Say your name list is on Sheet1, A1 to A10, and you've pasted the csv to Sheet2, from A1 down. Try this *array* formula in B1 of Sheet1: =INDEX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5) +1,8),MATCH(A1,LEFT(Sheet2 !A$1:A$5,FIND(",",Sheet2!A$1:A$5)-1),0)) -- Array formulas must be entered with CSE, <Ctrl <Shift <Enter, instead of the regular <Enter, which will *automatically* enclose the formula in curly brackets, which *cannot* be done manually. Also, you must use CSE when revising the formula. *After* the CSE, copy down to A10. If *no* match is found, you'll get a #N/A error returned. If you really don't want to see the error message, and would prefer a blank cell returned, the error trap makes this *array* formula "kind of bigger": =IF(ISNA(MATCH(A1,LEFT(Sheet2!A$1:A$5,FIND(",",She et2!A$1:A$5)-1),0)),"",IND EX(MID(Sheet2!A$1:A$5,FIND(",",Sheet2!A$1:A$5)+1,8 ),MATCH(A1,LEFT(Sheet2!A$1 :A$5,FIND(",",Sheet2!A$1:A$5)-1),0))) Don't forget the CSE for this one also! -- HTH, RD --------------------------------------------------------------------- ------ Please keep all correspondence within the NewsGroup, so all may benefit ! --------------------------------------------------------------------- ------ "Tom" wrote in message u... Hi, My namelist.xls contains 10 stock codes for example - ABC, DEF, ....., XYZ in the first column. How can I match these names against the closing pricelist, 20060912.csv which contains the date and the closing prices, so that if there is an exact match (not ABCD) it will record the corresponding date (or otherwise a blank) in the second column of namelist.xls? To make it clear, the date field is the second element of the closing pricelist as shown below: AAC,20061204,1.85,1.86,1.85,1.86,33383 AAE,20061204,.415,.48,.405,.445,294925 ABC,20061204,43,43,43,43,0 ABCD,20061204,.22,.22,.21,.21,96000 ACG,20061204,10.21,10.52,10.2,10.46,2920359 <snip........ Much appreciate for any help. TIA Tom PS. For those who enjoy challenges, after that, close 20060912.csv and incrementally open up the next pricelist, namely 20060913.csv and do the match again, recording the date along the next, i.e. third column. Do that for N = 1 to N = 10. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How do I create a schedule from a list of dates ? | Charts and Charting in Excel | |||
excel date scheduling not msProject | Excel Worksheet Functions | |||
MATCHING DATE TO A WEEKDAY | Excel Worksheet Functions | |||
Matching the month and year portion of a date only | Excel Discussion (Misc queries) | |||
NETWORKDAYS - Multiple Date Selection | Excel Discussion (Misc queries) |