Just found this thread, and it makes for a truly fascinating read.
I went through all of this myself a while back, and ended up with a few alternative solutions some of which have not been discussed here so far.
As I run thirty cells here (100v nominal), commercial analog multiplexer chips were not an option for me.
Multiplexers are a very good solution at lower voltages though.
The trend today seems to be towards higher dc voltage systems.
My approach for switching cell voltages onto a common bus was to use LAA127 opto isolated mos relays.
https://www.alldatasheet.com/datasheet-pdf/pdf/488715/IXYS/LAA127.html
Finding an ADC that has sufficient accuracy and resolution, is not difficult, but I found a much larger problem was the noise level at each cell introduced by a hard working inverter plus HF ripple from various solar controllers.
Its not difficult to bench test a system and measure nice clean cell voltages, but in a real working environment, for me, the voltage measurements danced around all over the place due to noise voltages caused by high cell ripple current.
Software averaging requires too many samples and a settling time far too long to be practical, especially when cycling through a large number of cells in a higher voltage system. There are ways around that, but I came up with a different and more successful approach.
What I use now, is a voltage to frequency converter instead of a conventional analog to digital converter.
A significant advantage for me, is there is only one "bit" to opto isolate in a fully floating voltage measurement front end.
The V/F converter can be fully isolated and directly measure cell voltages via the mos relay multiplexer.
Now the trick here, is that any noise on the cell voltage just causes frequency modulation on the output. No filtering or integration required prior to the V/F converter. The frequency counts are then accumulated over a reasonable period in a counter. The final count will be the AVERAGED frequency over the measurement interval, no matter how crazy the induced noise.
If the measurement period is made an exact multiple of the inverter period (or extremely close) that offers even higher potential noise reduction.
Its also pretty easy to accumulate a very large number of counts over a fairly short measurement interval. In other words a very high resolution reading is theoretically possible.
The accuracy mainly comes down to design of the V/F converter and temperature drift of the timing capacitor.
With a bit of care and some testing pretty good results are possible.
The Ham Radio guys have experience building temperature stable VFOs, the results can be as good as the effort put into it.
For our application, absolute accuracy is much less important than being able to measure very small differences between individual cells, and to do it repeatedly and noise free with rock steady resolution down to one millivolt. The V/F technique is cheap, fast, and the results far better and more stable than I was ever able to achieve either by analog filtering, or software averaging with a conventional A/D converter.
As far as displaying cell voltages, a video histogram far more readily shows up any cell that is way out of whack with the others.
A quick glance at the screen tells you the whole story without having to really think too much about it.
I have one video screen at the battery out in the shed, and another video monitor in my kitchen.
The XVGA video was all generated in hardware, and the pictures are a lot brighter and sharper than the fuzzy pictures below suggest.
And it was a lot easier to generate with much less video bandwidth with the monitor rotated into portrait mode.
My camera is broken at the moment (I dropped it some time ago) and all I have are some pretty crappy and now rather ancient fuzzy pictures I took during original testing of just the video board.
The graphics are pretty crude, but all the information is right there and easy to see what is going on.