この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ExcelのSEARCH関数を使ってみました。
参考 support office;SEARCH 関数、SEARCHB 関数
SEARCH関数を使ってみる
データを集計したいときに、規則正しく入力されている場合は、ピボットテーブルを利用すると便利でしょう。しかし、規則正しい入力がない場合は、ピボットテーブルではうまく集計できない場合があります。
そこでSEARCH関数を使ってみました。
SEARCH関数とは
SEARCH関数は、文字を検索して、その文字の開始位置(左から何文字目か?)を調べる関数です。
(support office;SEARCH 関数、SEARCHB 関数より)
SEARCH 関数および SEARCHB 関数は、指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その番号を返します。たとえば、”printer” という語で文字 “n” の位置を検索するには、次の関数を使用できます。
このSEARCH関数は、指定された文字が見つからないと「#VALUE」というエラーになりますので、その性質を使って、集計表を作成してみます。
SEARCH関数の使用例
下記のような表を用意しました。
B列に取引先が記載されています。取引先ごとに取引額を集計する表を作成してみます。
SEARCH関数を使って特定の文字列が含まれているか確認
上のE列には次のような式を入力しています。
[aside type=”boader”]=SEARCH(E$1,$B2)[/aside]
この式は「E1に入力されている文字(上の例では『A社』)がB2に含まれていますか?」という意味になります。含まれていない場合は、上の画像のとおり「#VALUE」と表示されます。
IF関数、ISERROR関数、SEARCH関数を使ってエラーに対処
E列では「『A社』という文字がB列に含まれるのか?」ということをSEARCH関数を使って調べましたが、SEARCH関数だけを利用した場合は、エラーが表示されるだけなので、 IF関数、ISERROR関数、SEARCH関数の3つの関数を使った式をF列に入力しました。
[aside type=”boader”=]IF(ISERROR(SEARCH(F$1,$B2)),””,$C2)[/aside]
この式は、「SEARCH関数の結果がエラーだったら・・・何も表示しない、そうでなければC列の数字を表示する」という意味です。F列に入力した結果、取引先が「A社」の取引金額のみを集計するようになりました。
A社、B社、C社についてSEARCH関数を使って確認
上の表の一部を用いて、A社、B社、C社について IF関数、ISERROR関数、SEARCH関数の3つの関数を使った式をそれぞれE~G列に入力し、A社、B社、C社の取引金額を集計する表を作成してみました。
まとめ。やっぱりピボットテーブルは便利
SEARCH関数を使って表を作成しましたが、やっぱりピボットテーブルは便利ですよね。ピボットテーブルが使えるような表をデータ入力を心がけるのが良いのかも知れません。
ちなみに、私は、会計ソフトから出力した仕訳帳や元帳データをSEARCH関数で集計しています。