• 締切済み

特定の文字を含むセルの下のセルの内容を表示したい

@talkと、@talk[HF]という文字を含むセルの、下のセルの内容だけを表示するにはどうしたらいいでしょうか。 関数でなくてもいいのですが、色々試してみましたがわかりませんでしたので、どなたかわかる方がいらっしゃいましたら教えてください。 どうぞよろしくお願い致します。

みんなの回答

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

>@talkと、@talk[HF]という文字を含むセルの @talk[HF]を見つければ@talkも含まれるのでは @talk[HF]を検索して結果をVBEのイミディエイトウィンドウに 書き出しました。 Sub Test()   Dim c As Range   For Each c In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants)     If c.Value Like "*@talk[[]HF[]]*" Then       Debug.Print c.Offset(1).Address(0, 0) & ":" & c.Offset(1).Value     End If   Next End Sub

  • HohoPapa
  • ベストアンサー率65% (454/692)
回答No.2

>関数でなくてもいいのですが VBAを使った関数で良ければ Function GetOrgText( _  MyRange As Range, _  Text1 As String, _  text2 As String) As String  Dim HitRange As Range  GetOrgText = ""  For Each HitRange In MyRange   If ((InStr(HitRange.Value, Text1) > 0) And _     (InStr(HitRange.Value, text2) > 0)) Then    GetOrgText = GetOrgText & HitRange.Offset(1, 0).Value   End If  Next End Function といった関数を添付画像のように使うことで実現できます。 関数の第一引数は、探すセル範囲 第二、第三引数は、検索する文字列です。 なお、複数ヒットした場合は それぞれを文字列加算しています。

buchiko2512
質問者

お礼

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

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

INDEX関数を使うとできます。 具体的な数式は模擬データの提示があれば検証してから提示できます。 勿論、INDEX関数の中でMATCH関数やROW関数も使いますので幾つかの関数を必要に応じて組み合わせます。

関連するQ&A

  • エクセルでセル参照にした時の下付き文字の表示

    エクセルで 例えば A1のセルに下付き文字を使って文字を表示していますが 別なセルに「=A1」と入力しA1セルの内容を表示させた時 下付き文字が解除され通常文字となります セル参照などで下付き文字がそのまま表示できる機能は有りますか? 使用しているエクセルは2003です

  • 特定の文字を含むセルを探して別セルに表示させたい

    望んだ結果にならず困っています。 ご教授お願いします。 A列にいくつかの文字の入ったセルが並びます。 B1に探したい文字が入ります。 C1にB1に入れた文字を含むセルをA列から探し出し、表示させたいです。 A列の文字は重複しません。結果は必ず1個です。 A列は行数が10行~15行で変動します。 B1に入る文字は、A列のセルの一部です。 B1の文字が文字の一部なので、具体的に関数に探す文字を「*つてと*」と 入れてしまってもいいのですが、探す文字をセル指定(B1として) でできれば、より希望に沿うものとなります。 検索するセルが2個程度なら、望む結果が出せるのですが 複数のセルから探し出して、指定のセルに表示させるというのが どうもうまくできません。 よろしくお願いいたします。

  • セルに入力したら、別の特定セルに文字表示させるには

    似たようなQ&Aはあったのですが、求めているものとは少し違うので質問させていただきます。 エクセルで、指定したセルに数値を入力したら、 別シートの特定セルに特定文字列を表示させる ということはできませんか。 例えば、sheet1のセルB3に「2」と入力したら sheet2のセルB5に「●」と表示 次に、sheet1のセルB4に「6」と入力したら sheet2のセルD11に「●」と表示 次に、sheet1のセルC3に「4」と入力したら sheet2のB9に「○」と表示           のようなかたちです。 sheet1の入力範囲は、B3:I85程度 sheet2の入力範囲は、B3:FZ170程度で、特定セルは重複しない 表示されるのは、「●」「○」などの文字列 です。 途中経過として、MATCH関数、ADDRESS関数を利用して sheet1のセルに数値入力をしたら sheet2の入力すべきセル番地を求めることまではできたのですが その求めたセルがすべて異なるので、それぞれのセルに移動させて 文字列を表示させることができずに困っています。 解決法をご存知の方、どうぞよろしくお願いいたします。

  • a1のセルの11文字目とb1のセルの3文字目が合っているか確認したい

    a1のセルの11文字目とb1のセルの3文字目が合っているか確認し、合っていれば○、間違っていたら×を表示したいのですが どのように関数を組合せていいのかわかりません。 宜しくお願い致します

  • エクセル セル内のスペースで区切られた文字列を下のセルへ貼り付ける

    質問があります。 エクセルのセル内にスペースで区切られた文字列があります。 これをスペースで区切られた文字ごとに下のセルへ移動させたいのですが、 関数または、マクロでできるでしょうか? よろしくおね害します。

  • エクセルのVBAで教えたください。セルの文字数が特定の文字数の時のみ下2桁を書き出す方法。

    VBA初心者です。仕事での作業で困っています。 大量の数値データが1列にあります。それぞれの数値の文字数を関数で隣のセルに表示しています。その文字数が例えば4文字の時だけ下2桁の数字をさらに隣のセルに書き出したいのですが、どのような式を作ればよいのでしょうか。 こんなイメージです。 セル1  セル2  セル3 1025   4    25 124556  6 12     2 1254   4    54 6587   4    87 よろしくお願いいたします。m(_ _)m

  • エクセルで、文字列を検索し、その文字を含んだセルの内容を別のシートに表示する。

    SHEET1のA列に文字列を含むデータがあります。 これをデータベースとして、 SHEET2のセルA1に「ある特定の文字列」を含むSHEET1のセルの内容を表示させたい場合、どのような関数を使ったら良いでしょうか。 具体的には、SHEET1に特許明細の各項目が、A1~A100くらいまであります。 各項目には、例えば、出願人、出願日、効果、請求項などの文字列が含まれます。 そこでSHEET2のA1に「請求項」と入力すると「請求項」という文字列を検索し、その文字列を含んだセルの内容を表示させたいのです。そのセルは一つとは限りません。 以上のような事は、関数で可能でしょうか。

  • エクセル セルの中の下四桁目によって表示を変える事。

    セルの中の下4桁が、もし2xxxだったら 文字列 ABCD を表示させる。 2じゃなくて3xxxだったら 文字列 XYZ を表示させる。 などは、関数でなんとかできるものなのでしょうか。 宜しくお願いします。

  • Excelで特定文字があった場合、文字を表示したい

    はじめまして。 Excelの関数で質問があります。 あるセル(仮にA1)に文字列を入れます。 他のセルに「A1にAの文字があったら、B1(このセル)にC1にある文字を表示する。Aの文字がなかったらなし、と表示する」という関数を指定したいと思っております。 一応、調べた限りでは「=if(find("A",A1),C1,"なし"」というような関数を使おうと思っております。 が、使用してみたら、「Aの文字がなかったら、なし、と表示する」の部分ができませんでした。 解決するにはどのようにすればよいでしょうか。 また、他によい関数がありましたら併せてお教えいただきたいと思います。 宜しくお願いいたします。

  • 列の中の一番下のセルの内容を特定のセルに移したい

    例えば、 A B C D E F 1 10 20 30 40 140 2 50 60 70 80 3 90 100 110 120 4 130 140 150 160 5 これらのようにセルが記録されているときには、 B4の内容をF1に表示させて、 5行目に 5 170 180 190 200 とデータが記録されているときには F1に「180」を表示させたいのです。 ちなみに数千行に渡るときにでも同様に一番下の行のデータを 特定のセルF1に表示させたいのですができるものでしょうか? F1の中のセルの関数もしくはマクロでもかまわないのですが、 ご教示いただければと思います。

専門家に質問してみよう