Degraded Performance Conditional Formatting

I’m working on a project where up to 20 concurrent users enter data into a shared table, either line-by-line or via copy-paste. This data is then submitted to another document through webhooks and automations. Each user only sees and submits their own records, filtered by User().

To indicate data validity, I’m using an “inverted” conditional formatting model: cells are red until the data is correct. This works well for guiding users in real-time, but as the number of records grows (50+ or sometimes hundreds), performance suffers—particularly when clearing red formatting as data becomes valid.

I’ve tried trimming the table by archiving or deleting submitted records, but some users may leave records unsubmitted while gathering more information, which tends to keep things sluggish.

Any advice on improving the performance and elegance of this process would be greatly appreciated.

Hi @Thaddeus_Robertson, sounds like an interesting setup you have there.

First step is to analyse what’s causing the issue. There’s good docs here on how to do that: Optimize calculation performance | Coda Help Center

Hi,
There is a YouTube video from TheCodaGuy discussing conditional formatting and best practices.

I saw that you have 12 rules for conditional formatting. Instead of having those formulas there, what if you created checkbox columns in the table for each formula and then a master/summary checkbox column that checks if those individual columns are all true? Then, in the conditional format menu, you would have 1 rule tied to the master checkbox result.

Thanks for the tip :slight_smile: I’ll make a 500 row test table and try that out.

Cheers

Thad

I’ found that video when researching solutions but unfortunately there seemed to be nothing in there which applies here.

I have a single checkbox called ‘Valid’ which the column button b_addRecord checks to become enabled. If I extend what you are suggesting:

  1. Create one checkbox field for each of the fields I wish to validate
  2. Consolidate the date checking formulas to so seven formulas become three
  3. Create a master checkbox for b_addRecord that is true only of all the others are true
  4. Reduce the conditional formatting formulas to eight only test the checkboxes created in step 1

This should considerably reduce the formula load. Thanks so much for the inspiration. I’ll try a 500 record test and compare then post my results.

Cheers

Thad