• ベストアンサー

エクセルで連続した1と0が何回出たかをカウントする

エクセルでONとOFFを時系列で1(ON)と0(OFF)で表しており、 ONになった回数を数えたいと思っています。 例)下記の数字がA1~A20に入っている   0 0 0 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 0  1がON、0がOFFなので、ONになった回数は4回 このような処理をエクセルで行うには どのような方法がありますでしょうか? ご教示いただきたく、よろしくお願いいたします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

#3です。 =IF(A1=1,1,0)+SUMPRODUCT((A1:A19&A2:A20="01")*1) A1 が1の時は、On になるので、1を加えます。

radi10
質問者

お礼

返事が遅くなり、申し訳ありません。 他に行を付け足さず、結果を得ることができました。 ありがとうございました。

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

その他の回答 (5)

noname#204879
noname#204879
回答No.6

{=SUM((A1:A19=0)*(A2:A20=1))} (配列数式)

radi10
質問者

お礼

返信遅くなり、申し訳ありません。 試してみましたが、どうもうまくいきませんでした。 またの機会にご教示願います。

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

1の出た回数-1が連続した回数として =COUNTIF(A1:A20,1)-SUMPRODUCT((A1:A19=1)*(A2:A20=1)) B列使ってもいいなら B1=A1 B2=IF(AND(A1=0,A2=1),1,0) でB2をB20までコピーして =SUM(B1:B20) で表示

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

こんにちは。 その数字がどのように入っているのか良く分からないです。 >  0 0 0 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 0   ↓   00010011100110001110 半角スペースが入っているようですが、文字列として、隙間なく入っているという条件で、 上限を、一応、20桁までにしました。 =SUMPRODUCT((MID("0"&A1,COLUMN($A1:$T1),1)&MID("0"&A1,COLUMN($B1:$U1),1)="01")*1) 最初の「0」は、最高桁が、「1」がたっている時の条件です。 >ONになった回数は4回 つまり、Off が On となったということを想定していますから、On の状態のままでは、1回しかないということです。

radi10
質問者

補足

説明が足りていませんでした。 A1に0、A2に0、A3に0、A4に1、A5に0、A6に・・・・ が入っているという条件です。

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

文字列のカウントですね。 考え方は、"10" のパターンを数えるために、"10" を文字列から削除した場合と、元の文字列の長さを比較する・・・です。 =(LEN(CONCATENATE(A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1))-LEN(SUBSTITUTE(CONCATENATE(A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1),"10","")))/2 長いですけど、こんな感じです。

radi10
質問者

補足

1と0は文字列ではなく、数字という条件です。 数字の場合も上記でOKなのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
noname#122067
noname#122067
回答No.1

セルB1に「=A1」と入力します。 セルB2に「=IF(AND(A1=0,A2=1),1,0)」と入力します。 セルB3からB20にセルB2をコピー&ペーストします。 あとはB1からB20までの1の数を数えれば(「=SUM(B1:B20)」など)OK。 いかがでしょうか?

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

関連するQ&A

  • エクセルで連続した数値と0が何回出たかをカウントする

    エクセルで連続した数値と0が何回出たかをカウントする エクセルで連続した数値と0が何回出たかをカウントする エクセルでONとOFFを時系列で数値(ON)と0(OFF)で表しており、 ONになった回数を数えたいと思っています。 例)下記の数字がA1~A20に入っている   0 0 0 5 0 0 7 1 8 0 0 2 7 0 0 0 3 5 7 0  数値がON、0がOFFなので、ONになった回数は4回 このような処理をエクセルで行うには どのような方法がありますでしょうか? ご教示いただきたく、よろしくお願いいたします。

  • Excelで連続数字をカウント

    1~3までの数字がA列にランダムに入力されています。 例) A -- 3 2 2 1 2 1 3 2 2 別のシートに、「1」「2」「3」と縦にそれぞれ行を分け、横列にはそれぞれの連続回数(1,2,3,4,5,6,7,8・・・) を入力させたいです。 「1」の1回が⚪︎⚪︎回、2連続が⚪︎⚪︎回、3連続が⚪︎⚪︎回・・・ 「2」の1回が⚪︎⚪︎回、2連続が⚪︎⚪︎回、3連続が⚪︎⚪︎回・・・ 「3」の1回が⚪︎⚪︎回、2連続が⚪︎⚪︎回、3連続が⚪︎⚪︎回・・・

  • EXCEL連続した回数のカウント

    エクセル初心者です。 連続した数字の回数のカウントの仕方が分からず困っております。 A列に0と1が50個並んでいます。 50個の0と1はその並び順が変化します。 1が先頭から5個以上、連続して並んだ時に、その1が連続した回数を特定のセル(例えばB1)に表示するようにしたいのです。 下の例1ではA3から1が8個連続していますので、B1のセルに8が入るようにしたいのです。 並びが変わりますので、先頭のA3が0の例2や、1が5個以上連続しない例3の場合は、B1のセルは空白のままになるようにしたいのです。 1が先頭のA3から5個以上連続した時だけ、その先頭から連続した回数(個数)を数えるようにしたいのです。 どうぞよろしくお願いします。 (例1)   A列   B列   C列・・ 1行 2行  3行 1 4行 1 5行 1 6行 1 7行 1 8行 1 9行 1 10行 1 11行 0 12行 0 ・ (例2)   A列   B列   C列・・ 1行 2行  3行 0 4行 1 5行 1 6行 1 7行 1 8行 1 9行 1 ・ (例3)   A列   B列   C列・・ 1行 2行  3行 1 4行 1 5行 1 6行 1 7行 0 8行 0 ・

  • エクセルで、特定の数字が出た回数をカウントする方法はありますでしょうか??

    いつも、いつもお世話になっております^ ^ エクセルで、特定の数字が出た回数を カウントする方法はありますでしょうか?? データ数が10000以上あるのですが、 その中から特定の数字が出た回数をカウントし、 別のセルにその数値を表示したいと思っております。 例)データ(Aセルに入力)   4   5   2   7   5   5   3   5  としましたら、  5と2を特定の数字とし、  Bセルに5と2が出た回数をカウントする方法は、  ありますでしょうか??  2が1回出現、  5が4回出現していますので、  この場合はB1セルに5と表示できればと思っております。 どなたか知識を分けていただければ幸いです。 よろしくお願いいたしますm(_ _)m

  • 連続するローソク足をカウントしたい エクセル

    だいぶ探しましたがわかりませんでした。みなさま宜しくお願いします。 データーは下記のとおりです。 セルA2=始値 セルB2=終値 セルC2=(A2-B2) 目的:-(あるいは+)数字の連続数のカウント C列には計算後の数値をいれました。 ただ、休日により一切値動きのない連続データもはいってまして、まずそれを削除したいのです。 くわえて、所々にも値動きのないデーターがありますのでそれも削除したいです。 少なくとも10分×6×24×一年分ありますので、手作業ではとても…。 そのうえで C列の+数字(正)-数字(負)それぞれの数 正または負の連続回数と連続回数別の数(例えば2連続が何回、3連続が何回みたいな) お手数おかけしますが、どなたさまかよろしくお願いいたします。

  • 複雑な条件付きの連続したセルのカウントする関数

    A列、B列のセルに数字の1~10までが不規則で入力されています。 A列のセルが 1、で横に見てB列のセルが 2、の場合、 このパターン以外の連続しているセルの連続数別でカウントしたいのです。 下記の例題の場合だとAセルが1で横に見てBセルが2の場合以外だと3回連続数が2回あるので それをD1セルに出力されるようにしたいのです。 教えていただきたいのは下記の例題の場合の関数の入力方法です。 調べたのですが複雑過ぎてわかりませんでした。 エクセル2010を使っています。ぜひアドバイスお願いします。 例 A     B        C        D 3      5      3連続回数      2 3      6 1      2 6      3 8      3 4      7 1      2 10     4 4      5 6      6 1      2 3      6 1      3

  • エクセルで連続セルの出現回数を出したいです。

    例えば、A列に、0と1だけのデータが(数万行)あります。 A列 0 0 0 →a 1 →c 1 0 0 0 →a 0 →b 0 1 0 1 1 1 1 0 このデータから、 a:0が3連続した回数 b:0が3連続した次のデータが0だった回数 c:0が3連続した次のデータが1だった回数 (4連続は含まず) こういったデータを出したいのですが、エクセルでどのような方法がありますでしょうか? (上記の例では、a2回、b1回、c1回) よろしくお願い致します。

  • エクセル 連続達成した回数を数える

    こんにちは。 私は営業部の数字を管理しているのですが今困ってます。 目標に対する達成率が100%を超えている(要は達成してる)回数を 数えたいのですが、連続して達成してる回数を数えたいのです… 例)      1月  2月  3月  4月  5月  6月 7月 Aさん  99%  103% 105% 89% 95% 125% 93% Bさん  106% 117% 109% 128% 78% 89% 136% この場合Aさんが連続で達成した回数は2回でBさんは4回です。 最も連続している回数のみを拾いたいのでが可能でしょうか。 地道に数えてやるのは結構時間がかかるので誰か助けてください。 宜しくお願い致します。

  • 連続勝率数をカウントする

    Excelの関数でどうすればよいか困っています。 ExcelはMicrosoft365を利用しており関数のみで数字を出したいです。 行や列はあまり増やしたくないです。 ■背景 例えば、100回行うテストがあります。80点以上を合格として1回目から数えて連続合格の回数を調べたいです。 Aさんは1回目から80点以上を5回連続とっている = 5連続 Cさんは1回目は80点未満で不合格2回目移行は連続合格 = 0連続 というようなカタチ ifやandを工夫してやろうと思いましたが、件数が多いのでどのような関数を使えば効率よく記載できますでしょうか? ifだとif(and(B3>=80,C3>=80・・・・とたくさん書かないといけないので ご教授の程よろしくお願いします。

  • ExcelでON,OFFの切り替え時間をカウントしたい。

    ExcelでON,OFFの切り替え時間をカウントしたい。 MS Excelにてデータの整理を行っています。 今回、ONとOFFの信号を読み取ってそれを各セルに表示しているのですが、 それをカウントしたいのです。 現在エクセル上では以下のようになっています。   A  B  C  D 1 時間 信号 2 1  ON 3 2  ON 4 3  ON 5 4  ON 6 5  OFF 7 6  OFF ・ ・  ・ ・ ・  ・ ・ ・  ・ これらを (1)トップ(セル番B2)から始め、下のセルをどんどん読んでいく (2)ONが連続していればカウント続行、OFFになったらカウントを止める。そのカウントをcell C2に入れる。 (3)次は逆にOFFをカウントしていき、同じようにONになったらカウントを止める。そのカウントをcell D2に入れる (4)(2)と(3)を繰り返し行い、ONのカウントはC列に、OFFのカウントはD列に入力していく。 (5)参照する対象のセルが空白であれば、演算(マクロ?)をストップする。 というふうにしたいのですがよくわかりません。 なお、時間は1セル1秒の間隔になっていますので、セルの数をカウントする方法で構いません。 VBAを使っても構いませんので、どなたかご教授お願いいたします。

専門家に質問してみよう