CS試験表2級課題2_11
コンピュータサービス技能評価試験表計算2級 課題2 関数式による 表の完成設問3 順序(10) 対象範囲 M23:O25 「金額」が 高額な 上位3位 の 「タイトル名」とその 「会員区分」 及び 「金額」 を 求める 問題文を検討する① 「上位3位」とあるので、使用するのは、LARGE 関数 引数としては LARGE(配列, 順位) 配列は、「金額」のセル範囲 I8:I32 順位は、「◆金額上位3位」表の「順位」列を利用する L23=LARGE(I8:I32,L23)これで、求めることが出来るのは、その順位の「金額」です② 求めるもの まず「タイトル名」 一覧から 求める 分かっているのは、「金額」 「タイトル名」の列から 「金額」と同じ行の「タイトル名」を求める LOOKUP 関数でも 求めることが出来ますが 出来れば、同じ表で、関数を再利用したいこの場合 INDEX 関数 を 使う 書 式 INDEX(配列, 行番号, [列番号])INDEX 関数と言えば、MATCH 関数 セットで覚えましょうMATCH 関数は、範囲 のセルの範囲で、指定した項目を 検索その範囲内の項目の相対的な位置を返しますその範囲で何番目にあるか求めるINDEX 関数配列 一覧表の「データ部分」 ※ 「データ部分」というのも一つのポイント 列見出しなどは含めない データ部分だけの セル範囲 C8:I32 行番号 LARGE 関数で、求めた「金額」が 一覧表のデータ部分で 何番目なのか求める これを MATCH 関数で、求める MATCH(検査値, 検査範囲, [照合の型])「検査値」欄 ここに、LARGE 関数を 設定する =LARGE(I8:I32,L23)「検査範囲」欄 「金額(円)」列 =セル範囲 I8:I32「照合の型」欄 完全一致を求めるので、「0」列番号 行番号 と 同じように考える 「◆金額上位3位」表の「列見出し」を利用する 同じように、MATCH 関数 を 使う MATCH(検査値, 検査範囲, [照合の型])「検査値」欄 「列見出し」の M22 (=タイトル名)「検査範囲」欄 一覧表の 7行目 C7:I7では、実際に作成してみる1.セル M23 を クリック・選択2.fx (関数の挿入) [関数の挿入]で、INDEX を 選択する INDEX の場合 下のような画面が表示されます 今回の場合上の「配列、行番号、列番号」が 選択された状態で、[ OK ]クリック3.[関数の引数] INDEX が、表示されたら 「配列」欄 最初に 検討したように、一覧のデータ範囲を ドラッグ・選択する 4.この関数は、右や下で、利用するので それを考慮して 絶対参照にする セル範囲を選択したら、すぐに[F4]キー を 押す $C$8:$I$32 5.「行番号」欄に、カーソルを 移動 「名前ボックス」欄の ▼ を クリック 表示される関数に「MATCH」があれば、クリック無い場合は、一番下の「その他の関数」をクリック 6.MATCH 関数 「検査値」欄に、カーソルがある状態で 「名前ボックス」欄の ▼ を クリック 表示される関数に「LARGE」があれば、クリック無い場合は、一番下の「その他の関数」をクリック 7.LARGE 関数 「配列」欄 「金額(円)」のデータ範囲のセル範囲 I8:I32 同じように、他の位置でも利用するので、絶対参照に する 「順位」欄 「◆金額上位3位」の「順位」列のセル L23 を クリック・選択 こちらは、絶対参照 ではなく 行が移動したら 行参照 は、移動して欲しいなので、相対参照(列固定)にする セル L23 を クリック選択したら [F4]キーを 3回押し $L23 にする 数式バー内の MATCH文字列内を クリックする 8.[関数の引数]が、MATCHに戻る 「検査範囲」欄には 「金額(円)」のデータ範囲 I8:I32 を ドラッグ・選択 絶対参照 にする 「照合の種類」欄には、完全一致を求めるので、「0」 9.数式バー内の INDEX文字列内を クリックする 10.INDEX の 関数の引数になったら 「列番号」欄 「行番号」と 同じように MATCH 関数 11.今度は、列を決める 基準 = 検査値は、 「◆金額上位3位」表の「列見出し」= M22 このセル参照は、常に 同じ 22行を 参照したいので、相対参照(列固定) [F4]キーを 2回押し M$22 「検査範囲」欄 一覧表の7行目 C7:I7 こちらは、絶対参照 $I$7:$I$7 「照合の種類」欄は、完全一致 なので、0 これで、「数式の結果」に ジャバダンの野心 とあるので、[ OK ] クリック =INDEX($C$8:$I$32,MATCH(LARGE($I$8:$I$32,$L23),$I$8:$I$31,0),MATCH(M$22,$C$7:$I$7,0))まずは、下へ オートフィルしてみる 次は、右へ フィルする 残念ながら、「金額(円)」の列は、#N/A に、なってしまうエラー値 #N/A は、数式で 参照の対象が 見つからないことを示しています実は、こうなることは、分かっていました何故ならばINDEX 関数の「列番号」欄の MATCH 関数 で「検査範囲」欄に、設定したセル範囲 $C$7:$I$7このセル範囲のデータは最後の I列 ですが、セル I7 のデータは、(円)だけなのです ところが、「◆金額上位3位」の列見出しでは、「金額(円)」なのでエラー#N/A に なるのですつまり O23・O24・O25 の数式は、変更する必要があるO23 の 数式 =INDEX($C$8:$I$32,MATCH(LARGE($I$8:$I$32,$L23),$I$8:$I$31,0),MATCH(O$22,$C$7:$I$7,0))修正するのは、INDEX 関数の「列番号」欄内の MATCH 関数 MATCH(O$22,$C$7:$I$7,0)このように、既に 設定されている数式(=関数)を 修正する場合修正する関数がわかっている場合数式バーで、その関数名内を クリックし カーソルが入ったらfx を クリックする すると その関数(MATCH)の [関数の引数]が、表示されます 「検査値」欄内を Delete し「名前ボックス」の ▼ を クリック「RIGHT」を 選択し 「RIGHT」の「関数の引数」を表示する「文字列」欄には、「◆金額上位3位」の列見出し O22セル参照は、行固定の「複合参照」 O$22「文字数」欄には、3 にして 一覧表の7行目にある「(円)」と 同じ文字列に変更する もう この[関数の引数]の 左下 「数式の結果」に、値が表示されているエラーでは、なくなっているので、[ OK ] クリックする下へ、オートフィルする =INDEX($C$8:$I$32,MATCH(LARGE($I$8:$I$32,$L23),$I$8:$I$31,0),MATCH(RIGHT(O$22,3),$C$7:$I$7,0))ここまでやって 令和4年度 コンピュータサービス技能評価試験 (表計算部門)2級 試験問題 概要 PDF 19ページを 確認してみたら なんとINDEX 関数の「列番号」欄は、自分で数えた、数値で 入力していましたでも 今回書いたことも 2級を受けるようならば 理解できると思います