Excel IF SAS SUM

【SAS】SASで良く使うテクニック。その5 「SUM関数」~データセットの差分がいくつあるのか数えたい時~【Excel】

投稿日:

今回はSASで良く使うテクニックということで、データセットの差分がいくつあるのか数えたいときは「SUM関数」が役に立つ理由を解説していきます。

(参考:【SAS】SASで良く使うテクニック。その1 Excel関数のIF~2テーブルを比較したいとき~ | ビジネスイッチ (how-to-business.com)

まずは比較したいデータセット2つをExcelシート上に貼り付けるか、エクスポートするかします。

今回の練習では手打ちでも良いです。

(データセットをExcelシート上にエクスポート:【SAS】データセットをエクセルファイルとしてエクスポート(出力)する | ビジネスイッチ (how-to-business.com)

今回は、以下の状態で2つデータセットを準備します。

2つのデータセットを比較するために、3つ目のシートを新規作成し、A2セルに「=IF(DATA1!A2=DATA2!A2,0,1)」を入力します。

これをT20セルまでドラックか、「ctrl + R」「ctrl + D」などを使って反映させます。

(参考「ctrl + R」:【SAS】SASで良く使うテクニック。その2 「Ctrl+R」~データセットの列数が多いとき~【Excel】 | ビジネスイッチ (how-to-business.com)

(参考「ctrl + D」:【SAS】SASで良く使うテクニック。その3 「Ctrl+D」~データセットのオブザベーション数が多いとき~【Excel】 | ビジネスイッチ (how-to-business.com)

このとき、いくつか1が立っていて、
つまり差分が何か所かあることになります。

今回は何か所、差分があるのか知りたいと想定します。

ぱっと見で見づらいと思いますし、もっと巨大なデータセットでは肉眼で数えるのは困難です。

そこでExcelのSUM関数を使います。

A1セルに「=SUM(A2:A20)」と入力します。

この計算式をドラックか、Ctrl+RでT1セルまで適用します。

どのカラム(項目)に何か所の差分があるか、一目瞭然です。

D列とK列とR列にそれぞれ1か所ずつ差分があることが分かります。

さらにU1セルに「=SUM(A1:T1)」と入力します。

U1セルが3となったので、2つのデータセット間で3か所の差分が生じていることが分かります。

ここまで、1列(カラム)ごとに差分を数えました。

さらに1行(オブザベーション)に何か所差分があるのか、可視化することもできます。

U2セルに「=SUM(A2:T2)」と入力します。

この計算式をドラックか、Ctrl+Dを使ってU20セルまで適用します。

6,7,14行目にそれぞれ1か所ずつ、差分があることがわかります。

というわけで、完成形は以下のようになります。(SUM関数を使ってるセルに色を付けると、分かりやすいです。)

オレンジが小計、青が総計になります。

-Excel, IF, SAS, SUM

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】_NULL_は出力しないデータセット文を作るのに便利。

今回は_NULL_について解説します。 実は前回の記事で使用していた文法です。 【SAS】CALL SYMPUTは関数を用いてマクロ変数の代入ができる。 単元は分けた方が良いと思ったので、別記事として …

【SAS】CATX関数は区切り文字を設定し、変数を結合することができる。

今回はCATX関数について解説します。 /* , */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=2222; Id …

【SAS】SAS Studioのフィルター機能の使い方を解説 その1 ~文字型~

今回はSAS Studioのフィルター機能について解説します。 /* 文字型 */ data data1; id1=”1111″; id2=”1111″; id3=”1111″; output; id …

【SAS】PUTはSAS日付値をフォーマットを変換して表示する【DATE】【YYMMDD】【DATETIME】【TIME】【TOD】

今回もPUTについて解説します。  前回、PUTは数値型⇒文字型への変換ができると解説しました。(参考:【SAS】PUTは数値型を文字型に変換する | ビジネスイッチ (how-to-bus …

【SAS】COMPRESS関数は文字列の空白を削除し、詰める。(COMPRESS関数 その1)

今回はCOMPRESS関数について解説します。 /* compress */ data data1; Id1=1111; Char1=”AA AA”; output; Id1=2222; Char1= …