Maximum formula length


#1

Not really a bug, I guess…

In an earlier post, I said something like

I can’t imagine the formula you cite could come anywhere close to maxing out Airtable’s maximum formula length or even a maximum line length (if such a thing exists);

I’m guessing the maximum formula size (counting EOLs) must be 32,768 characters, or thereabouts. Yes, I exceeded it, by +/- 11,400 characters. I think there are workarounds, and I’m certainly not going to squawk about Airtable “only” supporting formulas 2^15 in length — but in case you run into a similar problem, now you know…


Editor for complicated formulas
#2

Actually, the limit doesn’t appear to be fixed at 32,768 characters — I have a formula nearly 34,000 characters long that works fine — but, instead, fixed at 353… somethings. I’d say “353 lines,” except for EOLs generally being meaningless to Airtable’s formula builder, and that a failing formula with EOLs eliminated still fails. In this case, those 353 lines translate into an IF() statement with 353 implied ELSEs:

IF(This001,That001,
IF(This002,That002,
...
IF(This353,That353,

Delete the final comma, tack on 353 closing parens, and that works; add a 354th, and it fails.

Still poking…


#3

Any fix to this problem yet? I have maxed out my formula, too.


#4

Are you certain? It does seem to take 354 branches to break Airtable. With one exception, every supposed too-long formula I’ve seen has actually indicated some other sort of problem.

I’ll be the first to say that if you are maxing out the length, you are most likely doing something wrong; I’ll also say the >353-branch formula I generated addressed an issue that could not be managed in any other way. However, I also found I could split the formula into two formula fields, and use a third field to combine the two partials. You may want to look for a similar work-around…


#5

I am using my formula to convert numbers to words. I don’t think that I could have a formula to combine the partials.


#6

Same use-case as mine, actually. I’ve looked back through your previous posts, but I can’t suss out your application. I’d be happy to see if anything occurs to me as far as a possible workaround.