Wednesday, 30 August 2017

Excelのセル内改行コードについての、ちょっとした疑問

Windowsにおいて、
Microsoft Excelのセル内改行コードは、LF(0x0A)
Windows OS標準の改行コードは、CR+LF(0x0D0A)
なぜ、違うのか?
それは、Excelは当初Mac用(Macの改行コードはLF)のアプリケーションとして開発された為。

との文言を散見する。

実のところどうなのだろう?

Excelの発売年は1985年。Macintosh版として。OSはSystem 2.0。

Macの改行コードは、
  • OS9までは、CR(0x0D)
  • OSXは、LF(0x0A)
なのだが、

実は、Mac版Excelのセル内改行コードは、OSXでもCR(0x0D)なのである。



実際、CHAR関数でセル内改行を表記するコードは、ASCIIコードの10進法での表記で表すが、
  • Windowsでは、CHAR(10)←LFを表す
  • Macでは、CHAR(13)←CRを表す
である。

故に、「Excelは当初Mac用(Macの改行コードはLF)のアプリケーションとして開発された為」と言うのは当たっていないのではないか

因みに、Macにおいて、セル内改行を含むセルをコピーして、InDesignにて作成した表にペーストすると、Macのセル内改行がCRであるので、この前後で2つに別れて2つのセルに入ってしまい、結果行がズレて事故のモトになる。
これ故に、セル内改行が大キライなのである。(Windows版InDesignについては、残念ながら存じ上げません。あしからず。)

No comments:

Post a Comment