• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:月毎に参照するセルを変更したい。)

エクセルのセル参照を月毎に変更する方法

このQ&Aのポイント
  • エクセルのデータを月毎に参照するセルを変更する方法について教えてください。
  • 別のシートに月毎のデータを集計して表示するためには、IF関数とSUM関数の組み合わせを使用する方法が一般的です。
  • ただし、IF関数のネストは8階層までなので、12ヶ月分の判定は困難です。他の方法をご存知であれば教えてください。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

んと、関数をバラすと解りやすいです。 CHAR は数字から文字を返します。A ならば 65 、B ならば 66 です。 セルA1に 1 を入れた時に、B が出れば良い訳です。 =CHAR(A1+65) とセルに入力し、A1に 1 を入れれば B と出ます。 これを元の式になるように&で繋いで文字列を作ります。 ="Sheet1!"&CHAR(A1+65)&2&":"&CHAR(A1+65)&3 とセルに入力すると Sheet1!B2:B3 と出るハズです。 このままではただの文字列なのですが、INDIRECT関数を使うとセル参照として使えるようになります。 それをSUMに渡してあげれば合計が計算されます。

marukawa
質問者

お礼

ご返答ありがとうございます!ナルホドです。これで行けそうです。本当にありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

答えが合うかは基の表次第ですけど、、、 Sheet2のB2に =SUM(INDIRECT("Sheet1!"&CHAR(A1+65)&2&":"&CHAR(A1+65)&3)) と入れて、Sheet2のA1 に 1~12 を入れると希望になります?

marukawa
質問者

補足

ありがとうございます!大丈夫でした! 大変厚かましいですが、数式の説明をして頂けると幸いです。よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

やろうと思えばIFのネスト制限は12程度なら回避可能です。 最初のIFで、7未満か、7以上かを分けてしまうって感じ。 A 20 ← ちなみに、ここはどんな関数にしてあるのでしょう? IFでの分岐は長くなるのでもっと良い方法のアドバイスが出るかも。 (私が出来るかはわかりませんが、、、)

marukawa
質問者

補足

ご返答ありがとうございます。ご質問の箇所ですが、「=SUM(Sheet1!B3:B4)」(実際はもっと多いのでSUM関数を使用しています)となっています。もう少し補足すると、A1のセルが"1"だったら、「=SUM(Sheet1!B3:B4)」を実行、"2"だったら、「=SUM(Sheet1!C3:C4)」を実行というふうにしたいのです。お判りになるようでしたら、ご返答よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • セルを参照し、複数の列の文字を返す方法

    Sheet1のA1に「あいうえお」と入力します。 その文字をSheet2のA1から参照して、Sheet1のB1のセルに、Sheet2のB1~D1の列の文字を返したいです。 vlokkupでは、1つの列しか返しませんが、私は、複数の列の文字を返したいので、 Sheet1に「Sheet1のA1とSheet2のA1が同じならば、Sheet2のB1~D1までのデータを返す(列数が少ないので、CONCATENATEではなく&にしました)」 =if(a1=sheet2!a1,sheet2!b2&sheet2!C2&sheet2!D2,"") これを、ネストして、B1=sheet2!B1~としました。 しかし、ネストに限界があるのをウッカリ忘れてしまい・・・・ 他の関数で代用はできませんでしょうか? VLOOKUPは、1つの列しか返せず、困っております。

  • 結合したセルの左上以外のセルから値を参照したい

    エクセルで、セルA1:C3を結合しています。 =A1 として参照する場合には、結合セルの値を参照できますが、 =B1とか=A2とかのように参照すると、0が表示されてしまいます。 B1やA2のセルを指定した場合にも、結合セルの値を参照できるような シート関数はないのでしょうか。 =KANSU(B1)とか=KANSU(A2)とした場合に、 結合セルの値を得られるシート関数を教えてください!

  • エクセルのマクロで、セルの値を参照してジャンプ

    エクセルのマクロで、セルの値を参照して、 別シートにジャンプして貼り付けたいと思っています。 <Sheet1>  |  A  B  C ------------------------------------ 1|  A1  あ  100 2|  B5  い  50 3|  C7  う  80 4|  D3  え  20 5|  E9  お  40 <Sheet2>  |  A  B  C  D  E ------------------------------------ 1|  あ 2|  100 3|         え 4|         20 5|    い 6|    50 7|       う 8|       80 9|            お 10|            40 といったイメージです。(お分かり頂けますか?) Sheets1!B1:C1を選択し、A1のセルの値を参照して、Sheets2!A1にジャンプして、 行列入れ替えて貼り付ける、といったマクロを組みたいのですが、 セルの値を参照する部分が分かりません。 実際はSheets2の様なシートは複数あり、1つのリストから複数の形式を変えた表を 作りたいと思っています。 Sheets2以降のシートに見出し行を加え、VLOOK関数を組み込んだ表を作っておき、 結果を貼り付けて見出し行を削除する、といったマクロは組めるのですが、 セルを参照してジャンプして貼り付けてくれると便利だと思い質問させて頂きました。 どなたかお知恵を拝借できましたら嬉しいです。 宜しくお願い致しますm(_ _)m

  • セル参照内容を利用する

    A1に、関数「=Sheet2!B5」と入れると、B1はSheet2!C5の値を取得、 A1に、関数「=Sheet2!G10」と入れると、B1はSheet2!H10の値を取得、 というように隣の参照した先のすぐ隣を持ってくるようにするには、 B1にどんな設定をすればよいですか。またそれは可能でしょうか。 VBAを使ったり、 Vlookupを使って再検索させるのでなく、 単純にセルの参照内容を利用する方法でしたいのです。

  • 別シートへのセル参照について

    別シートへのセル参照についての質問です。 例えばSheet1のA1,B3,C6,G9に値が入っているとします。 その値を順にSheet2のB2,C4,D9,E17に参照したいのですが、 それぞれにセル参照しないとダメなんでしょうか? Sheet1,Sheet2に違う種類の表があって、それぞれに同じ値を入力するんですが、Sheet1に入力すれば自動的に入るようにしたいです。 実際はSheetや、値を入力するセルがかなり多いので、ひとつひとつセル参照するのが大変なので・・・よろしくお願いします。

  • 複数条件での値参照をする関数

    Excel2007を使っています。 以下のような表があります。 店番  月度  個数 111     4    1 111     5    0 113     4    0 112     4    1 113     5    2 別のシートに以下の表があります。 店番  4月個数  5月個数 111 112 113 この4月個数の列と、5月個数の列に関数で値を参照させたいと思います。 店番をA1セルとすると、B2セルには店番が111の4月の個数を表示させたいです。 B2に =IF(ISERROR(VLOOKUP(A2,元!A:B,2,0)),"",IF(VLOOKUP(A2,元!A:C,2,0)<>4,"",VLOOKUP(A2,元!A:C,3,0))) C2に =IF(ISERROR(VLOOKUP(A1,元!A:B,2,0)),"",IF(VLOOKUP(A1,元!A:C,2,0)<>5,"",VLOOKUP(A1,元!A:C,3,0))) このような式を入れると、4月か5月どちらか上に書いた方しかデータが表示されませんでした。 更新ボタンやトリガーを使わずにできるといいので、ピボットやVBAではなく関数でやりたいと思っているのですが、どのようにすれば良いか分かりません。 使える関数があれば、ぜひ教えて下さい。

  • エクセル 関数の参照セルの変更

    ご教示お願いします。 =IF(C5=1,A5/B5,0)という式のC5の部分をD5,E5,F5・・・と変更したいのですが、式の中を手入力で変更するのではなく、他のセル(例えばセルA1)にD5,E5,F5・・・入力すると式C5の部分が変更されるようにしたいです。 例)セルA1にD5と入力すると関数=IF(C5=1,A5/B5,0)が=IF(D5=1,A5/B5,0)に変わるみたいにしたいです。セルA1にD5と入力するのが正しいやり方なのかはわかりませんが。

  • EXCELの表を参照して値を返す方法

    例えば下記のような表があるとします。 表1(シート1)  A列  B列  ~10  A 11~20  B 21~30  C 31~50  D  ・  ・  ・ 151~  Z 表2(シート2) 45   X 21   X 133   X Xの箇所に表1のA列を参照してB列の値(AとかC)を返す方法はないでしょうか?IF文を使った場合7レベルまではできるのですが、それ以上のネストは無理なようです。ちなみに表1は30分類(行)ほどあります。 よろしくお願いします。  

  • 【エクセル関数】参照するセル

    エクセル関数で教えていただきたいです。 セル参照で、参照するセルを、ある法則道理に参照していきたいのです。 例えば、シートA,シートB、とあったときに、 シートBのC3に → シートAのC3を参照、 シートBのC6に → シートAのC4を参照、 シートBのC9に → シートAのC5を参照、 シートBのC12に → シートAのC6を参照・・・・ ・・・・・・・・・・・ という風に、参照元の列は1行づつ増やしていきたいのですが、 それをシートBでは、3行ごとに表示したいのです。 自分でいろいろ試してみましたが、うまくできません。 こういったことは、関数でできるのでしょうか? もし、あれば、教えていただけると助かります。 よろしくお願いします。

  • エクセルでのセルの参照

    sheet1にデータが入力されています。 そしてsheet2ではそのsheet1に入っているデータを 抽出するsheetとして使用しています。 そこで、sheet2にある一つのセルに3と入力したら sheet1で使用しているA3、B3、C3、D3・・・ のセルのデータを、 4と入力したら A4、B4、C4、D4・・・ のセルのデータをsheet2のそれぞれのセルに引っぱってこれるように 関数を書きたいと考えています。 INDIRECTが機能的に近いのかなと考え、式を試してみたのですが なかなかうまくいきません。 また、4と入力したときにA5、B5、C5、D5を参照するというように 数値をいじったりできるであればそれも教えていただきたいです。 よろしくお願いいたします。

専門家に質問してみよう