• 締切済み

セルの範囲内の限られた範囲での合計最大値を求める方

ネットで検索しては見たのですが、見当たらないので質問させていただきます。 検索で出てこないので、存在しないのかもしれませんが…。 指定範囲内で隣接する複数のセルの合計で、最大値を調べることができるのかを探しています。 例として、A1~A50までに数字が入っていて、その中の隣接する4つのセルの合計で最大になる部分を抽出できる計算式があるのか探しています。 上位○位の合計とかの計算式はあるのですが、隣接していないことが多いですし、最大値のセル近辺が合わせた場合最大というわけでもないので、困っています。 もし関数などでわかる方がおられましたらよろしくお願いします。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 済みません、回答No.3に添付した画像において、「4つのセルの合計」を表示させているB列の値が間違っておりました。  セルを切り貼りしている間に、B列に入力した関数が4つのセルではなく、3つのセルの合計を表示する様に変わってしまっておりました。  回答には直接関係しない所だとは言え、紛らわしくなってしまい申し訳御座いません。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

>例として、A1~A50までに数字が入っていて、その中の隣接する4つのセルの合計で最大になる部分を抽出できる計算式があるのか探しています。 A1からA50まで数値が入力されていると言うことは理解できますが、「隣接する4つのセル」とは具体的にB列の不特定の4つのセルと言うことですか? また、「4つのセルの合計で最大となる部分」と言う表見も説明不足で理解できません。 A1からA4、A2からA5、A3からA6・・・・のように移動した4つの合計で最大値になる組み合わせを抽出すれば良いのでしょうか? またはA1からA4、A5からA8、A9からA12・・・・のように移動した4つの合計で最大値になる組み合わせでしょうか? 処理する内容によってどうすれば良いかが異なります。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 今仮に、「A1~A50の範囲で、隣接する4つのセルの合計の内、最大となる値」をD2セルに表示させ、それを基に「その最大値となる4つのセルの内、1番上のセルの行番号」をD5セルに表示させるものとします。  その場合、最大値を求めるD2セルの関数は次の様なものとなります。 =SUMPRODUCT(MAX($A$1:$A$47+$A$2:$A$48+$A$3:$A$49+$A$4:$A$50))  そして、行番号を求めるD5セルの関数は次の様なものとなります。 =SUMPRODUCT(MAX(($A$1:$A$47+$A$2:$A$48+$A$3:$A$49+$A$4:$A$50=$D$2)*ROW($A$1:$A$47)))  但し、A1~A50の範囲の全てのセルに数値が入っていて、途中に文字列が入っているセルが存在しない事が前提です。

2042223
質問者

お礼

回答ありがとうございます。 やってみたらできました!ありがとうございます。

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.2

「A1~A50までに数字が入っていて」は分かりました。 では「その中の隣接する4つのセル」として、 A1:A4、A2:A5、A3:A6、…、A47:A50 の中のどれをどのように、貴方は指定するのですかッ! それさえ仰れば、関数で簡単にできると思いますよ。

2042223
質問者

お礼

回答ありがとうございます。 範囲指定のやり方をもう少し考えてみます^^;

  • t_hirai
  • ベストアンサー率27% (157/577)
回答No.1

関数ではないのではないでしょうか。 BVAなら出来そうですけど。

2042223
質問者

お礼

回答ありがとうございます。 BVAとやらを色々調べてみます…^^;

関連するQ&A

  • excel セル範囲に名前を付ける(名前の定義)について

    こんにちは。 過去の質問や、インターネット全般でも検索してみたのですが 検索の仕方が悪いのか、見つける事が出来ませんでしたので 質問させて下さい。 名前の定義にてセル範囲に付けた名前を 計算式を組む時に使いたいのですが、 名前を付ける時に指定したセルが隣接していれば 使用が可能なのですが、隣接していない離れたセルを 指定して名前を付けると、計算式に使用した時にエラーに なってしまいます。 因みにセルが離れていてもRANK関数では使用が可能でした。 COUNTIFやCOUNTBALNKだと、隣接したセルじゃないと 使えませんでした。 離れたセルに名前を付け、計算式に使用する事は 関数によって可能だったり不可能だったりするのでしょうか? 質問の内容が分かりづらかったらすみませんm(_ _)m よろしくお願い致します。

  • エクセルで複数セル(約50個のセル)を参照し、合計値を出そうと思ってい

    エクセルで複数セル(約50個のセル)を参照し、合計値を出そうと思っています。 複数セルの中にはエラー値#N/Aも含まれています。 参照元のセルにVLOOKUP関数を埋め込むのも数が多く大変ですし、 合計値セルでISERROR関数を埋め込んだら「数式が長すぎます」というエラーが出ます。 #N/A以外を抽出し、合計値を出す方法はありますでしょうか。 出来ればVBAを使用せず回避できる方法を教えて頂ければ幸いです。

  • セル範囲がすべて空欄の場合、合計値の回答欄が空欄になるエクセル関数は?

    セル範囲がすべて空欄の場合、合計値の回答欄が空欄になるエクセル関数は? A1~P20の範囲に数字(0含む)と空欄が混在しております。 各横軸で合計値を求め、A~Pまで全て空欄だった場合は、空欄にしたいのですが、 SUMだと「0」と表示されてしまいます。 なお、計算範囲のセルが0と表示されている場合は、結果「0」と表示してかまいません。 ISBLANKで1つ1つのセルを指定していく方法もあるのですが、式が長くなってしまいます。 =IF(AND(ISBLANK(A1),ISBLANK(B1),ISBLANK(C1)・・・・・・),"",SUM(A1:P1)) もう少し短い式で上記のような計算ができる関数はあれば教えてください。

  • sumif関数の範囲と合計範囲は隣合わせのセルしかできませんか?

    たびたびすみません。 sumif関数の範囲と合計範囲は隣合わせのセルでないといけないのでしょうか? どうも計算結果が変なのですが・・・

  • Excel数式(複数セルの足し算)について

    既出での検索に断念しました(涙) ExcelでのSUBまたはSUBTOTAL等の関数で、 計算範囲を指定する際、 多少の連続していないセルの複数指定はできるのですが、 計算範囲のセルが大量にある場合(50セル程)、 セルの場所が隣接していないので、 複数範囲指定をすると、数式エラーになります。 原因はわからないのですが、 セル内の字数制限にひっかかったのかもしれないです。 大量(50セル程)の離れているセルを範囲指定して計算したい場合の解決策をご存知の方よろしくお願いいたします。

  • エクセル VBA セル範囲を指定

    functionプロシージャを作ろうとしてます。いわゆるユーザ定義関数です。 エクセルの関数でSUMが用意されており、SUM(セル範囲)のように書けば合計を返します。 同じようにセル範囲の指定を受けて計算結果を返すfunctionを作りたいのです。 function example(セル範囲 As double,・・・) As double 任意の範囲を指定して、その値を使って計算したいのです。 ・セル範囲の書き方というか、フォーマットの書き方 ・プロシージャ内で計算に使うために配列に読み込む方法

  • 文字列と数字が入力されたセルから。。

    エクセルの1つのセルに 数字と文字が入っています。 数字のみの合計(合計 75)が計算されるように 関数や数式を入れたいのですが SUMIF関数で出来るのでしょうか? 他のセルに、数字だけ抽出して合計を出す。 では、無い方法を教えて下さい。 よろしくお願いします。

  • 関数内のセルの範囲を他のセルから取得する方法

    教えてください。 関数内のセル名を他のセルから取得することはできるのでしょうか? 例えば、B列の合計を求めるSUM関数であれば A1セルに関数を記述 =SUM($B$x:$B$y) A2セルに範囲(上記式のx)を指定  1 A3セルに範囲(上記式のy)を指定  10 これにより、B列のB1~B10の合計を求める。 といった感じです。 ※実際に使用したい関数は、SUMではありません。 よろしくお願いします。

  • SUMIF関数で、「ブランク以外を合計」を指定したい

    SUMIF(範囲,検索条件,[合計範囲]) の、検索条件部分に、 「セル内に数字、文字をとわず、とにかく何か入力されていたら合計する」 といった意味合いの条件を指定したいのですが、その方法がわかりません。 画像で説明させていただくと、 A2のセルにSUMIF関数を用いて、 文字が入力されているc,d,e列の数値を合計し、 90という結果が欲しい、ということです。 どなたかご教授をお願いいたしますm(__)m

  • セル範囲内いずれかの数値が他のセル範囲に含まれるかを調べたい

    EXCEL2003です。 A1~H1にそれぞれ3桁の数値が入っています。(空欄もあります。) これら範囲内の数値のいずれか一つでも他のセル範囲(次のシートのA1~A50まで)に 含まれていれば結果をJ1に表示したいのですが、可能でしょうか。 当初はJ1に、if(A1が含まれるか,"あった",if(B1が含まれるか,"あった",if(~と、 やってましたが、関数のネストレベルに引っかかってできませんでした。 MATCH関数だと一つの数値が含まれるかどうかは調べられるようですが、 検索したい数値が複数ある場合はやはりセルを分けて別々に評価するしかないのでしょうか?

専門家に質問してみよう