先週の復習 2重ループを用いた、 表の記入と読み込み 1 For文 行番号を書くプログラム(A1~A10 に行番号) Sub gyou() Dim i As Integer For i = 1 to 10 cells(i, 1)=i Next i End sub 2 For文 列番号を書くプログラム(A1~J1に列番号) Sub retsu() Dim j As Integer For j = 1 to 10 cells(1, j)=j Next j End sub 3 2重ループ :For文を入れ子構造で使用 行番号を書くプログラム • 10行, A~J列まで Sub gyouretsu() Dim i As Integer Dim j As Integer For i = 1 to 10 For j = 1 to 10 cells(i, j)=i Next j Next i End sub 4 2重ループ セルに自分の「行番号*列番号」を出力する プログラム Sub dual() Dim i As Integer Dim j As integer For i = 1 to 10 For j = 1 to 10 cells(i, j) = i * j Next j Next i End sub 5 合計点と平均点を求めるプログラム Sub heikin() Dim i As Integer Dim j As Integer Dim x As Integer For i = 1 to 5 x=0 x : 合計を計算するための変数 学生ことに合計を求めて合計点 と平均点を計算する その後,次の学生の合計を計算 するために変数xの値を初期化 (0)に設定をする For j = 1 to 2 x = x + cells( i, j ) Next j cells( i, j )=x cells( i, j+1 ) = x/2 Next i End Sub j i 85 56 69 78 85 95 78 54 98 6 92 演習:個人の合計,平均 Sub kojin() Dim i As Integer Dim j As Integer Dim x As Integer For i= 2 To 11 x= 0 For j = 2 To 4 x = x + Cells(i, j) Next j Cells(i, j) = x Cells(i, j + 1) = x / 3 Next i End Sub 先週の演習問題 Sheet2 の成績データ (10人分の国語,英語,数学) 注意:Sheet2を開いた状態 でプログラムを実行 7 情報基礎A 第13週プログラミング 実際のデータ処理での応用 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野 8 売上データ処理 情報基礎Aのホームページから売上データをダ ウンロードして下さい • data18.xls • http://www.dais.is.tohoku.ac.jp/~jinhee/jyoho.html 注意:ファイルダウンロード時にファイルを必ず「保存する」 にして下さい.「開く」を選択するとInternet Explorer上で 開くと編集を保存することは出来ません データの概要 • 47都道府県別の月間売上データ • 平成18年1月~12月 • 商品の種類:10品目 9 これからのやること 平成18年の47都道府県別月間売上デー タ( 10商品)の処理 • 18年の都道府県別・商品ことの年間売上数, 年間売上高,年間売上総利益などの処理 今日は年間売上数を計算 • 方法 指定するワークシートセルの参照 多重ループ • 2次元データ • 複数の異なるワークシートからなるデータ一括処理 10 ワークシートの参照 指定するワークシートセルの参照 Worksheets(“ワークシートの名前”).Cells(行, 列) Worksheets(“価格”).Cells(4, 2) Worksheets(“1 月”).Cells(4, 2) Worksheets( tsuki & “月” ).Cells(4, 2) ワークシート名が 数値と文字列の組 合せの場合 数値のところを変 数として使用 11 複数の異なるワークシートからなる データの読込みと計算 1月~12月の商品Aの北海道の売上数 「1月」のシート から 「12月」のシートのCells(4, 2)の合 計 商品1の北海道の年間売上数 Worksheets(“1月”).cells(4, 2) + Worksheets (“2 月”).cells(4, 2) + ・・・ + Worksheets (“12月”).cells(4, 2) 12 ワークシート名の数値を変数として扱い 繰返し 制御(For文)によりデータを読込む • 商品1の北海道の年間売上数を求めてメッセジー ボックスに出力するプログラム Sub hokkaido() Dim tsuki As Integer Dim goukei As Integer For tsuki = 1 to 12 goukei= goukei + Worksheets(tsuki & “月”) .cells(4, 2) Next tsuki msgbox goukei End sub 13 年間売上数:都道府県別,商品別,12ヶ月 沖縄 47回 北海道 商品10 商品1 1月商品10の売上数 2月商品10の売上数 3月商品10の売上数 商品10 1月商品1の売上数 1月商品10の売上数 2月商品1の売上数 2月商品10の売上数 3月商品1の売上数 商品1 12月商品10の売上数 3月商品10の売上数 1月商品1の売上数 2月商品1の売上数 3月商品1の売上数 12月商品1の売上数 12月商品10の売上数 10回 12回 12月商品1の売上数 14 演習:シート「年間売上数」に18年の商品別, 都道府県別売上数を求めよ Sub uriagesu() Dim i As Integer Dim j As Integer Dim tsuki As Integer Dim goukei As Integer For i = 4 To 50 '47都道府県 For j = 2 To 11 '10種類の商品 goukei = 0 For tsuki = 1 To 12 '12ヶ月 goukei = goukei + Worksheets(tsuki & "月").Cells(i, j) Next tsuki Worksheets("年間売上数").Cells(i, j) = goukei Next j Next i End Sub 15
© Copyright 2024 ExpyDoc