• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文: 《エクセル2000》配列数式を使って抽出したデータの平均値と、フィルタをかけた場合との答えが違う?)

エクセル2000で配列数式を使ってデータの平均値を抽出する方法とフィルタをかけた場合の違い

このQ&Aのポイント
  • エクセル2000で配列数式を使ってデータの平均値を抽出する方法と、フィルタをかけた場合の答えが違う理由について説明します。
  • B列に価格、C列に1~4の数値もしくはブランクが入っている場合、C列が1の値の価格の平均値を出すために配列数式を使用します。
  • しかし、フィルタをかけてC列が1のもののみを表示させ、SUBTOTAL関数を使って平均値を出すと、配列数式で出した数値と微妙に異なる結果になります。この違いの理由についても解説します。

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

  • ベストアンサー
  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.1

当たっているかどうかはわかりませんが: C列のデータの中に、数値でなく文字列の"1"が入っているとAVERAGEとSUBTOTALは異なる結果を返します。 (AVERAGEは文字列"1"の行を無視し、SUBTOTALは文字列"1"の行を含めます)

bari_saku
質問者

お礼

こちらの回答が大きなヒントになり、自己解決できました。 C列が1でB列がブランクの場合、配列数式ですとアプリケーションがブランクを0としてしまっているのが原因のようです。 (平均を出す時の、分母の数字が大きくなってしまう) 平均値を出すので、「データなし」と「0」では大きく意味合いが違ってしまうので、また新たな問題が発生しましたが、謎が解決しお陰様ですっきりしました。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 配列数式での平均値

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

  • 配列数式で平均を出すと空欄が0で計算されてしまう

      A B C D 1  1 2 1 {=AVERAGE(IF($A$1:$A$4=$C1,B$1:B$4))} 2  1 4 2 {=AVERAGE(IF($A$1:$A$4=$C2,B$1:B$4))} 3  2 6 4  2 8 上記のような数値、数式ですと、 B列すべてに数値が入力されているため、問題なく計算するのですが、 例えば、B2のセルを空欄にすると、空欄を0としてしまい、 D1の計算結果が1となってしまいます。 D1の数式を=AVERAGE(B1:B2)としますと、空欄は空欄として扱い、 計算結果は2となります。 配列数式を使った場合にも、空欄を空欄として扱い、 計算結果が2となるような方法はありませんでしょうか。 よろしくお願いします。

  • ある条件を満たした最も近い数値を求める配列数式

    ある条件を満たした最も近い数値を求める配列数式について質問します。 A列には,C列の数値と比較する元になる数値が並んでいます。 B列には,D列の数値と比較する元になる数値が並んでいます。 C列には,A列の数値と比較する対象となる数値が並んでいます。 D列には,B列の数値と比較する対象となる数値が並んでいます。 E列には,計算式が入ります。 すなわち,例えば,E20には, C$1:C20の範囲内の数値で, 右となりにあるD$1:D20の数値が0でなく,かつ,B$1:B20の数値以下である数値の中で, 最もA20の数値に近い数値を求めます。 A  B   C   D  E 1 100  10 89   0   0 2 101 8 90    10    0 3 102 11 92    11   92   4 99 7 77      0   0 5 87 11 68    12   92 6 105   14 100     7   100 7 102 9 78     8   100 8 88 15 102     0    90 9 98 14 99    10    99 10 150 13 78     9   100 11 103  8 79     0   100 12 87 9 68     8   78 13   77   10    70    10   78 14   89   12    71     5   90 15   65   14   102     3   68 16   88   13   105     0   90 17   123  15    98     8   102 18   145  17    99    10   102 19   85    8   100     0   90 20   84    9    87    5    78 一定の条件を満たした配列の合計を計算する関数として,SUMPRODUCT()という便利な関数がありますが, この関数に相当する関数がないので困っています。 MIN関数が配列数式に対応していて,かつ,MIN関数をうまく利用して,最も近い数値を求めることがでるき方法があれば,私の希望が解決できそうなのです。 以上,よろしくアドバイス願います。

  • ある条件を満たした最も近い数値を求める配列数式

    ある条件を満たした最も近い数値を求める配列数式について質問します。 A列には,C列の数値と比較する元になる数値が並んでいます。 B列には,D列の数値と比較する元になる数値が並んでいます。 C列には,A列の数値と比較する対象となる数値が並んでいます。 D列には,B列の数値と比較する対象となる数値が並んでいます。 E列には,計算式が入ります。 すなわち,例えば,E20には, C$1:C20の範囲内の数値で, 右となりにあるD$1:D20の数値が0でなく,かつ,B$1:B20の数値以下である数値の中で, 最もA20の数値に近い数値を求めます。もし,この条件に合う最も近い数値が複数あった場合には,最も小さい数値を求めます。 行番号   A    B    C   D   E 1       100   10  89   0   0 2       101   8   90  10   0 3       102   11  92  11  92   4        99   7   77  0   0 5        87   11  68  12  92 6       105  14  100  7   100 7       102   9   78  8   100 8       88   15  102  0    90 9       98   14   99  10    99 10      150   13   78  9   100 11      103    8   79  0   100 12      87     9   68  8   78 13      77   10  70  10   78 14      89   12  71   5   90 15      65   14  102  3   68 16      88   13  105  0   90 17     123   15   98  8   102 18     145   17   99  10   102 19      85    8  100  0    90 20      84    9   87  5    78 一定の条件を満たした配列の合計を計算する関数として,SUMPRODUCT()という便利な関数がありますが, この関数に相当する関数がないので困っています。 MIN関数が配列数式に対応していて,かつ,MIN関数をうまく利用して,最も近い数値を求めることがでるき方法があれば,私の希望が解決できそうなのです。 以上,よろしくアドバイス願います。 なお,エクセルのバージョンは,2010です。 本日,同じ表題の質問をしましたが,その際の質問の本文に掲載した数列が崩れていましたので,再度投稿します。 質問番号:6449070

  • 配列数式がわかりません。

    {=SUM(IF(E4:E18="福岡",G4:G18,0))} という式で正しい答えは出せたのですが、SUMのところをaverageに変更し平均を出そうとしても違う答えが返ってきます。 maxに変更したときは正しい答えが返ってきました。使えるものと使えないものがあるのでしょうか??? 配列数式がいまいちわかりません。よろしくお願いします。

  • Excel 配列数式

    Excelにて日付の2列x数行からなる表があります。 A列  B列 1 2008/2/1 0:00 2008/2/2 12:00 2 2008/3/1 0:00 2008/3/3 00:00 .. 集計セル: A列とB列を比較して、24時間以内の誤差である行数をカウントした結果を 集計セルに入力したいのですがどのようにしたら良いでしょうか? B列からA列を引いて-1以上1以下の場合を真として、その結果をカウントして 集計セルに叩き込めばよいと思いますが、思うようにできません。。 配列数式を使えば出来そうな気がしますが思ったような結果が得られ ません。 よろしくお願いします。

  • エクセルにて平均値を表示したいけど?

    エクセルにて平均値を表示したいけど? その方法が分かりませんので宜しくお願いします。 月別売上金の平均値を表示させたいのですが、 A列から1月B列2月順次L列12月としてM列に其の月までの平均値を表示させたいのですが 該当月までの平均値をIF関数にてできますでしょうか?  現在はAVERAGEの数式を該当月の列に置き換えて利用していますが 各月ごとに数値を入力すれば即該当月までの平均値が表示できればと思います。  尚 現在は年間分入力用書式を作成されて月末に数値を入力、数式を変える、作業をしています。 OSはオフィス2007を使用してます。 宜しくお願いします。

  • 数式の平均値

    色々と調べてみたのですがどうしてもわからないので 質問させて下さい。 エクセル2007でaverageを使った所、「♯DIV/0!」 と出てしまいました。原因は恐らく、指定したセルが 見かけ上は数値ですがそのセルをクリックすると 上の数式バーに数値そのものではなく数式が出てくる 数式だからでしょう。数値ではなくて数式の平均値 だから出ないのだと思います。 それではこの場合、数式ではなく数値の平均を 算出する方法はないのでしょうか。 課題の提出が明日までで大変困っています。 ご存知の方は教えて頂ければ幸いです。

  • 《エクセル》 平均値の求め方

    いつもお世話になります。 列Aに分類、列Bに数値がある場合に、「列Aの重複する分類の平均値を求める。ただし、列Bの値がゼロや空白だった場合、それを計算から除外する」という配列数式を組みたいのですが、うまくいきません。 お手数ですが、宜しくお願い致します。

  • 配列数式? 中央値 平均値

    いつもお世話になっております。 早速ですが以前質問させていただいた内容からも発展というか 修正というかです。 http://oshiete1.goo.ne.jp/qa4561210.html 当初、配列数式にて =IF(COUNTIF($A$2:$A$33930,A2)=1,b2,AVERAGE(IF($A$2:$A$33930=a2,$B$2:$B$33930)))} を使用しておりましたが、 = SUMIF($A$2:$A$33930,A2,$B$2:$B$33930)/COUNTIF($A$2:$A$33930,A2) でも、同一の回答が得られまた処理も大変早く行われるため 非常に助かっておりました。 しかし、最近になって元データ側に不具合あり 平均値ではターゲットとする値から離れていることが発覚しました。 そのため、平均値から中央値 最頻値 のどちらかと思っているのですが 同一データが2つ無い場合もあるため最頻値ではエラーになると思い 中央値で求めたいと思っています。 データ量が6000行を超える場合もあり 配列数式を使って計算するべきなのか、他に良い方法があるのか教えて頂きたく よろしくお願いします。 エクセル2003です

(1/2)^x ・(1/2)^(3-x) の意味
このQ&Aのポイント
  • (1/2)^x ・(1/2)^(3-x) の意味について説明します。これは、確率の計算式であり、xが0~3の値をとる限り、どれも一定で1/8になります。
  • 具体的に、x=0の場合は1通りの組み合わせがあり、x=1の場合は3通りの組み合わせがあります。全ての組み合わせを合計すると8通りになり、各x通りを8で割ると、1/8になります。
  • したがって、(1/2)^x ・(1/2)^(3-x) は、成功の確率と失敗の確率を表しており、掛け合わせることで確率の計算が行われます。具体的な計算方法は、指数の法則を用いて計算されます。
回答を見る

専門家に質問してみよう