概要
「セルの値を組み合わせて“見せるためだけの文字列”を作りたい」
「複雑な文章を作ると式が長くなりすぎて読めない」
「途中計算を何度も書くのが面倒」
こういうときに圧倒的に便利なのが LET 関数です。
LET は、
“途中の計算に名前をつけて再利用できる”
という Excel の中でも特に強力な関数で、
表示専用の文字列生成(ラベル・コメント・説明文など)を
“読みやすく・管理しやすく”書けるようになります。
ここでは、初心者でもすぐ使えるテンプレートと例題を交えて、
LET を使った 表示専用文字列生成 を丁寧に解説します。
LET の基本構造
LET の書式
=LET(
名前1, 値1,
名前2, 値2,
…,
最後に返す式
)
LET の流れはとてもシンプルです。
- 値に名前をつける
- その名前を使って式を書く
- 最後に返したい文字列を指定する
これにより、
「同じ計算を何度も書かなくていい」
「式が上から順に読める」
というメリットが生まれます。
基本パターン:複数セルを整形して1つの文章にする
例:顧客情報を文章化する
A2:顧客名
B2:住所
C2:電話番号
これらを文章としてまとめたいとします。
顧客:山田太郎(住所:東京都江東区、TEL:03-1234-5678)
LET を使うと、途中の値に名前をつけて読みやすくできます。
=LET(
name, A2,
addr, B2,
tel, C2,
result,
"顧客:" & name & "(住所:" & addr & "、TEL:" & tel & ")",
result
)
- name, addr, tel に値を保持
- 最後に result を返す
- 文章の構造が上から順に読める
これが LET の最大の強みです。
応用1:途中で整形した値を再利用する
例:日付と金額を整形して文章にする
A2:日付
B2:金額
2026年1月5日付で、10,000円の入金を確認しました。
のような文章を作りたい場合。
=LET(
d, TEXT(A2,"yyyy年m月d日"),
m, TEXT(B2,"#,##0"),
result,
d & "付で、" & m & "円の入金を確認しました。",
result
)
- TEXT の結果を d, m に保存
- 文章中で何度でも使える
- 長い TEXT を繰り返し書かなくて済む
文章生成が一気にスッキリします。
応用2:空欄チェックを含む文章生成
例:部署が空欄なら「部署不明」とする
A2:氏名
B2:部署(空欄の可能性あり)
山田(部署:営業)
山田(部署不明)
のようにしたい場合。
=LET(
name, A2,
dept, IF(B2="","部署不明","部署:" & B2),
result,
name & "(" & dept & ")",
result
)
- dept に「部署名 or 部署不明」を先に決めておく
- result では name と dept を組み合わせるだけ
条件分岐があっても LET なら読みやすいです。
応用3:複数の計算をまとめて“テンプレ化”する
例:商品ラベルをテンプレート化
A2:商品名
B2:カテゴリ
C2:価格
【商品名】りんご|カテゴリ:食品|価格:120円
のようなラベルを作るテンプレート。
=LET(
name, A2,
cat, B2,
price, TEXT(C2,"#,##0") & "円",
result,
"【商品名】" & name & "|カテゴリ:" & cat & "|価格:" & price,
result
)
- price を TEXT で整形して保持
- 最後に result で組み立てるだけ
- ラベルの構造が明確で、修正しやすい
応用4:複雑な文章を“段階的に組み立てる”
例:長文コメントを作る
A2:作業名
B2:担当者
C2:進捗率
作業「資料作成」は担当:山田により進行中です。(進捗:50%)
のような文章を作る場合。
=LET(
task, A2,
person, B2,
prog, TEXT(C2,"0%"),
msg1, "作業「" & task & "」は担当:" & person & "により進行中です。",
msg2, "(進捗:" & prog & ")",
result, msg1 & msg2,
result
)
- 長文を msg1, msg2 に分けて管理
- 最後に result で結合
- 文章の構造が非常にわかりやすい
LET を使った表示専用文字列生成の“型”まとめ
値に名前をつける
=LET(
x, A2,
y, B2,
result, x & "と" & y,
result
)
整形した値を再利用
=LET(
d, TEXT(A2,"yyyy/mm/dd"),
m, TEXT(B2,"#,##0"),
result, d & ":" & m & "円",
result
)
条件分岐を先に処理しておく
=LET(
dept, IF(B2="","部署不明","部署:" & B2),
result, A2 & "(" & dept & ")",
result
)
長文を段階的に組み立てる
=LET(
p1, "文章の前半",
p2, "文章の後半",
result, p1 & p2,
result
)
LET の本質は
「途中の処理に名前をつけて、式を読みやすくする」
ということです。
例題
問題1
A2:顧客名
B2:住所
これらから顧客:山田(住所:東京都江東区)
のような文字列を作りたいです。
LET を使い、name=A2、addr=B2 として、最後に result を返す式を書いてください。
=LET(
name, A2,
addr, B2,
result, "顧客:" & name & "(住所:" & addr & ")",
result
)
問題2
A2 に日付、B2 に金額が入っています。
日付は「yyyy年m月d日」、金額は「#,##0円」に整形し、2026年1月5日付で10,000円を受領しました。
という文章を作りたいです。
LET を使った式を書いてください。
=LET(
d, TEXT(A2,"yyyy年m月d日"),
m, TEXT(B2,"#,##0") & "円",
result, d & "付で" & m & "を受領しました。",
result
)
問題3
A2:氏名
B2:部署(空欄の可能性あり)
部署が空欄なら「部署不明」、
値があるなら「部署:◯◯」として、山田(部署:営業) または 山田(部署不明)
のように表示したいです。
LET を使った式を書いてください。
=LET(
name, A2,
dept, IF(B2="","部署不明","部署:" & B2),
result, name & "(" & dept & ")",
result
)
問題4
A2:商品名
B2:カテゴリ
C2:価格
これらから商品:りんご|カテゴリ:食品|価格:120円
のようなラベルを作りたいです。
LET を使い、price を TEXT で整形してから使う式を書いてください。
=LET(
name, A2,
cat, B2,
price, TEXT(C2,"#,##0") & "円",
result, "商品:" & name & "|カテゴリ:" & cat & "|価格:" & price,
result
)
問題5
A2:作業名
B2:担当者
C2:進捗率(0〜1)
これらから作業「資料作成」は担当:山田が対応中です。(進捗:50%)
のような文章を作りたいです。
LET を使い、prog=TEXT(C2,”0%”) として組み立てる式を書いてください。
=LET(
task, A2,
person, B2,
prog, TEXT(C2,"0%"),
result, "作業「" & task & "」は担当:" & person & "が対応中です。(進捗:" & prog & ")",
result
)
LET は「表示専用の文字列生成」を劇的に読みやすくする関数です。
複雑な文章ほど LET の効果が大きくなるので、
ぜひテンプレとして使い倒してみてください。
