Googleスプレッドシートで他のシートからデータを取り出す方法

このQ&Aのポイント
  • Googleスプレッドシートで他のシートからデータを取り出す方法を知りたい
  • VLOOKUP関数とARRAYFORMULA関数を使用して他のシートからデータを取り出す方法を学びたい
  • スプレッドシートでの集計作業を効率化するために、他のシートからデータを取得する方法を調べています
回答を見る
  • ベストアンサー

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

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

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

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

ARRAYFORMULAだけ考えると F5000セルまで持っていくのであれば、 = ARRAYFORMULA(VLOOKUP(E4:E5000,importrange("1gqyPrKXmGqS11MMAK3AYpykcnle-DlR09msl2oxxxxx", "担当マスタ!B3:D2222"),3,FALSE)) にしてみるとうまくいくかもしれません。

hotrod7020
質問者

お礼

お陰様で問題が1つ解決しました。本当にありがとうございました。

関連するQ&A

  • 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)))

  • エクセルの関数のコピー

    エクセルの関数を下のセルにコピーをすると、1つずつ関数の式がずれてくるのですが同じ範囲の関数を同じ様に入力したい場合はどうすればいいですか? 例)=VLOOKUP(F3,Sheet2!A1:E5000,2,0) という関数があったとすると 次の行には=VLOOKUP(F4,Sheet2!A1:E5000,2,0) と検索値のみが1つ変わる感じにしたいのですが・・・ コピーでは無理なのでしょうか。やはり1つ1つ数式を入れてやらないとだめでしょうか。

  • シートの必要な行だけをコピーしたい。

    シートの必要な行だけをコピーしたい。 sheet1にデータを取り込み、sheet2でvlookupの関数によりデータの抽出を行っています。sheet1に取り込まれる行は、2行~2600行と幅が広いので、現状はsheet2に関してMAX2600行分のvlookup関数を設定しているのですが、行が短い場合に処理時間がかかってしまい、効率がよくありません。sheet1に取り込まれた必要行分だけをsheet2にコピーペースト展開するにはどの様な対応をしたらよいか教えて 頂きたく。 1行目ににvlookupの関数が設定してあるとして、現状は下記の通り、マクロにて2600行分コピーペーストしてあります。 Range("A1:J1").Select Selection.Copy Range("A2:J2600").Select ActiveSheet.Paste

  • エクセルの関数についての質問です。1行目に文字列で入力した関数の式を5行目以降に簡単に反映させたいです。

    エクセルの関数についての質問です。1行目に文字列で入力した関数の式を5行目以降に簡単に反映させたいのですが、どのようにすれば出来るでしょうか? 2行目に反映するためには「Shift」+「=」を入力すると、自動的に式が反映されるのですが、3行目以降で「Shift」+「=」を入力しても式が反映されません。。 例えば以下のような作業がしたいです。                           =SUM(B5:D5) 氏名  基本給 時間外手当 休日手当 合計 太郎    100     100      100 花子    200     200      200 5行目(E5セル)で「Shift」+「=」を入力しただけで、式が反映されると良いのですが・・・。先輩が作成したエクセルシートだと式が自動反映されるのですが、私が作成したエクセルシートだと式が自動反映されません。何か設定があるのでしょうか・・・。

  • IfとVlookupで関数

    すみません。 エクセルはゆっくり噛み砕かないと理解できません。 今会社のファイルを作り直していて、コピーして取り敢えず使っています。 ファイルが無くて申し訳ないですが理解できる方お返事ください。 行Aに点数が入っています。 行Eの1列から順に400,500,600,700,800と入っています。 隣の行Fには、それぞれ、E.D.C.B.Aと評価が入っています。 行Bに、Aの点数が400未満ならE,700未満ならBと、表したいです。 この場合vlookupだけでは無理ですよね? vlookupだけで説明しているサイトがあって、どのように未満と判断出来るんだ?と疑問だったのですが。 この式を教えて頂けませんか? コピーして使用している式が、複雑過ぎてわかりません。 その方が作った別の関数もわざと難しくしているものがあったので、意図してます。(その方は別の方が仕事をするのを嫌がっていた) お願い致します。

  • Googleスプレッドシート 条件付き書式について

    初歩的な質問のような気もするのですが、 Googleスプレッドシートで、合計額のチェックをしたく、明細セルと合計セルが一致していない場合に、条件付き書式で色付けします。 不一致の明細の合計欄を色付けする事は出来るのですが、不一致のセルがあった場合に、表のタイトルの色を変えたいと思っています。   A  B   C   D  E 1    売上 2 品番 4月  5月  6月  合計 ←←← ここを色替したい 3 A  100  100  100  300       ↑ 4 B  100   50   50  150 ← ここが不一致の時に 5 C  100  100   50  250  上記のような表で、B~C各列の行ごとの合計がE列と一致しない場合(SUM(B3:D3)<>E3)、E列各行のセルの色を変えることは出来るのですが、上記の表の場合で、3,4,5行目の各行の合計の1つでも不一致があれば、E2のセル色を変えるということが出来ません。。 例えばF列などに関数で「=SUM(B3:D3)」とやり、条件付き書式で、範囲を$E$2固定にし、「=COUNTIF(E3:E,”<>F3”)>0」などとやってみましたが、全てが不一致と見なしてしまう様です。。 申し訳ありませんが、どなたか分かる方がいらっしゃいましたら教えていただきたくよろしくお願いいたします。。

  • マクロでセルのコピーをする方法

    E2に関数の結果が入っています。(D2に検索値、範囲は別シート) E2をD2にデータが入っている行まで下にコピーするようなマクロを作りたいのですが、どのような式を書けばよいのでしょうか。 宜しくお願い致します。

  • 【EXCEL】vlookup関数で横の行を縦の列で読む方法

    vlookup,hlookup関数などを使用して 以下のように横の行を縦で検索する方法はありますか? 他の関数を組み合わせてもかまいません。 大量のデータを処理するのでコピーしやすい方法が良いです。 よろしくお願いします。   A B C D E 1    あいうえ 2 2008 1234 3 2009 5678 A B 1 2009 2 あ 5 3 い 6 4 う 7 5 え 8

  • 関数のどこを書き換えれば実現できるのでしょうか

    以前に"質問ITmedia"でChiquilinさまという回答者の方から以下の関数を教えて頂ことがあります。 当時、短時間でこれだけの関数を書いて頂き本当に助かったのですが小さな問題が解決できず、何度か見様見真似でトライしてみたのですが、実現できず、この度質問させていただきました。 -------------Chiquilinさまから教えて頂いたスクリプト-------------- =QUERY({ARRAYFORMULA(ROW('Sheet1'!A2:K)),'Sheet1'!A2:K},"select Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12 where Col2 Is Not Null and Col1 + 19 > " &COUNTA('Sheet1'!A2:A) &" order by Col2 desc, Col1 desc") -------------Chiquilinさまから教えて頂いたスクリプト-------------- 現在、この関数の処理方法で問題を抱えています。この関数は、 Sheet1のA2:Kにあるデータをコピーして一番下のデータから10行分をコピーして、コピーした下の行のデータから順番に、このスクリプトがあるシートのA2:Kに張り付けなさいという関数です。 結果、以下のようになります(Sheet1→Sheet2)。 ■Sheet1 1行目 2行目 3行目 4行目 5行目 6行目 7行目 8行目 9行目 10行目 ARRAYFORMULA関数で以下のように処理されます。 ■Sheet2 10行目 9行目 8行目 7行目 6行目 5行目 4行目 3行目 2行目 1行目 下記のようにさせたいのですが、どのようにARRAYFORMULA関数を書き換えれば下記のようにコピーさせることができるでしょうか? それとも、もう一度0からスクリプトを書き直す必要があるのでしょうか。 ■Sheet2 9行目 10行目 7行目 8行目 5行目 6行目 3行目 4行目 1行目 2行目 もし、解決する方法を分かる方がいらっしゃいますようでしたら些細なことでも結構ですのでアドバイス頂けないものでしょうか。 恐れりりますがなにとぞよろしくお願いいたします。 めぐみ

  • EXCELのセルのコピー

    EXCELで、セル(例えばE8)に「=VLOOKUP(D8,携帯番号一覧!A1:B18,2,0)」と入力して、この関数を下のセル(E9~)にどんどんコピーをしたいのですが、普通にコピーをするとE9のセルでは「=VLOOKUP(D9,携帯番号一覧!A2:B19,2,0)」となってしまいます。「D9」はいいのですが、「A2:B19」ではなく、「A1:B18」のままでコピーをしたいのです。今は、一つ一つコピーしては変更を繰り返していますが、もっと簡単にコピーする方法は無いのでしょうか?

専門家に質問してみよう