スプレッドシート

スプレッドシートのCHAR関数で改行やダブルクォーテーション

スプレッドシートのCHAR関数

スプレッドシートのCHAR関数とは

スプレッドシートのCHAR関数は、指定した数値をUnicode表に該当する文字へ変換する関数です。よく使われるものでは、CHAR(10)が改行、CHAR(34)がダブルクォーテーション(“)です。

CHAR関数の構文

=CHAR(番号)
  • 番号:Unicode表に当てはまる文字や記号を指定するための数値
シャワーズ

「番号」に該当するものは、Wikipediaの「Unicode一覧」より調べられます。また、ASCIIで使われるような汎用的な記号や文字は「基本ラテン文字 (Unicodeのブロック)」に記載があるので、必要であれば参考にしてください。

CHAR関数の使い方

CHAR(10)は改行

CHAR(10)は改行を表します。「&」で文章をつなげる場合やCONCAT関数を使う場合に利用すると、単一セル内で改行を表せて便利です。

たとえば、下図のうちA1とA2セルを改行を含んで結合したいとします。

ここで単に「=A1&A2」としてしまうと1行での結合になります。

そこでCHAR(10)を使って「=A1&CHAR(10)&A2」とすると、下図のとおり改行がなされます。

CHAR(34)はダブルクォーテーション(“)

CHAR(34)はダブルクォーテーション(“)を表します。セル内に文字列を表すためのダブルクォーテーションを使っていると、単に強調としてのダブルクォーテーションが文字列をくくるためのダブルクォーテーションと勘違いされます。

たとえば下図のように、セリフをダブルクォーテーションで囲いたい場合です。

このとき単にダブルクォーテーションで囲ってしまうと、エラーとなってしまいます。

そこで単に強調として使いたいダブルクォーテーションはCHAR(34)に置き換えて「&」でつなぐことで、エラーにならず表現できます。

シャワーズ

ちなみにCHAR(34)を使う以外にも「”””」のようにダブルクォーテーションを3連続させることで、文字列としてのダブルクォーテーション内に強調としてのダブルクォーテーションを含ませられます!

CHAR関数のエラー・注意点

16進法はHEX2DEC関数で10進法に変換して使う

CHAR関数のかっこ内は10進数(0-9までの数値)のみに対応しています。そのため、A〜Fを含むような16進数の形になっている場合は、HEX2DEC関数で一度10進数に変換した後CHAR関数へ入れましょう。

たとえば下図では16進数の「1F354」を入れて、エラー「関数 CHAR のパラメータ 1 の値は 数値 にしてください。テキスト が「1F354」になっているので、数値 にできません。」と表示されています。

そこでCHAR関数をHEX2DEC関数を使った後に適応するよう調整すると、意図しているとおりに表示されます。