「excel シグモイド曲線 書き方」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。
単にシグモイド曲線を描く方法を探していたのであれば、「【Excel】グラフの形のみ書く&シグモイド曲線を書く方法」で紹介されている手順でしょう。
最近のExcelならSEQUENCE関数で連続データを作成できる
シグモイド曲線に限らず、Excelでグラフを作成するには、元になるデータを用意しなければなりません。
この元になるデータの作成が、最近のExcelではSEQUENCE(シークエンス)関数を使うことで、少し楽になります。
従来のExcelの場合、連続データを作成するときや、数式の入力後にオートフィルが必要でしたが、SEQUENCE関数を使えばその手間がなくなるためです。
シグモイド曲線を描く
SEQUENCE関数を使ってシグモイド曲線を描く場合、以下のような手順です。
見出し項目として
A1セルに「a」
B1セルに「x」
C1セルに「ς(x)」
を入力
↓
A2セルに「10」を入力
↓
B2セルに
=SEQUENCE(20+1, 1, -1*10, 0.1*10)/10
と入力
↓
C2セルに
=1/(1 + EXP(-A2*B2#))
と入力
↓
B1:C22セルを選択
↓
[挿入]タブ
-[グラフ]グループ
-[散布図(平滑線)]をクリック
SEQUENCE関数の使える最近のExcelならば、上記のような手順で(オートフィルなしで)下図のようなシグモイド曲線を描けます。
ゲインであるA2セルの値を変更すれば、曲線の形状が変化します。
シグモイド曲線を描くための数式
利用している数式の意味を確認しておきましょう。
「=SEQUENCE(20+1, 1, -1*10, 0.1*10)/10」の意味
「-1」から「1」まで「0.1」刻みの連続した小数を出力しようとB2セルに、
=SEQUENCE(20+1, 1, -1, 0.1)
と入力した場合は、「0」になって欲しいデータが指数表示になってしまいます。
「0」のはずのB12セルが指数表示なのは気持ち悪いので、連続した整数を「10」で割り算する式
=SEQUENCE(20+1, 1, -1*10, 0.1*10)/10
にしています。
「=1/(1 + EXP(-A2*B2#))」ではスピル範囲演算子を忘れずに
C2セルの
=1/(1 + EXP(-A2*B2#))
では、スピル範囲演算子「#」を忘れないのがポイントです。「#」を入力し忘れると下図のように
C2セルのみに数式が入力され、折角SEQUENCE関数を使った意味がなくなってしまいます。
最終更新日時:2021-10-07 11:35
Home » Excel(エクセル)の使い方 » グラフ » シグモイド曲線を描くには-EXP関数・SEQUENCE関数