• ベストアンサー

エクセルでセルを指定する方法

A列 B列 (1)   5 (2)   10 (3)   15 (4)   7 (5)  12 エクセルでB列の最大値(この場合15)が入っているセル(B3)から2つ上のデータ(B1なので5)と2つ下のデータ(B5なので12)を足すといったセルを指定する式を教えてください。

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

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

最大値がB3セル以降になる場合にはB1セルとB5セルを足すことはできても、B1セルやB2セルに最大値が有ればB3セルやB4セルの値を表示させるとしたら次のような式になりますね。 =IF(MATCH(MAX(B:B),B:B,0)>2,INDEX(B:B,MATCH(MAX(B:B),B:B,0)-2)+INDEX(B:B,MATCH(MAX(B:B),B:B,0)+2),INDEX(B:B,MATCH(MAX(B:B),B:B,0)+2))

kinndai
質問者

お礼

ありがとうございました。

その他の回答 (2)

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

ケース1:ご質問で,ヤリタイ事を一応正しく表現できている場合  2つ上と2つ下が必ずある範囲だけを調べればよい  B1:B20に数字が並んでいる  B3:B18の範囲で最大を調べる  ただし最大のセルは必ず1個しか無い =SUMIF(B3:B18,MAX(B3:B18),B1:B16)+SUMIF(B3:B18,MAX(B3:B18),B5:B20) ケース2:ご質問ではヤリタイ事の説明が不十分な場合  2つ上と下が無くてもムリヤリ計算したい  B1:B20に数字が並んでいる  ただし最大のセルは必ず1個しか無い =INDEX(B1:B20,MAX(0,MATCH(MAX(B1:B20),B1:B20,0)-2))+INDEX(B1:B20,MIN(20,MATCH(MAX(B1:B20),B1:B20,0)+2))

kinndai
質問者

お礼

ありがとうございました。

  • aokii
  • ベストアンサー率23% (5210/22063)
回答No.2

以下の式でいかfがでしょうか。 =INDIRECT("B"&(SUMPRODUCT((MAX(B:B)=B:B)*ROW(B:B))-2))+INDIRECT("B"&SUMPRODUCT((MAX(B:B)=B:B)*ROW(B:B))+2) ただし、B列全体から最大値を求めるのは時間がかかる場合がありますので、できれば、以下のB1:B10の範囲で、まずは試してみて下さい。 =INDIRECT("B"&(SUMPRODUCT((MAX(B1:B10)=B1:B10)*ROW(B1:B10))-2))+INDIRECT("B"&SUMPRODUCT((MAX(B1:B10)=B1:B10)*ROW(B1:B10))+2)

kinndai
質問者

お礼

ありがとうございました。