• 締切済み

条件を付けて組み合わせを絞って平均を出す関数は?

ABCに123を当てはめるとAから123、132、213、231、312、321で平均Aから2、2、2です。 A<Bという条件を付けるとAから123、132、231で平均Aから(1、33)、(2、67)、2です。 さらにA<Cという条件を付けると123、132で平均Aから1、(2、5)、(2、5)です。 さらにB<Cという条件を付けると123だけとなり平均はAから1、2、3です。 このように大小の条件を付けて成り立つ組み合わせを絞り込み、平均だけを出したいのですがこんな事が可能なエクセル関数はないでしょうか?今回は説明のためにABCだけでしたが実際はAからPに1から16を当てはめたいです。

みんなの回答

  • layy
  • ベストアンサー率23% (292/1222)
回答No.8

AとBでAが勝つ AとCでAが勝つ ・・・ AとPでAが勝つ これが15パターン BとCでBが勝つ BとDでBが勝つ ・・・ BとPでBが勝つ これが14パターン OとPでOが勝つ これが1パターン 左>右では 15+14+・・・で240パターン 逆の左<右は BとAでBが勝つ は1パターン CとAでCが勝つ CとBでCが勝つ は2パターン ・・・ で 計240パターン です。 引き分けは??ですが。 参考で。

全文を見る
すると、全ての回答が全文表示されます。
  • layy
  • ベストアンサー率23% (292/1222)
回答No.7

確率も?。 何パターンあって発生が何%か、の比を数値にしている感じです。 確率の式で求められるなら、関数電卓の機能が使えるかもしれません。 参考で。

全文を見る
すると、全ての回答が全文表示されます。
  • layy
  • ベストアンサー率23% (292/1222)
回答No.6

ABCは、6パターン=2:2:2 ABCのB<Cは、1パターン=1:2:3 や NO5さんの回答をみるとメジアンと一致しています。 (実現は関数なりVBAでしょうが、) 求め方は、数学的な話ではないでしょうか?。 あと、 16要素しかないということなら1度計算してしまえば決まるのでは?。 >平均Aから(1、33)、(2、67) >平均Aから1、(2、5)、(2、5) このかっこの意味がわかりません。

gashigeru
質問者

お礼

メジアンですか。調べてみます。かっこの中の点は小数点でかっこ1つで1つの数字を表します。かっこの外の点はAとBなどの間の点です。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.5

[計算例1] 1,2,3,4,5の5つの組で,B>Cの場合 判定に係わらないA,D,Eの平均値は等しく =AVERAGE(1,2,3,4,5)=3.0になる 判定に係わるBとCの,判定を満たす組み合わせは  B C  5 4  5 3  5 2  5 1  4 3  4 2  4 1  3 2  3 1  2 1 であり,この平均が求める答えになる  Bの平均 4.0  Cの平均 2.0 [計算例2] 1,2,3,4,5,6,7の7つの組で,B>CかつC>Dの場合 判定に係わらないA,E,F,Gの平均値は等しく =AVERAGE(1,2,3,4,5,6,7)=4.0になる。 判定に係わるB,C,Dの,判定を満たす組み合わせは  B C D  7 6 5  7 6 4  7 6 3  7 6 2  7 6 1  7 5 4  7 5 3  7 5 2  7 5 1  7 4 3  7 4 2  7 4 1  7 3 2  7 3 1  7 2 1  6 5 4  6 5 3  6 5 2  6 5 1  6 4 3  6 4 2  6 4 1  6 3 2  6 3 1  6 2 1  5 4 3  5 4 2  5 4 1  5 3 2  5 3 1  5 2 1  4 3 2  4 3 1  4 2 1  3 2 1 であり,この平均が求める答えになる  Bの平均 6.0  Cの平均 4.0  Dの平均 2.0

全文を見る
すると、全ての回答が全文表示されます。
  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

VBA応用では、演算はもちろん、画面表示して値入力したりボタン押すこともできてきます。 実際のコードはできないにしても、新規マクロを作ったらそれがコードになるので、イメージはつかんでおくのがよいでしょう。VBAでできているもの、サンプルからの動かし方は見ておく。

全文を見る
すると、全ての回答が全文表示されます。
  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

こういうのはプログラムになり、VBAで実現し実行でしょう。 関数にしてもセルを使うにしても使うときに考えながらするようなら、どこのセルをどう変えたら結果が出るか毎回把握できての話。 プログラム化して、AからDならD、AからPならP、必要な要素数を入力させることでそれに合う組み合わせや平均は出せると思います。 実行時間も問題ないと思います。 ABCのケースでいいので、わかりやすく伝えてサンプルを貰う。

gashigeru
質問者

お礼

ありがとうございます。VBAなんて初めて聞きました。早速やっていますがさっぱりわかりません。誰かに作ってもらおうと考えています。「VBAで順位の期待値を出したい。」というタイトルで質問しようと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

>このように大小の条件を付けて成り立つ組み合わせを絞り込み、平均だけを出したい Database関数を使って計算できます。 添付図参照: >ABCに123を当てはめるとAから123、132、213、231、312、321で 計算の元データとして,ABC列に全てのケースを羅列しておく。 ○計算例1「A<Bである組の平均」 F2セルに =A2<B2 と記入(記入した内容をF3セルに表示してある) 一つ上のF1セルを「必ず空っぽに」しておく ABC列にある元データ群の中から,この条件を満たす組(黄色で塗ってある)のA列のデータの平均値は F5セルに =DAVERAGE($A$1:$C$7,COLUMN(A1),$F$1:$F$2) のように求まります。 F5をG5,H5にコピーし,各列の黄色い組の平均値を得ます。 ○計算例2「A<Bであり,かつB>Cである組の平均」 F9セルに =A2<B2 と記入 G2セルに =B2>C2 と記入 やはり1行上のF8,G8セルは,必ず空っぽにしておく。 ABC列にある元データ群の中から,この条件を満たす組(枠で囲ってある)のA列のデータの平均値は F12セルに =DAVERAGE($A$1:$C$7,COLUMN(A1),$F$8:$G$9) のように求まります。 F12をG12,H12にコピーし,各列の枠で囲った組の平均値を得ます。

gashigeru
質問者

お礼

回答ありがとうございます。1から16を全て羅列するのは不可能に近いため0から17までという範囲を付けてその範囲の全ての数で同じ様に条件を付けて平均を出す事は出来ないでしょうか?

gashigeru
質問者

補足

ちなみにこれは16チーム参加のカルタ大会で順位の期待値を出して組み合わせを考えたり順位を付けたりするのに使用しようと思っています。カルタ大会なので一斉に終わって一斉に始まるため入力に時間がかかるとそれだけ参加者を待たせる事になります。質問の欄に付けたそうと思っていたのですが編集の仕方がわからなかったのでここに記入させていただきました。順位の期待値を出せればスポーツ大会等でより正確に近い結果が出せるのではと期待しています。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

Excel2007/2010ならAVERAGEIF,AVERAGEIFS関数があります。 条件がひとつの場合 =AVERAGEIF(条件の範囲,条件,平均を出す範囲) http://www.becoolusers.com/excel/averageif.html 条件が複数の場合 =AVERAGEIF(平均を出す範囲,条件の範囲1,条件1,条件の範囲2,条件2[,条件の範囲n,条件n]) http://www.becoolusers.com/excel/averageifs.html Excel97/98/2000/2002/2003の場合 条件がひとつの場合 =SUMIF(条件の範囲,条件,平均を出す範囲)/COUNTIF(条件の範囲,条件,平均を出す範囲) http://kuwako-lab.com/wordpress/?p=1011 条件が複数の場合 =SUMPRODUCT((条件の範囲1=条件1)*(条件の範囲2=条件2)[*(条件の範囲n=条件n)],平均を出す範囲)/SUMPRODUCT((条件の範囲1=条件1)*(条件の範囲2=条件2)[*(条件の範囲n=条件n)]) http://www.efcit.co.jp/cgi-bin2/exqalounge.cgi?print+200612/06120077.txt

gashigeru
質問者

お礼

回答ありがとうございます。具体的にどの様に入力すればいいのかわからないためABCDに1から4をあてはめ、A<B、B<Cの時を例にどの様に入力すればいいか教えてもらえないでしょうか?僕が必要なのは1から16なので全てを羅列するというのは無理なので0から17までの全ての数でもいいです。

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

関連するQ&A

  • エクセルを使って順位の期待値を出したいです。

    ABCに123を当てはめるとAから123、132、213、231、312、321で平均Aから2、2、2です。 A<Bという条件を付けるとAから123、132、231で平均Aから(1、33)、(2、67)、2です。 さらにA<Cという条件を付けると123、132で平均Aから1、(2、5)、(2、5)です。 さらにB<Cという条件を付けると123だけとなり平均はAから1、2、3です。 このように大小の条件を付けて成り立つ組み合わせを絞り込み、平均だけを出したいのです。エクセルを使って条件を入れるだけで簡単に平均だけを出したいのですが何か方法はないでしょうか?今回は説明のためにABCだけでしたが実際はAからPに1から16を当てはめたいです。ある大会で順位の期待値を出すために使用しようと思っています。

  • VBAで順位の期待値を出したい。

    VBAを使おうと思いましたがさっぱりわからず困っています。やりたい事はA1からP1の16セルに順位の期待値を出す事です。方法はこうです。まず1から16までをA1からP1までに重複しないようにあてはめ、全組み合わせの平均を出します。そうすると(8、5)、(8、5)、・・・となるはずです。次に大小の条件を付けます。例えばAがBに勝ったとしてA1<B1という条件を付けます。これだけで組み合わせが半減し、平均がA1から(5、67)、(11、33)、(8、5)、(8、5)、・・・となるはずです。さらにどんどん大小の条件を付け、組み合わせを絞り込みます。それで平均を出します。大小条件は簡単に入力出来た方がいいです。これらを可能にするにはどうしたら良いでしょうか?

  • エクセルを使って位置の平均を効率良く出したいです。

    0から1に無限に人が均等に分布しているものとし、無限人中1位が限りなく1に近付き、無限人中ビリが限りなく0に近付くものとします。無限人の平均は1/2、ランダムに選ばれた2人で大きい方の平均は2/3、小さい方は1/3です。2度大きい方を選び、その選ばれた2人のうち大きい方は4/5、小さい方は8/15です。このような平均をエクセルを使って出したいのですが何か方法はないでしょうか?計算式が必要になるかと思います。無限人中16人を選び出しA1からP1に平均が出るようにしたいです。A1の入れ方と大小の条件の入れ方お願いします。大小の条件とはA1>B1、B1>C1、D1>C1などです。ちなみにこの場合A1から11/15、7/15、1/5、3/5になるかと思います。計算式はA1からP1を使った方程式になるかもしれません。

  • 特定条件の平均値を出す関数

    こんにちは いつもお世話になっています。  エクセル2003で特定条件の平均値を出す関数を教えてください。     A     B 1   名前   得点 2   新井   80 3   伊藤   70 4   上田   100 5   江藤   90 得点の上位3名の平均を出す関数を教えてください。 「ソートしてから範囲選択して平均を出す」のを省いて、一つの関数の中で上位3人の得点を取得して(100点が4人いたら4人分になりますが)平均を出したいのです。 よろしくお願いします。

  • 条件を付けて平均を求めたい!(Excel)

    列   A      B         C    商品名    ランク       金額    1みかん    A        1000 行 2みかん    C         300    3みかん    B         600    4みかん    C            5             合計 1900    6             平均A    7             平均B    8             平均C 説明をする為に適当に作ったので、何故こんな物の平均を?と思うかもしれませんが、そこはあまり気にせずご回答頂ければ幸いです。 例えば、こんな表があったとします。(勿論、データ量はもっと沢山。。。) 各ランクごとの平均を求めたいのですが、どんな関数を使い、どんな範囲選択をすれば宜しいのでしょうか?  条件を付けAVERAGEで求めれば良いことはなんとなく分かるのですが・・・ 範囲の設定や数式の順番が全然分かりません。 よろしくお願いします。 ※金額欄(C列)・・・ 実際に未入力のセルがあるので、未入力のセルを0(ゼロ)として考えてくれる数式をお願いします

  • エクセル2007「ISNUMBER関数」の組合せについて

    エクセル2007「ISNUMBER関数」の組合せについて うまく説明できないので具体的に関数を掲載します。 「B列またはC列が空白の場合は空白セルとする」という関数を以下のようにつくりました。 =IF(OR(B2="",C2=""),"",DATEDIF(C2,B1,"Y")) (B1にはtoday関数が入力されています) これにC列が数値ではない場合も空白にするという条件を追加したいのです。 ISNUMBER関数を使うのだと思うのですが組合せ方がわかりません。 ご教示よろしくお願いします。

  • 関数の複数条件について

    たびたびご協力をお願いしておりますが よろしくお願いいたします!>< エクセルのIF関数などを使って以下の条件を満たす数式を作っていたのですが、 条件が変更になってしまい困っております。 【状態】 ・B2:E2の中に【空白、◎、●、▲】のいずれかが入っている ・条件によりF2に【S,A,B,C,ネタ】が入る 【条件】 ・S⇒すべて◎ ・A⇒3回連続した◎がある ・B⇒◎3つ以上だが連続していない ・ネタ⇒●が1以下かつ、◎がない ・Cがそれ以外 【困】 ~が無い、~を含まない時、という関数がうまく作れず、調べても出てきませんでした。 NOTでは?という結論に至ったのですが少し違うような気も……; 以前の条件が A:◎3つ以上 B:◎2つ以上、残りが● C:●3つ以上 ネタ:それ以下 であったので、長いのですが =IF(COUNTIF(M2:P2,"◎")>=3,"A",IF(AND(OR(COUNTIF(M2:P2,"◎")=2,COUNTIF(M2:P2,"◎")=1),COUNTIF(M2:P2,"●")>=2),"B",IF(COUNTIF(M2:P2,"●")>=3,"C","ネタ"))) で何とか構成しておりました。 アドバイス、お待ちしております。 【追伸】 ~以上、~以下の表記もうまく使えなかったのでこういった長い形になっているのですが もしよろしければ合わせてお教えいただけると幸いです。

  • 条件を組み合わせる関数について

    エクセルの関数を使って、条件を組み合わせた表を作成したいと考えています。 例 (表1) サル       1  2 ゴリラ       3   1 チンパンジー  2   3 ------------------------------------ (条件) A   - ● ● - B   ● ● - - C   ● - ● - ------------------------------------ (表1と条件を組み合わせたもの) サル       B   1 2 - - ゴリラ       C    3 - 1 - チンパンジー  A    - 2 3 - ------------------------------------ わかる方いらっしゃいましたら、教えていただけますでしょうか。 どうぞよろしくお願い致します。

  • エクセルで条件付きの平均値を求める関数

    お世話になります。 恐らく簡単な見落としかと思うのですが、 関数がうまく動いてくれないので質問します。 A1~A5に商品名群(空白セルあり)、B1~B5(空白セルなし)にその値段が入力されています。 C1セルに、A1~A5で空白ではない行のB1~B5セルの平均値を出したいです。 例: A1:リンゴ  B1:100 A2:(空白) B2:50 A3:みかん  B3:400 A4:メロン  B4:500 A5:みかん  B5:200 この場合、B2の「50」は含めず、それ以外の行の平均値を求める。 関数はC1=AVERAGEIF(A1:A5,"<>""",B1:B5)と入れたのですが、空白セルを除いて計算してくれません。 間違いが分かる方がいましたら、返信頂きたいです。

  • エクセルでの複数条件での平均値算出

    お世話になっております。 エクセルで、複数条件に一致した場合のみの平均値を算出する関数が判らずに困っております。 数値の他に「○」「×」「担当」「管理」「その他」とあり、どの様な関数を組めば良いのか、さっぱり判りません。 例としては次のとおりです。  A    B   C     D    1該  点数  A君  B君 2○  3.5   担当  管理 3○  3.9   担当  その他 4×  4.2   管理  担当 5○  4.1   管理  その他 6×  3.9   その他 担当 7        △     □ 上記の表があったします。 条件1:A列の該当が「○」 条件2:C列が「担当」もしくは「管理」 条件1と2を同時に満たした場合のみ、B列の点数を平均する 個々の平均を算出する式はC7(△)・D7(□)のセルでのみ処理を行う 上記なのですが、式が長くなっても構いません。 どなたかお判りになる方、なんとか教えて頂けませんでしょうか。

専門家に質問してみよう