Excelシートの中のセルやセル範囲を選択する方法について、過去に「Excel セル範囲の選択」記事でご紹介しました。
その記事の中の「(4) 一行全部、一列全部を選択」項で一行全体/一列全体を選択する方法をご紹介しています。
これの補足記事となりますが、今回は数式の中でこれら行全体/列全体を参照する方法をご紹介します。
(1) 一行全部
空の Excelシートを開いて、その A1セルに「=3:3」などと入力すると、3行全体が参照されることが分かります。(下図)
もし、3行に何かしらのデータが入力されていたとすると、「=3:3」と入力し [Enter]キーを押すと、A1セルから始まる 1行全体に 3行のデータがスピルされます。(下図)
(2) 複数行全部
A1セルに「=5:7」と入力すると、5行~7行の全体が参照されます。(下図)
この場合も、5行~7行に何かしらのデータが入力されていると、それらのデータを参照して 1~3行全体にスピルされます。(下図)
このとき、スピルする領域と参照する領域とが一部でも重なると循環参照エラーになり、また、スピルする領域にすでにデータが入力されていると「#スピル!」エラーになりますのでご注意ください。
(3) 一列全部
空の Excelシートの A1セルに「=C:C」と入力すると、C列全部が参照されます。(下図)
図示しませんが、C列に何かしらのデータが入力されていれば、A列全体にスピルされます。
(4) 複数列全部
同様に A1セルに「=D:F」と入力すると、D列~F列の全体が参照されます。(下図)
(5) 関数の引数での表現
下図のような表データがあり、6行全部の中で最大値を求めるなら「=MAX(INDIRECT("6:6"))」とします。
ただし、引数の中で使われる場合は「" "」で囲むものと誤解しやすいので別の方法も書いておきます。
上図の B9セルに「=MAX(」と入力、そして 行番号「6」をクリックすると数式が「=MAX(6:6」となり、最後に「)」を追記して [Enter]キーを押しても、同じ結果となります。
あるいは、 B9セルに「=MAX(」と入力、6行の任意のセル(例えば B6セル)をクリック、続いて [Shift]+[Space]キーを押すと数式が「=MAX(6:6」となり、最後に「)」を追記して [Enter]キーを押しても、同じ結果となります。
列全部や複数行・列全部の場合も (2)~(4)と同様に書けます。
例えば、L2セルに「=MAX(B:B)」と入力すれば B列全部のなかで最大値を求められますし、「=MAX(B:D)」と入力すれば B列~D列全部のなかで最大値を求められます。
条件付き書式を使って、例えば上の表データの 6行で最大値となるセルを塗りつぶすには、行番号「6」をクリックし、「書式ルールの編集」ダイアログで数式欄に「=A$6=MAX(6:6)」と入力します。(下図)
MAX関数のところは「MAX($6:$6)」としても構いません。
以上、行全体/列全体を参照する方法をご紹介しましたが、表の範囲が広がる可能性がある場合や、データ範囲を数えるのが面倒なときなど、この方法を知っておくと便利です。
なお、(5)項の途中に書いた、あるセルを選択し [Shift]+[Space]キーを押すとその行全体が選択されたことに対し、その列全体を選択するときは [Ctrl]+[Space]キーを押します。
複数の連続したセルを選択しておいても、このショートカットキーは有効です。