• ベストアンサー

エクセルで特定の文字や数字の入ったセルをカウント

いつもお世話になっております。 A1セルに文字や数字を入力すると指定した範囲にあるA1セルの文字が入ったセルの数をカウントしようと、COUNTIF()でやってみたのですがうまくいきません。 例えば「ABC123」という品名が(1)「ABC123」の場合と省略して(2)「ABC」や(3)「123」で入力されているセルが有るので(1)、(2)、(3)を一度にカウントする方法を教えていただきたいので、よろしくお願いします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.2

(1)と(2)にはABC (1)と(3)には123 のように共通するワードがありますが (2)と(3) には共通するワードがないので たとえば (1)と(2)同時にカウントし (3)を別にカウントして 両方を足すという手があります。 =COUNTIF(B1:B10,"*" & LEFT(A1,3) & "*")+COUNTIF(B1:B10,RIGHT(A1,3))

akira0723
質問者

お礼

お礼がおそくなり申し訳ありません。 ご回答参考になりました。 良く考えると色んなパターンのセルが有るのでご回答を参考に1つづつ式を作った方が分かりやすく、早い気がしますので頑張ってみます。 ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

補足すること。 質問が正確に書かれてない。 ABC(の部分)と123を分けるのは、どう考えている(どういうデータ状況な)のか? 文字と数字、英字と数字、1-3文字目と4文字目以降やいこう3文字など データのあり様の法則とか可能性を書かないと、手が付けられないのでは。 また区分はいつも2つなのか? コンピュターを使うときは、正確な思考(と表現)が求められる。 自分が状況を分かっているからと言って、初めて目にする、聞く読者にはわからないのだ、と判ることが、この問題を解決できるより大切。 == 一番単純な場合だと仮定すると 例データ A2:A5 ABC123 ABCD45 CVBBF12 AB234 B2の式 =LEFT(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A2)&1234567890))-1) C2の式 =MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(B2)&1234567890)),LEN(A2)-LEN(B2)+1) それぞれ下方向に行に式を複写。 結果 ABC123  ABC  123 ABCD45  ABCD  45 CVBBF12  CVBBF  12 AB234  AB  234 ーー これとて初心者が思いつける内容ではない。難しい。 WEBでは、Googleで 「Excel 文字列を文字と数字に分ける」で照会すれば、出てくるがね。 ーー VBAでやれば、IsINumeric関数があるので、各文字を繰返し判別する方法でできるので、この方法を思い付くのはやさしい。 === その後、B2セルかC2セルの文字を含むセルをカウントすることになる。 文字列を含むセル数のカウントは 「excel countif ワイルドカード」 https://ameblo.jp/sugoikaizen/entry-11484309535.html などを勉強する。

akira0723
質問者

お礼

ご回答ありがとうございます。 そうですね。 確かに当方の表にも色んなパターンがあり一筋縄ではいかないことに気付きました。 例示のパターンだけなら当方でもなんとかできたのですが、色々考えているうちに難しくなってしまって質問しました。

  • OKWavezz
  • ベストアンサー率9% (14/151)
回答No.1

(1)、(2)、(3)をIFーELSE文で連結

関連するQ&A