• 公開日:
  • 更新日:

エクセルの抽出に関する関数まとめ

エクセルでは、さまざまな関数を使用して任意のデータを抽出することができます。

本記事でご紹介している関数を使用すれば、膨大なデータから欲しいデータを簡単に抽出することができるようになります。

特定の文字列を検索して抽出する方法や、空白セル以外のデータを取り出す方法についてご紹介していますのでご覧になってみてください。

文字列を検索して抽出する関数

LEFT関数/RIGHT関数/MID関数を使用すると、文字列から指定した文字を抽出することができます。

文字列の先頭から抽出する場合はLEFT関数を使うといったように、用途に応じて使い分けをすることが可能です。

また、FIND関数を組み合わせることで条件に合った文字を取り出すことができます。

文字列を検索して抽出する関数の詳細は、以下の記事を参照してください。

Excelで特定の文字列を抽出する方法

文字列を右から抽出する関数

文字列を右側から抽出したい場合は、「RIGHT関数」を使用しましょう。

RIGHT関数を使うことで、文字列の右側から文字数を指定して抽出することが可能になります。

詳しくは、以下の記事「文字列の最後から抽出する場合はRIGHT関数」セクションをご参照ください。

Excelで特定の文字列を抽出する方法

同じ文字を抽出する関数

重複している文字を抽出したい場合は、「IF関数」を使って検索を行うことができます。

膨大な数のデータの中から、重複した文字を検索できるようになれば非常に便利ですよね。

同じ文字を抽出する方法については、以下の記事「同じ(重複した)文字列を検索する」セクションをご覧になってみてください。

Excelで文字列を検索する様々な方法

文字数を抽出する関数

指定した範囲の文字数を抽出するには、「LEN関数」または「LENB関数」を使用します。

LEN関数はそのまま文字数を返し、LENB関数は半角1バイト/全角2バイトで文字数を返します。

以下の記事では複数のセルの文字数を抽出する方法などもご紹介していますので、一度ご覧になってみてください。

エクセルで文字数をカウントする方法(特定の文字列も含む)

キーワードを抽出する関数

キーワードを抽出するには、特定の文字列を抽出する「VLOOKUP関数」を使うと便利です。

VLOOKUP関数は特定の文字列を検索して抽出することができますので、キーワードを抽出したいときにも役立ちます。

関数を使ってキーワードを抽出する方法については、以下の記事「文字列(キーワード)を検索して抽出する」セクションをご参照ください。

エクセルでデータを検索して抽出する方法

名前だけを抽出する関数

表などに記されている名前のみを抽出したい場合は、文字列を右側から抽出する「RIGHT関数」を使用します。

RIGHT関数は右側から文字数を指定して取り出す関数ですので、名前だけを抽出したいときにも役立ちます。

RIGHT関数についての詳細は、本記事の「文字列を右から抽出する関数」セクションでご紹介している記事をご覧ください。

値のみを抽出する関数

エクセルで値のみを抽出したい場合は、「LOOKUP関数」を使用すると便利です。

LOOKUP関数は、セルの文字列から数字のみを取り出すことができる検索/行列関数の1つです。

LOOKUP関数を使用して値を抽出する方法については、以下の記事を参照してください。

ExcelのLOOKUP関数の使い方|1行または1列の範囲から検索する

合計を抽出する関数

エクセルで条件を指定して合計を抽出するには、「SUMIF関数」を使います。

数値やデータを取得する際にはVLOOKUP関数を持ち入りますが、VLOOKUP関数では合計の値を取得することはできません。

以下の記事では、SUMIF関数を使用した合計の抽出方法についてご説明していますので、参考にしてみてください。

ExcelのVLOOKUP関数とSUMIF関数を組み合わせる方法

最小値を抽出する関数

指定した範囲の中から最小値を抽出したい場合は、「MIN関数」を使います。

例えば得点表の中から一番低い点を出したいときなど、一覧表示にされた数値から最も低い値を求めたいときに役立ちます。

MIN関数を使用して最小値を抽出する方法については、以下の記事をご参照ください。

ExcelのMIN関数の使い方|引数の最小値を返す

ランダム抽出する関数

ランダムな数値を抽出したい場合は、「RANDBETWEEN関数」を使います。

RANDBETWEEN関数は、指定した範囲の中からランダムに整数を抽出することのできる関数です。

詳しくは、以下の記事「指定した整数の範囲で乱数を発生させる」セクションをご参照ください。

エクセルの関数で乱数を生成する方法(範囲指定/固定/重複しない)

最新データを抽出する関数

データリストの中から最新の日付を抽出したい場合は、「DMAX関数」を使います。

DMAX関数を使用することで、容易に最新の日付やデータを抽出することが可能になります。

DMAX関数で最新データを抽出する方法については、以下の記事でご紹介している方法をお試しください。

ExcelのDMAX関数の使い方|複数条件を満たす最大値を求める

行を抽出する関数

特定の行を抽出したいときには、「FILTER関数」を使用すると良いでしょう。

FILTER関数は指定した範囲の中から、検索条件に一致する行のみを取り出すことができる関数です。

以下の記事ではFILTER関数の使い方についてご説明していますので、参考にしてみてください。

ExcelのFILTER関数の使い方|必要なデータを抽出する

空白以外を抽出する関数

データをまとめる表を作成したものの、空白のセルがあり、飛び飛びになっていて見づらいといったことはありませんか?

以下では、関数を使用して空白以外のデータを他のセルに抽出する方法についてご説明します。

空白以外のデータを抽出

上記画像を見ると、A1~A10セルに入力されたデータに空白のセルが混ざっていることが分かります。

今回はこちらのデータをD1~D5セルに表示されているように、空白のセルを詰めて抽出する方法をお伝えします。

関数を入力する

「セル(例:D1)」に、『=IFERROR(INDEX($A$1:$A$10,SMALL(IF($A$1:$A$10<>"",ROW($A$1:$A$10)),ROW(A1))),"")』と入力し、Ctrl+Shift+Enterキーを同時に押して確定させます。

今回入力した関数は配列関数であるため、通常とは異なり複数のキーを使って関数を確定させます。

以下は、使用している関数の解説です。

IFERROR関数は、エラーの場合に指定した値を返す関数です。書式は「=IFERROR(値,エラーの場合の値)」のように記述します。

INDEX関数は、指定された行と列が交差する位置にあるセルを返す関数です。

書式は「=INDEX(配列, 行番号, [列番号])」または「=INDEX(参照, 行番号, [列番号], [領域番号])」のように記述します。今回の例だと「$A$1:$A$10」にかかっており、参照したいセルを範囲指定しています。

SMALL関数は、指定されたデータを小さい順に表示させる関数です。書式は「=SMALL(範囲,順位)」のように記述します。

IF関数は、もしも~だったらと条件を指定して値を変えることができる関数です。書式は「=IF(論理式,値が真の場合,[値が偽の場合])」のように記述します。

ROW関数は、行番号を返す関数です。書式は「=ROW([参照])」のように記述します。

オートフィルを適用させる

【フィルハンドル】を選択したまま、下方向にドラッグします。

空白以外のセルを抽出

これで空白以外のデータを抽出することができました。

複数条件に合うデータを抽出する関数

エクセルではINDEX関数とMATCH関数の2つを組み合わせることで、複数条件に一致するデータを抽出することができます。

複数条件に合うデータを抽出できるようになると、膨大なデータの中から任意のデータを取り出すことができるため非常に便利です。

関数を使って複数条件に合うデータを取り出す方法は、以下の記事をご参照ください。

エクセルで複数条件に一致したデータを抽出する方法

差分を抽出する関数

2つの文字列などを比較して差分を抽出したい場合は、「EXACT関数」を使用します。

以下の記事では、EXACT関数を使用したさまざまな文字列の比較方法をご説明しています。

大文字と小文字の比較や全角半角の比較についてもご説明していますので、参考にしてみてください。

ExcelのEXACT関数の使い方|文字列を比較する

別シートを抽出する関数

別シートを参照し、データを抽出したい場合には「VLOOKUP関数」を使いましょう。

VLOOKUP機能をうまく使えば、シート間でデータを移動させたり、別のシートのデータを参照したりすることができるようになります。

詳しくは、以下のリンクにある記事をご参照ください。

ExcelのVLOOKUP関数で別シートの範囲を参照する使い方