Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
ROW関数・COLUMN関数の使い方:Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
ROW関数・COLUMN関数の使い方
ROWS関数やCOLUMNS関数は名前を定義したセル範囲の行数や列数を計算するのに使えます。
引数の範囲を省略すると、数式を入力しているセルの行番号や列番号を返します。
実用上は数式中で連番を生成するために使うことが多いように思います。
更新:2025/2/15;作成:2005/12/7
行番号を返す
ロウ
=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が欠けています。
削除前
↓
削除後
Excel for Microsoft365やExcel2021以降ではSEQUENCE関数が利用できるようになりました。
SEQUENCE関数の詳細な使い方は SEQUENCE関数で連続した数値の配列を作成する:Excel関数 をご覧ください。
A2セルに =SEQUENCE(10,,1001,1) と入力して、開始値 1001からの連続値を配列として返すことができるようになっています。
【使用例3】ROW関数を使って、1からの連続番号を作成することもできます。
数式を入力したセルが1になるように調整します。
下図のように、3行目のセルを 1 にするには =ROW()-2 と します。
Spillが利用できる場合は =ROW(A1:A10) とします。
【使用例4】計算式(数式)にROW関数を使う例
1行ごとに数量と金額が入力されたリストがあります。
数量の合計と金額の合計を求めるのに、ROW関数を使うことができます。
B
C
2
品名
数量/金額
3
みかん
631
4
433,933
5
バナナ
696
6
311,319
7
ぶどう
296
8
270,128
9
パイナップル
169
10
119,913
11
マンゴー
973
12
423,365
13
桃
129
14
75,764
15
数量の合計
2,896
16
金額の合計
1,634,422
奇数行と偶数行の合計をするとき、SUMPRODUCT関数を使う方法が一般的です。
数量は奇数行に入力されているので、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)) となります。
奇数と偶数を判断できる関数、ISODD関数,ISEVEN関数を使うのがスマートでは?
ということで、以下の数式はいかがでしょう?
奇数行の合計 =SUM(ISODD(ROW(C3:C14)) *C3:C14)
偶数行の合計 =SUM(ISEVEN(ROW(C3:C14)) *C3:C14)
列番号を返す
コラム
=COLUMN(範囲) 引数として指定された範囲の列番号を返します。
コラムズ
=COLUMNS(配列) セル範囲または配列の列数を返します。
【使用例1】
COLUMN関数をVLOOKUP関数の列位置に使うことができます。
数式1つをコピーすることで表が作成できます。
C2に =VLOOKUP($B2,$F$2:$H$5, COLUMN(B1) ) と入力し、D2までフィルハンドルをドラッグしてコピー。
更に、(C2:D2が選択状態なので)フィルハンドルをD6までドラッグしてコピーすると完成。
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数一覧表 »
ROW関数・COLUMN関数の使い方
PageViewCounter
Since2006/2/27