Excelで数字を含む文字列を自動ソートする方法|関数と手順を解説

Office系ソフトウェア

Excelで「数字を含む文字列」と「複数行のテキスト」をセットにして、数字順に並べ替えたい場合、手作業では非常に時間がかかります。しかし、関数やソート機能を活用すれば、自動で並び替えが可能です。

Excelでのデータ整理の基本

Excelでは、数値データを自動で昇順・降順に並べ替えることができますが、今回のように「文字列の中に含まれる数字」を基準に並べ替える場合は、少し工夫が必要です。

具体的には、以下の手順を踏むことで自動ソートが可能になります。

方法1: 関数を使って数値部分を抽出する

まず、Excelの関数を使用して、文字列の中から数字部分のみを取り出します。これには「FILTER関数」「TEXT関数」を組み合わせる方法が有効です。

例えば、以下のようなデータがあったとします。

元のデータ
チャット終了カード 101
訪問項目カード 28
リンク共有カード 83
名前カード 144

この場合、数値部分だけを抜き出すには、以下の式を使用できます。

=SUMPRODUCT(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)*1)

この関数を使うと、A列にあるデータから数字部分を抽出できます。抽出された数字を基準にソートすれば、目的の並び替えが可能になります。

方法2: ソート機能を活用する

数値を取り出したら、Excelの並べ替え機能を使ってデータを並べ替えます。

  1. 数値を抽出した列を選択
  2. 「データ」タブを開く
  3. 「昇順(または降順)」を選択
  4. 元の文字列と一緒に並び替え

この方法で、手作業を大幅に減らすことができます。

方法3: VBAを活用して自動化

関数ではなく、VBAを使うことでさらに自動化が可能です。以下のコードを実行すると、A列のデータを数字順に並べ替えられます。

Sub SortByNumber()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    ws.Range("A1:B600").Sort Key1:=ws.Range("B1"), Order1:=xlAscending, Header:=xlNo
End Sub

これにより、毎回手作業で並び替えをする手間がなくなります。

まとめ

Excelで「数字を含む文字列」をソートするには、以下の方法があります。

  • 関数を使って数値部分を抽出し、ソートする
  • Excelの並べ替え機能を活用する
  • VBAを使って自動化する

データ量が多い場合はVBAを活用すると、より効率的に作業できます。ぜひ試してみてください!

コメント

タイトルとURLをコピーしました