概要
「コメント欄に貼る文章を自動生成したい」
「複数セルの内容をつなげて“自然な文章”にしたい」
「空欄の項目はスキップして、きれいな文章にしたい」
こういうときに最強なのが 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 は「文章を組み立てる」ための最強ツールです。
区切り文字・項目名・整形ルールを組み合わせるだけで、
どんなコメント文でも“テンプレート化”して量産できるようになります。
