アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんは、エクセルについて質問があります。
  1月 2月 3月 ・・・
A1 10 40 70 ・・・
A2 10 40 70 ・・・
B1 20 50 80 ・・・
B2 20 50 80 ・・・
C1 30 60 90 ・・・
C2 30 60 90 ・・・

というデータの入ったシートから、別のシートに

1月分合計(※1)
A 20
B 40
C 60

という表を※1のセルの値(1月分であれば"1")を判定して1枚のシートにしたい(※1のセルの値を変えると各月分の表になる)のですが、SUM関数とIF関数を組み合わせて作成したところエラーとなってしまいます。調べてみたところIF関数のネストは8階層までということで、12ヶ月分の判定は難しいようです。どなたか回避方法をご存知の方がいらっしゃいましたら、ご教授願えれば幸いです。よろしくお願いいたします。

A 回答 (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に渡してあげれば合計が計算されます。
    • good
    • 2
この回答へのお礼

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

お礼日時:2005/10/26 00:24

答えが合うかは基の表次第ですけど、、、


Sheet2のB2に

=SUM(INDIRECT("Sheet1!"&CHAR(A1+65)&2&":"&CHAR(A1+65)&3))

と入れて、Sheet2のA1 に 1~12 を入れると希望になります?

この回答への補足

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

補足日時:2005/10/25 23:42
    • good
    • 0

やろうと思えばIFのネスト制限は12程度なら回避可能です。


最初のIFで、7未満か、7以上かを分けてしまうって感じ。

A 20 ← ちなみに、ここはどんな関数にしてあるのでしょう?

IFでの分岐は長くなるのでもっと良い方法のアドバイスが出るかも。
(私が出来るかはわかりませんが、、、)

この回答への補足

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

補足日時:2005/10/25 22:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A