• ベストアンサー

EXCEL 文字の検索 関数

一つのセル内に、たとえば[1A2A3A1B2B3B]が入力されていて、 このデータから 1Aは1個 1Bは1個 1は2個 Bは3個 といった具合に、指定した文字の個数を関数でかえすことはできますか?個人的にはFINDとかを使えばできるかなと思い挑戦したのですが、うまくいきませんでした。よろしくお願いします。

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

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

この質問には定石がある。 数えようとする文字を削除して、減った文字数を削除に使った文字数で割ればよい。 削除はSUBSTITUKE関数で行う。 例えば、A2は1回現れるが =(LEN(A1)-LEN(SUBSTITUTE(A1,"A2","")))/LEN("A2") で答えは1 -- 他にはVBAでユーザー関数を作るぐらいかな(InStr関数利用など)。

gastronome
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

A1="1A2A3A1B2B3B" B1="1A" として C1=(LEN(A1)-LEN(SUBSTITUTE(A1,B1,"")))/LEN(B1)

gastronome
質問者

お礼

ありがとうございます

関連するQ&A

  • エクセルで文字の検索

    例えば以下のような数値データの中から「A」または「B」または「C」を検索して、その文字数を取り出したいのですが、FIND関数の検索文字列にOR関数を使ってA、B、Cを指定すれば、エラーになります。 この場合使える関数があれば教えていただきたいです。 よろしくお願いします。 123A456 123B456 123C456

  • エクセルで文字列検索の関数

    エクセルのワークシート関数で質問です。 「A1セルに、文字列、A、B、Cの何れかを含み、かつCDを含まない」ことを調べる関数です。 素直に、 =AND(ISNUMBER(FIND("A",A1)),ISNUMBER(FIND("B",A1)),ISNUMBER(FIND("C",A1)),NOT(ISNUMBER(FIND("CD",A1)))) と長ったらしく書けば取得できることはわかるのですが、もっと簡潔なやり方がありそうな気がします。 どうか教えてください。

  • COUNTIF関数で検索条件にセル番地を指定する方法を教えてください

    COUNTIF関数を使用しています。 検索条件にセル番地を指定する方法を教えて頂けますでしょうか。 例えば、下記の通りデータが入っていた場合に セルA1 = 90 セルB1 = 100 =COUNTIF(A1,"<=100") という式をセルC1に入力し、 セルA1の数値が100より小さい場合はデータ個数は”1”と返し、 セルA1の数値が100より大きい場合はデータ個数は”0”と返すようにしました。 しかし、 =COUNTIF(A1,"<=B1") という式のように 検索条件にセル番地を指定した場合は正しくデータの個数が1個だと表示されません。 どのようにしたらセル番地を指定しながら正しい結果を返せるのでしょうか。 恐れ入りますが、どなたかご教示頂けますでしょうか。 どうぞ宜しくお願いいたします。

  • Excel検索の関数について

    【柿】か【色】どちらかが含まれていれば1を立てるには、どういう関数になるのでしょうか? 例) 1A              B 2秋は冬色、柿が実る~   1 3桜の咲く季節、子ども~ 4柿の葉は医薬効能~ 1 5柿のしぶみは色が~    1 キーワードは、柿・色 でA列を検索させ、【柿】か【色】どちらかが含まれていればB列に1を立てさせたいのです。 このキーワードは臨機応変に増やしたいので、セルで指定をしたいです。 シンプルな関数を希望します。 1つのキーワードの場合は、IF関数とfind関数で成功しました。っが、複数になるとfind関数では指定できないようなのです。。 宜しくお願いいたします。 すみませんが、ご教授お願いしたいです。

  • Excelの文字列検索関数について

    Excel2007で、あるセルに入っている英単語が、別のセル範囲(複数セル)に入っている英文の中にあるかどうか、を調べたいのですが、関数を使って実現できるでしょうか? たとえば、 A1に"This is a pen." A2に"That is a desk" という英文があり、 B1に"bat", B2に"pen"を入れたとします。 この場合、A1~A2に"bat"は存在しないのでC1には"FALSE"が、 A1~A2に"pen"は存在するのでC2には"TRUE"が自動的に入るようにしたいのです。 (TRUE - FALSE でなくても、数字などでもかまいません) FIND関数は単一セルの中の文字列しか検索できないし、 MATCH関数はセル内容が同一でないと結果が出ないのでそのままでは使えません。 何かいい方法はないでしょうか。

  • エクセル関数 ひとつのセルに含まれる、指定した文字の数を知りたい

    初めての質問になります。 ひとつのセルの中に、指定した文字がいくつ入っているかを確認できる関数を探しています。 たとえば、ひとつのセルの中に 『AABCDAADBCA』 といった文字列があったとき、その中で『A』はいくつ含まれているかをいうのを即座に知りたい のですが、それを調べる関数がどうしてもわかりません。 ヘルプで調べてみたのですが、結局わかりませんでした。 どなたかわかる方がいたら、ご教授願えませんでしょうか? ポイントは、『指定した文字が含まれているセルの個数』ではなく、 『ひとつのセルの中に、指定した文字がいくつ含まれるか』 です。 よろしくお願いします。

  • エクセル 特定値の数え方に関する関数について

    エクセル2010を使用しています。 3つの列でそれぞれの値が入力されているときに 「A列に○○と入力してあり、B列に△△と入力されているセル」の個数や、 「A列には○○、B列には△△と入力してあり、C列には××と入力されているセル」の個数を数えるにはどのように関数を作ればいいのでしょう? データが増えていくので、いちいちフィルタを使って数えるのが手間なので、関数を作りたいと思っています。 わかりずらくて申し訳ありません。一応下の例でいくと A列が「1」となっていてB列が「い」となっているセルの個数 や、 A列が「3」でB列が「あ」となっているC列「犬」の数などです。 A列 B列 C列 1  あ  犬 1  い  猫   1  あ  猫 2  う  犬 2  あ  鳥 3  う  犬 3  い  猫 3  う  鳥 よろしくお願いします。

  • エクセルで文字数を数えたいのですが

    よろしくお願いします。 エクセルでたとえば A1とB1のセルに 1,2,3,4,5,10 と入力されているとします。 ここから 1又は1,という文字数の合計を 抽出したいのですが 適切な関数が見当たらず 組合せもわかりません。  この場合 範囲はA1:A2 で 2(個)という 数値を欲しいのですが  セルの数や 左から何個目なのか ではなく 文字の合計数を 知りたいのですが。  文字の置換や検索みたいに 見つけて その個数を知りたいのですが   どなたかお願いいたします。  応用編で漢字の数や ひらがなの数(個数)を 1セルの中から又は多数のセル範囲から  指定文字の合計個数を抽出したいなど考えています。 初心者の為申し訳ありません。  ビジュアルベーシック?マクロ?アドイン?な状態です。 よろしくお願いいたします。 エクセル2003です。

  • エクセル関数(文字検索で・・・)

    初めまして。今ある特定範囲の中から指定した文字があるかないかを検索してその文字があれば○・なければ×と言う事をしたいのです。IFを使ってするのはわかっているのですが、特定範囲の中から指定した文字を検索することはできますか?今やっているものの例ですが、セルA1に"あ"・B1に"い"・C1に"う"とあったとします。作成した式は"あ"があれば○としたとき、=IF(A1:C1="あ","○","×")としました。関数のダイアログボックスでは答えがでているのですが、実際に式を確定するとVALUEのエラーがでます。なぜでしょうか?根本がちがってますか?今の例のような範囲のなかから指定する文字を探す関数などありますか? 意味が伝わるでしょうか?どう書いていいのか・・。すみません教えて下さいm(__)m

  • エクセル関数 範囲指定で文字を連結する方法

    セルA1に1、B1に2、C1に3が入力されている時に、 D1に関数「=A1&B1&C1」と入力すると123と表示されますよね。 これを範囲指定で文字を連結するには、どのような関数になるのでしょうか。 よろしくお願いします。

専門家に質問してみよう