COUNTIFの使い方について



◇-?COUNTIFの使い方について-わいわい(2005/3/2-15:25)No.242292
 ┗??Re:COUNTIFの使い方につ...-白茶(2005/3/2-16:11)No.242302
  ┗??!Re:COUNTIFの使い方につ...-わいわい(2005/3/4-12:49)No.242776
   ┗??!!Re:COUNTIFの使い方に...-白茶(2005/3/4-13:34)No.242787
    ┗??!!?Re:COUNTIFの使い方に...-わいわい(2005/3/4-16:09)No.242816
     ┗??!!?!ごめんなさい、失敗です...-白茶(2005/3/4-19:11)No.242852
      ┗??!!?!~訂正しました...-白茶(2005/3/4-20:31)No.242865

▲このページのトップに戻る
242292COUNTIFの使い方についてわいわい URL2005/3/2-15:25

メーカー名:DELL デル
OS名:WindowsXp HomeEdition
パソコン名:4700c
ソフト名:エクセル
使用回線:光
--
下記のようなデータを変則的なデータを数えるcountif関数の応用例をご指導ください。

日付 ‖  現在の(○)の数   
−−−−−−−−−−−−−−−−−−−−−−
1/1‖○    (1)………○をカウントします。
−−−−−−−−−−−−−−−−−−−−−−
1/2‖◎    (0)………でカウント数が「0」に戻ります。
−−−−−−−−−−−−−−−−−−−−−−
1/3‖〇    (1)………○をカウントします。
−−−−−−−−−−−−−−−−−−−−−−
1/4‖○    (2)………○をカウントします。
−−−−−−−−−−−−−−−−−−−−−−
1/5‖※    (2)………※をカウントせずに◎日付以降の○を数えます。
−−−−−−−−−−−−−−−−−−−−−−
1/6‖〇    (3)………○をカウントします。
−−−−−−−−−−−−−−−−−−−−−−
1/6‖※    (3)………※をカウントせずに◎日付以降の○を数えます。
−−−−−−−−−−−−−−−−−−−−−−
1/6‖○    (4)………○をカウントします。
−−−−−−−−−−−−−−−−−−−−−−
1/6‖◎    (0)………でカウント数が「0」に戻ります。
−−−−−−−−−−−−−−−−−−−−−−
1/10‖◎    (1)………○をカウントします。
−−−−−−−−−−−−−−−−−−−−−−
subtotal      1
留意事項:同日中に◎がある場合は同日にいくつ○があってもカウントはゼロに戻す規則性を持たせたいのですが…。
    :「※」は記録だけ残しカウントには含みません。
p.s :いくら悩んでもアイデアが湧きませんどなたかご指導頂ければ幸いです、よろしくお願いします。

▲このページのトップに戻る
242302Re:COUNTIFの使い方について白茶 2005/3/2-16:11
記事番号242292へのコメント
>留意事項:同日中に◎がある場合は同日にいくつ○があってもカウントはゼロに戻す規則性を持たせたいのですが…。
>    :「※」は記録だけ残しカウントには含みません。

countif関数だけではちょっと難しいですね。

質問です。

1日に出てくる「○」やら「◎」のデータ総数は毎日決まっているのですか?
また、その「○」やら「◎」は1セル内に複数並ぶのでしょうか?
それとも1つのデータ(つまり1文字)だけのセルが複数列並んだりするのでしょうか?

>−−−−−−−−−−−−−−−−−−−−−−
>1/10‖◎    (1)………○をカウントします。
>−−−−−−−−−−−−−−−−−−−−−−

この部分の規則性が理解できません。

▲このページのトップに戻る
242776Re:COUNTIFの使い方についてわいわい 2005/3/4-12:49
記事番号242302へのコメント
白茶さんは No.242302「Re:COUNTIFの使い方について」で書きました。
>>留意事項:同日中に◎がある場合は同日にいくつ○があってもカウントはゼロに戻す規則性を持たせたいのですが…。
>>    :「※」は記録だけ残しカウントには含みません。
>
>countif関数だけではちょっと難しいですね。
>
>質問です。
>
>1日に出てくる「○」やら「◎」のデータ総数は毎日決まっているのですか?
>また、その「○」やら「◎」は1セル内に複数並ぶのでしょうか?
>それとも1つのデータ(つまり1文字)だけのセルが複数列並んだりするのでしょうか?
>
>>−−−−−−−−−−−−−−−−−−−−−−
>>1/10‖◎    (1)………○をカウントします。
>>−−−−−−−−−−−−−−−−−−−−−−
>
>この部分の規則性が理解できません。
>
白茶さん、早速のご返信ありがとうございます。

ご質問の件ですが。
>1日に出てくる「○」やら「◎」のデータ総数は毎日決まっているのですか?
A:1日に出てくる○の数は決まっていません。

>また、その「○」やら「◎」は1セル内に複数並ぶのでしょうか?
A:○や◎などの数は1セル内にひとつだけです。  
 (同日に○丸の数が3つあれば同じ日付で縦方向に3つのセルを使い○を記録します。)


>それとも1つのデータ(つまり1文字)だけのセルが複数列並んだりするのでしょうか?
A:例えばA1のセルに日付が入ります、その隣のB1のセルに○や◎などのデータがひとつだけ記録されます。
  B1〜B10…………という具合に日付順にひとつのセルに1データが縦方向に永遠に記録されていきます。
  縦方向のデータ群が複数列横方向に並びます。

例えば…。      現在の(○)の数

日付 ‖A‖B‖C〜 A     B
−−−−−−−−−−−−−−−−−−−−−−
1/1‖○‖○‖  (1)………(1)
−−−−−−−−−−−−−−−−−−−−−−
1/2‖◎‖○‖  (0)………(2)
−−−−−−−−−−−−−−−−−−−−−−
1/3‖〇‖○‖  (1)………(3)
−−−−−−−−−−−−−−−−−−−−−−
1/4‖○‖※‖  (2)………(3)
−−−−−−−−−−−−−−−−−−−−−−
1/5‖※‖○‖  (2)………(4)
−−−−−−−−−−−−−−−−−−−−−−
1/6‖〇‖◎‖  (3)………(0)
−−−−−−−−−−−−−−−−−−−−−−
1/6‖※‖○‖  (3)………(0)
−−−−−−−−−−−−−−−−−−−−−−
1/6‖○‖○‖  (4)………(0)
−−−−−−−−−−−−−−−−−−−−−−
1/6‖◎‖※‖  (0)………(0)
−−−−−−−−−−−−−−−−−−−−−−
1/10‖○‖○‖  (1)………(1)
−−−−−−−−−−−−−−−−−−−−−−
subtotal1‖1‖   1     1
留意点:同日に◎が含まれる場合はカウントはゼロに戻します。

イメージが湧きましたでしょうか?

▲このページのトップに戻る
242787Re:COUNTIFの使い方について白茶 2005/3/4-13:34
記事番号242776へのコメント
この手の構造を考えるときは、
必要な条件を個別に"1"か"0"に置き換える事で見え易くなります。

とりあえず「縦方向のデータ群」が1郡のみ(B列のみ)の場合で考えます。
仕組みを解かり易くするために、セル参照で組み立てました。
コンパクトにまとめたければ、可能な範囲で各関数を繋げて1セルに納めて下さい。

A列に日付、
B列にデータ(○とか◎)、
C列に○のカウントを表示します。

C2 =(D2+C1)*E2*H2 // 注意:A1,C1,H1は空白(ゼロ)にすること
D2 =COUNTIF(B2:B2,"○") // ← =IF(B2="○",1,0)でも可?あ、ダメだ
E2 =IF(COUNTIF(B2:B2,"◎")>0,0,1) // ← =IF(B2="◎",0,1)でも可
F2 =IF(A2=A1,0,1) // ← 日付が一つ上のセルと同じなら0を返す
G2 =E2+F2 // ← 上の二つのIFを足し算
H2 =IF(G2+H1>1,1,0) // ← ここが味噌です

で、下に向かってフィル。
D〜H列は見る必要がないので「表示しない」にするとスッキリします。

条件:A列は同じ日付がいくら続いても、日付が飛んでも構わないが、
   ちゃんと時系列順に隙間無く並んでいること。

よ〜く吟味したつもりですが、間違いがあったらゴメンナサイ。


で、縦方向のデータ群が複数列横方向にある場合ですが、
この方法だと各データ列に対して、それぞれC〜Hのような計算用の列を必要とします。

▲このページのトップに戻る
242816Re:COUNTIFの使い方についてわいわい 2005/3/4-16:09
記事番号242787へのコメント
白茶さんは No.242787「Re:COUNTIFの使い方について」で書きました。
>この手の構造を考えるときは、
>必要な条件を個別に"1"か"0"に置き換える事で見え易くなります。
>
>とりあえず「縦方向のデータ群」が1郡のみ(B列のみ)の場合で考えます。
>仕組みを解かり易くするために、セル参照で組み立てました。
>コンパクトにまとめたければ、可能な範囲で各関数を繋げて1セルに納めて下さい。
>
>A列に日付、
>B列にデータ(○とか◎)、
>C列に○のカウントを表示します。
>
>C2 =(D2+C1)*E2*H2 // 注意:A1,C1,H1は空白(ゼロ)にすること
>D2 =COUNTIF(B2:B2,"○") // ← =IF(B2="○",1,0)でも可?あ、ダメだ
>E2 =IF(COUNTIF(B2:B2,"◎")>0,0,1) // ← =IF(B2="◎",0,1)でも可
>F2 =IF(A2=A1,0,1) // ← 日付が一つ上のセルと同じなら0を返す
>G2 =E2+F2 // ← 上の二つのIFを足し算
>H2 =IF(G2+H1>1,1,0) // ← ここが味噌です
>
>で、下に向かってフィル。
>D〜H列は見る必要がないので「表示しない」にするとスッキリします。
>
>条件:A列は同じ日付がいくら続いても、日付が飛んでも構わないが、
>   ちゃんと時系列順に隙間無く並んでいること。
>
>よ〜く吟味したつもりですが、間違いがあったらゴメンナサイ。
>
>
>で、縦方向のデータ群が複数列横方向にある場合ですが、
>この方法だと各データ列に対して、それぞれC〜Hのような計算用の列を必要とします。

白茶さん、早速のご返信本当にありがとうございます。
お返事頂きました中の『条件』ですが時系列順には並ぶのですが同日に複数のデータが有ります。
例えば1月1日に10件ある中でうち7件にしか○や◎などのデータが無い場合(空白)がとても多いの
ですがそんな状況でカウントしていく方法はありますか?
なお、出来れば横の列に集計行を設けるのではなく縦方向のデータ末端部にカウント結果を表示出来れば
いいなと思っています。
ご返信楽しみにしています。
では(^_^)

▲このページのトップに戻る
242852ごめんなさい、失敗です白茶 2005/3/4-19:11
記事番号242816へのコメント
すみません。
この仕組み、穴がありました。
次のような場合、

日付 ‖B‖C‖
−−−−−−−−
1/5‖○‖6‖
−−−−−−−−
1/6‖※‖6‖ ←ここが○じゃなくて
−−−−−−−−
1/7‖◎‖0‖ ←日付が変わって◎だった場合
−−−−−−−−
1/7‖※‖0‖ ←ここまでは正常だが
−−−−−−−−
1/7‖○‖1‖ ←日付変わってないのにカウント再開する
−−−−−−−
1/7‖〇‖2‖
−−−−−−−−

なので、見なかったことにしてください。
出直します。


ただ、上記の穴が無ければ、
基本的には、同日に複数のデータがある場合でも、この仕組みは機能する筈です。
A列の日付にさえ空白が無ければ、
B列に○や◎などのデータが無い(空白)セルがあっても大丈夫。

日付 ‖B‖C‖
−−−−−−−−
1/7‖○‖3‖
−−−−−−−−
1/7‖  ‖3‖
−−−−−−−−
1/7‖○‖4‖
−−−−−−−−
1/8‖  ‖4‖
−−−−−−−
1/28‖◎‖0‖
−−−−−−−−
1/31‖○‖1‖
−−−−−−−−

>なお、出来れば横の列に集計行を設けるのではなく縦方向のデータ末端部にカウント結果を表示出来れば
>いいなと思っています。

ん? 最終日の最後尾のカウントが必要なだけじゃないんですか?
>−−−−−−−−−−−−−−−−−−−−−−
>1/10‖○‖○‖  (1)………(1)
>−−−−−−−−−−−−−−−−−−−−−−
>subtotal1‖1‖   1     1
     ↑
    これって、要するに1/10のカウント数のことでしょ?
    違うかった?

▲このページのトップに戻る
242865訂正しました白茶 2005/3/4-20:31
記事番号242852へのコメント
最初
C2 =(D2+C1)*E2*H2
D2 =COUNTIF(B2:B2,"○")
E2 =IF(COUNTIF(B2:B2,"◎")>0,0,1)
F2 =IF(A2=A1,0,1)
G2 =E2+F2
H2 =IF(G2+H1>1,1,0)

でしたが、
F2を次の式に訂正(ていうか条件追加)

F2 =IF(A2=A1,0,IF(D2=0,0,1))

1.日付が一つ上のセルと同じなら0を返す
2.日付が変わってもB2が"○"でなければやはり0を返す
 それ以外なら1を返す。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言
検索投稿あり2005/3/7-11:07左記[投稿あり]クリックにて検索(逆リンク調査)します同様の質問へのリンクとなっています