サンプルデータcellref_es.xlsx「セルの参照方法(演習).xlsx」を開きます。
相対参照
計算式が入力されているセルをコピーしたり移動したりすると、計算式に使われているセル参照は自動的に調整されます。これを「相対参照」といいます。
シート「相対参照・絶対参照」を選択します。
まず、一人目の受験者の点数の合計を関数を使って求めます。
次に、残りの受験者の「合計」を先に求めた計算式をコピーして求めます。
このとき、コピー先のセルには、自動的に求めるセル範囲が表示されます。- 1. 選択する範囲の最初のセルに移動します。ここではセルC4を選択します。
- 2. Shift + 右方向 キーでセルF4までを範囲選択します。
- 3. Alt キーを押してリボンに移動します。
- 4. 左右方向 キーを押して「ホーム」タブに移動します。
- 5. Tab キーを押して「合計」に移動してEnter キーを押します。「合計」のメニューが開きます。
- 6. 主な関数一覧が表示されるので、上下方向 キーを押して「合計」に移動してEnter キーを押します。セルF4に1人目の受験者の合計点が表示されます。
次に、コピー元の計算式を選択します。
- 1. セルF4を選択します。
- 2. Alt キーを押してリボンに移動します。
- 3. 左右方向 キーを押して「ホーム」タブに移動します。
- 4. Tab キーを押して「コピー」に移動してEnter キーを押します。セルF4の内容がコピーされます。
- 5. コピー先のセルに移動します。ここでは、二人目の受験者の合計を求めるセルF5を選択します。
- 6. Alt キーを押してリボンに移動します。
- 7. 左右方向 キーを押して「ホーム」タブに移動します。
- 8. Tab キーを押して「貼り付け」に移動してEnter キーを押します。「貼り付け」のメニューが開きます。
- 9. 右方向 キーを押して「数式」に移動してEnter キーを押します。セルF5に二人目の受験者の合計点が表示されます。
【ワンポイント】 一人目の合計点を求める計算式は「SUM(C4:E4)」です。上記のようにこの計算式を二人目の受験者の合計点を求めるセルにコピーすると、計算式は「SUM(C5:E5)」のように自動的に正しいセル参照に調整されます。
このとき、セル参照は相対的に変化しています。これは「相対参照」の機能を利用しています。
残りの受験者の合計点も計算式をコピーして求めます。
- 1. セルF6からF17までを範囲選択します。
- 2. Alt キーを押してリボンに移動します。
- 3. 左右方向 キーを押して「ホーム」タブに移動します。
- 4. Tab キーを押して「貼り付け」に移動してEnter キーを押します。「貼り付け」のメニューが開きます。
- 5. 右方向 キーを押して「数式」に移動してEnter キーを押します。セルF6からF17に他の受験者の合計点が表示されます。
絶対参照
以下に記した例題では、相対参照を利用すると正しい結果が得られません。この場合はセル参照を固定する絶対参照を利用します。
順位を求める関数では、順位を求める範囲を常に指定する必要があります。
RANK関数の「参照」には全受験者数の合計が入ったセル範囲を指定します。
セル範囲を相対参照で指定して、他の順位を求めるために計算式をコピーすると、セル参照が移動してしまいます。そこで、順位を求めるための計算式のセル参照を固定します。
絶対参照にする場合は、セル参照に「$」マークをつけます。
RANK関数を利用して、受験者の合計点の高い順に順位を求めます。
- 1. セルG4を選択します。
- 2. Shift + F3 キーで「関数の挿入」ダイアログ ボックスを開きます。
- 3. 「関数の検索」エディット ボックスにフォーカスがあるので『順位』と入力してEnter キーを押します。
- 4. 順位に関連する関数の一覧が表示されるので、上下方向 キーを押して「RANK」に移動してEnter キーを押します。RANK関数入力のウィンドウが開きます。
- 5. 「数値」のエディット ボックスに、合計点の順位をつけるセルを入力します。ここでは『f4』と入力します。
- 6. Tab キーを押して「参照」のエディット ボックスに移動します。
- 7. 順位をつけるための範囲を入力します。ここでは、合計点が入力されたセルF4からF17を入力します。
- 8. まず『f4』と入力してF4 キーを押します。セルF4が絶対参照になります。
- 9. 続けて『:(コロン)f17』と入力してF4 キーを押します。これでセルF4からF17までが絶対参照になります。
(注)このとき、セル参照に$マークがつき、「$F$4:$F$17」となります。 - 10. Tab キーを押して「順序」のエディット ボックスに移動します。ここでは合計点の高い順位を求めるので『0』と入力します。
- 11. Tab キーを押して「OK」に移動してEnter キーを押します。1人目の順位がセルG4に表示されます。
残りの受験者の順位を数式のコピーで求めます。
- 1. セルG5からG17までを範囲選択します。
- 2. Alt キーを押してリボンに移動します。
- 3. 左右方向 キーを押して「ホーム」タブに移動します。
- 4. Tab キーを押して「貼り付け」に移動してEnter キーを押します。「貼り付け」のメニューが開きます。
- 5. 右方向 キーを押して「数式」に移動してEnter キーを押します。セルG5からG17に他の受験者の順位が表示されます。
【ワンポイント】 上記のようにセルG4の数式のセル参照は固定されています。これによって、二人目以降の順位を求める際、数式をコピーしても合計点が入力されたセル参照が相対的に変化していくことはありません。
複合参照
セル参照の行、列どちらか一方を固定する操作を複合参照といいます。
複合参照を利用して旅行プランの料金表を作成します。
シート「複合参照」を選択します。
まず、プランA、かつ食事グレードがなしの料金を求めます。複合参照を利用して、指定するセルの行もしくは列を固定した計算式を入力します。
- 1. セルC8を選択します。
- 2. セルC8に『=$C$2+$B8+C$7』と入力します。料金「30000」が表示されます。これは基本料金と同様です。
次にプランAかつ食事グレードありの料金をオートフィルを利用して求めます。
- 1. セルC8に移動して、Shift + 下方向 キーでセルC9までを範囲選択します。
- 2. Alt キーを押してリボンに移動します。
- 3. 左右方向 キーを押して「ホーム」タブに移動します。
- 4. Tab キーを押して「フィル」に移動してEnter キーを押します
- 5. フィルのメニューが表示されるので、上下方向 キーを押して「下方向へコピー」に移動してEnter キーを押します。セルC9に食事グレードありの料金が表示されます。
同様に、プランS、SSの食事グレードなし、ありをそれぞれオートフィルを利用して求めます。
- 1. セルD8からE9までを範囲選択します。
- 2. Alt キーを押してリボンに移動します。
- 3. 左右方向 キーを押して「ホーム」タブに移動します。
- 4. Tab キーを押して「フィル」に移動してEnter キーを押します。
- 6. 「フィル」のメニューが開くので、上下方向 キーを押して「右方向へコピー」に移動してEnter キーを押します。セルD8・D9・E8・E9にそれぞれのプランの料金が表示されます。
【ワンポイント】 この旅行代金表はC2のセルに基本料金、B列に食事グレードなし、もしくはありの料金、7行目にそれぞれのプランの追加料金が表示されています。<
上記のように、プランA、かつ食事グレードなしの料金を求める式を入力するときに、基本料金が表示されたセルC2に食事グレードとプランAの料金をそれぞれプラスする計算式を入力します。<
求めた式を他の料金にコピーするには食事グレードの列とプランの行のみセル参照を固定する必要があります。
つまり、食事グレードの追加料金が表示されたB8のB列を固定し、プランAの追加料金が表示された7行のセル参照を固定します。<
操作の結果はサンプルデータcellref_kk.xlsx「セルの参照方法(結果).xlsx」をご覧ください。