• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:INDEX関数の値を合計する方法)

INDEX関数の値を合計する方法

このQ&Aのポイント
  • =INDEX関数を使用して複数の値を取得し、それらの値を合計する方法を知りたい。
  • 質問者は、異なる検索値(Sheet3!B4、Sheet3!C4、Sheet3!D4など)を使用してINDEX関数を複数回使用し、それらの値を合計したいと考えている。
  • 質問者は、合計を簡潔に計算する方法を知りたい。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

ヒットしたのと一つ上のC列を合計したいのですから =SUMPRODUCT(SUMIF(Sheet2!A5:A100,Sheet3!B4:Z4,Sheet2!C4:C99)) といった具合です。

hiro5314jpjp
質問者

お礼

とてもシンプルで、目的が達成できました ありがとうございます

その他の回答 (3)

回答No.4

おそらくは こんな感じだと思うのですが =SUMPRODUCT((Sheet3!B4:D4=Sheet2!A5:A20)*(Sheet3!B4:D4<>"")*Sheet2!C4:C19) 完全一致が複数ある場合は計算が異なってしまいます。 言いたかったのは >=INDEX(Sheet2!C5:C100,MATCH(Sheet3!B4,Sheet2!A5:A100,0)-1)+=INDEX(Sheet2!C5:C100,MATCH(Sheet3!C4,Sheet2!A5:A100,0)-1) ではなく =INDEX(Sheet2!C5:C100,MATCH(Sheet3!B4,Sheet2!A5:A100,0)-1) +INDEX(Sheet2!C5:C100,MATCH(Sheet3!C4,Sheet2!A5:A100,0)-1) でしょう =IF(Sheet3!B4="","",INDEX(Sheet2!$C$5:$C$100, MATCH(Sheet3!B4,Sheet2!$A$5:$A$100,0)-1)) または =IF(Sheet3!B4="","",INDEX(Sheet2!$C5:$C100, MATCH(Sheet3!B4,Sheet2!$A5:$A100,0)-1)) として、右へオートフィル。 その範囲の合計を求めるのが、いちばん計算が速く、後継者や将来の自分にやさしい方法だと思います。

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

=SUMPRODUCT((Sheet2!A4:A99=Sheet3!B4:D4)*Sheet2!C5:C100) こんな感じかな? 元のデータ形式が不明なので計算式 =INDEX(Sheet2!C5:C100,MATCH(Sheet3!C4,Sheet2!A5:A100,0)-1) ↑の最後の-1が何を意味しているのか不明ですが

hiro5314jpjp
質問者

補足

ありがとうございます。 実は、その-1が凄い重要でして、そこが困ってるとこなんです。 =INDEX(Sheet2!C5:C100,MATCH(Sheet3!B4,Sheet2!A5:A100,0)-1) これは、シート3のB4の企業と同じ企業がシート2のA5からA100にあればということで、例えばシート2のA6で見つかれば、シート2のC6の一つ上の数字であるC5をシート1のD3に入れたいわけです。 シート2のC6の一つ上の数字というのがミソでして、そのために-1としています。 ですので、回答の頂いた式では、C6やC7に数字が入っていると、全てシート1に合計されてしまうんです。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

例えばA1セルに答えを出すとしたらA1セルには =SUM(B1:XX1) などの式を入力しておきます。 B1セルから右横の列は作業列としてB1セルには次の式を入力して右横方向にドラッグコピーします。 =IFERROR(INDEX(Sheet2!$C5:$C100,MATCH(Sheet3!B4,Sheet2!$A5:$A100,0)-1),"")

hiro5314jpjp
質問者

補足

ありがとうございます してみましたが、これでは実現しませんでした。 もう少し、次の補足で詳しく書いてみます。