日本情報処理検定協会主催・表計算(エクセル)1級の対策・効率の良い方法についてまとめてみようと思い、記事を書き始めたのですが、思いがけず長文になってしまいました。
すみません。
そこで数回に分けてお届けすることにしました。
今回は<出力形式1>の設問について、効率の良い表の作成方法をメインにご紹介します。
<処理条件><出力形式1>の表を作成する【設問】1行目数式の入力
前回の記事(※)では<処理条件>の1.まで終わらせたので、続いて2.から解いていきましょう。
(※前回の記事には問題の全体像の捉え方や効率良い入力手順などを書いています。よろしければご一読ください。こちらからも入れます。)
2. 顧客名、銘柄はそれぞれ<顧客テーブル>、<銘柄テーブル>を表検索しなさい。
「表検索」という表記=「VLOOKUP関数」を使う、と覚えましょう。←日検の特徴です
ここは単純に範囲を指定し、列番号で値を求めるだけなので分かりますよね。
VLOOKUP関数に限った話ではありませんが、関数のつづりを途中まで入力するとエクセル側から該当する関数を選んで表示してくれるので、その関数表示のところにマウスポインターを持っていき、ダブルクリックもしくは「Tabキー」を押すと、全文字入力しなくても「=VLOOKUP(」まで自動で入力できます。
あと、注意点は「範囲指定の時に”見出し”を含まない」ことくらいでしょうか?
1級を受けられる方にする話でもない気がしますがw
そして一旦、オートフィルせずに次に進みます。(もちろん列ごとに処理していく方法もあります。)
『時短ポイント』
<顧客テーブル><銘柄テーブル>それぞれをVLOOKUPで求めなくても【B3】で1名分の顧客名のVLOOKUP処理をした後に、「ctrlキー」+【B3】フィルハンドルドラッグで計算式を【D4】にコピーします。
いったんは上記のようになりますが、これは第2引数(選択した表)が元の<顧客テーブル>になっているから。
【D3】のセル番地、または数式バーのところでダブルクリックすると何が指定されているか色で見ることが出来ます。
(スクショ出来なかったので分かりづらいかもしれませんが・・・)
コピーした段階で検索値は右にズレているので、既に【C3】になっているはず(変更不要)。
絶対参照した表の範囲だけ手動で移動させます。(右斜め下のハンドルを使って表の大きさも変えないとダメです。)
3. 区分は顧客COの右から1文字目とし、関数を使用し求めなさい。
これまで、偶数回開催においては「入力値(コード番号など)」にアルファベットを含め、その文字列を「RIGHT関数/LEFT関数」を使用して求める、という問題が出題される傾向にあります。”絶対”ではないですが。
これも「第107回」ですしね。
ということで、「右から1文字目」を求めます。
所定の位置に文字列と文字数を入れれば完成です。
4. 約定代金=単価×株数
これはこのまま「=【F3】*【G3】」
手数料=約定代金×手数料率(整数未満切り捨て)※手数料率は<手数料率表>を参照する。
INT関数もしくはROUNDDOWN関数とVLOOKUP関数の複合ですね。
これを見ながら参照表を作成する時に、テーブルのいちばん左、参照する値を昇順にする必要があります。
ここの入力も、
● 一覧表の見出し「約定代金」「手数料」を表の見出しにコピペして「率」だけ入れると早く入力が終わります。
● 手数料率の数値を入れる前に入力するセルをドラッグ(範囲指定)した後、先にホームタブ・数値のリボンから「%」と事前に指定しておくと入力の度に「%」を入れずに済みます。
小数点の桁の表示もここから調整します。
模擬解答ではROUNDDOWN関数を使っていたので、ROUNDDOWNを使おうと思います。
<手数料率表>はこんな感じです。
「=ROUNDDOWN(H3*VLOOKUP(H3,$N$10:$O$12,2,1),0)
ROUNDDOWNの関数にネスト関数で解いていくのが一般的ですが、下記のような方法もあります。
【D3】の数式を【I3】にコピーし、数式をダブルクリック→指定範囲の確認(検索値はちょうど【H3】に来ているはずなので移動不要)
検索表の範囲のみをマウスで移動、
最後の「検索方法」を「0」から「1」に変える。
この方法を使うと、一旦【I3】のところに手数料率のみが入ることになるので、VLOOKUPの数式が正しく入れられているかもチェックも出来ます!
その後、数式バーのところで上記の手数料率の数式をROUNDDOWN()で括り、VLOOKUPの数式の前に「【H3】*」とVLOOKUPの数式と最後の)の前に「,0(整数未満切り捨て)」を入力したら完了です。
5. 割引額は<割引額の計算式>を参照し、求めなさい。
これは迷わずIF関数ですね。
テーブルの作成など必要ありません。
条件も2つです。
ただし、(整数未満切り上げ)の指示が入っているのでROUNDUP関数は必要です。
しかし、これはそれぞれの数式にROUNDUPを入れなくてもIF関数の数式を完成させた後にROUNDUP()で括れば一度の入力で済みます。
「=ROUNDUP(IF(E3=”X”,I3*8%,I3*5%),0)」
そして「x」は数値ではなく文字列になるので「””(必ず半角)」で括るのを忘れないようにしてください。
支払額=約定代金+手数料―割引額
これはそのままですね(笑)。
評価損益額=時価×株数-支払額 ※時価は<銘柄テーブル>を参照する。
これも先程の数式コピペを使い、【D3】を【L3】へ。
検索値を移動(今度は検索表は同じ)、列番号だけ「2」から「3」に打ち変え。
これで原価が求められるので、前後に数式を追加すれば良いです。
=VLOOKUP(C3,$Q$3:$S$7,3,0)*G3-K3
ここまで入力してしまってから、1列選択のうえオートフィルすると一気に表が埋まります。
<処理条件><出力形式1>の表を作成する【設問】~時短の重要ポイント
続けます!
ここにはかなり画期的な処理方法が載っていますので、楽しみにしていてください!
6. 合計を求めなさい。
合計行をドラッグしてオートSUMが早いですね。
指定フィールドが多ければ一旦、全部にオートSUMを入れて、「―」セルのみデリートする方が早いです。
ここでこの表を最後まで仕上げてしまおうと思います。
● 表題、セル結合
● 見出し、中央揃え(合計も!)
● 数字にコンマ
● 表(全体を選んで格子線→田みたいな。&外枠太線
そしてここが重要ポイントです!!
【A2】から【L18】までをドラッグで範囲指定したら右クリックし、下の方にある「名前の定義」を選びます。
この「顧CO」のところに「あ」とか「A」など自分が入力しやすい文字に置き換えます。→「OK」
これがこの先大いに役立ちます☆
その選択された状態のまま、データタブの「並べ替えとフィルター」リボンから「フィルター」を選択しましょう。
次回は<出力形式1>から抽出・ソート・合計し直しの処理から始めます。