- ベストアンサー
エクセルのDCOUNT関数で二つの条件を満たす個数を数える方法
- エクセルのDCOUNT関数を使用して、Parが4のホールでパーを取った数を集計する方法について教えてください。
- また、同様にParが4のホールでバーディを取った数を集計する方法も教えてください。
- DCOUNT関数を適用する際に、データの行と列を入れ替える作業を避けたいので、他の解決方法も教えていただけると助かります。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
No.2です! たびたびごめんなさい。 前回の方法は単純にEagle~DoubleBogeyのホールが何ホールあるか? という方法だったので的外れだと思います。 もう一度画像をアップしてみます。 今回はB7セルにParの数値を入力すればC7セルに18ホールの中で何ホールあるか? そして、B8~B10セルはBirdie~Bogeyのホールが何ホールあるか? という感じで表示させています。 C7セルは =COUNTIF(B2:S2,B7) B8セルは =SUMPRODUCT(($B$2:$S$2=$B$7)*($B$4:$S$4=ROW(A1)-2)) という数式を入れ、オートフィルで下へコピーしています。 どうも何度も失礼しました。 今回も外していたらごめんなさいね。m(__)m
その他の回答 (7)
》 自分で考える能力が無いものですみません 質問丸投げは歓迎されませんが・・・ チッタぁ、自分の出来るところまでは書いた方が・・・ A B C D E F … S T U V W 1 Par 4 4 3 5 4 … 4 Bir Par Bog 2 Ryo 5 4 5 4 4 … 5 1 4 5 3 Woods 4 4 3 3 4 … 5 2 5 3 4 Ai 3 4 4 3 3 … 5 7 1 2 U2: =SUMPRODUCT(($B$1:$S$1=4)*($B2:$S2=COLUMN(C2)))
お礼
SUMPRODUCTという関数が、自分では見いだせませんでした。さんざん悩んだんですけどね。皆さんの回答でよく分かりました。ありがとうございました。
- hige_082
- ベストアンサー率50% (379/747)
パー(パーとスコアが同じ) =SUMPRODUCT((B1:F1=B2:F2)*1) バーディ(パーよりスコアが小さい) =SUMPRODUCT((B1:F1>B2:F2)*1) ボギー(パーよりスコアが1大きい) =SUMPRODUCT((B1:F1=B2:F2+1)*1) ダブルボギー(パーよりスコアが2大きい) =SUMPRODUCT((B1:F1=B2:F2+2)*1) 大たたき(パーより2以上大きい) =SUMPRODUCT((B1:F1<B2:F2+2)*1) こんな感じでどうでしょう?
お礼
SUMPRODUCTという関数が、自分では見いだせませんでした。皆さんの回答でよく分かりました。本当にありがとうございました
- okormazd
- ベストアンサー率50% (1224/2412)
- Cupper
- ベストアンサー率32% (2123/6444)
初心者さんと言うことですので、基本的なお話からしましょう >このデータの行と列を入れ替えるという作業は避けたいのです。 これが大間違いなんです Excelなど表計算のデータは横に項目を並べて、縦にデータを並べるようにできています 質問のようにどうしても縦と横の関係を逆にする必要がある場合は TRANSPOSE関数(配列関数) を使って別に表を作り直したりします このように、見た目のシートと計算用のシートを別にすることで解決することがありますので そういった方法を使うなどしてください (これは自身で考えてください。でないと作業依頼の投稿になりますよ) ■本題 それでも基本のアドバイス 「ピボットテーブル」 を使ってみてください http://www11.plala.or.jp/koma_Excel/pivot_menu.html などのサイトを参考にするか、書店で解説書を購入して手元に置きながら作業をすると良いでしょう (解説書は初心者さんには必須アイテムですので、自身の使い方にあったものを自身の目で選ぶことをお奨めします)
お礼
ありがとうございました。ご指摘、真摯に受け止めます。ピボットテーブルは理解して使っておりますが、別の方法と思って質問しました。ドンピシャの回答をもらえましたので、納得しております。ありがとうございました。
- mshr1962
- ベストアンサー率39% (7417/18945)
DSUM,DCOUNT等のデータベース関数は1行目が項目名で2行目以降がデータの場合しか使えません。 現行の表記の場合は使用はあきらめてください。 代替の関数ですが、 ■EXCEL2007の場合 バーディー=COUNTIFS(B1:S1,4,B2:S2,3) パー=COUNTIFS(B1:S1,4,B2:S2,4) ボギー=COUNTIFS(B1:S1,4,B2:S2,5) ■EXCEL2007以前の場合 バーディー=SUMPRODUCT((B1:S1=4)*(B2:S2=3)) パー=SUMPRODUCT((B1:S1=4)*(B2:S2=4)) ボギー=SUMPRODUCT((B1:S1=4)*(B2:S2=5))
お礼
No.1の方と同じ回答ですよね。SUMPRODUCTはエクセルのHelpで検索しても分かりませんでした。教えていただいた後でも、その結果が導かれる理由がまだ分かりません。奥が深いですね。ありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 参考になるかどうか判りませんが・・・ 一気に結果を求める方法ではありません。 ↓の画像のようにScoreの一つ下に作業用の行を設けています。 作業行B4セルは =B3-B2 として18番ホールまでオートフィルで列方向へコピーします。 そして、結果が知りたいC7セルに =COUNTIF($B$4:$S$4,B7) という数式を入れオートフィルで下へコピーすると 画像のような感じになります。 尚、B7~B12の数値はあらかじめ入力しておきます。 単純にホール数だけ集計していますので、 何番ホールがどういう結果だったか?というのは作業用の行で判断するしかないと思います。 以上、参考になれば幸いですが、 他に良い方法があったり、的外れだったら 読み流してくださいね。m(__)m
お礼
ご回答ありがとうございます。ご丁寧に画像も付けていただき恐縮ですが、これだと、全体でパーやバーディの数は分かっても、パー4での数、パー3での数というのが分かりませんよね。私はそこを悩んでおりました。他の方の回答で解決しましたので、質問を締めさせていただきます。ありがとうございました。
- minosennin
- ベストアンサー率71% (1366/1910)
こんな方法はどうでしょうか。 1,2行目、A列からR列にデータがあるものとして パー =SUMPRODUCT(($A$1:$R$1=4)*($A$2:$R$2=$A$1:$R$1)) ボギー =SUMPRODUCT(($A$1:$R$1=4)*($A$2:$R$2=$A$1:$R$1+1)) バーディー =SUMPRODUCT(($A$1:$R$1=4)*($A$2:$R$2=$A$1:$R$1-1)) なお、式中の数字を変えればいろいろ対応できます。 関数式はこの画面からEXCELへコピー貼付できます。
お礼
完璧な回答をいただきました。SUMPRODUCTという関数を自分では見つけ出すことができませんでした。本当にありがとうございました。ベストアンサーにさせていただけなかったのが残念です。申しわけありません。
お礼
何度もご丁寧にありがとうございました。この回答を読まずに先の回答に中途半端なお礼をしてしまいました。失礼いたしました。SUMPRODUCTを使うというのが、この作業で必要だと言うことがよくわかりました。ありがとうございました。