Excelのワークシートに他所からコピーしたデータを貼り付けした時、1つのセルに収まって欲しかった値が何故か複数のセルに分割されてしまうことがあります。
では、その現象を再現してみましょう。
下図はセルC2~C6に金額を入力しようとしているところですが、金額は既にメモ帳に保存されているものがあるので、そちらからデータをコピーして貼り付けします。
ところが、貼り付けた値が桁区切りのコンマの位置で分割され、C列とD列に分かれた状態で入ってしまいました。このままではどうにも使いようがありません。
何か特別な事をしたわけでなく普通に貼り付けをしただけなのに何故?ってなりますよね。
では、種明かしをしましょう。この現象は、値を貼り付けする前に、同一ブック内で[データ]タブの「区切り位置」を利用してデータ区切りを行っていたのが原因です。
実はさきほどの例は、金額データを貼り付ける前に以下のような操作をしていました。
まず、違うシートに下図のようなメモ帳に保存していたコンマ区切りのデータを貼り付けしました。
次に、貼り付けたデータを表の体裁に整えるため「区切り位置」を使い、区切り位置指定ウィザード2/3で「コンマ」にチェックを入れて値が個々のセルに分割されるように加工しました。
この一連の作業後に、シートを切り替えて先の金額データを貼り付けしたところ、金額データもコンマの位置で区切られてしまった、というわけです。
「区切り位置」は、コンマやスペースで区切られたデータを手軽に個々のセルに分割することができるとても便利な機能ですが、一度利用すると区切り文字の設定をExcelが記憶します。その状態で別のデータを貼り付けようとした時、値の中にたまたま記憶していた区切り文字が含まれていると、Excelが気を利かせて『ここは区切っちゃっていいんですね』と判断してしまうのです。
この例では「コンマ」を使いましたが、「セミコロン」「スペース」などでデータ区切りを行った場合も同様です。
ただ、一度「区切り位置」を使ったからとて、そのあと行う貼り付け作業すべてに影響が出るわけではありません。
・貼り付けする値が書式を保持していない
・貼り付けする値の中に、区切り位置指定ウィザード2/3で選択されていた記号が含まれる
この2つの条件が揃った時、貼り付けしたタイミングで区切りが自動的に入る(分割される)ようになります。
「貼り付けする値が書式を保持していない」というのは、言葉通り何の書式も施されていないテキストデータである事を指しますが、メモ帳はもともとシンプルなテキストを入力するためのアプリで書式は保存できませんので、メモ帳に入力されているデータはこれに該当します。
一方、ExcelやWordなどに入力されている値をそのままコピー>貼り付けする場合は、書式がそのまま引き継がれますので勝手に区切られてしまうことはありません。
但し、
・貼り付け時に「形式を選択して貼り付け」にある「値」を選択する
・Excelでセル内の値を「編集モード」(セル内に点滅カーソルがある状態)にしてドラッグで選択する
・Excelでセル選択時に数式バーに表示された値をドラッグで選択する
という操作を行ってコピー>貼り付けした場合は、書式なしコピーとみなされメモ帳からコピーした時と同じ結果になります。
区切り文字の設定を記憶するのは「区切り位置」を利用してからそのブックを閉じるまでの間に限られますので、一旦ブックを閉じて再度開き直した時には設定はリセットされています。しかし、まだコピーしたい値があるのにわざわざブックを保存して閉じるのもちょっと効率が悪いと感じることもあると思うのです。その場合は、以下の手順で区切り文字の設定を強制リセットしましょう。
【区切り文字の設定リセット】
- 値が入力されているセルをどれでもいいので1つ選択する
- [データ]タブ→「区切り位置」をクリックして「区切り位置指定ウィザード」を開く
- ウィザードの1/3はそのまま[次へ]をクリックして2/3に進む
- ウィザードの2/3で、「コンマ」「スペース」などデータを区切った時に入れていたチェックを外して[完了]をクリックする
こうしておくと、以降はメモ帳のデータをコピーしても勝手に分割されることはなくなります。
「区切り位置指定ウィザード」はデフォルトで「タブ」にチェックが入っているため、タブ区切りのデータは「区切り位置」を1度も使っていなくてもタブ位置で分割されるようになっています。「タブ」のチェックを外してからタブ区切りのデータを貼り付けると、タブは完全に無視されて同じ行にある値がすべてくっついた状態で1つのセル内に貼り付きます。