• ベストアンサー

エクセルで連続するデータの個数だけカウントする

エクセルは2013を使用しています。 シートには各セルに「○」 「×」 「□」 「空白」が入力されています。    A   B  C 1  ○   ○ 2  × ○   3  × ○ □ 4     ○ □ 5  ○ × □ 6  × □ ○ 7  ○ □   8       ○ 計  2 5 3 ※A列の計・・・×が連続している ※B列の計・・・○と□が連続している ※C列の計・・・□が連続している このように連続するデータの個数だけをカウントする方法を教えて下さい。 よろしくお願い致します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

1行目から8行目までデータが記入されているとき 一つ空けてA10に =SUMPRODUCT((A2:A8<>"")*SIGN((A2:A8=A1:A7)+(A2:A8=A3:A9))) と記入、右にコピー。

tomoyochan
質問者

お礼

とてもスマートな回答ありがとうございます

その他の回答 (4)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

>A列の計・・・×が連続している =SUM((FREQUENCY(IF(A1:A9="×",ROW(A1:A9),""),IF(A1:A9<>"×",ROW(A1:A9),""))*(FREQUENCY(IF(A1:A9="×",ROW(A1:A9),""),IF(A1:A9<>"×",ROW(A1:A9),""))>1))) ★この式は「配列数式」です。式を入力後、CtrlとShiftを押しながらEnterを押して式を確定させてください ★式が確定すれば、式の両端に、{ }がつきます >B列の計・・・○と□が連続している =SUM((FREQUENCY(IF(B1:B9={"○","□"},ROW(B1:B9),""),IF(B1:B9={"×",""},ROW(B1:B9),""))*(FREQUENCY(IF(B1:B9={"○","□"},ROW(B1:B9),""),IF(B1:B9={"×",""},ROW(B1:B9),""))>1))) ★この式も「配列数式」ですので、CtrlとShiftを押しながらEnterを押して式を確定させてください >C列の計・・・□が連続している =SUM((FREQUENCY(IF(C1:C9="□",ROW(C1:C9),""),IF(C1:C9<>"□",ROW(C1:C9),""))*(FREQUENCY(IF(C1:C9="□",ROW(C1:C9),""),IF(C1:C9<>"□",ROW(C1:C9),""))>1))) ★この式も「配列数式」ですので、CtrlとShiftを押しながらEnterを押して式を確定させてください

tomoyochan
質問者

お礼

回答ありがとうございます

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

作業のための表を作って対応するのが最も分かり易く簡単な方法です。 例えばお示しの表が1行目は空白としてA,B,C列の2行目から9行目までにあるとします。 そこで例えばE2セルに次の式を入力してG2セルまで横方向にドラッグコピーしたのちに9行目まで下方にもドラッグコピーします。 =IF(A2="","",IF(OR(A2=A1,A2=A3),MAX(E$1:E1)+1,"")) お求めの答えをA10セルからC10セルに表示させるのでしたらA10セルに次の式を入力してC10セルまでドラッグコピーします。 =MAX(E1:E9)

tomoyochan
質問者

お礼

回答ありがとうございます

  • dondoko4
  • ベストアンサー率12% (1161/9671)
回答No.3

空白以外を数える方法があります。だから、○だろうがXだろうが、関係ありません。カウントが合計ならば。 COUNTA 連続するデーターの意味がちょっと理解不能。

tomoyochan
質問者

お礼

連続するデータとは... 同一の記号が2つ以上出現すると、記号の個数をカウントするという意味です。 ---------- ○ ○ ○ ○ × × □ □ ---------- 上記例だと、6になります。 (連続する○が4、連続する×が2、□と□の間は空白があるため連続するデータとは見なさない)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

回答No.1は正解に近いものですが1行目と2行目に同じデータがある場合に誤差が生じます。 1行目を空欄または項目として2行目以降をデータとして扱えば2行目から比較を行えるので誤差が生じません。 貼付図を確認してください。

tomoyochan
質問者

お礼

誤差の件まで指摘して頂き、限りなくベストアンサーです。 また、貼付図まで用意して頂きありがとうございました。

関連するQ&A