- ベストアンサー
エクセルで連続するデータの個数だけカウントする
エクセルは2013を使用しています。 シートには各セルに「○」 「×」 「□」 「空白」が入力されています。 A B C 1 ○ ○ 2 × ○ 3 × ○ □ 4 ○ □ 5 ○ × □ 6 × □ ○ 7 ○ □ 8 ○ 計 2 5 3 ※A列の計・・・×が連続している ※B列の計・・・○と□が連続している ※C列の計・・・□が連続している このように連続するデータの個数だけをカウントする方法を教えて下さい。 よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
1行目から8行目までデータが記入されているとき 一つ空けてA10に =SUMPRODUCT((A2:A8<>"")*SIGN((A2:A8=A1:A7)+(A2:A8=A3:A9))) と記入、右にコピー。
その他の回答 (4)
- maron--5
- ベストアンサー率36% (321/877)
>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を押して式を確定させてください
お礼
回答ありがとうございます
- KURUMITO
- ベストアンサー率42% (1835/4283)
作業のための表を作って対応するのが最も分かり易く簡単な方法です。 例えばお示しの表が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)
お礼
回答ありがとうございます
- dondoko4
- ベストアンサー率12% (1161/9671)
空白以外を数える方法があります。だから、○だろうがXだろうが、関係ありません。カウントが合計ならば。 COUNTA 連続するデーターの意味がちょっと理解不能。
お礼
連続するデータとは... 同一の記号が2つ以上出現すると、記号の個数をカウントするという意味です。 ---------- ○ ○ ○ ○ × × □ □ ---------- 上記例だと、6になります。 (連続する○が4、連続する×が2、□と□の間は空白があるため連続するデータとは見なさない)
- bunjii
- ベストアンサー率43% (3589/8249)
お礼
とてもスマートな回答ありがとうございます