• 締切済み

Excelで、指定された文字列のカウントは出来ますか?

卒業論文のための資料を作成中なのですが、慣れないExcelを使っての作業であるため、なかなか進まず困っています。 少し調べてみても分からなかったので質問させて頂きます。 Excelでは、指定した文字列が全体で幾つあるかのカウントは出来るのでしょうか? たとえば、「現在」という単語がExcelの表の中に100個含まれている場合、 何らかの方法を使って、一発で100個あるということは分かるのでしょうか? 今までは文字列検索を使用して、一つ一つ数えながらの作業でしたので、 本当に気の遠くなるような作業になっております。 Excelでは不可能である場合、もしご存知の方がいらっしゃいましたら、 上のような作業が出来るソフトなどを教えて頂ければと思います。 すみませんが、どうかよろしくお願い致します。

みんなの回答

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

エクセル関数の一例です。 表範囲をA1:D10とし、「現在」の表示数 =SUMPRODUCT(LEN(A1:D10)-LEN(SUBSTITUTE(範囲,"現在","")))/2

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

一つのセルの中に、複数個検索語が存在していない場合は、下記でできると思います。 Sub test() Debug.Print countText(ActiveSheet.UsedRange, "Excel") End Sub Private Function countText(targetRange As Range, targetString As String) As Long Dim c As Range Dim firstAddress As String Dim counter As Long With targetRange Set c = .Find(targetString, LookIn:=xlValues) '部分一致 If Not c Is Nothing Then firstAddress = c.Address counter = 1 Do Set c = .FindNext(c) If Not c Is Nothing And c.Address <> firstAddress Then counter = counter + 1 End If Loop While Not c Is Nothing And c.Address <> firstAddress End If End With countText = counter End Function 一つのセルの中に複数個存在する場合は、タブ区切りテキストファイルとかCSVで保存した後、下記のコードで処理すると出来ると思います。ご参考まで。 Sub Test2() Dim FSO, buf As String Dim strPattern As String Dim srcFilePath As String srcFilePath = "C:\Documents and Settings\?????\デスクトップ\testText.txt" Set FSO = CreateObject("Scripting.FileSystemObject") With FSO.GetFile(srcFilePath).OpenAsTextStream buf = .ReadAll .Close End With Set FSO = Nothing strPattern = "Excel" With CreateObject("VBScript.RegExp") .Pattern = strPattern .Global = True MsgBox .Execute(buf).Count End With End Sub

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です。 先ほどの回答はもしかして的外れかもしれません。 セルの個数の拾い出しになりますので、 もし一つのセルの中に複数「現在」という文字列があっても 「1」としかカウントしません。 どうも何度も失礼しました。m(__)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! COUNTIF関数で対応できると思います。 仮にA列データすべての個数を知りたい場合は =COUNTIF(A:A,"*現在*") としてみてください。 尚、データが1列でなければデータすべてを範囲指定してもOKです。 COUNTIF関数はワイルドカードが使えますので 上記のような数式にしました。 以上、参考になれば幸いです。m(__)m

関連するQ&A

  • Excel 指定の文字列を含むとカウントするようにしたい場合は?

    ただいまエクセルと格闘中の初心者です。 関数等はオートSUMくらいしか使ったことがなく、必要時にいちいち調べているような状態です。 今回は文字列を含むとカウントするところで躓いております。 表の中から特定の文字列を含むとカウントするようにしたい時COUNTIFを使うと思うのですが、この場合正確にその言葉じゃなければカウントされませんよね? 例えば「ボールペン」「サインペン」「シャープペン」のようなペン類をまとめてカウントしたい時、ペンだけで認識してくれるようにすることは可能なのでしょうか? COUNTIF関連で探してみているのですが、中々思うような検索ができていません(もしくはわからずに見逃しているのかも?) エクセルにお詳しい方、アドバイスを頂ければと思います。 よろしくお願い致します。

  • 文字カウントで教えてください

    文字カウントについて教えてください。 あるテキストファイルがあります。 「あ」の文字は、何個 「い」の単語は、何個 というように、異なる文字ごとにカウントするようなことはできますでしょうか? できれば、エクセルで、表の形で出力したいです。

  • エクセルでシフト表を作成したい(文字列のカウントについて)

    エクセルでシフト表を作成したい(文字列のカウントについて) スタッフのシフトを作成しているのですが、セルに不特定の文字列が入っている場合にその数をカウントする方法を教えてほしいです。 ○シフト作成条件 ・出勤時はセルに「名前」もしくは「出勤先拠点名」が表示される ・休暇時は何も表示されない ・拠点は複数あり、特定のスタッフが日を変えて他の拠点に出勤することがある 以上です。 ご助力の程、よろしくお願いいたします。

  • 指定した2つの文字列を含むセル

    エクセルで、指定した2つの文字列両方を含むセルをカウントしたいのですが、関数でできますか?

  • Word Excel 文字数カウント

    Word及びExcelにおける文字数カウントに対しての質問です。 Word及びExcelのバージョンは、2002です。   Exelで作成した表をコピーペーストでWordで作成した文章の一部に貼り付けた場合、どのようにしてその表部分及びWordで作成した文章全体(Exelで作成してWord文章に貼り付けた表も含む。)の文字数を一括してカウントできるのでしょうか? よろしくお願いします。

  • 列を指定して貼り付けるとエクセルが重くなる

    エクセル初心者です。 仕事の都合で資料を作成しているのですが エクセルの貼り付けで困っています。 一つのセルをコピーして列を指定して貼り付けると 貼り付けてほしい範囲を飛び越えて最下段らしき ところまで貼り付けをしてしまい、 列を指定して貼り付けるたびに フリーズするようになってしまいました。 列を指定せずにマウスで範囲指定しているとものすごい時間が かかるので列を指定したいのですが、なにかいい方法は ないものでしょうか? お忙しい中恐縮ですが、知恵を貸していただける方はお願いいたします。

  • 文字列から数字をカウント

    エクセルバージョン2007 A列に以下の文字列が有る場合、数字の一塊のカウントではなく、文字列に入っています "0,1,2,3,4,5,6,7,8,9" それぞれをカウントする関数をご教授頂ければ幸いです。 12345-67890    → B列に 10 と表示 2aa-12345-00   → B列に 8 と表示 1bb        → B列に 1 と表示 以上、宜しくお願い致します。

  • 文字列カウントと並び替え

    初めての質問です。PC初心者です。宜しくお願い致します。 エクセルの関数で、 A列の文字列をカウントして小さい順にB・C列に表示したいです。 A列 :B列 :C列 200 :100 :2件 100 :200 :1件 100 :500 :1件 500 : こんな感じです。 色々調べてB列に並べかえましたが、カウントできず。。。 カウントできたら、並べ替えできず。。。 知識不足で申し訳ありませんが、お力添え下さい。

  • 複数条件に合う文字列をカウントする関数

    現在、Excel2010を使って、タッチパネルを想定した処理表を作っているのですが、 関数に関してわからないことがあります。 ランダムに配列された項目(画像右、2行目のア~エ)と、その下にある文字列(A+~B)の右表から、 項目ごとに文字列をカウントして左の表に移したいです。 項目(ア~エ)の数やその順番はランダムに増減したり入れ替わったりするので、 関数によって項目名と文字列を一致するものを探し、それをカウントしたいのですが、 どのような関数を使えばこのような複数条件に合う文字列をカウントできるのかわかりません。 もしご存知の方がいれば、ご教授頂けないでしょうか?よろしくお願いします。m(_ _)m

  • Excelのカウントについて

    Excelのカウントでお尋ねします。 A列に顧客番号 B列に管理番号 C列に状態 を記録、C列でフィルタをかけたExcel表があります。 「C列=a」の条件でカウントをしたいのですが、A列の顧客番号が同じものは、「1」とカウントしたいのです。 (イメージ Excelではフィルタをかけています。) 顧客番号     管理番号      状態 101     1234     a 101      2345 102     3456      a 103       4567 104     5678       a 104     6789 105     7890   a 105     8901    a 105     9012 106     1123    a 106     1223 106      1334 a 107     2223 a

専門家に質問してみよう