INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
本業の方のお仕事が再び忙しくなりつつあるので、断続的にしばらく更新が止まることがあります。

目次 | ←前へ / 2014-07-06 00:40 / 次へ→ / 最新へ⇒

■Excel2007の横列って、いくつまであるんだろう?

2014/ 7/ 6 0:40:40


RSSRSS配信中

https://www.inasoft.org/








Excel2003の縦横のセル数は、縦が65536行、横が256列です。縦列はそのまま数字になっているので読めば分かりますし、横列は「A,B,C,D,…,AA,AB,AC,…IV」で256列になっているのは数えれば分かります。

excel_yoko1.png

それに対して、Excel2007の縦横のセル数は増加しており、縦が1048576(=0x100000)列、横がXFDまで存在しています。
この "XFD" って、数字にするといくつになるんだろう?

excel_yoko2.png

計算で求めるのは、さほど難しくないとは思いますが、ふと寄り道をしてみたいと思います。
Excelの縦列は10進数でカウントされていますが、横列って何進数なんだろう? ってか、○進数で語れるものなのか?

 A,B,C,D,…,AA,AB,AC,…,ZY,ZZ,AAA,AAB,AAC,…,XFC,XFD

と続くわけです。

「○進数」を語る上で重要になるような、単位元とか零元みたいなやつの定義が難しいのかなぁと。
Aから始まってZまでが26個。27個目はAA。

Aの役割が1に相当するものかと考えると、桁が繰り上がったときにAAになるのはおかしくて、一の位に0に相当するものが来ないといけない。
ではAの役割は0かというと、それも違っており、やっぱり桁が繰り上がったときにAAとなるときに矛盾が出る。

桁が繰り上がっていない時の十の位の空白というのが、実は0の役割なのではないか。
ということは、1~26が「スペース+A」~「スペース+Z」なのは良いとして、27番目は「A+スペース」となるのが正しくて、28番目が「AA」となるのが正しいのではないか、と。


まぁ、本当にそうなっていたら使いづらくて仕方ないですけどね。
そんなわけで、Excelの横の数え方を、単純に○進数でとかで語れるものでは無さそうです。

というわけで、各桁の重み付けを変えて求めれば良いでしょうかね。
下1桁目には、A~Z の 26個しか文字がないのに対し、下2桁目と下3桁目は、スペースおよびA~Zの 27個の文字があると考える。
ただし、下2桁目がスペースになってよいのは、下3桁目がスペースの時だけです。だから、そこは分けて計算しないといけない。
だから、何桁あるのかで分けて計算して、最後に足し合わせるのが良いかな。

以上を踏まえると、

1桁だけの時(A~Z)の個数 …… 26個

2桁だけの時(AA~ZZ)の個数 ……
 【算出方1】
  下1桁目がA~Zの26通り、下2桁目がA~Zの26通り、それらの全通りを計算することになりますから、
  262676個

 【算出方2】
  重み付けで計算する際は Aを0と見なし、A~Zの26進数と捉える。Zは25となる。下2桁目の重み付けは261=26、下1桁目の重み付けは260=1なので、
  25×26+25×1=675
  「AA」セルの分を加算して、675+1=676個

3桁だけの時(AAA~XFD)の個数 …… 上の【算出方2】で計算する。
  下3桁目の重み付けは、262=676。
  下2桁目の重み付けは、261=26。
  下1桁目の重み付けは、260=1。
  Aを0と見なした場合、Xは23。Fは5。Dは3。
  23×676+5×26+3×1=15548+130+3=15681
  最後に「AAA」セルの分を加算して、15681+1=15682個
  
ここまでの結果を全て足すと、26+676+15682=16384個
16進数にすると、0x4000 となります。

なんだかキリが良いので、合っていそうですね。


答え合わせです。
実は、「Excelのオプション」の「数式」の中にある「R1C1参照形式を使用する」にチェックを入れれば、簡単に数字が表示されるんですね。

excel_yoko3.png

excel_yoko4.png

というわけで、合っているみたい。

ああ、ややこしい。


目次 | ←前へ / 2014-07-06 00:40 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。




2557832 (+0110)[+0533]

Copyright© 2010-2021 INASOFT