LoginSignup
3
3

More than 5 years have passed since last update.

診断メーカーのCHART関数を条件分岐してみる

Posted at

はじめに

 Twitterの診断メーカーにてチャート関数 CHART()というグラフを表示する関数が公開されました。(診断メーカー お知らせブログ:2016年8月17日)
 グラフの表示について条件分岐しようとしたところ、ちょっと手間取ったため備忘録として残しておきます。

ポイント

  • CHART関数の引数にIF関数を用いることで条件分岐可能
  • IF関数の引数としてCHART関数は使用不可
  • リスト内 (RESULT) にIF関数を記述して、CHART関数に渡しても動作することを確認

実装例

 以下にグラフの種類と描写内容を条件分岐する実装例を示す。
 学力試験をテーマとし、コース名・科目名・点数を表示、合計点・偏差値を算出、最後にグラフを表示する。

診断結果テキスト
[USER]さんの試験結果 //名前を表示

//コース名と対応する必須科目名を表示
  =IF( [RESULT1] = 1 , 文系コース
  , =IF( [RESULT1] = 2 , 理系コース
  , 総合コース
外国語  )  )[RESULT8]
//IF関数中で改行をすると表示結果にも改行が反映される

//各コースに対応する科目名と点数を表示
[RESULT2][RESULT4][RESULT6][RESULT9]
[RESULT3][RESULT5][RESULT7][RESULT10]
//リスト2,4,6を並べているが、リスト内にIF関数を記述してあるため、最終的には対応する科目名のみ表示

//合計点と偏差値をCALC関数で算出
合計点=CALC( [RESULT8] + [RESULT9] + [RESULT10] )
偏差値=CALC( 10 * (=CALC( [RESULT8] + [RESULT9] + [RESULT10] ) - 150) / 60 + 50 , 1 )

//CHART関数でグラフを描写
=CHART(
  //グラフの種類を指定するTYPEを、リスト1の結果から条件分岐
  =IF( [RESULT1] <= 2 , TYPE:RADAR , TYPE:BAR ), 
  DATA:[
        //DATAに直接IF関数を記述して条件分岐
        =IF( [RESULT1] = 1 ,   , =IF( [RESULT1] = 2 ,   , 国語  )  ):[RESULT8], 
        //リスト内にIF関数を記述しても条件分岐可能
        [RESULT2][RESULT4][RESULT6]:[RESULT9], 
        [RESULT3][RESULT5][RESULT7]:[RESULT10], 
  ], 
  MAX:100 //グラフの最大値
)
リスト1
//各コースのフラグ
1 //文系
2 //理系
3 //総合
リスト2,3
//文系の科目リスト
=IF( [RESULT1] = 1 , 世界史 , )
=IF( [RESULT1] = 1 , 日本史 , )
=IF( [RESULT1] = 1 ,   , )
=IF( [RESULT1] = 1 ,   , )
=IF( [RESULT1] = 1 ,   , )
=IF( [RESULT1] = 1 ,   , )
=IF( [RESULT1] = 1 ,   , )
リスト4,5
//理系の科目リスト
=IF( [RESULT1] = 2 ,  , )
=IF( [RESULT1] = 2 ,  , )
=IF( [RESULT1] = 2 ,  , )
=IF( [RESULT1] = 2 ,  , )
=IF( [RESULT1] = 2 ,  , )
=IF( [RESULT1] = 2 ,  , )
リスト6,7
//総合の科目リスト
=IF( [RESULT1] = 3 ,  , )
=IF( [RESULT1] = 3 ,  , )
=IF( [RESULT1] = 3 ,  , )
=IF( [RESULT1] = 3 ,  , )
=IF( [RESULT1] = 3 ,  , )
=IF( [RESULT1] = 3 ,  , )
=IF( [RESULT1] = 3 ,  , )

※本来、リストに文字を入力すると「最大文字数」を自動的に算出するが、IF関数を記述した場合は1文字として扱われるため、140字の制限にかからないように注意が必要

リスト8,9,10
//試験の点数(0 ~ 100)
0
1
...
99
100
オプション
 日替わり:はい
 同じリストを複数使う時:同じ値を表示する(デフォルト)
 重複させない:はい
 縦書き変換:いいえ

診断結果例

今回作成した診断メーカー

文系コース 理系コース 総合コース
文系結果.PNG 理系結果.PNG 総合結果.PNG
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3