• 締切済み

複数シートに跨る数式参照について

GOCHISOUdaの回答

回答No.4

No1、2のコードでVBAが読めていないのではと 思われますので関数をお勧めしています。 また、VBAで組む方が後々メンテが面倒ですよ。 あと分からないのがシートAのリストから1つを選択して参照するのか Aのリスト全部を参照するのかが分かりません。 いずれにしてもVLOOKUPやINDEXでいけるのでは? (INDEXは更にMATCHと合わせる) どちらの関数も範囲のところはINDIRECT関数を使えばいいと思います。 例えば、セルA2でシート名を入力(ドロップダウンリストとか)するとして INDIRECT(A2&”商品名”)とすれば、 シート名商品名(!マークは付けない)のセル群を選択してくれます。

関連するQ&A

  • シートの違うセルを参照したいのですが・・・

    Sheet1 A1  B1  C1  D1 Sheet2 F1 F2 F3 F4 Sheet1 A1 のセルには Sheet2 F1 のセルを Sheet1 B1 のセルには Sheet2 F2 のセルを 参照するような数式を作成したいと思っています。 お教えくださいますよう、お願いいたします。

  • VBA 他シートを参照しているセルのコピー

    お世話になります。 以下のシートがあります。 [sheet a]    A     B        C      D     E 1 2004 2005 2006 2007 2008 2 =b!A2 =b!C2 =b!E2 =b!G2 =b!I2 3 10 15 16 4 11 4 12 30 20 9 2 5 =SUM(A3:A4) =SUM(B3:B4) =SUM(C3:C4) =SUM(D3:D4) =SUM(E3:E4) [sheet b] A B C D E  F G H I J 2004 2005 2006 2007 2008 1 あ1 い1 う1 え1 お1 か1 き1 く1 け1 こ1 2 あ2 い2 う2 え2 お2 か2 き2 く2 け2 こ2 ・・・・・・・・・ [sheet a]F列以降に入れるデータは、VBA(マクロ)を使って、別のブックから取り出しています。 (例) F1…=E1+1(E1の数式をコピー) F3,F4…任意の値(別のブックからコピー) F5…=SUM(F3:F4)(E5の数式をコピー) 1行目,5行目の場合は左のセルをコピーして数式を貼り付けると、列が自動的に列が変わりますが、2行目の場合は元のシートを1行おきに参照しているので、単純にコピーしただけでは正しい数式が入りません。 2行目の参照をVBAで作るには、どのようにしたらいいでしょうか。 よろしくお願いします。

  • Excelの数式の自動変更について

    excelの数式で困っています。 以下のようなシート1があります。 シート1 │A B C ─┼──── 1│a b c 2│d e f 3│g h i シート2で、以下の数式でシート1の値"e"を参照しているセルがあります。 =シート1!B2 この式では、シート1に行や列を挿入しても、"e"の値があるセルを参照したままになるように、数式が自動的に変更されます。 そうではなく、以下の条件を満たすような数式に変更したいと思っています。 ・1行と2行の間に行を挿入  →数式が自動変更され、"e"を参照したままにする ・A列とB列の間に列を挿入  →数式は変更されず、元々"e"があった場所を参照する 何かよい方法はないでしょうか? 回答よろしくお願いいたします。

  • シートごとに参照先セルを変更するには

    エクセルで請求書を作成している初心者です。 請求元データシートには請求先顧客名、商品名、数量、金額が一覧で入力してあります。 そのシートを元データとして、各請求先別シートが70シートあります(70件の請求書を作成)。 元データのA2~A71に顧客名、B2~B71に商品名、C2~C71に数量、D2~D71に金額が入力されており、A社請求シートには下データA2、B2、C2、D2を参照し、B社請求シートにはA3、B3、C3、D3と参照のセルを変えていきたいのですが、シートをコピーすると数式もコピーされてしまい、参照元を手入力で変更していて気が遠くなります。 検索してもよくわからなかったのですが、このシートにはこの行を参照、というように自動で変える数式か方法はありませんでしょうか? 初歩の質問でしたら申し訳ありません・・・。

  • SUMPRODUCTにて別シートのデータを参照する方法

    Excelの関数について質問です。 SUMPRODUCTにてAシートのデータを列ごと参照し、 Bシートの特定の場所に出力する方法を探しています。 自分で調べ、以下の方法でデータを参照しようとしましたが、 うまくいきませんでした。 【試した内容】 = S U M P R O D U C T ( ( A ! E : E = B ! B : 2 ) * ( A ! F : F = B ! B : 3 ) ) 【やりたい事】 AシートのE列全ての中でBシートのB列2行目と一致する条件で、 且つAシートのF列全ての中でBシートのB列3行目と一致する条件のものを参照したい。 どこが悪いか、又こうすればいいのでは等アドバイスがございましたら 宜しくお願い致します。 出来れば具体例があると助かります。

  • Excelで 循環参照とでないようにするにはどうしたらよいですか?

    在庫表を作ったのですが     A  B C残 D E残  F 1入庫 1 0  3 2 2 2出庫 1   1 上記の表を作成しました C1=A1+B1-B2 E1=C1+D1-D2 F1=E1 のように 数式を入れ F1に数字がはいったとき F1の数字をA1=F1に数式を入れると 循環参照のエラーがでてしまいます このような時 自動でF1の数字をA1に入れることができますか? 関数での式は 可能ですか? 教えて下さい。

  • 【Excel】数式のコピー

    Excel2003を使用しています。 他人が作成した表の行数を増やして、数式もコピーしたいのですが、その数式は別シートを参照していて、行・列が連続していないので、単純にコピー → 貼り付けでは、正しい数式を貼り付けることができません。 現在は、とりあえず、コピー&貼り付けした後に、数式を修正しているのですが、規則性があるので、手作業で数式を修正する以外に何か良い方法はないでしょうか? Sheet1…参照するシート Sheet2…数式が入力されているシート Sheet2に入力されている数式は  C7 = Sheet1!B7  D7 = Sheet1!C7  E7 = Sheet1!D7  F7 = Sheet1!E7  G7 = Sheet1!F7  H7 = Sheet1!G7  I7 = Sheet1!B8  J7 = Sheet1!C8  K7 = Sheet1!D8     :     :  C16 = Sheet1!B25  D16 = Sheet1!C25  E16 = Sheet1!D25  F16 = Sheet1!E25  G16 = Sheet1!F25  H16 = Sheet1!G25  I16 = Sheet1!B26  J16 = Sheet1!C26  K16 = Sheet1!D26 以上が1ページ分で、C列~H列、I列~K列はそれぞれ参照する行が1行おきになっています。 Sheet1の1ページは26行ありますので、2ページ目のSheet2の数式は  C17 = Sheet1!B33  から始まり  D17 = Sheet1!C33     :     :  H17 = Sheet1!G33  I17 = Sheet1!B34  J17 = Sheet1!C34  K17 = Sheet1!D34     :     :  K26 = Sheet1!D52  までが、2ページ目となり、これが下方向へ続いています。 これらの数式を変更することなどで、コピー&貼り付けができないかと思い、質問させていただきました。 説明がわかりづらくて、申し訳ありませんが、よろしくお願いします。

  • エクセル 複数条件で検索する数式を教えてください。

    社員の作業時間入力シートが2つあり、それぞれに入力しているため、入力ミスによる誤差が生じます。それをチェックしています。 検索条件が複数になる場合の計算式を教えてください。 [sheet1]   A   B   C   D  E 1 社員CD 日付  作業時間1 作業時間2  誤差 2 1000 2008/1/1   3.5  ここに数式   =C2-D2 3 1000 2008/1/2  2.5    数式    =C3-D3 4 1001 2008/1/1   5.0    数式    =C4-D4 [sheet2]   A   B   C    1 社員CD 日付  作業時間2 2 1000 2008/1/1  3.0 3 1000 2008/1/3   1.5 4 1001 2008/1/1  5.5 sheet1のD列にsheet2のC列を表示させたいのですが、 条件はA列とB列が一致するものになります。 A・B列が文字列ではないため、1列挿入して=A2&B2列を作成することができませんでした。 D列に数式をいれる事で一発で表示させる方法を教えてください。

  • 複数のシートを参照する数式について

    複数のシートを参照する数式について Sheet1   A  … 1  3 . . Sheet2   A  … 1  4 2  7 3  8 ←この値(8)をShett3に入れたい . . 上記値が入力されている場合 Sheet3の任意のセルに、Sheet2・A列のSheet1のA1に指定されている値の行を入力したいです。 (Sheet1・A1が1のときは、Sheet3に4、2のときは7、3のときは8を入力したい) この場合、Sheet3にはどのような数式を記載すればよろしいでしょうか?

  • Excelでファイル参照を数式で表現したい

    Excel上で数式でファイル参照を表現し、 参照先のセルの値を表示させたいのですが、文字列として表示されてしまいます。 どのように記述すれば解決できますでしょうか。 現在、以下の方法を試みていますがうまくいきません。 ・A1セルに参照先のフォルダパスを記入 (例: D:\Application\ ) ・B1セルに参照先のファイル名を記入 (例: A.xlsx ) ・C1セルに参照先のシート名、セル番地を記入 (例 : Sheet1'!$A$1 ) ・D1セルにA1~C1セルを組み合わせた数式を記述 ="='" & A1 & "[" & B1 & "]" & $C$1 ※ 数式として次のようになります。 ='D:\Application\[A.xlsx]Sheet1'!$A$1 D:\Application\A.xlsx のSheet1のA1セルに test と記述されいる場合、 ここでD1セルに test と表示されてほしいのですが、 上記の数式が、そのまま文字列として表示されてしまいます。 A1~D1の書式は全て「標準」に設定しています。 また、このD1の値を他のセルに値として貼り付けて、Enterを押せば、test と表示されます。 数式に誤りはないはずなのですが、D1セルで直接 test と表示する方法はあるのでしょうか。