○第29回目 大きな表の一部抜粋(その2)
これまでで決まっていること。
gyo_m_cnt=⇒横見出しの行数
gyo_m_0=⇒横見出しのはじめの行数
gyo_m_9=⇒横見出しの最後の行数。これにプラス1をすると、gyo_d_0=⇒データ部のはじめの行数
今回は、'設定値の取得と分析、からです。
ここで大事なことは、対象となる列番号と、行番号は何かです。すなわち、抜いてくる列は何列目なのか、行は何行目なのか、ということです。
また、指定されているのは、必要な行と"列の対応表"です。どちらが大きいのかわかりませんが、大きいほうに合わせて範囲を指定することになります。
まずは範囲の座標の分析です。
三列あります。最初の列は必要な行の値です。次の二列は、列の対応となります。
まずは配列の変数に設定値を入れましょう。その後で、有効部分を取りだして見ましょう。無効なのはヌルがはいっているところからです。最大値は50ほどでいいでしょう。
与えられた座標の分析を行い、その結果を次の変数に入れてください。
行の数と列の数は、ヌルが入っている前のところですので、ヌルかどうかをききながら求めてください。
gyo_midashi(50),retu_kigou_zen(50),retu_kigou_go(50)
gyo_cnt,retu_cnt
列の対応=⇒列番号へ変換する。
今度は列の対応です。これも、それぞれ列番号に直して配列変数で持っておきましょう。これの変換の仕方は、前にやりましたので省略します。
retu_no_zen(50),retu_no_go(50)
次は"行の対応"です。
これも結構面倒ですね。
必要な年度が入っている列は、第一行目の列となります。
retu_no_zen(1)
元の表の抜き出す行番号も配列変数でもっておく必要があります。必要な年度(gyo_midashi(i)にはいっています)をもとに元の表に戻り、行数をさがします。データ部は横見出しの最後の次の行からとしますので、そこから、最大でも1000行はないと思いますので、その範囲で探していきます。該当年度があれば抜け出ますので、最大値は処理時間には関係ありません。
次の数値も、最初から探していったらどうでしょか。たいした時間ではないです。
gyo_no(50)
やっとこれで準備が整いましたので、表の作成となります。
また、表を作成した後で、罫線を引くことにします。罫線は周りと縦線のみとします。横見出し部とデータ部との間の横線は引くことにします。
今回はポイントだけですので、結構埋めるものがあると思われます。
残りは、次回とします。

0 件のコメント:
コメントを投稿