スプレッドシートでテーブル抽出・グラフ作成

blog.goo.ne.jp

blog.goo.ne.jp

スプレッドシートでテーブル抽出

スプレッドシートでもできそうなので作ってみた

dekiru.net

スプレッドシート

docs.google.com

  • 赤色は手入力
  • 黄色は関数入力

変更内容

  • 1/9 西暦・性別の手入力部分をARRAYFORMULAで作成
  • 1/9 セル範囲のコピーをIMPORTRANGEからARRAYFORMULAに変更

support.google.com

グラフ

f:id:imabari_ehime:20200108214808p:plain f:id:imabari_ehime:20200108214816p:plain

f:id:imabari_ehime:20200108214825p:plain f:id:imabari_ehime:20200108214833p:plain

データ

A1

  • テーブルを抽出

SHIFT-JISなので文字化けしています

=importhtml("http://www.health-net.or.jp/tobacco/product/pd090000.html","table",1)

グラフ

手入力(赤色)

0行のタイトル入力

A2

A列(西暦)に西暦を2行ごとに+1

=ARRAYFORMULA(INT(row(A2:A109)/2)+1964)

dekiru.net

B2

B列(性別)に男・女と交互に入力

=ARRAYFORMULA(if(mod(row(A2:A109),2)=0,"男","女"))

C2

データのシートからC2:H109をコピー

=ARRAYFORMULA('データ'!C2:H109)

こちらの場合だと許可がいる

# xxxxxxxには現在開いているスプレッドシートのURLからスプレッドシートキーを入力
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxxxxx/","C2:H109")

support.google.com

J1

男のみ抽出

=query(A:H,"where B = '男'", 1)

S1

女のみ抽出

=query(A:H,"where B = '女'", 1)

男のみと女のみそれぞれでグラフ化

IMPORTRANGEで男のみと女のみを結合させてタイトルを男20代、男30代とかにすれば男女のグラフもできます

自殺

A1

=importhtml("https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E3%81%AE%E8%87%AA%E6%AE%BA","table",3)

範囲を変更して、自殺者数、人口10万人中の自殺率のグラフを作成