Rewrite this as a NON Lambda formula? or just simplify, to solve file crashing 8192 error.
Note for speed readers: all these formulas work. This is about simplification.
This Lambda APPEARS to be causing an 8192 error and/or crashing my file, so I write to ask for suggestions how to rewrite it is in non Lambda form, unless anyone can see a reason why this Lambda can be causing this problem.
Edit:and another sub LAMBDA within is: LAMBDA(CQS,LOOKSEE,IFNA(MATCH(CQS,LOOKSEE,0),0))
Apparently this file does run ok on some PC versions (at least one) of Excel. To reproduce the crash, first sort on Data sheet column O and then column A. If that does work then it just crashes shortly after or crashes on save.
This question is a focussed Lambda/formula question after several questions about these crash/8192 errors.
Here is the file, this formula is in DATA sheet Column headed Allocator, col AI .
=IF( [@LEDGER]=0,"", IF CONDITION IFERROR( INDEX(RAs[CrossRefs],MATCH([@NL],RAs[LOOKUPQ],0),0), IF YES TEXTJOIN(",",1,[@Payee],[@NL],[@INVNO],TEXT([@LEDGER],"00000000.00;-0000000.00")). IF NO ) END IFERROR ) END IF
Gotta say, I am noticing how using LAMBDAs and LETS can create a great deal of complexity that sometimes is not necessary.
So a considered choice will be wise, indeed they may work better for prototyping logic before final application, because they allow compartmentalising sections of that logic.
=IF( [@LEDGER]=0,"", IF CONDITION IFERROR( INDEX(RAs[CrossRefs],MATCH([@NL],RAs[LOOKUPQ],0),0), IF YES TEXTJOIN(",",1,[@Payee],[@NL],[@INVNO],TEXT([@LEDGER],"00000000.00;-0000000.00")). IF NO ) END IFERROR ) END IF
That just my attempt at indenting... in case saqib happens along ..
Microsoft Excel topics include formulas, formatting, VBA macros and user-defined functions, and everything else related to the spreadsheet user interface, including error messages.
ASKER
Open in new window
=IF([@LEDGER]=0,"", IF CONDITION
IFERROR(
INDEX(RAs[CrossRefs],MATCH([@NL],RAs[LOOKUPQ],0),0), IF YES
TEXTJOIN(",",1,[@Payee],[@NL],[@INVNO],TEXT([@LEDGER],"00000000.00;-0000000.00")). IF NO
) END IFERROR
) END IF