😊
Google Sheetsで〇〇で終わらないセルを検知する方法(複数条件)
tl;dr
=NOT(OR(RIGHT(A1, 1)="X", RIGHT(A1,3)="AAA", A1=""))
=AND(RIGHT(A1, 1)<>"X", RIGHT(A1,3)<>"AAA", A1<>"")
関数の解説
[1]
NOT関数与えられた論理値を反転させる関数です。
=NOT(論理値)
[2]
OR関数与えられた論理値のいずれかがTRUE
であればTRUE
を返す関数です。
=OR(論理値1, 論理値2, ...)
[3]
RIGHT関数与えられた文字列の右から指定した文字数を返す関数です。
=RIGHT(文字列, 文字数)
〇〇で終わらないセルを検知する方法(複数条件)
まず、"X"
で終わるセルを検知する方法を考えます。
=RIGHT(A1, 1)="X"
次に、"X"
または、"AAA"
で終わるセルを検知する方法を考えます。
=OR(RIGHT(A1, 1)="X", RIGHT(A1,3)="AAA")
この条件を反転させると、"X"
または、"AAA"
で終わらないセルを検知することができます。
=NOT(OR(RIGHT(A1, 1)="X", RIGHT(A1,3)="AAA"))
しかし、この条件だと、空白セルも検知してしまいます。そこで、空白セルを除外する条件を追加します。(空白セルは空文字列で表され、RIGHT("", 1)
は必ず空文字列を返します。そして、空文字列はFALSE
と評価されます。)
=NOT(OR(RIGHT(A1, 1)="X", RIGHT(A1,3)="AAA", A1=""))
また、得られた式をド・モルガンの法則を用いて、書き換えることができます。
=AND(RIGHT(A1, 1)<>"X", RIGHT(A1,3)<>"AAA", A1<>"")
補足
今回は条件として、〇〇で終わらないとしたが、RIGHT関数やMID関数を用いることでより柔軟な条件を設定することができます。また、正規表現を用いることで、より複雑な条件を設定することができます。
=NOT(REGEXMATCH(A1, "X$|AAA$|^$"))
Discussion