スプレッドシートのセルに書式を崩さず貼り付ける方法

書式を崩さずにスプレッドシートへ貼り付けるには、通常の貼り付けではなく「値のみ」を貼り付けます。Googleスプレッドシートなら Command+Shift+V、Excelなら「形式を選択して貼り付け」→「値」、Numbersなら「ペーストしてスタイルを合わせる」です。先頭ゼロの消失や日付への自動変換は、貼り付ける前に貼り付け先のセルを「文字列」に設定して防ぎます。

クイックアンサー

  • フォントや色、罫線までついてくる:値のみ貼り付けを使う。
  • 00123が123になる:先に貼り付け先を文字列に設定する。
  • 3/4が日付になる:先に文字列(書式なしテキスト)に設定する。
  • すべてが1つのセルに入る:コピー元がタブ区切りではない。「区切り位置」や「テキストを列に分割」を使う。
  • 見た目は問題ないのに合計されない:数値が文字列として保存されている。数値に変換するか、標準形式のセルに貼り直す。

貼り付けで崩れるスプレッドシートの問題は、ほとんどが2種類のどちらかです。しかも片方の対処法が、もう片方を悪化させることもあります。ひとつは書式が一緒に入ってくるケース(フォント、塗りつぶし、Webページの表のスタイルなど)。もうひとつは、スプレッドシートがデータを勝手に解釈してしまうケース(日付への変換、先頭ゼロの削除、指数表記など)です。前者は「何を貼り付けるか」で解決でき、後者は「貼り付ける前に貼り付け先をどう設定しておくか」で解決します。この記事では2つを切り分けて、症状に合った対処法を選べるようにします。

あなたの症状はどちら?

見えている症状本当の原因対処法
貼り付けたセルのフォント、背景色、罫線が変わるクリップボードにコピー元のリッチな書式(RTF/HTML)が含まれていた値のみ、またはプレーンテキストで貼り付ける
先頭のゼロが消える(郵便番号、ID など)貼り付け先が「標準」のため、数値として読み取られる貼り付ける前に文字列に設定する
3/4 や 1-2 が日付になる日付らしい文字列の自動判定貼り付ける前に文字列に設定する
長い数字が 1.23E+15 と表示される、または下の桁が失われるExcelは数値を有効桁数約15桁までしか保持しない貼り付ける前に文字列に設定する
すべてが1つのセルに入るコピー元がタブ区切りではない、またはセルの編集モードのまま貼り付けた編集モードを抜けてから、区切り位置で分割する
1つのセルの中に改行つきで複数行が入るコピー元のセルが引用符内に改行を含んでいたコピー元を確認し、貼り付け後に検索と置換で改行を処理する
数字が左揃えになり、合計できない文字列として保存されている数値に変換する、または標準形式のセルに貼り直す
貼り付けで条件付き書式やデータの入力規則が消えた通常の貼り付けはセルの書式と入力規則を置き換える値のみ貼り付けを使う

アプリ別:値のみ貼り付けの方法は?

Googleスプレッドシート

コピーして貼り付け先を選び、Command+Shift+Vを押します。これで値だけが貼り付けられます。右クリックメニューの「特殊貼り付け」にも同じ項目があり、「書式のみ貼り付け」や「数式のみ貼り付け」も選べます。逆に、内容は入れずに書式だけを適用したい場合も、特殊貼り付けから行えます。

Microsoft Excel for Mac

「編集」→「形式を選択して貼り付け」(または「ホーム」タブの貼り付けドロップダウン)から「値」を選びます。ダイアログには「値と数値の書式」や「すべて(元のテーマを使用)」もあり、コピー元のスタイルは持ち込まずに数値の表示形式だけ引き継ぎたいときに役立ちます。通常の貼り付けのあとに表示される小さなクリップボードのアイコンからは、「貼り付け先の書式に合わせる」や「テキストのみ保持」を選べます。どちらもコピーし直さずに、取り込んでしまったスタイルを元に戻せます。「形式を選択して貼り付け」のキーボードショートカットはバージョンやキーボード配列で異なるため、チートシートを信じるより、「編集」メニューで目的の項目のショートカットを確認してください。

Apple Numbers

Numbersには「編集」→「ペーストしてスタイルを合わせる」があり、コピー元のスタイルを捨てて貼り付け先のスタイルに揃えます。数式セルをコピーする場合は、「数式の結果をペースト」を使うと、数式ではなく計算結果の値が貼り付けられます。どちらも「編集」メニューにあるので、最新のショートカットはそこで確認できます。

スプレッドシートの「お節介な自動修正」を止めるには?

スプレッドシート自体が内容を書き換えてしまう場合、値のみの貼り付けでは解決しません。この書き換えは貼り付けの瞬間に、貼り付け先セルの表示形式に基づいて行われます。つまり手順がすべてです。先に書式を設定し、あとから貼り付ける。貼り付けたあとに書式を変えても手遅れで、変換はすでに終わっています(00123の先頭の0は消えており、セルを文字列に変えても戻りません)。

先頭ゼロやID形式の文字列を保持する

  1. 貼り付け先の列または範囲を選択する。
  2. 書式を設定する。Googleスプレッドシートでは「表示形式」→「数字」→「書式なしテキスト」、Excelでは「ホーム」タブの表示形式ドロップダウンで「文字列」を選ぶ。
  3. 貼り付ける。値が入力したとおりに入る。

この方法は、16桁の注文番号のような長い数字のIDも守ります。文字列にはExcelが数値に課す約15桁の精度制限が適用されないためです。遺伝子名のような識別子や、3/4や1-2のように日付に見えるものも保護できます。

誰も触れないトレードオフ

文字列として設定したセルは、そのままでは合計も平均も取れず、並べ替えでは「100」が「9」より前に来ます。文字列形式は識別子(検索に使うだけで計算しないもの)に使いましょう。数量のデータは「標準」または「数値」のままにして、データのクリーニングは元データ側で行うのがおすすめです。

文字列として貼り付けられた数値を直す

列が左揃えでSUMが0を返すなら、その値は文字列です。Excelでは、該当セルを選択して警告アイコンの「数値に変換する」を使うか、「形式を選択して貼り付け」の「乗算」で範囲に1を掛けます。Googleスプレッドシートでは、作業用の列に=VALUE(A2)のような数式を入れ、その値を元の列に貼り付けます。

貼り付けたらすべてが1つのセルに入ってしまうのはなぜ?

スプレッドシートは、貼り付けたテキストをタブで列に、改行で行に分割します。Webページの表や別のスプレッドシートからコピーしたテキストにはタブが含まれるため、正しく展開されます。一方、ドキュメントやチャット、ターミナルからコピーしたテキストは、タブではなくスペースやカンマで区切られていることが多く、すべてが1つのセルに入ってしまいます。

よくある原因は2つあります。

  • セルが編集モードのまま貼り付けた。セルをダブルクリックした場合(またはF2を押した場合)、クリップボードの内容がすべてそのセルにテキストとして入ります。Escを押し、セルを選択し直して貼り付けてください。
  • コピー元が別の区切り文字を使っている。いったん1列に貼り付けてから分割します。Excelでは「データ」→「区切り位置」で「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選び、カンマ、セミコロン、スペースのいずれかを指定します。Googleスプレッドシートでは「データ」→「テキストを列に分割」です。データにIDが含まれる場合は、分割先のセルをあらかじめ文字列に設定しておかないと、先ほどと同じ変換の問題が再発します。

クリップボードマネージャはどう役に立つ?

ごちゃごちゃしたコピー元を扱う最もきれいな方法は、そもそもリッチな内容を貼り付けないことです。クリップボードマネージャがあると、貼り付けに失敗しても元の場所へ戻ってコピーし直す必要がなくなり、履歴にある同じ項目を別の方法で貼り直せます。

Maccyは、macOS向けの無料、オープンソース、ローカルファーストのクリップボードマネージャで、このワークフローに具体的な形で役立ちます。

  • 書式なしで貼り付け。Maccyには設定で書式なし貼り付けのオプションがあり、そのためのキーボード修飾キーはアプリのドキュメントに記載されています。
  • 失敗した貼り付けをやり直す。貼り付けで書式が崩れたら、取り消してホットキーでMaccyを開き、同じ項目をプレーンテキストで貼り直します。コピー元に戻る必要はありません。
  • きれいなコピーを履歴に残す。Maccyは履歴を保存するので、IDの列を1回コピーしておけば、複数のシートに貼り付けられます。そのつど、あらかじめ文字列に設定したセルへ貼り付けましょう。
  • 機密データを履歴に入れない。スプレッドシートでは口座番号や顧客データを扱うことがよくあります。Maccyでは特定のアプリやクリップボードの種類を無視する設定ができ、パスワードマネージャからのコピーが履歴に入らないようにできます。

正直に言うと、限界もあります。クリップボードマネージャは、貼り付け先セルの書式まで直してくれるわけではありません。先頭ゼロや日付変換を決めるのはあくまでスプレッドシート側なので、どの方法で貼り付けても「先に書式、あとから貼り付け」のルールは変わりません。

確実に決まる30秒ルーティン

  1. 何をコピーしているか確認する。コピー元がリッチ(Web、Word、別のシート)なら値のみ貼り付け。プレーンなら通常の貼り付けで問題ありません。
  2. 中身を確認する。ID、郵便番号、長い数字、日付に見える文字列はありませんか?あれば、貼り付け先の範囲を先に文字列に設定します。
  3. 貼り付け先の左上のセルを選ぶ(セルの編集ボックスではなく)。貼り付けは、そこから右と下に広がります。上書きされても問題ない空きがあるか確認しましょう。
  4. 値のみ貼り付ける。
  5. 最初の行と最後の行を確認する。エラーは端に集まりがちです。たとえば400行目に紛れ込んだ日付などです。

よくある質問

セルの書式を変えずにExcelへ貼り付けるにはどうすればいいですか?

「形式を選択して貼り付け」で「値」を選びます(または、貼り付けオプションのアイコンから「テキストのみ保持」)。内容だけが入力され、貼り付け先セルのフォント、塗りつぶし、表示形式はそのまま残ります。

MacのGoogleスプレッドシートで値のみ貼り付けするショートカットは?

Command+Shift+Vです。コピー元の書式を除いて、値だけが貼り付けられます。

貼り付けるとExcelで先頭の0が消えるのはなぜですか?

表示形式が「標準」のセルでは、00123が数値として扱われ、123として保存されるためです。貼り付ける前に貼り付け先のセルを「文字列」に設定すると、先頭の0を保てます。

貼り付けた文字列が日付に変わってしまうのはなぜですか?

スプレッドシートが「3/4」や「1-2」のような日付らしい値を自動判定して変換するためです。貼り付ける前に範囲を「書式なしテキスト」(Googleスプレッドシート)または「文字列」(Excel)に設定すれば、変換を防げます。

クリップボードマネージャでスプレッドシートにプレーンテキストを貼り付けられますか?

はい。Maccy appは書式なしでの貼り付けに対応しており、履歴も保持するため、貼り付けに失敗した後でも同じ項目をプレーンテキストで貼り直せます。

まとめ

書式の問題は何を貼り付けるかで、データ変換の問題は貼り付け先をどう設定しておくかで解決します。コピー元がリッチなら値のみを貼り付け、数量ではなく識別子にあたるものを貼り付けるときは、先にセルを文字列に設定しましょう。この2つを守れば、「スプレッドシートがデータを勝手に変えてしまう」問題はほとんどなくなります。

アプリ間でのコピー&ペーストが日課なら、Maccy macはアカウント不要・無料で、検索できる履歴を残し、貼り付けに失敗したときにプレーンテキストで貼り直せる便利なツールです。ところで、スプレッドシートに貼り付ける元データで、いちばん手強いのは何ですか?Webの表、PDF、それとも別ツールからのエクスポートでしょうか。

試してみたい場合、maccy.at は macOS 向けの無料オープンソースのクリップボードマネージャーです。