Excel関数 逆引き集 | コメント用文章生成 → TEXTJOIN

Excel
スポンサーリンク

概要

「コメント欄に貼る文章を自動生成したい」
「複数セルの内容をつなげて“自然な文章”にしたい」
「空欄の項目はスキップして、きれいな文章にしたい」

こういうときに最強なのが TEXTJOIN 関数です。

TEXTJOIN は
複数の文字列を、指定した区切り文字でまとめて1つの文章にする関数
なので、コメント文・報告文・メモ文の自動生成にぴったりです。

ここでは、初心者でもすぐ使える「コメント用文章生成の型」を、例題つきで丁寧に解説します。


TEXTJOIN の基本

書式

=TEXTJOIN(区切り文字, 空白を無視するか, 文字列1, [文字列2]...)
  • 区切り文字
    文と文の間に入れる文字(例:「」「。」「、」「 / 」など)
  • 空白を無視するか
    TRUE → 空白セルはスキップ
    FALSE → 空白セルも区切りだけ残る
  • 文字列
    結合したいセルや文字列

コメント文では TRUE(空白を無視) を使うことがほとんどです。
理由は「空欄の項目があっても、文章が崩れないようにするため」です。


基本パターン:複数セルをつないでコメント文を作る

例:A2〜C2 の内容を「。」区切りでコメント化

A2:作業を完了しました
B2:問題はありません
C2:次回は10日に実施予定です

これらを 1 つのコメント文にしたい場合、D2 に次の式を書きます。

=TEXTJOIN("。", TRUE, A2, B2, C2) & "。"

結果:

作業を完了しました。問題はありません。次回は10日に実施予定です。

最後に「。」を追加して文章を閉じるのがポイントです。


応用1:項目名つきのコメント文を作る

例:「担当:山田。状況:完了。備考:特になし。」

A2:山田
B2:完了
C2:特になし

D2 に次の式を書きます。

=TEXTJOIN("。", TRUE,
 "担当:" & A2,
 "状況:" & B2,
 "備考:" & C2
) & "。"

空欄があっても TRUE のおかげで余計な「。」が出ません。


応用2:空欄を自動スキップする自然な文章

例:備考が空欄なら文章に含めない

A2:山田
B2:完了
C2:(空欄)

D2 に次の式を書きます。

=TEXTJOIN("。", TRUE,
 "担当:" & A2,
 "状況:" & B2,
 IF(C2<>"","備考:" & C2,"")
) & "。"

結果:

担当:山田。状況:完了。

備考が空欄でも文章が崩れません。


応用3:複数行の文章を改行でつなぐ

例:コメントを改行区切りでまとめる

A2:作業完了
A3:問題なし
A4:次回は10日

B2 に次の式を書きます。

=TEXTJOIN(CHAR(10), TRUE, A2:A4)

セルの書式で「折り返して全体を表示する」をオンにすると、
1セルに複数行のコメントが表示されます。


応用4:テンプレート化してコメント文を量産

例:報告テンプレート

A2:作業名
B2:担当者
C2:結果
D2:次回予定

E2 に次の式を書きます。

=TEXTJOIN("。", TRUE,
 "作業:" & A2,
 "担当:" & B2,
 "結果:" & C2,
 "次回予定:" & D2
) & "。"

テンプレート化しておけば、
どの行でも同じフォーマットのコメント文が自動生成できます。


コメント文生成の“型”まとめ

文を「。」でつなぐ

=TEXTJOIN("。", TRUE, 文1, 文2, 文3) & "。"

項目名つき文章

=TEXTJOIN("。", TRUE,
 "項目1:" & A2,
 "項目2:" & B2
) & "。"

空欄スキップ

=TEXTJOIN("。", TRUE,
 IF(A2<>"","項目:" & A2,""),
 IF(B2<>"","項目:" & B2,"")
) & "。"

改行コメント

=TEXTJOIN(CHAR(10), TRUE, A2:A5)

この4つの型を覚えておけば、
ほぼすべての「コメント文生成」に対応できます。


例題

問題1

A2:作業を完了しました
B2:問題ありません
C2:次回は10日に実施予定です

これらを
作業を完了しました。問題ありません。次回は10日に実施予定です。
というコメント文にしたいです。
TEXTJOIN を使った式を書いてください。

=TEXTJOIN("。",TRUE,A2,B2,C2) & "。"

問題2

A2:山田
B2:営業
C2:1234

これらを
担当:山田。部署:営業。内線:1234。
というコメント文にしたいです。
TEXTJOIN を使った式を書いてください。

=TEXTJOIN("。",TRUE,
 "担当:" & A2,
 "部署:" & B2,
 "内線:" & C2
) & "。"

問題3

A2:山田
B2:完了
C2:(空欄)

空欄はスキップし、
担当:山田。状況:完了。
というコメント文にしたいです。
TEXTJOIN と IF を使った式を書いてください。

=TEXTJOIN("。",TRUE,
 "担当:" & A2,
 "状況:" & B2,
 IF(C2<>"","備考:" & C2,"")
) & "。"

問題4

A2:作業完了
A3:問題なし
A4:次回10日

これらを改行でつなぎ、1セルに表示したいです。
TEXTJOIN を使った式を書いてください。

=TEXTJOIN(CHAR(10),TRUE,A2:A4)

問題5

A2:作業名
B2:担当者
C2:結果
D2:次回予定

これらを
作業:◯◯。担当:◯◯。結果:◯◯。次回予定:◯◯。
というコメント文にしたいです。
TEXTJOIN を使った式を書いてください。

=TEXTJOIN("。",TRUE,
 "作業:" & A2,
 "担当:" & B2,
 "結果:" & C2,
 "次回予定:" & D2
) & "。"

TEXTJOIN は「文章を組み立てる」ための最強ツールです。
区切り文字・項目名・整形ルールを組み合わせるだけで、
どんなコメント文でも“テンプレート化”して量産できるようになります。

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