Googleスプレッドシートでのデータ消失問題

このQ&Aのポイント
  • Googleスプレッドシートで顧客の集計表を作成していますが、行ごとコピーして貼り付けると一部のデータが消えてしまいます。
  • 手入力で式が入った行を触らなければ問題ないですが、効率を上げるために行ごとコピーしても他のデータが消えないようにしたいです。
  • アドバイスをいただけると助かります。
回答を見る
  • ベストアンサー

Googleスプレッドシート コピペしたら消える

スプレッドシートで顧客の集計表を作成しています。 1行に3列ほど関数を入れてほかのシートと関連付けるようにして、新規は基本手打ちで全て入力、既存であれば過去の分を新しい行にコピペして増やして日付などを手入力で調整していく予定です。 (エクセルではそうしてました) 添付の画像をもとに説明しますと、2675行に情報を入力をする際、手打ちでE2675に番号「2222」と入力するとF2675に「アイウエオ」と表示されるのですが、2674行を行ごとコピーして2675行に貼りつけると、F2674より上のF列の担当名が消えてしまいます。 I行の広告分類でも同じことがおきます。 F2674をF2675にコピペしても、F2674より上のF列の担当名が消えてしまいます。 1つずつ手入力で式が入った行を触らなければ問題ないのですが、それだと効率が悪いので行ごとコピーしても他のデータが消えないようにしたいので、アドバイスありましたらよろしくお願いいたします。 ちなみにF4に入力している式は以下になります。 = ARRAYFORMULA(IFERROR(VLOOKUP(E4:E,importrange("1gqyPrKXmGqS11MMAK3AYpykcnle-DlR09msl2oxxxxx", "担当マスタ!B3:D100"),3,FALSE)))

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

「消えた」状態でF4セルを見に行くと理由がわかります。 F4セルにマウスオーバーすると、   配列結果は[対象セル]のデータを上書き   するため、展開されませんでし   た。 と表示されるはずです。 対象であるF*セルを空白以外で上書きしたため (展開先に「何か」が入力されているため)、 式を評価できません。 というエラーです。 行コピー・貼り付けじゃなくても、 例示に沿ってF2677セル辺りに任意の何かを入力しても再現可能です。 ArrayFormula関数は対象が空白であることを前提に 展開する配列関数ですので、解消するには対象を空白にする必要があります。 つまり ・コピー元でF*セルを消去(削除ではなく「消去」)しておく ・コピーしてからF*セルを消去(同上)する のどちらかです。

その他の回答 (1)

  • akauntook
  • ベストアンサー率19% (295/1481)
回答No.1

似たような経験があるので、もしかしたらですが。 F4に入力された式は、F4のみに指定されていますが、その表示範囲が複数セルとなる場合、表示範囲に新たに値を指定すると、その指定が優先されて、F4の出力が無効になります。 この場合の表示範囲とは、実際に何らかの値が出力されているかどうかではなく、空白であっても表示範囲となっているかどうかです。 改善策は二通りです。 1.F4に指定した表示範囲が直接入力したい範囲とならないように指定する。 2.全てのセルに式を入力する。

関連するQ&A

  • Googleスプレッドシートで下の行までコピー

    関数初心者ですが、サイトで調べながらスプレッドシートで集計表を作成していますが壁に当たりました。 importrangeで他のシートよりデータをもってきてVLOOKUPで取り出して、そのセルの式を5000行ぐらいまで反映させたいと思います。 サイトを見ているとARRAYFORMULAで下の行まで式をコピーすることなく反映されるとありますが、上手くいきません。 添付の画像でいうところの、E4に2222を入れたらF4にアイウエオが表示され、F5000までE行に入れた番号が反映するようにしたいと思います。 ちなみに今はF9まで手動でコピーしたので反映していますが、F10以下は反映していません。 F4に入れている式は以下になります。 = ARRAYFORMULA(VLOOKUP(E4,importrange("1gqyPrKXmGqS11MMAK3AYpykcnle-DlR09msl2oxxxxx", "担当マスタ!B3:D2222"),3,FALSE)) もしくは違う関数で下の行まで反映できるものがあれば教えていただけたらと思いますので、お手数ではございますが、よろしくお願いします。

  • エクセルやスプレッドシートの式

    エクセルやスプレッドシートの式について教えてください。 シート1にデータを入力していて、 シート2に「シート1のC列のデータを転記」 シート3に「シート1のD列のデータを転記」 シート4に「シート1のE列のデータを転記」 シート5に「シート1のF列のデータを転記」というように、 シートごとに呼び出す列を1列ずつずらしたデータを作りたいと考えています。 シート2については、手入力で作り終えたのですが、 シート3以降は「シート2をコピーして、その数式の中のCの部分を自動でDに書き換える」ようにすることは可能でしょうか? それともひとつひとつ、CをDに書き換えなくてはならないでしょうか? シートごとでもかまいませんので、一括で指定できる方法があれば教えてください。 よろしくお願いいたします。

  • 指定した数だけデータをコピペする方法

    VBAの参考例を教えてください。 <シート1> A列に1から順に数字が入力されており、B列からE列まで数値のデータが入力されています。F列にはB列からE列にデータが入力されているセルの数をカウントした関数が入力されています。 <シート2> シート1のB~Eに入力されたデータが縦に入れ替えの上A列にコピぺされています。 ここで、シート1のA列の数値をコピーし、シート1F列に示されたデータ数分だけ、シート2のF列に縦に順々にペーストしていく方法をご教示ください。シート1のA列に入力された数値が最後の行にくるまでこれを繰り返します。 シート1 A B C D E F 1  a b c d 4 2  e d f   3 3  d e     2 ・ ・ ・ シート2 A B C D E F a         1 b         1 c         1 d         1 e         2 d         2 f          2 d         3 e         3 当方、VBAは全くの初心者です。急遽仕事で必要になってしまい、質問しました。 どうぞよろしくお願いします。

  • エクセルで離れたセルを離れた場所へコピペするには?

    エクセルで 1行目のctrl+コピーで離れたセル(B1,D1,F1)を 3行目(B3,D3,F3)、4行目(B4,D4,F4)、6行目(B6,D6,F6)などに 貼り付けるにはどうすればよいでしょうか? ちなみに、A列、C列、E列には他の数値があるのでコピーしたくないのです。 どなたかよろしくお願いします。

  • excelのコピペで困っています

    excelのコピペで困っています 行や列を非表示にして表示されているところだけをコピー したいのですが、どうしても非表示になっているところもコピーされてしまいます。 非表示にしたところをコピーしないようにするには どうやったらいいですか?

  • エクセル 間隔が空いたデータをその間隔のままコピペ

    A列の5行目から10行目までのデータと D列の5行目から10行目までのデータと G列の5行目から10行目までのデータのデータをコピーし、 それぞれをB列、E列、H列(ひとつ右側の列)に貼り付けたいのです。 (実際にはG列以降の列もコピペしたいのですが、例としてA、D、G列にしてあります) 普通にB列に貼ると、B、C、D列に貼られてしまいます。 また、書式は貼りたくないので、値のみの貼り付けにしたいのです。 今はやり方が分からないので、A列をコピペ、D列をコピペ、・・・と列毎に処理して いますが、一度にまとめてコピペするにはどうすれば、良いのでしょうか?

  • 繰り返しコピペ(1部内容変更して)

    Excel2013使用です。 添付した画像のようなデータと、実際には別シートに名簿というテーブルデータがあります。 やりたいことは、担当列に全員と入力されていた場合該当する行を名簿の人数分コピーしてデータの下に貼り付けし、かつ担当列の値を名簿の人名に変えたいというものです。 担当列に「、」で区切られたデータは下記サイトを参考に分割、コピペ出来たのですが上記がうまい処理が思いつかず行き詰まってしまいました。 お知恵をお貸しください。よろしくお願い致します。

  • カーソル行の直下にコピペ

    毎月録画する番組をExcelで一覧表にしています。 現在、カーソルがある行の下に行を新規に挿入して マウスのある行のA-Eまでの列をコピーして 挿入した行の同じ列にペーストするマクロ(コード)を教えてください。 つまり、カーソルがある行の直下に  同じ内容のセルをコピペしたいのです。  

  • スプレッドシートで栄養価に係数をかける

    スプレッドシートで栄養価の計算をしたいです。 食品成分表では100gあたりの栄養価が掲載されているので、重量1を100gとして、0.1と入力した場合には10g分の栄養価が表示されるようにしたいです。 これが計算したい食品です。 https://fooddb.mext.go.jp/details/details.pl?ITEM_NO=1_01004_7 スプレッドシートのurlです。サンプルとしてミネラルの箇所をコピペしています。栄養の合計の行では、SUMを使用して列を足し算しています。 https://docs.google.com/spreadsheets/d/e/2PACX-1vQY_vYYuDT2DY07s_8Hku14MjUFK5CKt7iHsol23Tnry6WwS12SHMm5RLRgI4y2PXKN2JGosoMSRhsx/pubhtml?gid=0&single=true C3をすべてのセルに乗算すればいいわけですが、これを一括でやることは可能でしょうか?1つ1つて入力していくのは大変です。 arrayforlura等使用スル場合はもう1行が必要となるでしょうか?

  • エクセルマクロ 別シートへ行列を入れ替えてコピペ

    下記内容のエクセルのマクロをご教示いただきたいと存じます。 ①「data」シートのB2からデータが入力されている最終行までをコピー(20行目までデータが入力されていたとすると、B2~B20をコピー。最終行は不定) ②「result」シートのE列のデータが入力されている最終行の次行に①のデータを行列を入れ替えてペースト(E列のデータが19行目まで入力されていたとすると、「E20」セルに①のデータ<この場合だと、「data」シートのB2~B20のデータ>を行列を入れ替えてペースト。「result」シートのE列の最終行は不定)

専門家に質問してみよう