• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のセルにまたがった文字の検索)

複数のセルにまたがった文字の検索

このQ&Aのポイント
  • セルに,図のような記号がランダムに配置されています。空白と四角とハイフンが並んでいます。これらの文字列は1つのセルに入力されているわけではなく,1セルに付き1文字入力されています。
  • 空白で区切られた□と-を1つのグループとして,各グループの個数と,各グループのセル長を抽出したいです。
  • マクロなしで関数のみで処理したいです。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

計算が重くなりますので作業列を作って対応します。 A列は空白にしてB1セルからAN1セルまでにお示しのようなデータが有るとします。 B2セルには次の式を入力してAN2セルまでドラッグコピーします。 =IF(AND(A1="",B1<>""),1,IF(AND(A1<>"",B1<>""),A2+1,"")) B3セルには次の式を入力してAN3セルまでドラッグコピーします。 =IF(AND(B2<>"",C2=""),B2,"") B4セルには次の式を入力してAN4セルまでドラッグコピーします。 =IF(B3<>"",IF(A4<>"",A4&","&B3,B3),IF(A4="","",A4)) AN4セルにはお求めの結果が表示されます。

noname#182764
質問者

お礼

お返事を忘れていました。 このままだと文字列群が1グループだけの時にうまくいきませんでしたが,教えていただいた内容を改良することで対処できました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>できればマクロなしで関数のみで処理したいです。 あえてマクロでユーザー定義関数を作ってみました 以下のコードを標準モジュールに貼付 セルには =vsbsetb(A1:AM1) と式を記入してください。 Public Function vsbsetb(Target As Range) As String   Dim myStr As String   Dim c As Range, i As Long   Dim arr As Variant   For Each c In Target      If c.Value = "" Then       myStr = myStr & " "     Else       myStr = myStr & c.Value     End If   Next   myStr = WorksheetFunction.Trim(myStr)   arr = Split(myStr)   For i = 0 To UBound(arr)     arr(i) = Len(arr(i))   Next   vsbsetb = Join(arr, ",") End Function

noname#182764
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル関数 セルの個数

    A列に空白セルと文字列が入力されています。 文字列が入っているセルだけをフィルタで抽出しました。 その抽出されたセルが何行あるか個数を出す関数はありませんか?

  • 1セルの文字列を複数のセルに移す方法

    セルの文字列が空白あるいは特定の文字で区切られている場合にその区切られた単位で別のセルに移す方法を、教えてください。 例。 ”aaa mmmm ddd” が1セルに入っていた場合、それらを隣の3列のセルに|aaa| mmmm| ddd |として分割して入力する方法です。 よろしくお願いします。 

  • 計算式で表示された文字セルの合計

    各セルにVLOOKUPの式が入力され文字の値がマッチしていたら文字値が反映されマッチしなかったら空白になる。文字が表示されているセルの個数を合計する関数がお解りになる方よろしくお願いします。 (A1~A5にVLOOKUPの計算式がありA3,A5に文字値が表示されほかの表示が空白の場合、文字値の合計2をA6に表示する)

  • 空白のセルの場合は同じ文字を入力するVBA

    (1)セルL5・L6・L23・L24・L25があります。 上記で述べたセル範囲の文字が空白表示の場合、上記範囲の何処かに文字を入力したら、入力した文字と一緒の文字が自動で入力させます。(例えばL24に「1」と入力した場合はL5・L6・L24・L25に「1」と自動で入力) そして上記で述べたセル範囲の何処か1つでも文字が入っていると、文字が自動で入力されない(例えばL5に「3」と入力されている状態でL25に「8」と入力してもL6・L23・L24の文字は何も変化しない)VBAはどの様にすれば良いでしょうか? (2)セルM5・M6・M23・M24・M25があります。 上記で述べたセル範囲の文字が空白表示の場合、上記範囲の何処かに文字を入力したら、入力した文字と一緒の文字が自動で入力させます。(例えばM24に「1」と入力した場合はM5・M6・M24・M25に「1」と自動で入力) そして上記で述べたセル範囲の何処か1つでも文字が入っていると、文字が自動で入力されない(例えばM5に「3」と入力されている状態でM25に「8」と入力してもM6・M23・M24の文字は何も変化しない)VBAはどの様にすれば良いでしょうか? (3)セルL8~L10の範囲があります。 上記で述べたセル範囲の文字が空白表示の場合、上記範囲の何処かに文字を入力したら、文字が自動で入力させます。(例えばL9に「1」と入力した場合はL8・L10に「1」と自動で入力) 上記で述べたセル範囲の何処かに既に文字が入っていると、文字が自動で入力されない(例えばL10に「3」と入力されている状態でL8に「8」と入力してもL9の文字は何も変化しない)VBAはどの様にすれば良いでしょうか?

  • Excel;特定の文字を含むセルを書き出す方法

    お世話になります。 あるExcelシートの2列×300行ぐらいの範囲のセル内に 文字が入っています。 セル内(例A23idokensi)に特定の文字(例:A23)を含んでいたら、 もしくはセルを抜き出す方法はあるでしょうか? やりたいことは、アトランダムに入力されているところから、 特定の文字を含んだセルだけ取り出して内容とセルの個数を 数えることです。

  • 空白セルにハイフンを表示

    エクセル2010です。 ある表の空白のセルに常にハイフンを表示させておき、数字や文字を入力するとハイフンが消えて、その文字が表示されるという設定や数式はあるのでしょうか。 もしも分かる方がいらっしゃいましたら、ご教示いただけないでしょうか。

  • 困っています。教えて下さい。

    A列に値が入力されていて、間に空白のセルがランダムに存在しています。 それを、C列のように抽出したいです。 条件は下記の通りに。 (1)空白のセルに、挟まれたセルを抽出する。 (2)空白のセルに、挟まれたセルで0だけの場合は除外する。 (3)空白のセルに、挟まれたセルで0と他の数値の混合の場合は抽出する。 (4)最終的に、上記の条件で抽出した値の平均値を算出したい。 IF関数を使うのか、マクロを組まなくてはならないのか分からなくなってしまいました。

  • エクセル 数式入り等のセルの個数について

    こんにちわ。教えて下さい。 セルの個数を数えたいのですが、下記のいづれかの方法で出来るやり方はありますでしょうか? ☆条件付き書式で色をつけた空白のみのセルの個数の数え方(列に対応) (1)A1に今日又は今日以前の日付が入って、B1にはA1の日付から2週間たっても、何らかの日付・文字が入らない場合は空白の状態で色がつくようになっています。(文字が入力されたら色は無しになります。2条件が1つのセルに設定されています) 一番ベストなのは、この状態で空白で色のついているセルの個数が数えれば一番いいです。 もし、上記で駄目な場合、 ☆C1に別の数式で、B1が空白かそうでないかで、「FALSE」「TRUE」が表示されるように設定して、その状態で「FALSE」の個数を数えるっていうやり方まではわかるのですが、A,B,C列とも、入力していけば行が増えていくので、先にC列に数式をコピーしておくと、A列に日付が入力されていなくても、「FALSE」が表示されます。A列に日付が入力されている行での「FALSE」の数を数えるという方法はありますか? 説明が下手ですみません。。。 つまり、自分がない知恵で思った、2つの方法のどちらかででも、数える方法があれば教えて下さい。もちろん、もっといい方法があれば幸いです。

  • セルの文字制限

    A1セルに31文字以上入力された場合 A1セルを空白にし、かつエラーメッセージをだしたいのですが 入力規則で制限をかけると「続けますか?」で「はい」と押下すると スルーできてしまいます。 31文字以上入れると強制的に空白にするにはどうしたらいいでしょうか? ちなみにマクロはあまり使用したくありません。、、 業務用でしようするため不特定多数の人がこのファイルを開くためです。

  • Excelで、セル内容が文字入力されています。'あ'という文字が入って

    Excelで、セル内容が文字入力されています。'あ'という文字が入っているセルの個数を数えるには、どうするでしょうか?