• 締切済み

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

@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% (455/693)
回答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/8249)
回答No.1

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

関連するQ&A