質問: ====前提・実現したいこと==== 初歩的な内容かとは思いますが、Googleスプレッドシートで各セル(レコード)ごとに文字が セルA1 A セルA2 B セルA3 (空欄) セルA4 (空欄) セルA5 XXX セルA6 D セルA7 E などと並んでいる場合に、固定の文字「XXX」とその上の空欄を除いて セルA1 A ⇒ セルB1 A セルA2 B ⇒ セルB2 B セルA3 (空欄) ⇒ セルB3 C セルA4 (空欄) ⇒ セルB4 D セルA5 XXX ⇒ セルB5 E セルA6 D ⇒ セルA7 E ⇒ とできるような関数を探しています。 このような関数をご存じでしたらお教えいただきたいです。 ====現在の手法==== 現在まで手動によるセルの削除で対応していましたが、 データ数が多くなり、関数により自動的に削除できる手法に切り替えたいと思います。 ====環境==== Chrome
回答: 複数条件での抽出の場合グーグルスプレッドシートなら QUERY関数が便利でしょう。 B1に下記コードを入れてみてください。 ``` =QUERY(A:A, "WHERE A != '' AND A != 'XXX'") ``` 範囲A:Aから、A列の内容が ''(ヌル値) ではなく 'XXX' でもないものを抽出。 QUERY関数は関数に指定された範囲に対し、クエリ文で指定された内容に基づき抽出されます、 複数の列に対して複数の複雑な条件等自在に設定できますので覚えておいて損はありません。 クエリ文はセル指定で使用できますので、 どこかに「除外リスト」を作成し、その内容を元にクエリ文を生成すれば、 除外リストのものは抽出しない、等と言った事も可能です。 (クエリ文内の != は Not Equal です) FILTER関数でも実現可能です。 ``` =filter(A:A,not(A:A=""),not(A:A="XXX")) ``` こちらは単純に指定範囲内の指定条件に合致するものを抽出します。 理解しやすい方をご使用ください。