3/14/2023

Excel。相関係数の意味は散布図をつくると理解しやすくなります。【Scatter plot】

Excel。相関係数の意味は散布図をつくると理解しやすくなります。

<CORREL関数と散布図>

データとデータの相関(関係)が強いのか弱いのかというのを数値にしたのが、相関係数です。


この相関係数が「1」に近いと強いといわれています。


どのようなことなのか理解するには、データを「散布図」をつかって見える化してみるといいかもしれません。


次のデータを使ってみます。

相関係数

データAとデータBの相関係数は、B10に算出しています。


B10の数式は、

=CORREL(B2:B8,C2:C8)


CORREL関数をつかうと、手早く相関係数を算出することができます。

その結果は、「1」。


このデータAとデータBをつかって、散布図をつくっていきます。


A1:B8を範囲選択します。


挿入タブの「散布図」を選択します。


散布図のグラフが挿入されました。


グラフを大きく表示したいので、ラベルは削除した状態で、少しグラフを大きくしています。

縦軸・横軸ともフォントサイズを大きくしています。


データAの数値が大きくなれば比例して、データBの数値も大きくなっている。


これが確実といっていいレベルだということが見えます。

Y=10Xという一次方程式で表すことができます。


それでは、データBをいい加減な数値にしてみると、散布図がどうなるのか、確認してみましょう。


相関係数は、約0.8です。散布図を確認すると一目瞭然ですね。

散布図

プロットされているマーカーがバラバラで、規則性があるんだか、ないんだか。


このようなことから、相関係数が「1」に近いのか、遠いのかによって、データとデータとの間に相関(関係)が強いのか、弱いのを散布図をつかうことで、視覚的に知ることができます。

3/13/2023

Excel。2023/2/12-2/18にQUOTIENT関数など紹介したFacebookページのコメントです。【Trivia】

Excel。2023/2/12-2/18にQUOTIENT関数など紹介したFacebookページのコメントです。

<Facebookページ>

Facebookページに書いた、Excelの豆知識(Trivia)です。


2月12日

Excel。

QUARTILE.EXC関数

読み方は、クォータイル・ エクスクルーシブで、0%より大きくて100%未満のデータの四分位数を算出します。



2月13日

Excel。

QUARTILE.INC関数

読み方は、クォータイル・ インクルーシブで、0%以上100%以下のデータの四分位数を算出します。



2月14日

Excel。

QUOTIENT関数

読み方は、クオーシャントで、除算した商を算出します。



2月15日

Excel。

RADIANS関数

読み方は、ラジアンで、角度をラジアンに変換する



2月16日

Excel。

RAND関数

読み方は、ランダムで、0以上1未満の範囲で乱数を発生します。



2月17日

Excel。

RANDBETWEEN関数

読み方は、ランダム ビトウィーンで、指定した範囲で整数の乱数を発生します。



2月18日

Excel。

RANK関数

読み方は、ランクで、数値の大小で順位を算出する

3/12/2023

Excel。VBA。データを読み込んだ日付から曜日を表示するにはどうしたらいい【day of week】

Excel。VBA。データを読み込んだ日付から曜日を表示するにはどうしたらいい

<Excel VBA:WeekdayName+Weekday関数>

大量なデータを読み込んだら、日付は入力されていましたが、曜日は入力されていませんでした。


自分自身で調べて入力するよりも、関数をつかって算出させるほうが楽ですが、データを読み込むたびに、関数を作るのも面倒です。

Excel VBA:WeekdayName+Weekday関数

そこで、Excel VBAでプログラム文をつくって対応してみてはどうでしょうか


Sub 曜日()

    Dim i As Integer

    Dim lastrow As Long

    

    lastrow = Cells(Rows.Count, "a").End(xlUp).Row


    For i = 2 To lastrow

        Cells(i, "b") = WeekdayName(Weekday(Cells(i, "A")), True)

    Next

End Sub


それでは、実行してみましょう。


WeekdayName関数とWeekday関数を組み合わせてつかうことで、曜日を簡単に算出することができます。


プログラム文を確認してきます。


最初は、変数宣言ですね。

Dim i As Integer

Dim lastrow As Long


lastrow = Cells(Rows.Count, "a").End(xlUp).Row

このlastrowには、データの最終行番号を代入させることで、この後のFor To Next文の繰り返しに使っています


For i = 2 To lastrow

    Cells(i, "b") = WeekdayName(Weekday(Cells(i, "A")), True)

Next


繰り返し文にある

WeekdayName(Weekday(Cells(i, "A")), True)


この行で日付から曜日を表示させているわけです。


「Weekday(Cells(i, "A"))」は、Excelにもある「Weekday関数」と同じで、日曜日を1、月曜日を2と算出してくれる関数です。


ただ、Weekday関数では、曜日に割り振られた番号を算出してくれるだけなので、番号をみて、すぐに何曜日なのかわかりません。


そこで、Excelにはない、「WeekdayName関数」をつかいます。

このWeekdayName関数は、1なら「日」と表示してくれる関数です。


Excelにはない関数もExcel VBAにはいろいろありますので、つかってみるといいかもしれませんね。

3/11/2023

Excel。DAVERAGE関数で、条件を満たすレコードの平均を算出できます。【DAVERAGE関数】

Excel。DAVERAGE関数で、条件を満たすレコードの平均を算出できます。

<関数辞典:DAVERAGE関数>

DAVERAGE関数

読み方: ディーアベレージ  

分類: データベース 

DAVERAGE関数

DAVERAGE(データべース,フィールド,条件)

条件を満たすレコードの平均を算出します

3/10/2023

Excelの様々な関数の読み方や引数などを紹介。今回は、SUM関数~SUMSQ関数です。【dictionary】

Excelの様々な関数の読み方や引数などを紹介。今回は、SUM関数~SUMSQ関数です。

<Excel関数辞典:VOL.77>

今回は、SUM関数~SUMSQ関数までをご紹介しております。

Excel関数

SUM関数

読み方: サム  

分類: 数学/三角 

SUM(数値1,[数値2],…)

数値の合計します 



SUMIF関数

読み方: サムイフ  

分類: 数学/三角 

SUMIF(範囲,検索条件,[合計範囲])

条件付きで数値の合計を行います 



SUMIFS関数

読み方: サムイフズ

読み方: サムイフエス

分類: 数学/三角 

SUMIFS(合計対象範囲,条件範囲1,条件1,…)

複数の条件付きで数値の合計を行います 



SUMPRODUCT関数

読み方: サムプロダクト  

分類: 数学/三角 

SUMPRODUCT(配列1,[配列2],[配列3],…)

複数の数値の組を掛け合わせて合計を行います 



SUMSQ関数

読み方: サムスクウェア  

分類: 数学/三角 

SUMSQ(数値1,[数値2],…)

数値の2乗の合計を算出します 

3/09/2023

Excel。ピボットテーブルの日付フィールドの表示形式が変更できないので困っています【pivot table】

Excel。ピボットテーブルの日付フィールドの表示形式が変更できないので困っています

<ピボットテーブル>

集計処理で便利なピボットテーブルですが、日付に関して困ることがあります。


次のデータを用意しました。

ピボットテーブル

日付は、お馴染みの「yyyy/m/d」という表示形式です。


では、ピボットテーブルをつかって、日付フィールドを行のレイアウトボックスに設定します。

売上高フィールドは、値のレイアウトボックスに設定しました。


レイアウトボックスは、このようになりました。


日付フィールドを設定したら、自動的に月フィールドが生成されました。


ピボットテーブルは、月でグループ化された状態で、表示されています。


確かに、月レベルでグループ化してくれるのはありがたいのですが、日付ごとの集計で確認したいわけですね。


そこで、レイアウトボックスから自動的に生成された月フィールドを外します。


これで、日付ごとの集計結果がわかるようになりました。


ただ、気になるのは、日付の表示形式です。

「月日」の表示形式になっていますが、元データと同じ「yyyy/m/d」に変更しようとすると、出来ないわけです。


A4をクリックして、ピボットテーブル分析タブの「フィールドの設定」をクリックします。


フィールドの設定ダイアログボックスが表示されますので、表示形式のボタンをクリックします。


セルの書式設定ダイアログボックスが表示されます。

分類を日付にして、「yyyy/m/d」を選択しても、変更できません。


この原因は、勝手に生成されたグループ化された「月」フィールドなんです。


では、解決方法です。


ピボットテーブル分析タブの「グループ解除」をクリックします。

これで、元データと同じ、表示形式にすることができました。



さて、Microsoft365のExcelには、「Insider版」という、最新機能をお試しでつかえるものがあります。


この問題を、Insider版では、解決させています。


Insider版でも、自動生成されてグループ化するのですが、「日(日付)」フィールドと「月(日付)」フィールドの2つが生成されてグループ化されます。


生成された2つのフィールドのチェックマークを外すだけで、元データと同じ表示形式にすることができます。


今後、MicrosoftのExcel365にも反映されていくものと思いますが、現状では、グループ解除をする方法がいいようです。

3/08/2023

Excel。条件付きで不偏標準偏差を算出したいならDSTDEV関数をつかいます。【DSTDEV】

Excel。条件付きで不偏標準偏差を算出したいならDSTDEV関数をつかいます。

<DSTDEV関数>

データを母集団の「一部」と考えて母集団の標準偏差の推定値を算出するならば、「STDEV関数」をつかうことで算出できます。


ただし、条件をつけて算出する場合、データベースを編集する必要があります。


そこで、DSTDEV関数をつかうことで、手早く条件付きで不偏標準偏差を算出することができます。

DSTDEV関数

 

算出したいのは、クラス「A」の標準偏差です。

C11に設定した数式は、


=DSTDEV(A1:C8,C1,A10:A11)


これで、データを母集団の「一部」と考えて母集団の標準偏差の推定値である「不偏標準偏差」を算出することができました。


A11の条件を変更するだけで、条件に合った不偏標準偏差を算出することができます。


設定した数式を確認しておきましょう。


最初の引数は、「データベース」です。

見出し行も含めた表全体が対象なので、「A1:C8」ですね。


2つ目の引数は、「フィールド」です。

算出したいフィールド(列)を指定しますので、「C1」。


最後の引数は、「条件」です。

「A10:A11」と設定します。

この条件は、事前に用意しておく必要があります。


データベース系の関数はDSUM関数や、DSTDEV関数以外にも色々ありますので、試してみると意外と使えるものがあるかもしれませんね。