• ベストアンサー

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

  • 曜日別

    エクセルで例えば 月 25 火 30 水 19 木 18 金 25 土 35 日 19 月 31 火 30 水 15 木 18 金 91 土 35 日 19 という表があります この表から 曜日別に 月 合計 火 合計 水 合計 という風にするにはどうすればいいのでしょうか? 祝祭日も加えたいです あと、曜日別に並べ替えたいです 月 25   31 火 30   30 という風に 教えてください   

  • Excelで曜日・数字が含まれた文字列を曜日別に分割したいです

    Excel関数で悩んでいます。 ひとつのセルに曜日と数字が入っていた場合に 数字別に曜日を分割する方法はあるでしょうか。 例)              月  火  水  木  金  土  日 月:500、水:800     500     800 月火:700、木:500    700  700 500 月:500、火水木金:700  500  700 700 700 700 上記のようにです。 条件のセルはひとつです。月~日は別セルです。(内容は数字になる) MINとかLENと使って数字を抜くことはできても複数の条件に対しての 数字がどうしても読み取れません。 よろしくお願いいたします。   

  • エクセル関数の問題を教えください

    問題 関数を使用し、下記の例題のような予定表の日、曜日を表示させてください (1)2011年2月の予定表を作成してください (2)2011年3月の予定表を作成してください (月末の日が月により変わりますので、その部分を関数で作成してください) (曜日部分は全て関数で作成してください) 例題 3 月予定表 日 曜日 予定 1 火 2 水 3 木 4 金 5 土 6 日 7 月 8 火 9 水 10 木 11 金 12 土 13 日 14 月 15 火 16 水 17 木 18 金 19 土 20 日 21 月 22 火 23 水 24 木 25 金 26 土 27 日 28 月 29 火 30 水 31 木

  • 曜日の順番

    曜日の順番は、何故、日、月、火、水、木、金、土?太陽系でなら、日、水、金、火、月、木、土になりますが、何故ですか?

  • ユダヤの曜日

    曜日のことなのですが、天動説のプトレマイオス体系で、地球から近い順番で、月-水-金-日(太陽)-火-木-土 となり、ここから、土-日-月-火-水-木-金 が出てくるのは分るのですが、これから、どうして、日-月-火-水-木-金-土 となるかと云うことの質問です。 ユダヤ人は、エジプトかカルデアにいじめられたので、土曜を後ろに回した、とよく書いてあるのですが、ユダヤの曜日は、数字の順番で、最後がサバット(安息日)となっているだけで、planetary にはなっていません。 サバットを土曜に当てはめれば、サバットは7日目の日だから、日-月-火-水-木-金-土 の順番は出てきますが、それでは、なぜ、サバットが土曜になったのでしょうか?

  • 曜日別に出勤を管理したい

    1ヶ月事の出勤表を作成したいのですが、 月水金or火木土 などの曜日で出勤する人がいます。 その曜日に出勤していれば 勤務した時間 例)6 などを表示したいです。          月 火 水 木 金 土 名前A 月水金 6    6    6  月曜日出勤なので 6 という条件をしたいです。 上記でわかっていただけるかがわかりませんが・・・宜しくお願いします。

  • SQLで曜日のソートを月火水木金土日にしたい

    こんにちは。SQLiteのソートについてお教え頂けませんでしょうか。 フィールドに曜日が入っています。その曜日をソートをかけると下記のようになります。 土 日 月 木 水 火 金 欲しい並び順は下記です。 日 月 火 水 木 金 土 Or 月 火 水 木 金 土 日 CSVに出力したり、色々したいので曜日順になっていてもらった方が色々助かるのですが、何か良い方法はないでしょうか? 今考えているのは、C#のフォームからSQL文を発行してSQLiteに問い合わせ。結果をC#側で受け取って、CSVに出力という事を考えています。

  • Excel 関数を使って曜日を自動的に出したい

    Excel関数を使って曜日を自動的に出るようにしたいです。 通常 10月1日 木 10月2日 金 10月3日 土 ・ ・ と表示したい場合、CHOOSE関数とWEEKDAY関数を使って 曜日を自動的に出すやり方はわかるのですが、 月と連動させて表示をさせたい (例) 10月 ← ★ここに「月」を入力すると ★その月に準じた日数が自動的に出てきて・・・ (10月なら31日まで、11月なら30日までというように) ↓ 1日 木 ←★さらに曜日も自動的に出る 2日 金 3日 土 という仕組みにしたいです。 どのように作ればよいでしょうか? わかりづらく申し訳ございませんが お知恵を貸してくださいm(_ _)m

  • 曜日のみを表示させたいです。

      _ 1|月|   _ 2|火|   _ 3|水|   _ 4|木|   _ 5|金|   _ 6|土|   _ 7|日|   _ 8|月|   _ 9|火|   _   ・   ・   ・ と上のように日付は出さずに曜日だけを表示させ、カレンダーのように繰り返し表示したいのですが、全くわかりません。 わかる方いらっしゃいましたら、教えてもらえると助かります。

    • ベストアンサー
    • PHP
  • エクセル関数 countのことで教えて下さい

    初歩な質問でスミマセン。。周りに聞ける人がいないものでよろしくお願いします! 月 火 水 木 金 土 日 月 火 水 木 金 土 日・・・・・ 10 12 15 12 22 23 10 22 25 12 30 22 35 15 ↑のような表があり、これを元に各曜日毎に15以上の曜日をカウントしたいのです。。 countif("曜日の範囲","月")等で、各曜日のカウントを現在やっているのですがその各曜日から 15未満の日をカウントしないようにする工夫はできませんでしょうか? なにとぞ宜しくお願いいたします。 ちなみにエクセルは2003です。

専門家に質問してみよう