すべてのカテゴリ » インターネット・パソコン » ソフトウェア » 使い方・不具合

質問

終了

エクセルで列A~列Sまで、それぞれ一文があり、一文を列Aに改行して全て集める(一文、改行、一文、改行)ショートカットキーはないでしょうか?2003年のエクセルです。

  • 質問者:重雄
  • 質問日時:2009-04-09 21:30:43
  • 0

並び替え:

質問に対しては、すでに答えられている方の回答ぐらいと思います。
しかし、なぜ、そのようなことがしたいのかがわからないので、
それがわかると別の回答もあるように思うのですが。

  • 回答者:コメント (質問から3日後)
  • 0
この回答の満足度
  

計算式を組むか、マクロを組むしかないと思います。

  • 回答者:cappy (質問から2日後)
  • 0
この回答の満足度
  

改行と言う意味が、一つのセルに列A~列Sまでの全ての一文をくっつけてそれぞれに改行をすると言う意味ならば、マクロでチマチマと作りこむしかないと思います。ショートカットキーを使わないのならばA2セルにその文字を表示したいので有ればA2セルに以下の数式を入力します。
数式開始『
=A1&"ALT+ENTER
"&B1&"ALT+ENTER
"&C1&"ALT+ENTER
"&D1&"ALT+ENTER
"&E1&"ALT+ENTER
"&F1&"ALT+ENTER
"&G1&"ALT+ENTER
"&H1&"ALT+ENTER
"&I1&"ALT+ENTER
"&J1&"ALT+ENTER
"&K1&"ALT+ENTER
"&L1&"ALT+ENTER
"&M1&"ALT+ENTER
"&N1&"ALT+ENTER
"&O1&"ALT+ENTER
"&P1&"ALT+ENTER
"&Q1&"ALT+ENTER
"&R1&"ALT+ENTER
"&S1
』数式終了
ALT+ENTERはこの文字を入れるのではなくキーからALTキーとENTERキーを同時に押して実際にセル内で改行を入れてください。こうすると文字データとしてA1~S1を改行を挟み込みつつA2セルに表示させる事が出来ます。『&』記号は文字列の結合関数として機能します。Concatenateと言う関数も有りますが使い勝手は&の方が良いです。

もし、ALT+ENTERの表示が見辛いと言う事でしたら、何処かのダミーセルにALT+ENTERを入力しておいて、そのセルを繋げばOKです。例えばzz1セルに『="ALT+ENTER"』を入れておき、A2セルには『=A1&zz1&B1&zz1&C1&zz1& …以下省略』と入れれば若干読み易くなると思います。

そうではなく、もしA1~S1までの内容をA2~A20に縦と横を変換して張り付けると言う事ならば別の方法が二つほどあります。

ショートカットキーを利用するのが目的でしたら、じんおかさんの方法が最も適切なように思います。コピーした後『形式を指定して貼り付け』を使い行列を入れ替えるにチェックを入れてOKを押します。これで貼り付けると横方向(列方向)に書き込まれた1文を、それぞれ縦方向(行方向)に変換して貼り付けられます。これを『マクロの記録』でマクロに操作内容を登録してから『マクロ終了』で登録確定し、出来上がったマクロにショートカットキーを割り当てればショートカットキーでの操作が可能になります。

もう一つはショートカットキーを使わずリアルタイムに反映したい場合は、配列数式とTranspose関数を合わせて利用します。使用例としては…A1~S1に対象の1文が入っているとします。それをA2~A20に縦横変換して表示するので有れば、A2~A20セルを複数範囲選択し『=transpose(』と入力します。その後、カーソルを移動すると関数の引数に範囲を指定できるようになるのでA1~S1を選択します。

その状態でA2セルを見ると『=transpose(A1:S1』となっていると思います。閉じカッコは付けなくてもExcelが勝手に付けてくれるので余り気にしなくて良いです。この状態でShiftキーとCTRLキーを同時に押しながら『Enter』を押しますと、A2~A20にA1~S1の内容の縦と横(行と列)を変換した結果が入ります。これは関数なのでショートカットキーを使わずとも、A1~S1に入力した文字がリアルタイムにA2~A20に反映されます。

この回答の満足度
  

変換元データが一行だけであれば、
形式を選択して貼り付け→行列を入れ替える
が簡単だと思いますが、(行が19行になりますが。)標準で一発で実行するショートカットはありませんので、マクロの自動記録機能を使用して自分の好きなショートカットキーを割り当てるのがいいでしょう。
もし、変換元データが複数行ならば、先ほどの機能は使えないので、VBで作ったマクロにショートカットキーを割り当てるしかないと思います。ただ、ひとつのセル内で19行も改行する意味を見いだせませんが。

この回答の満足度
  

関連する質問・相談

Sooda!からのお知らせ

一覧を見る