平成31年春期午後問13設問3

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ぽんさん  
(No.1)
https://www.fe-siken.com/kakomon/31_haru/pm13.html

正答オ:sumTab[index,1] ← sumTab[index,1]+相対(販売データ!A1,i,6)
とすべきところ、
ウ:sumTab[i,1] ← sumTab[i,1]+相対(販売データ!A1,i,6)
と回答して間違えました。

ワークシート”商品別管理”の列B「商品販売額」の、もともと入力されている額(=sumTab[index,1])に相対(販売データ!A1,i,6)を足すところまでは自力で理解できました。・・・*
また、解説や他の方の掲示板等を見て、以下のところも理解できていると思っています。
i= ワークシート”販売データ”の行数を入れる変数
index=memNoに代入された会員IDが、ワークシート”会員管理”のセルA4から数えると何番目かを代入している

ただ、indexがワークシート”会員管理”の位置を返していると*で考えたことと合わなくなってしまいました。
*であるならば、ワークシート”商品別管理”上の行数がsumTab[]の第一引数(?)の位置に来るのではないかと思い・・・
iでもindexでもないのではないかと思えてしまい、混乱してしまっているので、助けていただけたら嬉しいです。
前提で考えていた*の理解が間違っているのでしょうか。
よろしくお願いします。
2022.05.15 17:25
nsさん 
FE シルバーマイスター
(No.2)
>*であるならば、ワークシート”商品別管理”上の行数がsumTab[]の第一引数(?)の位置に来るのではないかと思い・・・
ここが間違っています。

manageMembersマクロは全部で4つのループから構成されていますが、それぞれが説明の(1)~(4)に対応しています。つまり空欄dでは(2)の処理を行っています。
ワークシート"商品別管理"は商品販売額の降順に並んでいますが、ソートするのは(3)の処理です。空欄dの段階では配列sumTabは会員番号順に並んでいます((1)のループを確認してください)ので、sumTab[index, 1]に値を加算すればよいです。
2022.05.15 18:42
ぽんさん  
(No.3)
nsさん、ご回答ありがとうございます!

>空欄dの段階では配列sumTabは会員番号順に並んでいます((1)のループを確認してください)

なるほど…!
一つ一つ手順をやらないとだめですね、、、
引っ張られてしまったようです。ありがとうございました!
2022.05.16 00:22

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop