=JOIN("<BR>", UNIQUE(TRANSPOSE(SPLIT(A1, "<BR>"))))

この数式・関数で何ができるのか?

内容

スプレッドシートのセルに <BR> 区切りで複数の文字列が入っている場合、通常そのままでは重複ちょうふくや整形の問題が起こります。
この数式は、以下の処理を1行で完結します。

流れ

  • <BR> で区切られている文字列(重複あり)のセルに対して
  • 再び <BR> 区切りで1つのセルにまとめ直す
  • <BR> で区切って分解
  • 重複の削除(ユニーク化)
数式の実用例

上記では、<BR>区切りの文字列で「バナナ」が重複していますが、数式を適用した結果のセルでは🍌の出現回数が1回になっており、重複を削除できています。

用途例

  • アンケートなどで複数選択されたタグの整理
  • コピー&ペーストされた箇条書きデータの正規化
  • 表示用の整形(HTML出力や他ツール連携)

数式の仕組みを分解して理解しよう

=JOIN("<BR>", UNIQUE(TRANSPOSE(SPLIT(A1, "<BR>"))))

ステップ解説

関数役割
SPLIT(A1, "<BR>")セルA1の文字列を<BR>で分割し、配列として返す
TRANSPOSE(…)縦方向に展開(JOINの都合)
UNIQUE(…)重複を削除し、ユニークな値だけを抽出
JOIN("<BR>", …)<BR> で再び連結し、1つのセルに整形出力

関数を一つずつ見ていくと、難しいことは一つもありません。

よくある応用パターンとTips

改行コード(CHAR(10))での整形

HTMLタグではなく表示上の改行をしたい場合。

重要

CHAR(10)」というのはCHARキャラクタ関数といって、スプレッドシート・Excelの引数ひきすう(文字コード)10番は「改行」を意味します。
めちゃくちゃ使います!

=JOIN(CHAR(10),UNIQUE(TRANSPOSE(SPLIT(A1,"<BR>"))))

カンマ区切り対応

CSVやタグ処理に便利。

=JOIN(",", UNIQUE(TRANSPOSE(SPLIT(A1, ","))))

トリムを加えて余分なスペースを除去

=JOIN("<BR>", UNIQUE(TRANSPOSE(ArrayFormula(TRIM(SPLIT(A1, "<BR>"))))))

よくあるエラーと対処法

問題解決方法
結果が1行で改行されないセルの書式設定で「折り返して全体を表示」を有効にする
値が反映されない入力値に <BR> が入っていない or 全角・半角ミスがある
重複が除去されないスペース付きなど「見た目が同じで違う」ケースがある。TRIM()で対処可

まとめ:知っていると作業効率が段違い!

この1式を知っておくだけで、毎回フィルタや関数を何段階も組む必要がなくなります。
地味ですが超便利な数式なので、「使いどころ」をぜひ意識して活用してみてください。


この記事を書いた人

今村 壱生(IMAMURA Issei)詳細はこちら
29歳のエンジニア兼マーケター。Re PROViSTAとして、生成AI、Webアプリ開発、業務自動化、BI導入、Web広告運用など、幅広い分野で活動中。システム構築では、要件定義から設計・実装・運用まで一貫して対応。また、小説執筆も手がけるなど、クリエイティブな一面も持つ。