• ベストアンサー

IF関数について教えてください。

エクセル上で、大文字と小文字をチェックする数式を教えてください。 どうぞ宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

英文字の大文字、小文字ですよね(全角と半角とかではなくて) A1セルに 一文字あるとして =IF(A1=SUBSTITUTE(A1,UPPER(A1),""),"小文字です","大文字です") もっと簡単な式あるかもしれませんが、取り合えずです。

その他の回答 (2)

noname#77517
noname#77517
回答No.3

CODE関数を使えば、その文字のコード番号がわかるので、65~90であれば 大文字、97~122であれば小文字と判別できます。 例えばこんな感じです。 =IF(AND(CODE(A1)>64, CODE(A1)<91), "大文字", IF(AND(CODE(A1)>96, CODE(A1)<123), "小文字", "その他"))

  • choco_jiji
  • ベストアンサー率31% (528/1701)
回答No.1

単純な式がわからなかったので、 複数の式、セルを用いて同じようなことをしてみました。     A     B     C  1  "ABC" =UPPER(A1)  =EXACT(A1,B1)  2 "Abc" =UPPER(A2)  =EXACT(A2,B2) 3 "abc" =UPPER(A2)  =EXACT(A2,B2) A列は文字列です。 B列はA列の文字列を大文字に変換させます。 C列でA列とB列の文字を比較させます。A1がB1と同じならtrue(大文字、小文字の区別あり)という式です。 (つまり全て大文字ならtrue、一文字でも小文字が入っていればfalseとなります) これで一応、A列の文字列が大文字かどうかの判断ができます。 ちなみに、C列で=EXACT(A1,UPPER(A1))とすればB列は省略できます。 これをさらにIF関数に組み込むことも可能です。 ただし、全て小文字と大小混在の判断をつける事はできません。 そこまで区別したい場合はUPPERをLOWERにしたものをさらに組み合わせれば可能です。 =IF(EXACT(A1,UPPER(A1)),"全て大文字",IF(EXACT(A1,LOWER(A1)),"すべて小文字","大小混在")) これで1文にできたかな。 あ、空白の場合、"全て大文字"になってしまうので、さらに式をつなげる必要がありそうです。

関連するQ&A

専門家に質問してみよう