Excel関数 逆引き集 | 表示専用文字列生成 → LET

Excel
スポンサーリンク

概要

「セルの値を組み合わせて“見せるためだけの文字列”を作りたい」
「複雑な文章を作ると式が長くなりすぎて読めない」
「途中計算を何度も書くのが面倒」

こういうときに圧倒的に便利なのが LET 関数です。

LET は、
“途中の計算に名前をつけて再利用できる”
という Excel の中でも特に強力な関数で、
表示専用の文字列生成(ラベル・コメント・説明文など)を
“読みやすく・管理しやすく”書けるようになります。

ここでは、初心者でもすぐ使えるテンプレートと例題を交えて、
LET を使った 表示専用文字列生成 を丁寧に解説します。


LET の基本構造

LET の書式

=LET(
  名前1, 値1,
  名前2, 値2,
  …,
  最後に返す式
)

LET の流れはとてもシンプルです。

  1. 値に名前をつける
  2. その名前を使って式を書く
  3. 最後に返したい文字列を指定する

これにより、
「同じ計算を何度も書かなくていい」
「式が上から順に読める」
というメリットが生まれます。


基本パターン:複数セルを整形して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 の効果が大きくなるので、
ぜひテンプレとして使い倒してみてください。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました