• ベストアンサー

エクセルの数式の組み方

matsu_junの回答

  • ベストアンサー
  • matsu_jun
  • ベストアンサー率55% (146/265)
回答No.3

otiotiさん、おはようございます。 結論からいうと =AVERAGE(INDIRECT(ADDRESS(MATCH(C1,A:A,0),2)&":"&ADDRESS(MATCH(C2,A:A,0),2))) と御記入いただければ解決できるものと思います。 以下、数式の解説を行いますので、お時間がおありでしたら御参照ください。 MATCH(C1,A:A,0) で、A列に書かれている数字群から、セルC1で書かれている数字(ここでは2)の書かれている行番号を返します。 従って、ここでは2(行目)となります。 ADDRESS(行番号,列番号)で、セルの番地を文字列で返します。従って、 ADDRESS(MATCH(C1,A:A,0),2) は、この場合ADDRESS(2,2) になるので、$B$2 という文字列が返ってきます。同様に ADDRESS(MATCH(C2,A:A,0),2) は、$B$3 という文字列が返ってきます。 数式中の「&」は文字を連結させる記号ですので、 ADDRESS(MATCH(C1,A:A,0),2)&":"&ADDRESS(MATCH(C2,A:A,0),2) は、「$B$2:$B$3」という文字列を作り出すことになります。 この文字列をExcelにセル範囲ですよと認識させるために、INDIRECT関数を使います。 INDIRECT(ADDRESS(MATCH(C1,A:A,0),2)&":"&ADDRESS(MATCH(C2,A:A,0),2)) は、セル範囲B2からB3までですよという意味です。このセル範囲の平均を取るために、AVERAGE関数を使ってやればよいのです。

関連するQ&A

  • Excel の数式を教えて下さい。

    Excel 2003 を使用しております。 A列 の A2 から A10 のセルに数値データが入っています。 この A列 数値データの中の最大数値のセルと、同じ行の E列 のセルの数値を B1 のセルに表示する数式を教えて下さい。 要約: A列 の最大数値のセル、例えば、A5 とすると E5 のセルの数値をB1 のセルに表示。 宜しくお願いいたします。

  • エクセルの数式についてお尋ねします。

    数千個の単語帳を逐次ソート、整理しています。 =IF(($A9=$A10)*AND($B9=$B10),"★","○ ") A列に英単語とB列にそれに対応する日本語を入力しました(2行目以下)。 数千個の単語帳ですので、重複があります。それで、データ並び替えで整列させたあと、上下の同一セルをチェック、異なれば○、同一であれば★をC列に表示させました。 上は、セルC9の数式です。 今度は、C列を見ていくのですが、これが面倒ですので、セルC1に、その下のC列上の★マークの数を表示させたいのですが、可能でしょうか。 C列(2行目以下)には、上の数式が入っています。 よろしくお願いします。

  • 再度、Excelの数式について、今朝

    再度、Excelの数式について、今朝 今朝、KURUMITO様から、下記1)~3)の条件での数式を親切に教えて頂きました。 教えて頂いた数式 =SUMPRODUCT(A4:A55,B4:B55)/H2 その後、条件が1)2)は同じですが、4)が増えたため3)が5)に変更になりました。 自分なりに次のように作ったのですが、エラーになります。=SUMPRODUCT(C4:C55="S")*(A4:A55,B4:B55)/H2 正しい数式を教えてください。バージョンは Excel2003 です、 宜しくお願いいたします。 1)A列 A4からA55まで、数字のデータが入ってるセルと、入ってないセルがあります。 2)B列もA列同様、B4からB55まで、数字のデータが入ってるセルと、入ってないセルがあります。(データの入ってる行は、A列で入っていれば、B列の同じ行に入っています)、 3)A列とB列のデータの入っている行を順番に4から55行まで、掛け算をして(例えば、A5*B5)、その4から55行まで合計を、H2に入っている、ほかの合計の数値で、割り算をする計算式をK2のセルに、一つにまとめて入れ、計算結果を表示したいのです。 4)C列もA列B列同様、C4からC55まで、B又はSの”文字のデータ”が入ってるセルと、入ってないセルがあります。(データの入ってる行は、C列(文字データ)で入っていれば、A列(数字データ)、B列(数字データ)の同じ行に入っています) 5)C列の”文字データ”がSならばA列とB列のデータの入っている行を順番に4から55行まで、掛け算をして(例えば、A5*B5)、その4から55行まで合計を、H2に入っている、ほかの合計の数値で、割り算をする計算式をK2のセルに、一つにまとめて入れ、計算結果を表示したいのです。

  • エクセルの数式をどのように入れたら良いでしょうか?

    エクセルの数式をどのように入れたら良いでしょうか? いつもこちらでお世話になっています。 今回も教えて頂きたく質問させていただきます エクセルについてですが、 sheet1に入っているデータを sheet2に入力するようにしたいのですが sheet1の A列に1~50までのNo. →A1セルにNo.1、A50セルにNo.50 B列に(1)データ C列に(2)データ があり sheet2の D5のセルに「1」と入力すれば、sheet1!A列の数字とリンクしてsheet!B1の(1)データが入り D6のセルに「10」と入力すれば、Sheet1!A列の数字とリンクしてsheet!C10の(2)データが入る ように設定し、 さらにsheet2のD5,D6のセルに上書きで(繰り返し)数字を入力させ 数式が消えないようにしたいのですが どのようにすればよいでしょうか? 分かりずらい説明で申し訳ありませんが 大変困っているので、アドバイス頂けると助かります。

  • エクセル:数式の結合

    お世話になります。 A1セルに =B1 A2セルに =B2+C2 A3セルに =B3+C3+D3 ・・・ という式があるとします。 ここにそれぞれのF列の数式を追加したいと思います。 A1セル =B1+(F1の数式) A2セル =B2+C2+(F2の数式) A3セル =B3+C3+D3+(F3の数式) ・・・ となるようにしたいのですがどのようにすればよろしいでしょうか? 結果だけであれば足し合わせればよいのですが数式を書き換えたいというのが希望です。 (最終的にはA列の数式とF列の数式をあわせてひとつの列にしてしまいたいのです) 置換や関数ではどのようにしたらいいかわかりませんでした。 (マクロは手を出したことがありません) 文字列の結合ならCONCANTATE関数でできるのですが中の数式をうまく結合するには・・・ と考えていっても無理でした。 すみませんがお教えください。

  • Excel たくさんの条件を含んだ数式を使いたい

    あまりExcelが得意ではない者です。 何卒、お助けいただければと思います。 簡単なバイトのタイムシートを作りたいのですが、 次のような場合、どのような数式(?関数)を使えばいいのかわかりません。 平日は勤務時間×時給(例えば800円)で、 土日祝は勤務時間は入力するものの、勤務時間に関係なく日給(例えば1500円)だとします。 但し、まだ勤務時間を入力していない場合は、空白を表示するようにしたいのです。 そして、土曜日なら、セルの色を水色、日曜・祝日なら、セルの色をピンクにしたいのです。 例えば Aの列に曜日を、Bの列に勤務時間を、Cの列にその日の給料を表示させたいのです。 A    B     C 木   1.5   1.5×800された数字 金   2     2×800された数字 土   3     4000であり、セルは水色 日   未入力  空白であり、セルはピンク このようなことにしたいので、 Cの列に入力すべき数式(?関数)を教えてください。 宜しくお願いします。

  • この数式を増えていくデータに対応させたい

    INDEX(Seet2!B$2:B$44,SMALL(IF(Seet2!$A$2:$A$44=検索セル,ROW(Seet2!$A$1:$A$43)),ROW(Seet2!B1))))) データはSeet2に記載され、この数式はSeet1に記しています。また、CTRL+SHIFT+ENTERします Seet2                Seet1 A列 B列 C列           G列              H列 検  デ  デ            検索セル 索  |  |            データ1(ここの数式)  データ2 値  タ  タ             データ1          データ2     1  2 現在の数式ではSeet2のデータ、44行目までしか対応できません。 しかしデータの行は増えていくもので対応させたいのですが、どこにどう入れたらいいのか分からなくなってしまいました 検索結果に複数でたとき、全て表示させる数式です。

  • エクセル数式で作った表に関して

    課題の資料にデータを整理しています。 素人の為、以前もこちらで助けていただいたのですが、また行き詰ってしまったので、助けていただきたいです。 よろしくお願いします。 例えば、sheet1に下の様なデータを入力し、   A列 B列 C列 D列 1  1日 3  2  5 2  2日 5  3  4 3  3日 4  1  2 4  4日 2  7  6 5  5日 8  4  7 6  6日 9  5  3 7  7日 7  6  1 ・ ・ A1~D5までの列の平均、最大値、と最大値に対するA列の日付をsheet2に下の様に表示したいです。   A列              B列            C列  1  B列の平均         C列の平均         D列の平均   2  B列の最大値        C列の最大値        D列の最大値  3  B列の最大値に対応するA列 C列の最大値に対応するA列 D列の最大値に対応するA列  ここまでは出来たのですが、その下に、A6~D10、A11~D15と表を続けていきたいのですが、 Sheet2のA1~C3を選択し、カーソルを右下に沿わせ+をクリックして下にドラッグしても、続きのセルには 対応せず、うまくいきません。 説明が下手でわかりづらいかと思いますが、 Sheet1で入力したデータを、5行ずつsheet2で数式の表にしたいということです。 よくあるデータ整理の仕方だと思うのですが、初心者のため、上手くいきません。 どなたか助けていただけたら幸いです。

  • 配列数式での平均値

    こんにちは。 今、エクセルで配列数式を使って平均値を出す作業をしています。 列Aには男女別を示す1、2が入力されており、 列B以降にはいろいろなデータが入っています。 それらデータにおける男女別の平均値を出したいので 配列数式を使って求めるまでは良かったのですが、 どうやら、列B以降の空欄になっているセルも 0として計算されてしまっているようなのです。 (普通のaverageと同様に)空欄を数に入れないで計算させるには どのようにしたらよいのでしょうか? ちなみに今使っている配列数式は、 {=average(if(A1:A10=1,B:B10,""))} です。

  • エクセルの数式を教えてください

    エクセルの数式を教えてください B3のセルに数式「=A3」を入れてA3と同じ入力内容を表示したいのですが、A3がブランクのときにB3のセルには「0」が表示されます A3がブランクのときにB3のセル表示もブランクにするにはどうすればよいのでしょうか?