• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 226
  • Last Modified:

ISNA(Index

Experts,
I have run across a spreadsheet that uses the Isna(Index function. I'm not familiar with this function and was wondering if a vlookup could be used in place of? Here's an example:

=IF(ISNA(INDEX('C:\Users\ffreese\AppData\Local\Microsoft\Windows\Temporary Internet Files\OLK1FC4\[Summary.xls]MS AUG'!$A$1:$G$1000,MATCH($A5,'C:\Users\ffreese\AppData\Local\Microsoft\Windows\Temporary Internet Files\OLK1FC4\[Summary.xls]MS AUG'!$A$1:$A$1000,),MATCH($A$1,'C:\Users\ffreese\AppData\Local\Microsoft\Windows\Temporary Internet Files\OLK1FC4\[Summary.xls]MS AUG'!$A$1:$G$1,))),0,INDEX('C:\Users\ffreese\AppData\Local\Microsoft\Windows\Temporary Internet Files\OLK1FC4\[Summary.xls]MS AUG'!$A$1:$G$1000,MATCH($A5,'C:\Users\ffreese\AppData\Local\Microsoft\Windows\Temporary Internet Files\OLK1FC4\[Summary.xls]MS AUG'!$A$1:$A$1000,),MATCH($A$1,'C:\Users\ffreese\AppData\Local\Microsoft\Windows\Temporary Internet Files\OLK1FC4\[Summary.xls]MS AUG'!$A$1:$G$1,))*-1)+'#21TL'!L5

This just looks like too much work
0
Frank Freese
Asked:
Frank Freese
1 Solution
 
Rob HensonIT & Database AssistantCommented:
The majority of the text in that formula is the file path for a linked file.

The other reason for the lengthy text is becuase of the lack of a better error evaluation formula in xl2003.

The formula is saying IF the results of the formula give an NA error then zero else do the formula.

xl2007 has got round this with the IFERROR function, you only need to specify the formula once and the value if an error.

I have just had a similar question answered that was in fact the other way round. I had literally tens of thousands of vlookup formulae in a workbook creating a cost model for an 18 month weekly forecast. The filesize is 16Mb and it was taking at least 1 minute to recalculate.

I have now changed the lookups for INDEX using MATCH to identify the row and the calculation time isn't even noticeable.

INDEX does basically the same as a lookup:

=INDEX(Array,Row,Column)

Array - block of data same as would use for lookup
Row - the row within the array that the data to be found is on
Column - Offset like lookup

I have replaced the Row with a MATCH formula to identify the row number from the column which would normally have been used for a lookup and then column is variable.

HTH
Rob H
0
 
Frank FreeseAuthor Commented:
thanks
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now