LEFT 関数:構文、使用例、エラーの解決法
2026-10-14 更新 · 無料 · Excel と Google Sheets に対応
構文
=LEFT(text, [num_chars])クイック回答
LEFT はセルの先頭から文字を返します:=LEFT(A2, 4) は「AE-2026-041」を「AE-」にします。文字数の既定は 1、セル長より多く頼むと全文がそのまま返り、結果は常にテキストです——数字に見えても。
構文
=LEFT(text, [num_chars])| 引数 | 意味 |
|---|---|
| text | 切り取るテキストが入ったセルまたは文字列。必須。 |
| [num_chars] | 先頭から取る文字数:4 なら最初の 4 文字。省略すると 1 文字だけ。0 以上である必要があり、負数は #VALUE!。 |
地域設定によっては引数がカンマではなくセミコロンで区切られます:=LEFT(A2; 4)。カンマが小数点記号の国では標準の挙動です。
LEFT が数えるのは文字であり、バイトでも単語でもありません:英字・数字・空白・絵文字も 1 文字として 1 つ消費します。位置は 1 から始まり、0 文字目は存在しません。
基本例
=LEFT(A2, 4)固定幅の主力:商品コード「AE-2026-041」が国別接頭辞「AE-」を渡し、電話番号が国番号を、口座番号が支店番号を差し出す——意味のある部分が常に先頭 N 文字にある場面の御用達です。
=LEFT(A2, SEARCH(" ", A2) - 1)動的な強化版:SEARCH が最初の空白を見つけ、LEFT がその手前を全部取るので、「Jane Doe」は「Jane」、「Winston Churchill」も「Winston」になります——切れ目がハードコードの数字ではなくデータに追従します。
=LEFT(A2, FIND("@", A2) - 1)「john.doe@example.com」からメールアカウント部分「john.doe」を抽出。大文字小文字を区別するなら FIND、区別しない場合やワイルドカードが要るなら SEARCH を使います。
=IFERROR(LEFT(A2, SEARCH("-", A2) - 1), A2)本番仕様:ハイフンがない行は SEARCH が見つからず #VALUE! に爆発します。IFERROR で包めば、そうした行はそのまま返り、列全体が壊れません。
LEFT は数字を切り出してもテキストを返します:LEFT(123456, 3) は合計できないテキスト「123」です。数値の切り出しは VALUE で包み(=VALUE(LEFT(A2, 3)))、日付はシリアル値であることに注意——LEFT は表示ではなくシリアル値から切り取ります。
よくあるエラーと修正方法
| 症状 | 最も多い原因 | 修正 |
|---|---|---|
| #VALUE! | 文字数が負——または渡した FIND/SEARCH が区切り文字を見つけられず、FIND 自身が先に #VALUE! を返している。 | 正の文字数を使い、区切り文字探しを IFERROR で包んでフォールバックを置くか、区切り文字が欠けた行を先に点検します。 |
| 1 文字しか返らない | num_chars を省略した——書かないと LEFT は 1 とみなす。 | 文字数を足す:=LEFT(A2, 4)。本当に 1 文字でよい場合も、意図を明示するために 1 と書くのが親切です。 |
| 切れ目が 1 文字ずれる | 区切り文字前後のオフバイワン:空白を含めないなら 1 を引き、含めるなら引かない。 | 1 行で位置を追う——SEARCH は区切り文字の位置を返すので、SEARCH(...)-1 はその直前で止まります。 |
| 取り出した数字が計算できない | LEFT は常にテキストを返すため「007」は「007」のまま、「123」は合計されない。 | =VALUE(LEFT(A2, 3)) で切り出した数字を本物の数値へ(先頭の 0 は消えます。そもそもテキストだったのです)。 |
| 結果が全体的にずれる | セルの先頭に見えない埋め込み空白があり、最初の数文字が空白になっている。 | 先に掃除:=LEFT(TRIM(A2), 4)、または列全体の空白を一括削除。 |
エラーではない古典的な驚き:LEFT にセル長より多い文字数を頼むと、エラーではなく全文が返ります。=LEFT("Hi", 50) は「Hi」のまま——「最大 N 文字」の安全な切り詰めに便利な半面、警告を期待していると面食らいます。
LEFT と MID の比較
| LEFT | MID | |
|---|---|---|
| 切り始める位置 | 常に最初の文字 | 指定した任意の位置:=MID(A2, 5, 3) |
| 引数 | テキスト + 文字数 | テキスト + 開始位置 + 文字数 |
| 最適な場面 | 接頭辞、名、固定幅ヘッダー | 中央の断片——市外局番、2 つの区切りの間 |
| 動的な開始 | 動かせるのは終端だけ(FIND/SEARCH 経由) | 両端が動く——FIND を開始位置に渡せる |
LEFT は開始位置が永久に 1 の専用 MID です:=LEFT(A2, 4) は =MID(A2, 1, 4) と完全に同じ。断片が先頭以外のどこかにあり得るなら MID へ——解析数式では両者が常に入れ子で働きます。
LEFT と区切り位置・TEXTBEFORE の比較
| LEFT(+ FIND/SEARCH) | 区切り位置 | TEXTBEFORE(Microsoft 365) | |
|---|---|---|---|
| 出力 | 新列に入る生きた数式、元データは無傷 | セルをその場で分割、横着すると隣の列を上書き | 生きた数式:=TEXTBEFORE(A2, "-") |
| 区切りロジック | FIND/SEARCH と -1 オフセットで手作り | ダイアログ操作、連続区切りも目視で処理 | 引数 1 つ——FIND もマイナス 1 も不要 |
| 新しい行に耐える | はい——フィルダウンで再計算 | いいえ——新データには再実行が必要 | はい——設計から動的 |
| 利用可能 | 全 Excel バージョンと Google Sheets | 全 Excel バージョン | Excel 365 / 2021 以降のみ |
寿命で選ぶ:繰り返すインポートや更新に耐える解析には LEFT 数式、完成した表の一回限りの整形には区切り位置、Excel が新しく「区切りの前全部」だけ要るなら TEXTBEFORE です。
Google Sheets での LEFT
- 構文も既定値も同一——上の数式はそのまま Sheets に貼れます。
- カンマ小数点地域ではセミコロン:=LEFT(A2; 4)、Excel と同じです。
- FIND は大文字小文字を区別、SEARCH は区別せずワイルドカード対応——コンビの挙動も同じ。
- パターンで接頭辞を取るなら REGEXEXTRACT があり、FIND の入れ子なしで「最初の数字の前」を一発で抜けます。
制限と上級テクニック
- 1 回の呼び出しで 1 カット:コードを 3 分割するなら 3 列——LEFT・MID・RIGHT を並べるのが古典的な解析レイアウト。
- FIND と SEARCH は意図的に選ぶ:空白やハイフンのように大小を問わない区切りは SEARCH、「a」と「A」を別物にするなら FIND。
- 区切り駆動の抽出には IFERROR を必ず巻く——区切りが欠けた 1 行から #VALUE! が列全体へ広がります。
- 切った後の数字はテキストのまま:=VALUE(LEFT(A2, 3)) が計算できる数値への戻り道。
- n 個目の区切りの前を取るには SEARCH を入れ子に:SEARCH("-", A2, SEARCH("-", A2) + 1) が 2 つ目のハイフンを見つけ、LEFT がそこまで切ります。
LEFT を解析ラインの最初の駅として扱う:TRIM で詰め物を落とし、SEARCH で区切りを見つけ、LEFT で切り、結果が数値なら VALUE で変換。各段を独立した列にしておけば、来月インポート書式が変わっても直す数式は 1 つです。
関連ツール
関連関数
よくある質問
LEFT は Excel で何をしますか?
セルの先頭から指定した文字数を返します:=LEFT(A2, 4) は最初の 4 文字。文字数を省略すると 1 文字だけ取り、FIND や SEARCH と組み合わせれば空白やハイフンなどの区切りに切れ目を追従させられます。
LEFT で空白やハイフンの前のテキストを取るには?
区切り位置を探して 1 を引きます:=LEFT(A2, SEARCH(" ", A2) - 1) が最初の空白の手前全部。SEARCH は大小無視、FIND は区別し、全体を IFERROR で包めば区切りがない行も無事です。
LEFT が #VALUE! を返すのはなぜ?
文字数が負か、埋め込んだ FIND/SEARCH が区切りを見つけられないか——FIND は未発見で #VALUE! を返し、LEFT がそれを継承します。IFERROR でフォールバックを置き、区切り欠けの行を点検します。
LEFT と MID の違いは?
LEFT は常に文字 1 から始まり文字数だけが必要。MID は任意の位置から始まり開始位置と文字数の両方が要ります。接頭辞や名には LEFT、中央に埋もれた断片には MID です。
LEFT で取り出した数字が計算できないのはなぜ?
LEFT はテキストを返すので、その「123」は値ではなくラベルです。=VALUE(LEFT(A2, 3)) で変換を——ただし先頭の 0 は本物の数値では消えます。テキストとしてしか存在しなかったのです。
num_chars がテキストより長いとどうなる?
LEFT はセル全体をそのまま返します——=LEFT("Hi", 50) は「Hi」のまま、エラーも埋め草もなし。このルールのおかげで大きな文字数は「最大 N 文字」の安全な表現として使えます。
LEFT は Google Sheets で使えますか?
使えます——名前・引数・FIND/SEARCH の組み合わせ・カンマ小数点地域のセミコロン、すべて同じ。Sheets にはパターン抽出の REGEXEXTRACT もあります。
自分のファイルで試す準備はできましたか?
Excelのテキストを列に分割を開く — 無料