「セル内の改行を削除して、スペース区切りのデータに一括修正するには?」――そんな質問をよく耳にする。エクセルに詳しい人なら、「置換機能を使って『改行』を『スペース』に置換する」というテクニックを知っているかもしれない。実は、「検索と置換」の入力欄では、「Ctrl」キーを押しながら「J」キーを押すことで、検索や置換の対象として「改行」を指定できる。入力欄には何も表示されないが、これで「改行」を意味する“何か”が指定されるのだ。


 このテクニックは、日経PC21でも何度か紹介している。しかしながら、エクセルのヘルプに、「Ctrl」+「J」に関する記述はない。それに、「Ctrl」+「J」を押したとき、入力欄に何も表示されないのは不親切だ。そもそも、検索や置換に「改行」が指定できるのなら、セル内で改行するときと同じ「Alt」+「Enter」で指定できるようにするのが本筋だろう。

 とすれば、この「Ctrl」+「J」というキー操作は、エクセルの“公式”な機能ではないのかもしれない。ではなぜ、「Ctrl」+「J」が「改行」の指定に使えるのか。

キー操作で文書を操作する「制御コード」という仕組み

 コンピューターが開発された当初、キーボードから入力した文字を画面に表示するために、いくつかの基本的なルールが定められた。例えば、10進数の「65」に相当するコードがあったら、画面に「A」という文字を表示する、といった決まりごとだ。いわゆる「文字コード」[注1]の仕組みで、これには、画面などを制御するための特別なコードも含まれていた。「09」というコードがあったら決まった文字数だけカーソルを移動する(タブ)、10」というコードがあったらカーソルを次行に移動する(改行)、という具合だ。画面を制御するための特別なコードは「制御コード」と呼ばれる。制御コードは、データとしては通常の文字と同様に扱われる。だが画面に表示されることはなく、所定の操作を行う。

[注1]文字コード
「ASCII」(American Standard Code for Information Interchange )というコード体系が、英数字の標準の文字コードとして用いられている

 昔のコンピューターでは、こうした制御コードを入力するとき、「Ctrl」キーを押しながら特定のキーを押すことになっていた[注2]。例えば「Ctrl」+「H」でバックスペース、「Ctrl」+「I」でタブに相当する制御コードが入力された。

[注2]「Ctrl」キー
「Ctrl」はそもそも「Control」の略。画面などを「制御(コントロール)する」というのが、キーの名前の由来だ

 そして、「改行」に相当する制御コードの入力に割り当てられたのが、「Ctrl」+「J」というキーだった。なぜ「J」かと言えば、「改行」を表す制御コードが、10進数の「10」に相当するコードだったため。アルファベットの「A」から順番に数えてみよう。ちょうど10番目の文字が、ほかでもない「J」なのである。


[「Ctrl」+「J」だけが有効に:次のページへ]