検索した文字があればその行を返す
使用する関数:MATCH、INDIRECT
検索する文字列が1番左の場合はVLOOKUP関数で取得できます
またEXCELならばXLOOKUP関数がありますが、GoogleスプレッドシートにはXLOOKUP関数はありません
GoogleスプレッドシートでMATCH関数とINDIRECT関数で取得します
セル)G2:検索する文字
セル)G3
=INDIRECT("
C"&MATCH(
"*"&G2&"*",
E3:E20,0)+2)
E列の範囲から
セルG12の文字列を検索して
C列の文字列を返します
セル)G4
=INDIRECT("
C"&MATCH(
"*"&G2&"*",
E3:E20,0)+2):INDIRECT("
E"&MATCH(
"*"&G2&"*",
E3:E20,0)+2)
E列の範囲から
セルG12の文字列を検索して
C列~E列の一致する行の文字列を返します
MATCH関数はセルを指定すると完全一致のセルを探しますがワイルドカードを使うことで「含む」セルを探しています
"*"&G2&"*" → *市場*
結果的セルG4は
=INDIRECT("C7"):INDIRECT("E7")
という内容で、範囲を指定することで行を右側に展開しています
またTRANSPOSE関数を使うことで右に展開しているセルを縦に展開することができます
セルG4の数式すべてをTRANSPOSE関数に入れます
セル)G6
=TRANSPOSE(INDIRECT("C"&MATCH("*"&G2&"*",E3:E20,0)+2):INDIRECT("E"&MATCH("*"&G2&"*",E3:E20,0)+2))
類似項目:
範囲内に文字があればその文字や行を返す