Menu

Excelで大文字・小文字を変換する: UPPER、LOWER、PROPER

=UPPER(A2)はA2の英字をすべて大文字に、=LOWER(A2)はすべて小文字にし、=PROPER(A2)は各単語の先頭の文字を大文字にします。文字列の最初の1文字だけなら、UPPER、LEFT、MIDを組み合わせます。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

=UPPER(A2)は、A2の文字列の英字をすべて大文字にして返します。=LOWER(A2)はすべての英字を小文字にし、=PROPER(A2)は各単語の最初の文字を大文字に、残りを小文字にします。

大文字・小文字を変える3つの方法
B2
ABCD
1TextUPPERLOWERPROPER
2ana silvaANA SILVAana silvaAna Silva
3BEN OKAFORBEN OKAFORben okaforBen Okafor
4cHEN wUCHEN WUchen wuChen Wu
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

数字、スペース、記号はそのまま残ります。3つの関数はどれも、すべてのバージョンのExcelとGoogleスプレッドシートで使えます。

ExcelにはWordのShift+F3のような大文字と小文字を切り替えるボタンがないので、数式を使うのが普通です。元の文字列を結果で置き換える方法は、最後の節を参照してください。

最初の1文字だけを大文字にする

文の先頭だけを大文字にする関数はありません。部品から組み立てます。最初の文字にUPPERをかけ、残りはMIDで取り出します:

文の先頭だけ大文字
B2
ABC
1TextFirst letter, rest lowercaseFirst letter, rest unchanged
2hELLO wORLDHello worldHELLO wORLD
3order from NASAOrder from nasaOrder from NASA
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

B列は最初の文字より後をすべて小文字にするので、NASAもnasaになります。C列は残りを元のままにします。LEN(A2)は「文字列の残り全部」という意味で使っています。MIDは実際にある文字数より多くは返しません。

最初の文字を直す
B2
AB
1CommentFixed
2pAYMENT RECEIVED
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: B2で、A2の文字列の最初の文字を大文字に、残りを小文字にしてください。

PROPERの癖: McDonald、O'Neil、3rd

PROPERは、文字列の最初の英字と、英字以外の文字の後に来る英字をすべて大文字にします。この規則はたいていの名前では正しく、一部では間違います:

扱いにくい文字列にPROPERを使うと
B2
AB
1TextPROPER
2o'neilO'Neil
3mary-annMary-Ann
4mcdonald'sMcdonald'S
53rd floor3Rd Floor
6USA todayUsa Today
7mcdonaldMcdonald
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。
  • o'neilとmary-annは、O'NeilとMary-Annのように正しくなります。
  • mcdonald'sはMcdonald'Sになります。アポストロフィの後のSが大文字になるからです。このパターンは=SUBSTITUTE(PROPER(A2),"'S","'s")で直せます。
  • 3rdは3Rdに、USAはUsaになります。PROPERは先頭以外の文字をすべて小文字にします。
  • mcdonaldはMcDonaldではなくMcdonaldになります。名前のどこに2つ目の大文字があるかは、PROPERにはわかりません。こうした名前は手で直すか、例外の対応表で検索する必要があります。

EXACTで大文字と小文字を区別して比較する

Excelは文字列を比べるとき、大文字と小文字を区別しません。="ANA"="ana"はTRUEで、COUNTIF、VLOOKUP、XLOOKUPの一致も同じです。ab12とAB12のようなコードで大文字と小文字に意味があるときは、EXACTを使います:

等しいが、完全には一致しない
C2
ABCD
1CodeTypedA=BEXACT
2AB12ab12TRUEFALSE
3AB12AB12TRUETRUE
4Xy-7XY-7TRUEFALSE
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

大文字と小文字を区別して検索するには、EXACTが列全体に対して返すTRUE/FALSEのリストをXLOOKUPに渡します。=XLOOKUP(TRUE,EXACT(A2:A10,F2),B2:B10)はab12を見つけますが、AB12は見つけません(Excel 2021とMicrosoft 365)。

メールアドレスを小文字にする
B2
AB
1Typed emailStored email
2Ana.Silva@Coddy.TECH
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: メールアドレスは小文字で保存することになっています。B2で、A2のアドレスを小文字にして返してください。

文字列を変換後の大文字・小文字で置き換える

数式は結果を別の列に書きます。元のセルを変えるには:

  1. 空いている列に=UPPER(A2)(またはLOWER、PROPER)を入れて下にコピーします。
  2. その列をCtrl+C(MacではCmd+C)でコピーします。
  3. 元の列を選択して ホーム > 貼り付け > 値の貼り付け を使います。
  4. 作業列を削除します。

簡単なケースならフラッシュフィルが近道です。元の文字列の隣に、変えたい形で最初の値を入力してEnterを押し、Ctrl+Eを押すか データ > フラッシュフィル を使います。パターンがほかの行に固定の文字列としてコピーされます。パターンがわかりにくいMcDonaldのような名前では、結果を確認してください。

よくある質問

Excelで英字をすべて大文字にするには?

別の列に=UPPER(A2)を入れて下にコピーし、結果をコピーして元の列に ホーム > 貼り付け > 値の貼り付け を使います。Wordと違って、Excelには大文字と小文字を切り替えるボタンがありません。

Excelで最初の1文字だけを大文字にするには?

=UPPER(LEFT(A2,1))&LOWER(MID(A2,2,LEN(A2)))は最初の文字を大文字にし、残りを小文字にします。残りをそのままにするにはLOWERを外します:=UPPER(LEFT(A2,1))&MID(A2,2,LEN(A2))。

PROPERがアポストロフィの後の文字を大文字にするのはなぜですか?

PROPERは英字以外の文字の後に来る英字をすべて大文字にするので、mcdonald'sはMcdonald'Sになります。よくあるこのパターンは=SUBSTITUTE(PROPER(A2),"'S","'s")で直せます。

Excelで大文字と小文字を区別して検索するには?

検索は大文字と小文字を区別しないので、EXACTで一致させます。=XLOOKUP(TRUE,EXACT(A2:A10,F2),B2:B10)は、A列が大文字も含めて1文字ずつF2と一致する行を返します(Excel 2021とMicrosoft 365)。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める