範囲内に文字があればその文字や行を返す - Googleスプレッドシート関数

範囲内に文字があればその文字や行を返す
使用する関数:SORT、MATCH、INDIRECT

範囲内に文字があればその文字や行を返す

SORT関数を使う場合
セル)F5
=SORT(B1:C30)

引数を指定しないとB列(1列目)の昇順に並び変わります

C列の昇順で並び替えたい場合
セル)F5
=SORT(B1:C30,2,TRUE)
指定した範囲2列目昇順で並び替え

C列の降順で並び替えたい場合
セル)F5
=SORT(B1:C30,2,FALSE)
指定した範囲2列目降順で並び替え
MATCH関数とINDIRECT関数を使う場合

B列に何か入力されたらその文字列を呼び出す
=INDIRECT("B"&MATCH("*",B:B,0))
B列何か入力された場合B列の1番上の入力されたセルを呼び出しています

B列に何か入力されたらB列からE列までの行を呼び出す
=INDIRECT("B"&MATCH("*",B:B,0)):INDIRECT("E"& MATCH("*",B:B,0))
B列何か入力された場合B列からE列の同じ行を呼び出しています

範囲内に文字があればその文字や行を返す

応用:B列に何か入力されたらその横に表示された文字列を抽出
セル)G3
=INDIRECT("C"&MATCH("*",B:B,0)):INDIRECT("E"& MATCH("*",B:B,0))

B列何か入力された場合C列からE列を呼び出しています

範囲指定でセルを右側に展開しているので、TRANSPOSE関数の中に入れることで、右に展開しているセルを縦(下)に展開することができます

=TRANSPOSE(INDIRECT("C"&MATCH("*",B:B,0)):INDIRECT("E"& MATCH("*",B:B,0)))
上記の方法だと列から検索しているので1つしか抽出できません
2個目以上を抽出する場合は列指定(B:B)ではなく範囲(B3:B20)を指定します

範囲内に文字があればその行を返す

セル)G3:1つのセルを抽出
=INDIRECT("C"&MATCH("*",B3:B20,0)+2)

セル)G4:1つ目を抽出


セル)G5:2つ目を抽出


範囲内に文字があればその文字や行を返す>HOME

Googleスプレッドシート関数

(C) 2001-2021 Digital World