結論
Excelの列は、0の概念が存在しない26進数である。
導入
Excelの列は以下のような法則で繰り返される。
A B C ... X Y Z AA AB AC ...
当然ながら26進数的に繰り返される。
これらのアルファベットを数字で表現したらどうなるだろうか?
アルファベットには本来A~Zの26文字が存在するが、
簡単のため仮に「アルファベットはA~Jの10文字だけだ」と仮定し、
アルファベットと数字を対応させてみる。
1. A=0 , J=9の場合
A B C D E F G H I J
0 1 2 3 4 5 6 7 8 9
この対応表を元に考えてみると、以下のようになる。
A B C D E F G H I J AA AB AC AD AE AF AG AH AI AJ BA ...
0 1 2 3 4 5 6 7 8 9 00 01 02 03 04 05 06 07 08 09 10 ...
問題点
- 9の次が00になってしまう。
列の並びとしては9 < 00だが、数値的には9 > 00である。 - 0と00は同じ数値だ。
0 = 00なのでA = AAになり、同じ数値が2回以上出現してしまう。
2. A=1 , J=0の場合
A B C D E F G H I J
1 2 3 4 5 6 7 8 9 0
この対応表を元に考えてみると、以下のようになる。
A B C D E F G H I J AA AB AC AD AE AF AG AH AI AJ BA ...
1 2 3 4 5 6 7 8 9 0 11 12 13 14 15 16 17 18 19 10 21 ...
問題点
- 9の次が0になってしまう。
列の並びとしては9 < 0 < 11だが、数値的には9 > 0 , 0 < 11である。
3. A=1、J=$の場合
A B C D E F G H I J
1 2 3 4 5 6 7 8 9 $
※架空の数字 $ をおく(ただし、9 < $)
この対応表を元に考えてみると、以下のようになる。
A B C D E F G H I J AA AB AC AD AE AF AG AH AI AJ BA ...
1 2 3 4 5 6 7 8 9 $ 11 12 13 14 15 16 17 18 19 1$ 21 ...
- 9 < \$ < 11であり、不都合はない。
結論
Excelの列は、0の概念が存在しない26進数である。