Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
I have two sheets.
sheet 1 has a list of invoices. on sheet 2 I just want to list certain invoices. so sheet 1 may be like this: 001 rmb $25.00 1356 002 ght $35.02 4568 003 ght $45.23 5689 004 rmb $12.25 4568 005 bnj $1.25 4568 006 sdr $12.54 4568 007 rmb $65.25 4568 009 bnj $56.54 4568 On sheet 2 I need it to pull out all the rmb lines. 001 rmb $25.00 1356 004 rmb $12.25 4568 007 rmb $65.25 4568 I could make sheet 2 in to a list and sort it that way. but what I need to do is pull the information into sheet 2, it's no good being able to sort it on sheet 1. Any Ideas? Thanks |
#2
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
in Sheet2!A1
=MATCH("rmb",Sheet1!B$1:B$500,0) in Sheet2!A2 =MATCH(1,INDEX((Sheet1!B$1:B$500="rmb")*(ROW(Sheet 1!B$1:B$500)A1),0),0) Copy A2 down as far as you need to in Sheet2!B1 =IF(ISNA($A1),"",INDEX(Sheet1!A$1:A$500,$A1)) copy down and across as far as you need to go tips 1. of course you can type "rmb" in a seperate cell and point to it. 2. If you adjust the "$1" in column A, make same adjustment to the formulae in the rest of the columns. "WTG" wrote in message ... I have two sheets. sheet 1 has a list of invoices. on sheet 2 I just want to list certain invoices. so sheet 1 may be like this: 001 rmb $25.00 1356 002 ght $35.02 4568 003 ght $45.23 5689 004 rmb $12.25 4568 005 bnj $1.25 4568 006 sdr $12.54 4568 007 rmb $65.25 4568 009 bnj $56.54 4568 On sheet 2 I need it to pull out all the rmb lines. 001 rmb $25.00 1356 004 rmb $12.25 4568 007 rmb $65.25 4568 I could make sheet 2 in to a list and sort it that way. but what I need to do is pull the information into sheet 2, it's no good being able to sort it on sheet 1. Any Ideas? Thanks |
#3
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Bob,
Thank You very much . I'll give it a try right away. If this does what I need, you've saved me so much time and trouble. Thanks again. Wally On Fri, 10 Feb 2006 17:38:35 -0500, "Bob Tarburton" wrote: in Sheet2!A1 =MATCH("rmb",Sheet1!B$1:B$500,0) in Sheet2!A2 =MATCH(1,INDEX((Sheet1!B$1:B$500="rmb")*(ROW(Shee t1!B$1:B$500)A1),0),0) Copy A2 down as far as you need to in Sheet2!B1 =IF(ISNA($A1),"",INDEX(Sheet1!A$1:A$500,$A1)) copy down and across as far as you need to go tips 1. of course you can type "rmb" in a seperate cell and point to it. 2. If you adjust the "$1" in column A, make same adjustment to the formulae in the rest of the columns. |
#4
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Bob,
Thank You very much . I'll give it a try right away. If this does what I need, you've saved me so much time and trouble. Thanks again. Wally On Fri, 10 Feb 2006 17:38:35 -0500, "Bob Tarburton" wrote: in Sheet2!A1 =MATCH("rmb",Sheet1!B$1:B$500,0) in Sheet2!A2 =MATCH(1,INDEX((Sheet1!B$1:B$500="rmb")*(ROW(Shee t1!B$1:B$500)A1),0),0) Copy A2 down as far as you need to in Sheet2!B1 =IF(ISNA($A1),"",INDEX(Sheet1!A$1:A$500,$A1)) copy down and across as far as you need to go tips 1. of course you can type "rmb" in a seperate cell and point to it. 2. If you adjust the "$1" in column A, make same adjustment to the formulae in the rest of the columns. |
#5
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Bob This worked great except for the second formula keeps giving me
the same value as the first. Can you see my error. And I took your advice about pointing to the customer id. =MATCH(C3,Invoices!C$7:C$5000,0) =MATCH("rmb",Sheet1!B$1:B$500,0) =MATCH(1,INDEX((Invoices!C$7:C$5000=Sheet1!$C$3)*( ROW(Invoices!C$7:C$5000)A6),0),0) =MATCH(1,INDEX((Sheet1!B$1:B$500="rmb")*(ROW(Shee t1!B$1:B$500)A1),0),0) Thanks again for the help. Wally On Fri, 10 Feb 2006 17:38:35 -0500, "Bob Tarburton" wrote: in Sheet2!A1 =MATCH("rmb",Sheet1!B$1:B$500,0) in Sheet2!A2 =MATCH(1,INDEX((Sheet1!B$1:B$500="rmb")*(ROW(Shee t1!B$1:B$500)A1),0),0) Copy A2 down as far as you need to in Sheet2!B1 =IF(ISNA($A1),"",INDEX(Sheet1!A$1:A$500,$A1)) copy down and across as far as you need to go tips 1. of course you can type "rmb" in a seperate cell and point to it. 2. If you adjust the "$1" in column A, make same adjustment to the formulae in the rest of the columns. |
#6
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Can I expand on this formula to include more then one match value?
can I match to customer number between date1 and date2. so out of my invoice list I can call up all the invoices for one certain customer from feb. 15 to march 21. Thanks again for all the help. Wally On Tue, 14 Feb 2006 10:15:26 -0500, WTG wrote: Bob This worked great except for the second formula keeps giving me the same value as the first. Can you see my error. And I took your advice about pointing to the customer id. =MATCH(C3,Invoices!C$7:C$5000,0) =MATCH("rmb",Sheet1!B$1:B$500,0) =MATCH(1,INDEX((Invoices!C$7:C$5000=Sheet1!$C$3)* (ROW(Invoices!C$7:C$5000)A6),0),0) =MATCH(1,INDEX((Sheet1!B$1:B$500="rmb")*(ROW(She et1!B$1:B$500)A1),0),0) Thanks again for the help. Wally On Fri, 10 Feb 2006 17:38:35 -0500, "Bob Tarburton" wrote: in Sheet2!A1 =MATCH("rmb",Sheet1!B$1:B$500,0) in Sheet2!A2 =MATCH(1,INDEX((Sheet1!B$1:B$500="rmb")*(ROW(She et1!B$1:B$500)A1),0),0) Copy A2 down as far as you need to in Sheet2!B1 =IF(ISNA($A1),"",INDEX(Sheet1!A$1:A$500,$A1)) copy down and across as far as you need to go tips 1. of course you can type "rmb" in a seperate cell and point to it. 2. If you adjust the "$1" in column A, make same adjustment to the formulae in the rest of the columns. |
#7
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Can I expand on this formula to include more then one match value?
can I match to customer number between date1 and date2. so out of my invoice list I can call up all the invoices for one certain customer from feb. 15 to march 21. Thanks again for all the help. Wally On Tue, 14 Feb 2006 10:15:26 -0500, WTG wrote: Bob This worked great except for the second formula keeps giving me the same value as the first. Can you see my error. And I took your advice about pointing to the customer id. =MATCH(C3,Invoices!C$7:C$5000,0) =MATCH("rmb",Sheet1!B$1:B$500,0) =MATCH(1,INDEX((Invoices!C$7:C$5000=Sheet1!$C$3)* (ROW(Invoices!C$7:C$5000)A6),0),0) =MATCH(1,INDEX((Sheet1!B$1:B$500="rmb")*(ROW(She et1!B$1:B$500)A1),0),0) Thanks again for the help. Wally On Fri, 10 Feb 2006 17:38:35 -0500, "Bob Tarburton" wrote: in Sheet2!A1 =MATCH("rmb",Sheet1!B$1:B$500,0) in Sheet2!A2 =MATCH(1,INDEX((Sheet1!B$1:B$500="rmb")*(ROW(She et1!B$1:B$500)A1),0),0) Copy A2 down as far as you need to in Sheet2!B1 =IF(ISNA($A1),"",INDEX(Sheet1!A$1:A$500,$A1)) copy down and across as far as you need to go tips 1. of course you can type "rmb" in a seperate cell and point to it. 2. If you adjust the "$1" in column A, make same adjustment to the formulae in the rest of the columns. |
#8
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Your first formula
=MATCH(C3,Invoices!C$7:C$5000,0) starts at row 7, so returns a 1 if the first instance is in row 7. In the second formula, you are testing the row of otherwise acceptable records against A6. If if the first instance is in row 7, then the row (7) is greater thatn A6 (1). Adust your second formula so that "A6" takes into account the 6 rows worth of headers, such as "A6+6" or "A6+ROW(Invoices!$C$7)-1" to follow the first row of data if you move it later. =MATCH(1,INDEX((Invoices!C$7:C$5000=Sheet1!$C$3)*( ROW(Invoices!C$7:C$5000)A6+ROW(Invoices!$C$7)-1),0),0) To add additional criteria, you need to use a formula like the second in place of the first such as =MATCH(1,INDEX((Invoices!C$7:C$5000=Sheet1!$C$3)*( Invoices!E$7:E$5000=Sheet1!$D$3)*(Invoices!E$7:E$ 5000<=Sheet1!$E$3),0),0) Where Invoices column E holds the invoice date and Sheet1!D3 and Sheet1!E3 hold your start and end dates (note I used = and <= which INCLUDE the start date and end date). The second formula (and down) is the same as the first except you add back the condition that the row of the next return is greater than the row of the previous return. =MATCH(1,INDEX((Invoices!C$7:C$5000=Sheet1!$C$3)*( Invoices!E$7:E$5000=Sheet1!$D$3)*(Invoices!E$7:E$ 5000<=Sheet1!$E$3)*(ROW(Invoices!C$7:C$5000)A6+RO W(Invoices!$C$7)-1),0),0) I tested this only against as much data as you showed in your original post. Let me know if you encounter any additional problems (and make sure your dates are not stored as text). "WTG" wrote in message ... Can I expand on this formula to include more then one match value? can I match to customer number between date1 and date2. so out of my invoice list I can call up all the invoices for one certain customer from feb. 15 to march 21. Bob This worked great except for the second formula keeps giving me the same value as the first. Can you see my error. |
#9
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Thanks Bob, this worked great.
Can I bother you for another question? If I make sheet 4 a customer form. after I enter all the customer information, how do I insert it in to the first empty row in my customer list? so if I have 25 customers in my customer list on sheet 10. when I finish filling in the customer in my form on sheet 4 How would I (with a macro I'm guessing) copy the information into the next empty row ( row 26 ) and so on for the next customer and so on and so on.... Thanks for all the help. I turn to the news groups when I need help, but I'm not overly experianced with them. so if I did the wrong thing in asking another question without starting a new thread (I think that's the right term) I'm sorry.. Thanks again Wally On Tue, 14 Feb 2006 12:17:49 -0500, "Bob Tarburton" wrote: Your first formula =MATCH(C3,Invoices!C$7:C$5000,0) starts at row 7, so returns a 1 if the first instance is in row 7. In the second formula, you are testing the row of otherwise acceptable records against A6. If if the first instance is in row 7, then the row (7) is greater thatn A6 (1). Adust your second formula so that "A6" takes into account the 6 rows worth of headers, such as "A6+6" or "A6+ROW(Invoices!$C$7)-1" to follow the first row of data if you move it later. =MATCH(1,INDEX((Invoices!C$7:C$5000=Sheet1!$C$3)* (ROW(Invoices!C$7:C$5000)A6+ROW(Invoices!$C$7)-1),0),0) To add additional criteria, you need to use a formula like the second in place of the first such as =MATCH(1,INDEX((Invoices!C$7:C$5000=Sheet1!$C$3)* (Invoices!E$7:E$5000=Sheet1!$D$3)*(Invoices!E$7:E $5000<=Sheet1!$E$3),0),0) Where Invoices column E holds the invoice date and Sheet1!D3 and Sheet1!E3 hold your start and end dates (note I used = and <= which INCLUDE the start date and end date). The second formula (and down) is the same as the first except you add back the condition that the row of the next return is greater than the row of the previous return. =MATCH(1,INDEX((Invoices!C$7:C$5000=Sheet1!$C$3)* (Invoices!E$7:E$5000=Sheet1!$D$3)*(Invoices!E$7:E $5000<=Sheet1!$E$3)*(ROW(Invoices!C$7:C$5000)A6+R OW(Invoices!$C$7)-1),0),0) I tested this only against as much data as you showed in your original post. Let me know if you encounter any additional problems (and make sure your dates are not stored as text). |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
grid lines - off in selected areas | Excel Discussion (Misc queries) | |||
Macro to open workbook and copy and paste values in to orig workbo | Excel Worksheet Functions | |||
How can I copy cell formats in functions? | Excel Worksheet Functions | |||
Copy without Hidden Cols - How | Excel Discussion (Misc queries) | |||
Copy and Paste and keep format the same | Excel Discussion (Misc queries) |