ADVERTISEMENT

【Googleスプレッドシート】範囲外の値を強調!UPPER/LOWER条件での書式

【Googleスプレッドシート】範囲外の値を強調!UPPER/LOWER条件での書式
🛡️ 超解決

スプレッドシートでデータを管理していると、大文字と小文字を区別してセルの色を変えたい場面があります。例えば、製品コードやIDで大文字のみを目立たせたり、小文字のみを抽出したりする場合です。通常の条件付き書式では大文字・小文字の違いを自動で判別できませんが、カスタム数式を使えば簡単に実現できます。この記事では、UPPER関数とLOWER関数を組み合わせた条件付き書式の設定手順を詳しく解説します。大文字のみ、小文字のみ、その両方から外れた値を強調する方法までカバーしますので、ぜひ最後までご覧ください。

【要点】UPPER/LOWER関数を使った条件付き書式で大文字・小文字を判定する方法

  • =EXACT(A1,UPPER(A1)) のカスタム数式: セルの値がすべて大文字の場合に条件を満たします。大文字のみのセルを強調できます。
  • =EXACT(A1,LOWER(A1)) のカスタム数式: セルの値がすべて小文字の場合に条件を満たします。小文字のみのセルを強調できます。
  • =NOT(EXACT(A1,UPPER(A1))) と NOT(EXACT(A1,LOWER(A1))) の組み合わせ: 大文字でも小文字でもない値(英字以外や混合)を強調できます。

ADVERTISEMENT

大文字・小文字を区別した条件付き書式の仕組み

条件付き書式で大文字と小文字を区別するには、EXACT関数とUPPER関数またはLOWER関数を組み合わせます。EXACT関数は2つの文字列が完全に一致するかどうかを判定します。セルの元の値と、その値をUPPER関数で大文字に変換した値を比較すれば、元の値がすべて大文字であるかどうかがわかります。同様に、LOWER関数を使えばすべて小文字かどうかを判定できます。これらの数式を条件付き書式のカスタム数式として設定することで、大文字のみ、小文字のみのセルに背景色を付けることが可能です。なお、英字以外の文字(数字や記号、日本語など)は大文字・小文字の概念がないため、これらの数式では「常に一致」と見なされる点に注意が必要です。たとえば「123」はUPPER(123)=123となるため、EXACT(123,123)はTRUEになり、大文字用の条件を満たしてしまいます。これを避けるには、英字のみを含むかどうかを別途判定する必要があります。詳しくは注意点のセクションで説明します。

条件付き書式の具体的な設定手順

ここでは、大文字のみを強調する方法、小文字のみを強調する方法、そして大文字でも小文字でもない値を強調する方法の3つを順に解説します。

大文字のみのセルを強調する方法

  1. 条件付き書式を適用する範囲を選択する
    まず、強調したいセル範囲をマウスでドラッグして選択します。たとえばA1:A100などです。
  2. 「書式」メニューから「条件付き書式」を開く
    メニューバーの「書式」をクリックし、ドロップダウンから「条件付き書式」を選択します。右側に条件付き書式ルールのパネルが表示されます。
  3. 「カスタム数式」を選択し、数式を入力する
    パネルの「セルの書式設定の条件」で「カスタム数式」を選び、次の数式を入力します。
    =EXACT(A1,UPPER(A1))
    ※A1は選択範囲の先頭セルに合わせて変更します。範囲がA1から始まる場合はこのままで問題ありません。
  4. 書式スタイルを設定する
    「書式設定のスタイル」で背景色や文字色を選びます。たとえば背景を黄色に設定します。
  5. 「完了」ボタンをクリックする
    これで、大文字のみのセルに指定した色が付きます。

小文字のみのセルを強調する方法

  1. 条件付き書式を適用する範囲を選択する
    大文字の場合と同じ範囲を選択します。
  2. 「書式」→「条件付き書式」を開く
    先ほどと同様に条件付き書式パネルを開きます。
  3. 「カスタム数式」に次の数式を入力する
    =EXACT(A1,LOWER(A1))
    この数式は、セルの値がすべて小文字の場合にTRUEを返します。
  4. 書式スタイルを設定する
    小文字用の色(例:青色)を選びます。
  5. 「完了」をクリックする
    小文字のみのセルが強調されます。

大文字でも小文字でもない値を強調する方法

大文字でも小文字でもない値とは、英字を含まない値や、大文字と小文字が混ざった値です。これを強調するには、大文字条件と小文字条件の両方を否定する数式を使います。

  1. 条件付き書式を適用する範囲を選択する
    同様に範囲を選択します。
  2. 「条件付き書式」パネルを開く
    「書式」→「条件付き書式」を開きます。
  3. カスタム数式に以下の数式を入力する
    =NOT(EXACT(A1,UPPER(A1)))*NOT(EXACT(A1,LOWER(A1)))
    この数式は、大文字でもなく小文字でもない場合にTRUEを返します。*はANDの代わりに使う配列演算ですが、条件付き書式ではTRUE/FALSEの積として機能します。
  4. 書式スタイルを設定する
    例えば背景を赤色に設定します。
  5. 「完了」をクリックする
    大文字・小文字以外のセルが強調されます。

注意点とよくある失敗

条件付き書式の設定時には、いくつか注意すべき点があります。ここでは代表的なトラブルとその対処法を紹介します。

数字や日本語を含むセルが大文字条件に引っかかってしまう

上記の数式は、英字以外の文字を常に「大文字」または「小文字」と見なします。たとえば「123」はUPPER(123)=123なのでEXACT(123,123)がTRUEになり、大文字用の条件を満たします。英字のみを含むセルだけを対象にしたい場合は、別途英字のみかどうかを判定する必要があります。次のような数式を使います。
=AND(EXACT(A1,UPPER(A1)), REGEXMATCH(A1, "[A-Za-z]"))
この数式は、セルがすべて大文字であり、かつ少なくとも1つの英字を含む場合にTRUEを返します。同様に小文字の場合は=AND(EXACT(A1,LOWER(A1)), REGEXMATCH(A1, "[A-Za-z]"))とします。

空白セルにも書式が適用されてしまう

空白セルは空文字列として扱われます。EXACT(“”,UPPER(“”))はTRUEになるため、意図せず空白セルが強調されることがあります。空白セルを除外するには、条件にAND(セル参照<>"", ...)を追加します。たとえば大文字条件の場合、=AND(A1<>"", EXACT(A1,UPPER(A1)))とします。

大文字・小文字が混在するセルを区別できない

上の数式では、大文字と小文字が混在するセルは大文字条件も小文字条件も満たしません。そのため「大文字でも小文字でもない」条件で強調されますが、混在セルだけを強調したい場合は、さらに別の数式が必要です。たとえば、=AND(REGEXMATCH(A1,"[A-Z]"), REGEXMATCH(A1,"[a-z]"))で大文字と小文字の両方を含むセルを検出できます。

ADVERTISEMENT

条件付き書式と関数の比較

大文字・小文字を判定する方法として、条件付き書式のカスタム数式のほかに、REGEXMATCH関数を使った正規表現を用いる方法もあります。以下に違いをまとめます。

方法 数式例 特徴
EXACT+UPPER/LOWER =EXACT(A1,UPPER(A1)) 英字以外も含めて判定するため、数字や記号も大文字扱いになる。シンプルで高速。
REGEXMATCH =REGEXMATCH(A1,”^[A-Z]+$”) 大文字の英字のみで構成されているかを厳密に判定。日本語や数字が混ざるとFALSEになる。
EXACT+UPPER+REGEXMATCH =AND(EXACT(A1,UPPER(A1)), REGEXMATCH(A1,”[A-Z]”)) 英字を含むセルでかつすべて大文字の場合にTRUE。英字が1文字以上必要。

用途に応じて適切な方法を選びましょう。正規表現を使うとより柔軟な判定が可能ですが、複雑になりがちです。

まとめ

この記事では、条件付き書式のカスタム数式を使って大文字のみ、小文字のみ、その他の値を強調する方法を解説しました。EXACT関数とUPPER関数またはLOWER関数を組み合わせることで、大文字・小文字を簡単に判定できます。また、数字や空白セルへの対応、正規表現を使った高度な判定方法も紹介しました。これらのテクニックを活用すれば、データの視覚的な区別が容易になり、ミスを防げます。ぜひ、実際のスプレッドシートで試してみてください。さらに応用として、大文字のみを抽出するフィルタや、大文字の個数をカウントする関数と組み合わせることも可能です。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。