-
Home »
-
エクセル関数一覧表 »
-
Excel関数の目次 »
-
ROW関数・COLUMN関数の使い方
- ROWS関数やCOLUMNS関数は名前を定義したセル範囲の行数や列数を計算するのに使えます。
- 引数の範囲を省略すると、数式を入力しているセルの行番号や列番号を返します。
- 実用上は数式中で連番を生成するために使うことが多いように思います。
2022/7/11
行番号を返す
ロウ
=ROW(範囲) 引数として指定された範囲の行番号を返します。
ロウズ
=ROWS(配列) セル範囲または配列の行数を返します。
【使用例1】引数のセル範囲のセル番地や行数/列数を返します。
- 引数のセル範囲を省略すると、ROW・COLUMN関数が入力されているセルの行番号・列番号を返します。
引数を省略して、=ROW() とすると、数式が入力されているセルの行番号を返します。
=COLUMN() とすると、列番号が数値で返されます。
引数に参照セルを入力すると、その参照セルの行番号や列番号が返されます。
- Spill(スピル)が利用できる環境では =ROW(A1:A5) では配列が返されますので、=@ROW(A1:A5) とする必要があります。
@ を数式の前に入力することでスピルを解除できます。
下図はスピルの機能で=ROW(A1:A5)や =COLUMN(A1:E1) と入力すると、配列が返されている例です。
【使用例2】ROW関数を使って連番を作成すると、削除しても連番が維持できます。
- A2には「=1000+ROW()-1」とし、A11までコピーします。
C2〜C11は「1001,1002・・・1010」と数値を入力しています。
6行目を削除すると、A列は連番が維持されています。C列は1005が欠けています。
- 削除前
![](vlookup/vlook-15.gif)
↓
削除後
- Excel for Microsoft365やExcel2021以降ではSEQUENCE関数が利用できるようになりました。
SEQUENCE関数の詳細な使い方は SEQUENCE関数で連続した数値の配列を作成する:Excel関数 をご覧ください。
A2セルに =SEQUENCE(10,,1001,1) と入力して、開始値 1001からの連続値を配列として返すことができるようになっています。
【使用例3】ROW関数を使って、1からの連続番号を作成することもできます。
- 数式を入力したセルが1になるように調整します。
下図のように、3行目のセルを 1 にするには =ROW()-2 と -2 とします。
- SEQUENCE関数を利用すると、=SEQUENCE(10) と入力します。
【使用例4】計算式(数式)にROW関数を使う例
- 1行ごとに数量と金額が入力されたリストがあります。
数量の合計と金額の合計を求めるのに、ROW関数を使うことができます。
- 数量は奇数行に入力されているので、MOD(ROW(C3:C14),2)=1 という条件が成り立ちます。
これは C3:C14の行番号を2で割って、余りが1の時、TRUE を返します。
よって、=SUMPRODUCT((C3:C14)*(MOD(ROW(C3:C14),2)=1)) で求めることができます。
金額の合計は偶数行の合計を求めればよいので、MOD(ROW(C3:C14),2)=0 となります。
C16セルの数式は =SUMPRODUCT((C3:C14)*(MOD(ROW(C3:C14),2)=1)) となります。
列番号を返す
コラム
=COLUMN(範囲) 引数として指定された範囲の列番号を返します。
コラムズ
=COLUMNS(配列) セル範囲または配列の列数を返します。
- 【使用例1】
- COLUMN関数をVLOOKUP関数の列位置に使うことができます。
数式1つをコピーすることで表が作成できます。
- C2に =VLOOKUP($B2,$F$2:$H$5,COLUMN(B1)) と入力し、D2までフィルハンドルをドラッグしてコピー。
更に、(C2:D2が選択状態なので)フィルハンドルをD6までドラッグしてコピーすると完成。
- 【使用例2】1行おきに計算したい、とか何行おきに何かしたい・・・といったときに使用します。
- 下図のようなデータで1行おきの合計を計算したいケースです。
出席者数が入力されているセルは4,6,8・・・ と偶数の行というのがわかります。よって指定範囲の偶数行の合計を求めればよいということになります。
数式は =SUMPRODUCT((C4:C15)*(MOD(ROW(C4:C15),2)=0)) としました。
偶数行の判定は (MOD(ROW(C4:C15),2)=0) の部分になります。行をROWで求め、2で割った余りが0であれば偶数行と判定しています。
- 受講料の合計は奇数行の合計になりますので
数式は =SUMPRODUCT((C4:C15)*(MOD(ROW(C4:C15),2)=1)) となります。行をROWで求め、2で割った余りが1であれば奇数行と判定しています。
- 【使用例3】1列おきに計算したい、とか何列おきに何かしたい・・・といったときに使用します。
- 下図の例は1列おきになっています。1列おきの合計を求めます。
列の奇数偶数を判定するには COLUMN関数を使います。
数式は 奇数列は =SUMPRODUCT((C4:J4)*(MOD(COLUMN(C4:J4),2)=1)) となります。
偶数列の合計の数式は =SUMPRODUCT((C4:J4)*(MOD(COLUMN(C4:J4),2)=0)) となります。
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数一覧表 »
ROW関数・COLUMN関数の使い方
PageViewCounter
![Counter](http://counter.eurus.dti.ne.jp/cgi-bin/Count.cgi?df=yoneyama.20.dat|md=8|dd=B|ft=0|negate=Y)
Since2006/2/27