• ベストアンサー

EXCELで曜日別に○の確立を求めたい場合

下記のような表の時、曜日別に確立を出すのはどうすればいいのでしょうか 1日 | 月 | ○ 2日 | 火 | × 3日 | 水 | × 4日 | 木 | × 5日 | 金 | ○ 6日 | 土 | × 7日 | 日 | ○ ~~~~~~~~~~ 31日 | 月 | ○ こうなっていた場合に、曜日別に○が出る確立を求めたいのですがまるで分かりません。 よろしければご教示頂けませんでしょうか。 ちなみに使用しているEXCELは2002です。

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

  • ベストアンサー
noname#79209
noname#79209
回答No.5

#3です。 そう言う意味なら納得です。 でも、はじめからそう説明して頂きたかったですね。 日付がA2から最大A32、○×がC列にあったとして、 日曜日の場合 =SUMPRODUCT((WEEKDAY(INDIRECT("$A$2:$A$"&DAY(EOMONTH($A$2,0))+1),1)=1)*(INDIRECT("$C$2:$C$"&DAY(EOMONTH($A$2,0))+1)="○"))/SUMPRODUCT((WEEKDAY(INDIRECT("$A$2:$A$"&DAY(EOMONTH($A$2,0))+1),1)=1)*1) 月曜日の場合 =SUMPRODUCT((WEEKDAY(INDIRECT("$A$2:$A$"&DAY(EOMONTH($A$2,0))+1),1)=2)*(INDIRECT("$C$2:$C$"&DAY(EOMONTH($A$2,0))+1)="○"))/SUMPRODUCT((WEEKDAY(INDIRECT("$A$2:$A$"&DAY(EOMONTH($A$2,0))+1),1)=2)*1) こんなに複雑になっているのは、普通なら日曜日の場合は =SUMPRODUCT((WEEKDAY($A$2:$A$32,1)=1)*($C$2:$C$32="○"))/SUMPRODUCT((WEEKDAY($A$2:$A$32=1)*1) で済みますが、他の月でも使う事を考慮するとこんなになってしまいます。 要はデータが何行目まで有効なのかを取得する必要が有るからです。 INDIRECT("$A$2:$A$"&DAY(EOMONTH($A$2,0))+1),1) の部分は、OFFSET関数などを使う方法も有ります。 また、別途どこかのセルに「$A$2:$A$32」と「$C$2:$C$32」を算出する計算式をいれておけば、もう少しスッキリするでしょう。

Go-Takkyu
質問者

お礼

ありがとう御座います。 ちょっと難しそうですが、ご教示頂いた関数と本を見て 理解しながらやってみようと思います。 また、説明が言葉足らずだった事お詫びします。

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

その他の回答 (5)

noname#79209
noname#79209
回答No.6

#3です。 D列をワーク列に使って良いなら D2に =WEEKDAY(A2,1)*(C2="○") としておけば、 日曜なら、COUNTIF関数でD列が「1」のセルをカウントすれば 日曜日で○の数が算出できます。 しかし、その月に日曜日が何日有るかは、その月の最終日が 何行目かを取得しなくてはならないので、 例の面倒な計算式になってしまいます。

Go-Takkyu
質問者

お礼

ありがとう御座います。 まず最初に#5を理解してから試してみたいと思います。 何度もありがとう御座いました。

すると、全ての回答が全文表示されます。
noname#79209
noname#79209
回答No.4

> 3÷31ではなく3÷4の様に出したいです。 えーっ? 3÷7でなくて3÷(7-3)ですかぁ? それって確率とは言わないでしょう?

Go-Takkyu
質問者

お礼

例えば、今月は日曜日が5日有りますよね? で、その中で○が3つと×が2つあるとする そうすると日曜日に○が出る確率は3÷5 同じように水曜日は4日あり、その中で○が3つと×が1つあったら 3÷4で水曜日に○が出る確率が求められると思うんですが。 これが確率でないなら何なのでしょうか

すると、全ての回答が全文表示されます。
noname#79209
noname#79209
回答No.3

1日や2日、曜日は直接文字として記入しているのですか? それとも日付データなのですか? 確率とは、日曜日に○が3日あったら「3÷31」で良いのですか? 確率は最大でも「5÷29=0.172」ですが、それで良いのですね?

Go-Takkyu
質問者

お礼

日付等はシリアルで記載しています。 そして確率ですが、曜日毎で出したいので 3÷31ではなく3÷4の様に出したいです。

すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.2

》 曜日別に確立を出す… この場合「確立」とはどういう意味ですか?「確率」の間違いですか?

Go-Takkyu
質問者

お礼

回答ありがとう御座います。 あ・・・ ご指摘の通り「確率」の変換間違いです。

すると、全ての回答が全文表示されます。
  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.1

WEEKDAY関数を使って曜日を数値化し、また○なら1、×ならOとIF関数を使って変換してやれば、後はCOUNTIF関数とSUMIF関数を使えば確率が求められます。 技巧的に一気にやる方法もなくはありませんが、作業セルを使って地道にやってみてください。

Go-Takkyu
質問者

お礼

回答ありがとう御座います。 私にはちょっと難しいかも知れませんが、ご回答頂いた内容を試しながら色々やってみたいと思います。

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

関連するQ&A