What is the significance of the number of columns (16384) in MS Excel 2016?

16,384 is 2^14.

At the same time as columns were expanded to 16,384, rows were expanded to over a million, i.e. 1,048,576.

These numbers relate to two to the power of 14 (2^14) and two to the power of 20 (2^20), respectively, so are natural (logical) progressions on the scale of computer memory units that were initially structured in bytes.

As computer memory increased, it was possible to load and evaluate bigger numbers of rows and columns in memory for calculations, so the Excel grid could grow from the limitations of earlier versions.

These maximum numbers for rows and columns have been selected by the people who design how Excel works, of course, and have become possible with growing computer memory. They could have chosen different numbers, but the number of rows and columns in Excel since version 2007 is rooted in the power of 2.


The significance of 16,384 is that you can have internal column index values from 0 to 16383. Let's look at what 16383 is in binary:

0011 1111 1111 1111

It's 2 bits short of a 16-bit word. 1 bit is likely to be an absolute/relative flag, which leaves 1 bit for some other purpose, and the whole thing packs neatly in a single word.

The row numbers are similar: a maximum index value of 1,048,575 is this:

0000 0000 0000 1111 1111 1111 1111 1111

To me, as a programmer, that looks like a 32-bit word is being used, with the bottom 20 bits as the row index, and the top 12 bits used for something else.