Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have a worksheet that uses 3 index and match array formulas
referencing two different worksheets (JNP) and (Shipped) in the same workbook to update its information. These referencing worksheets (JNP) and (Shipped) have 7 columns and could have up to 3000 rows of information. My problem is whenever information is changed in (JNP) and (Shipped) its takes a long time for excel to update the information my main worksheet, is there anything that can be done to speed up the calculation. I've seen it take up to 5 minutes to finish calculation during which time excel is basically unusable. Here are my formulas. Which can go down at most 150 rows. For Now..... =IF(ISNA(MATCH(1,(TRIM('JNP'!$A$1:$A$2988)=TRIM(F8 ))*(TRIM('JNP'!$D$1:$D$2988)=TRIM(K8)),0))," ",INDEX('Jets Jobs in Process'!$C$1:$C$2988,MATCH(1,(TRIM('JNP'!$A$1:$A$ 2988)=TRIM(F8))*(TRIM('JNP'!$D$1:$D$2988)=TRIM(K8) ),0))) =IF(ISNA(MATCH(1,(TRIM(Shipped!$B$1:$B$3000)=TRIM( F8))*(TRIM(Shipped!$D$1:$D$3000)=TRIM(K8)),0)),"No t Shipped",INDEX(Shipped!$C$1:$C$3000,MATCH(1,(TRIM( Shipped!$B$1:$B$3000)=TRIM(F8))*(TRIM(Shipped!$D$1 :$D$3000)=TRIM(K8)),0))) =IF(ISNA(MATCH(1,(TRIM(Shipped!$B$1:$B$3000)=TRIM( F8))*(TRIM(Shipped!$D$1:$D$3000)=TRIM(K8)),0)),"No t Shipped",INDEX(Shipped!$D$1:$D$3000,MATCH(1,(TRIM( Shipped!$B$1:$B$3000)=TRIM(F8))*(TRIM(Shipped!$D$1 :$D$3000)=TRIM(K8)),0))) Thanks Little Penny |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You are repeating work in the TRIM statements. Possibly doing the trim on
all 3000 rows for each row you are trying to match. You are also repeating work in the Match. You must calculate intermediate results once and save them to intermediate ranges. Suggestion: Bring over TRIM('JNP'!$A$1:$A$3000) once into another range "TrimmedA" in the matching worksheet. Likewise for TrimmedD Save the result {TrimmedA=Trim(Fx:Fy)}into TrimA01. Save the result of TrimA01*TrimmedD into TrimRow. Finally save the Match into a range: MATCH(1,(TRimRow=TRIM(K8)),0) -- range MatchRow Now your formula becomes: =IF(ISNA(Matchrow)," ",INDEX('Jets Jobs in Process'!$C$1:$C$2988,Matchrow,1) -Stephen Rasey Houston "Little Penny" wrote in message ... I have a worksheet that uses 3 index and match array formulas referencing two different worksheets (JNP) and (Shipped) in the same workbook to update its information. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Array formula with index + match | Excel Worksheet Functions | |||
Index and Match Array formula | Excel Worksheet Functions | |||
Looking for formula index/match-type that returns an array | Excel Worksheet Functions | |||
How to add in an array formula if iisna index match | Excel Worksheet Functions | |||
Array Formula Index Match formulas in VBA problem | Excel Programming |