概要
Excelで「ファイル名から拡張子だけを取り出したい」ときは、RIGHT関数+SEARCH関数を組み合わせます。拡張子は通常「.」の後ろに続く文字列なので、「.」の位置をSEARCHで探し、その後ろの文字数分をRIGHTで切り出す仕組みです。ログ整理やファイル一覧の加工に役立ちます。
基本の使い方
書式
=RIGHT(ファイル名セル, LEN(ファイル名セル) - SEARCH(".", ファイル名セル))
SEARCH(".", ファイル名セル):ファイル名の中で「.」の位置を取得LEN(ファイル名セル):文字列全体の長さを取得LEN(...) - SEARCH(...):拡張子の文字数を計算RIGHT(...):末尾からその文字数分を切り出す
例
=RIGHT("report.xlsx", LEN("report.xlsx") - SEARCH(".", "report.xlsx"))
// 結果: "xlsx"
具体例
セル参照で拡張子を取得
=RIGHT(A2, LEN(A2) - SEARCH(".", A2))
A2が「data.csv」なら結果は「csv」。
複数文字の拡張子も対応
=RIGHT(B2, LEN(B2) - SEARCH(".", B2))
B2が「presentation.pptx」なら結果は「pptx」。
拡張子が短い場合も対応
=RIGHT(C2, LEN(C2) - SEARCH(".", C2))
C2が「image.jpg」なら結果は「jpg」。
応用テンプレート
IFERRORで拡張子がない場合の対策
=IFERROR(RIGHT(D2, LEN(D2) - SEARCH(".", D2)), "拡張子なし")
「.」が含まれない場合は「拡張子なし」と表示。
拡張子を大文字に変換
=UPPER(RIGHT(E2, LEN(E2) - SEARCH(".", E2)))
「file.pdf」→「PDF」。
拡張子を小文字に変換
=LOWER(RIGHT(F2, LEN(F2) - SEARCH(".", F2)))
「FILE.TXT」→「txt」。
よくあるつまずきと対策
「.」が複数ある場合
SEARCHは最初の「.」を返します。ファイル名に複数の「.」がある場合は、最後の「.」を探すためにSEARCHではなくFIND+REPTやTEXTAFTER(Microsoft 365)を使うと便利です。
拡張子がない場合
エラーになります。IFERRORで補うと安心です。
大文字小文字の揺れ
拡張子は大文字小文字が混在することがあります。UPPERやLOWERで統一すると処理が安定します。
例題
問題1: A2セルの「report.xlsx」から拡張子をB2に表示してください。
解答例:
=RIGHT(A2, LEN(A2) - SEARCH(".", A2))
問題2: C2セルの「data.csv」から拡張子をD2に表示してください。
解答例:
=RIGHT(C2, LEN(C2) - SEARCH(".", C2))
問題3: E2セルの「presentation.pptx」から拡張子をF2に表示してください。
解答例:
=RIGHT(E2, LEN(E2) - SEARCH(".", E2))
問題4: G2セルの文字列に「.」が含まれない場合は「拡張子なし」とH2に表示してください。
解答例:
=IFERROR(RIGHT(G2, LEN(G2) - SEARCH(".", G2)), "拡張子なし")
問題5: I2セルの「FILE.TXT」から拡張子を小文字に変換してJ2に表示してください。
解答例:
=LOWER(RIGHT(I2, LEN(I2) - SEARCH(".", I2)))
まとめ
ファイル拡張子を取得するには RIGHT+SEARCH+LEN の組み合わせが基本です。
- 「.」の位置をSEARCHで探す
- LENで文字数を計算
- RIGHTで末尾を切り出す
さらにIFERRORでエラー対策、UPPER/LOWERで表記統一を加えると実務で安定します。講師として強調したいのは「位置を特定して切り出す」という考え方。これを習得すれば、Excelでの文字列処理が一段と自在になります。
