Youtubeで公開している内容をまとめたものです。
データの集計と比較の方法
続いて、データ1は会社ごとに集計されている表と、データ3(日付、会社、商品が一覧となっているもの)の内容を集計したものと比較することをしていきます。
VLOOKUP関数では、1行を1データとして、1行のデータの分しか反映させることができません。例えば、会社1の場合、その同じ行の右側にある内容しか反映させることができません。
試しに関数を入れてみますが「=VLOOKUP(検索値,範囲」を指定しますが、前回はA1から表の最後の部分までを選択しましたが、今回はB列を指定します。
データ3のB列から選択をすると「data3!B:」のようになり、これはB列からを選択するという意味です。列を選択することで、前回のB10までと選択した時と比べ、B11以降にデータが追加されても反映されるメリットがあります。
範囲に列を指定した上で、税込の金額について集計したいので、B列から見て、6列目にあるため、6と入力します。
そうすると5,500円と表示されます。これはデータ3の会社1の5,500円です。
ただし、データ3には実は「会社1」は別の行にもデータがあります。
今回使用したVLOOKUP関数は、1行のデータしか表示できません。この関数は、会社名を探してきて、(上から順番に探し)最初に見つけた会社1のその行の内容を反映する仕組みです。
複数行の内容を集計する場合には、VLOOKUPではできません。
SUMIF関数の利用
ここで使うのが、SUM関数の一種の「SUMIF関数」です。この関数は、指定した検索条件に一致するセルの値を合計します。
指定範囲を選択し、検索条件を指定し、さらに合計範囲を設定します。今回の場合、データ3のB列から検索します。
検索する範囲はデータ3のB列に設定します。検索条件として、会社1を選択します。最後に合計範囲はデータ3のシートのG列(金額の列)を集計します。
これにより、データ3のB列からデータ1の「会社1」を基準に探し、合計します。
ダブルクリックをして、オートフィルでコピーをしていきます。
以前のVLOOKUP関数では、下にコピーする場合に行や列が移動する可能性があるとき、ドルマークを付けてきましたが、今回の場合、下方向に移動しても関数の中ではB列やG列を指定しているので、行方向にコピーしても、行に該当する部分がないので、範囲が移動することはありません。
今回の下方向に移る場合には、検索値のセルがA2、A3などで行番号が変わりますので、今回はA2の部分がA3,A4,A5になるだけで、それについては問題がありません。
関数をコピーする場合には、関数内のセルの内容が移動することも考える必要があります。
これで2つのデータが一致しているか確認をしていきますが、「EXACT関数」の方が比較は簡単なので、EXACT関数を使って比較をします。
データの不一致の確認
そうしますと、このように2つのデータが一致しないことが分かります。
例えば、会社6と会社8の内容がいずれかのデータ(データ1かデータ3)が間違っているという判定ができます。
このようにして、今回はSUMIF関数を使いましたが、この関数は一つの条件に合った複数行を合計する場合に使えます。
さらにルールとしては、条件にする列と合計する列を指定します。
使い方は、SUMIF関数、条件、そして合計範囲を入れるということです。
=SUMIF(条件範囲,条件,合計範囲)
範囲の指定に注意
ここで一つ注意点があるとすれば、範囲の指定について列の指定ではなく、実際の範囲を指定する場合には必ず行の高さを揃えるということです。
何をお伝えしているかと言うと、SUMIF関数を設定していく際に、まず会社1を探してくる範囲ですが、データのB列からの最終行まで選択し、「,(カンマ)」、検索条件は会社1、そしてさらに合計範囲については、最初の行からB列を選択しています。
これを誤って2行目から選択したとします。この上でEnterをしていきます。
そうすると、先程と違った数字になることが確認できます。これについては、選択された範囲の行が互い違いになってしまっているためです。
=SUMIF(data3!B1:B51,A2,data3!G2:G52)
B1の1行目とG2の2行目でスタート位置がずれてしまっている
正確な範囲設定の重要性
そのため、今回の7,600円という金額は、会社1を検索した結果、その1行下の内容の合計金額が表示されています。
これを避けるためには、必ず範囲の最初の行番号を揃えることが重要です。
現在1行目と2行目となっていますが、G列の2行目を1行目に修正し、Enterを押すと正しく集計されます。
また、このような範囲設定をした場合には、$マークを付けておくことが必要です。
これにより、データをコピーしたとしても範囲がずれないようになります。
範囲を指定する場合は、しっかりとした範囲を選択し、さらには行の位置をずらさないように注意してください。
コメント