- ベストアンサー
文字列に同じ文字が2回以上連続した時の件数
いつもお世話になります。 WINDOWS7 EXCELL2010 です。 例えば、 1 2 3 4 5 6 7 8 9 10 11~ 31 (日付) E E A C E E D A C E D という具合に 1~2 にEが 5~6 にEが連続している。 この場合 2 件と出すにはどういう数式をすればいいか御指導委言たたけませんでしょうか。 条件 1 E が 連続して 2個 以上の時は件数の対象です。 2 10 の E は 連続していないので件数の対象にはなりません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>Eのみの数式をご指導いただけませんでしょうか。 提示のデータには無い条件としてEが3以上連続したときの件数は1件とするのでしょうか? それとも3連続のときは2件、4連続のときは3件のようにカウントしますか? 作業用の行を使えば何れの計数もできます。 1行目のA列からAE列まで1から31の数値があり、2行目のA列からAE列まで任意の1文字が入力されていることを条件として、4行目に作業用のセルを配置したとき次のようにすれば目的の計数が可能です。 B4=IF(COUNTIF(A2:B2,"E")<2,0,A4+1) B4セルをAE4セルまでオートフィルでコピーします。 Eの文字が2つ以上のセルに連続したとき1件とする場合は次の数式で良いでしょう。 =COUNTIF(B4:AE4,"=1") Eの文字が2つ連続したときは1件、3つ連続したときは2件、4つ連続したときは3件のように計数するときは次の数式になります。 =COUNTIF(B4:AE4,">0")
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 関数で処理する場合、↓の画像のように別Sheetを作業用のSheetとして使用するのが一番簡単だと思います。 画像では上側が元データのSheet1、下側がSheet2とします。 Sheet1と同じ配置でSheet2のB2セルに =IF(Sheet1!B2="","",IF(Sheet1!B2=Sheet1!A2,A2+1,1)) という数式を入れ列・行方向のフィルハンドルでコピーしておきます。 Sheet1のAG2セルに =IF(COUNT(Sheet2!2:2),MAX(Sheet2!2:2),"") という数式を入れ下へコピー! これで画像のような感じになります。m(_ _)m
お礼
小生の説明不足でお手数をかけました。 これに懲りずに今後ともご指導の程宜しくお願いいたします。
補足
いつもお世話になります。 自分なりには E のみの文字と考えていいました。 誠に申し訳ありません。 恐れ入りますが再度 E のみの数式をご指導いただけませんでしょうか。 説明の不手際を重ね重ねお許しください。
- aokii
- ベストアンサー率23% (5210/22062)
1 2 3 4 5 6 7 8 9 10 11~ 31 (日付)がA1セルから、 E E A C E E D A C E D がA2セルから記載されているとして、 A3セルに、 =IF(AND(A2=B2,B2<>C2),1,0) と記載して、右にドラッグコピーし、 A4セルに、 =SUM(A3:AE3) と記載してみて下さい。 なお、E以外の文字が、連続して2個以上の時も件数の対象です、のでご注意ください。
お礼
小生の説明不足でお手数をかけました。 これに懲りずに今後ともご指導の程宜しくお願いいたします。
補足
自分なりには E のみの文字と考えていいました。 誠に申し訳ありません。 恐れ入りますが再度 E のみの数式をご指導いただけませんでしょうか。 説明の不手際を重ね重ねお許しください。
お礼
御指導誠にありがとございました。 下記を採用させてい頂きました。 Eの文字が2つ以上のセルに連続したとき1件とする場合は次の数式で良いでしょう。 =COUNTIF(B4:AE4,"=1")