=UPPER(A2)は、A2の文字列の英字をすべて大文字にして返します。=LOWER(A2)はすべての英字を小文字にし、=PROPER(A2)は各単語の最初の文字を大文字に、残りを小文字にします。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Text | UPPER | LOWER | PROPER |
| 2 | ana silva | ANA SILVA | ana silva | Ana Silva |
| 3 | BEN OKAFOR | BEN OKAFOR | ben okafor | Ben Okafor |
| 4 | cHEN wU | CHEN WU | chen wu | Chen Wu |
数字、スペース、記号はそのまま残ります。3つの関数はどれも、すべてのバージョンのExcelとGoogleスプレッドシートで使えます。
ExcelにはWordのShift+F3のような大文字と小文字を切り替えるボタンがないので、数式を使うのが普通です。元の文字列を結果で置き換える方法は、最後の節を参照してください。
最初の1文字だけを大文字にする
文の先頭だけを大文字にする関数はありません。部品から組み立てます。最初の文字にUPPERをかけ、残りはMIDで取り出します:
| A | B | C | |
|---|---|---|---|
| 1 | Text | First letter, rest lowercase | First letter, rest unchanged |
| 2 | hELLO wORLD | Hello world | HELLO wORLD |
| 3 | order from NASA | Order from nasa | Order from NASA |
B列は最初の文字より後をすべて小文字にするので、NASAもnasaになります。C列は残りを元のままにします。LEN(A2)は「文字列の残り全部」という意味で使っています。MIDは実際にある文字数より多くは返しません。
| A | B | |
|---|---|---|
| 1 | Comment | Fixed |
| 2 | pAYMENT RECEIVED |
やってみよう: B2で、A2の文字列の最初の文字を大文字に、残りを小文字にしてください。
PROPERの癖: McDonald、O'Neil、3rd
PROPERは、文字列の最初の英字と、英字以外の文字の後に来る英字をすべて大文字にします。この規則はたいていの名前では正しく、一部では間違います:
| A | B | |
|---|---|---|
| 1 | Text | PROPER |
| 2 | o'neil | O'Neil |
| 3 | mary-ann | Mary-Ann |
| 4 | mcdonald's | Mcdonald'S |
| 5 | 3rd floor | 3Rd Floor |
| 6 | USA today | Usa Today |
| 7 | mcdonald | Mcdonald |
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を使います:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | Typed | A=B | EXACT |
| 2 | AB12 | ab12 | TRUE | FALSE |
| 3 | AB12 | AB12 | TRUE | TRUE |
| 4 | Xy-7 | XY-7 | TRUE | FALSE |
大文字と小文字を区別して検索するには、EXACTが列全体に対して返すTRUE/FALSEのリストをXLOOKUPに渡します。=XLOOKUP(TRUE,EXACT(A2:A10,F2),B2:B10)はab12を見つけますが、AB12は見つけません(Excel 2021とMicrosoft 365)。
| A | B | |
|---|---|---|
| 1 | Typed email | Stored email |
| 2 | Ana.Silva@Coddy.TECH |
やってみよう: メールアドレスは小文字で保存することになっています。B2で、A2のアドレスを小文字にして返してください。
文字列を変換後の大文字・小文字で置き換える
数式は結果を別の列に書きます。元のセルを変えるには:
- 空いている列に
=UPPER(A2)(またはLOWER、PROPER)を入れて下にコピーします。 - その列をCtrl+C(MacではCmd+C)でコピーします。
- 元の列を選択して ホーム > 貼り付け > 値の貼り付け を使います。
- 作業列を削除します。
簡単なケースならフラッシュフィルが近道です。元の文字列の隣に、変えたい形で最初の値を入力して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)。