Excelで特定の数値のリストを生成し、重複を削除しながら出力する方法に関する質問です。今回は、セルA1に記入された数値をもとに、セルB1に「100 200 201 202 210 300 301 302 203 204 205 500 501」のようなリストを出力する方法を解説します。さらに、同じ3桁の数値が重複して表示されないようにする方法もお伝えします。
前提条件と数式の解説
質問者が提示した問題に基づいて、まず基本となる数式を作成しました。最初の数式は、セルA1に入力された範囲を分割し、カンマで区切られた数字をリストとして出力します。次に、範囲内の数字に「-」が含まれている場合は、その範囲の数字を連番で出力します。
使用する関数は以下の通りです。
- TEXTSPLIT:文字列を指定された区切り文字で分割
- REDUCE:リストに対して繰り返し操作を行う
- TEXTJOIN:配列の値を結合して文字列を作成
- REGEXEXTRACT:正規表現を使用して特定のパターンを抽出
重複を排除する方法
次に、重複する数値を除外したいという要求に対応する方法を紹介します。Excelでは、重複した値を削除するための関数を組み合わせることが可能です。
以下の関数を使うことで、重複した数値を排除し、一度だけ表示することができます。
=UNIQUE(REDUCE(...))
このUNIQUE関数は、指定した範囲から重複する値を取り除き、ユニークな値のみを表示します。これをREDUCE関数と組み合わせることで、重複を排除した数値リストを出力できます。
重複を排除した数値リストの出力
例えば、セルA1に「100,200-202,300,100」などの数値が入力されている場合、UNIQUE関数を使うことで、以下のようなリストを得ることができます。
- 100 200 201 202 300
このように、重複している100が一度だけ表示されることになります。これにより、質問者が求める出力を実現できます。
まとめ
Excelを使った数値リストの生成と重複排除は、関数を組み合わせることで簡単に実現できます。特に、TEXTSPLITやREDUCE、UNIQUEを使うことで、カスタマイズ可能な出力を得ることができます。この方法を使えば、質問者が求めるリストを簡単に生成できるはずです。


コメント