日本情報処理検定協会主催・表計算(エクセル)1級の対策・効率の良い処理方法の続きです。
過去の記事は↓下記から↓どうぞ。
(※【2】にて一覧表の中の「評価損益額」の計算式につきまして、選択セルがズレていたことにより数式が間違っていましたので修正しました。申し訳ありません。2/24)
前回は飛び道具を出しました(笑)。
今回はそれをフル活用していきます。
<出力形式1>と同形式の(条件付き)表、<出力形式2><出力形式3>について解き方と効率良い作成方法をメインにご紹介していきます。
一覧表の中から条件を抽出し、<出力形式1>と同じ形式の表として作成
前回の記事(※)では<処理条件>の6.、合計を求めるとこまで終わりました。
(実際には、合計を求めた後「合計」の行を除く見出しから数値が入力されている部分の表を範囲指定し、それに名前をつけ、フィルターを付けたところまでやりました。)
※前回の記事の終わりには「次回は<出力形式1>から抽出・ソート・合計し直しの処理から始めます。」と書いてあります。
ということで、ここから進みますね。
7. <出力形式1>と同じ形式で、株数が600未満で手数料が2,000以上を抽出しなさい。
既にフィルターがかかっているので、株数の列と手数料の列、上のフィルターを開き、「数値フィルター」選択したうえで設問の指示通りに条件を入れるだけです。
ただし「以上・以下」「より大きい・より小さい」の違いに注意しましょう。
結果、こうなるはずです。
この表全体をコピーペーストします。
7.(続き)表題は”株式評価損益額一覧表”(株数600未満・手数料2,000円以上)”とし、評価損益額の降順に並べ替えなさい。
ということで、表題の横に追記します。
それから「評価損益額」列内のどこかにセルを移動させ、「並べ替えとフィルター」リボン、フィルターマークの隣にあるソートのコマンドより並べ替え。
フィルターの解除まで済ませてから、合計行に表示されている金額を「範囲選択&Delete」し、再度オートSUMし直してください!
この「合計額」は抽出前の合計になりますので、必ず忘れないようにしてください。
(オートSUMのタイミングは表をコピペした時でも良いのですが、オートSUMのコマンドはホームタブにあるので、先にデータタブでする処理をまとめてやる方が早いです。)
ここまでで【17分】を目安にしてみてください。
<出力形式2>データベース関数で合計を求める
8. 株式評価損益額一覧表を基に<出力形式2>のような処理をしなさい。
ここからデータベース「あ」が大活躍しますよ。
まずは問題にかかれている表を作成する訳ですが、こちらの項目見出しや顧客名はこれまでに入力したものなので、表題以外は再度入力作業はせず全てコピーを利用します。
ここには2つ利点があります。
● 入力作業の手間がなくなる
● 誤入力によるミスを防ぐ
2つ目について、もう少し具体的に言いますと、もし項目見出しのひとつ「手数料」の「料」の後ろに半角スペースとかを入力してしまったとしたら、データベース関数を入力しても、手数料のフィールドから数値を引っ張ってこないのです。
逆に一覧表の方に空白スペースが入っていたり、仮に文字が間違っていても、「同じフィールド名」を使っていると認識されるので数値が出せるんですね。
と、いうことで
項目見出し「顧客名」から4人の顧客名までは<顧客名テーブル>の2列目をそのままコピペ、
(このテーブルが一覧表と連動して作られているので、相違点なく入力出来ていることになります。)
「約定代金」「手数料」「評価損益額」は、<顧客テーブル>を作成した時のように
「ctrlキー」を押しながら、一覧表内の見出し3つのセルを選び、「ctrlキー」+「C/そ」(コピー)
見出し「顧客名」の右隣3セルをドラッグして「ctrlキー」+「V/ひ」(ペースト)
これで、表題以外は1つも入力作業をせずに表が完成しました。
(体裁は後でまとめて処理します。)
次にこの表の下にデータベースの条件を作成します。
ここでも「顧客名」「羽田幸子」をまとめてコピペ、「顧客名」右にドラックしてコピー、残りの3名の名前を「ctrl+フィルハンドルドラッグ」で引っ張ってくれば事前準備もOKです。
この問題は、項目ごとの集計を出すための表なので全てのところでDSUM関数を使用します。
ということで=DSUM( の後ダイアログボックスを開きます。
● 第1引数データベースには「あ」
● 第2引数は列番号かフィールド名なので、私はフィールド名(セル番地)【A35】を入れ、「F4キー」を2回押し行だけを固定します。
● 第3引数の条件には事前に作成しておいた条件表より「顧客名」「羽田 幸子」を範囲選択、ここは「F4」1回のみで絶対参照にします。
=DSUM(A,B$35,$A$41:$A$42)
これを縦方向にオートフィルすると全てのセル番地に同じ数値が入ります。
選択フィールドも条件も同じ位置になるように固定をしたから当然なんですけど(笑)。
続いて2番目「水谷 洋」の約定代金【B37】のところでダブルクリックし、条件「顧客名」の選択を右にズラし、条件が隣の水谷さんになるように動かします。
あとの2名分も該当する名前の条件に入れ替えます。
この約定代金4つを範囲選択し、【B39】右下のポインターの形が変わったのを確認し右にドラッグします。
表題は表の中央に、見出しは中央揃え、数値には3桁ごとのコンマなどの修正は必要ですが、計算式の入力はそれだけです。
ポイントは第2引数の検索値に「顧客別集計表」の見出しを使うこと!です。
この時「同じ項目見出しだから」といって、上の表から「約定代金」を選択すると、隣の「手数料」に関しては正しく計算されますが、「評価損益額」のところで「割引額」のフィールドが指定されたことになるんですね。
だいぶ手間がかかってしまうので、これだけ気をつけましょう。
(やってみて、正しい場所が選ばれているか不安な場合は色付き数式で確認すると安心します。)
<出力形式3>データベース関数を使って、条件に合った数値を求める
9. 株式評価損益額一覧表を基に<出力形式3>のような処理をしなさい。(平均は整数未満四捨五入の表示とする)
そして、周辺に再び条件表を作ります。
この設問では「合計」「件数」「平均」なのでそれぞれのデータベース関数「DSUM」「DCOUNT」「DAVERAGE」を使う訳ですが、ここでもダイアログボックスの第1引数データベース欄には「あ」を入れるだけです。
いちいちドラッグで範囲指定しなくても良いって、かなり楽じゃないですか?!
私個人的にはとても画期的だったのですが、いかがでしたでしょう。
上級を狙う方ならご存知の機能かもしれませんが、これまで使っていなかった方で「効率を上げたい」と思っていた方は是非これを活用してみてください。
(・・・グラフは分かりますよね?もういいですよね?・・・笑)
記事を打ちながら&問題を解きながら、投稿していたので時々修正をかけたのですが、もし間違った数値をご覧になり、参考にされた方がいたら本当に申し訳ないです。
「ご参考までに」でお役立ていただければ幸いです。