スプレッドシートでテーブル抽出
スプレッドシートでもできそうなので作ってみた
スプレッドシート
- 赤色は手入力
- 黄色は関数入力
変更内容
- 1/9 西暦・性別の手入力部分をARRAYFORMULAで作成
- 1/9 セル範囲のコピーをIMPORTRANGEからARRAYFORMULAに変更
グラフ
データ
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)
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")
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万人中の自殺率のグラフを作成