エクセル実践塾 > 特集「条件式の考え方」

別のシートに入力してあるデータを、隔行で表示しなおす

 

INDIRECT関数を使って、偶数行もしくは奇数行にのみデータが表示されるようにします

INDIRECT関数を利用すると、数式で作ったセル番地を使って、その値を取り出して表示することができます。

このINDIRECT関数とIF関数を組み合わせて、偶数行もしくは奇数行のにのみデータを表示するようにします。

 

 

 

 

@隔行で表示するデータは、「List2012」シートのC列の2行目から入力されています

 

 

このIF関数の条件式(論理式)は、「ISEVEN(ROW())」です。つまり、IF関数式の入力されているセルが偶数行のものなら、INDIRECT関数で指定したセル番地の値を表示し、奇数行の場合には何も表示しない設定になっています。

INDIRECT関数では、シート名と列番号を固定し、行番号だけを「ROW()/2+1」で生成しています。「+1」は、元データが2行目から始まっているので、それを調整しています。「ROW()/2」は、表示先が2行目のセルを起点としているからです。たとえば、4行目のセルを起点とするなら、「(ROW()-2)/2」となります。要は、起点となるセルでの行番号指定が、元データの最初のデータのある「2」行目となるような調整を行っているわけです。

A隔行で表示するシートを用意し、偶数の2行目を起点とする場合には、左のようなIF関数式を使います

 

BフィルハンドルでIF関数式をコピーすると、その範囲に隔行で(偶数行に)元データが表示されます

C奇数行のセルを起点とする場合には、ISEVENをISODDに置き換えて、左のような数式にします

INDIRECT関数での行番号指定に「(ROW()-1)/2+1」を使っているのは、表示先が2行目のセルを起点としているからです。元データの最初のデータのある「2」行目となるように調整しています。

5行目のセルを起点とするなら、「(ROW()-3)/2」となります。

 

<< 【IF関数での使用例】
同じ数字が2つずつ並ぶ、変則的な連番を入力する
質問や要望などはこちらへ COLUMN関数を使えば、列番号を数値で取得できる >>

 

 

関連する他のページ

リスト内の各データを、順番に個別で表示したい
専用のユーザーフォームにスクロールバーを追加すれば、リスト内のデータを順番に表示できます

条件付き書式を使って、奇数行のセルだけを塗りつぶす
ROW関数で得た行番号を、MOD関数で除算すれば、その余りで奇数行と偶数行を判別できます

行番号を列に表示したい
ROW関数を使えば、対象とするセルの行番号を表示できます

アクティブなセルの行番号を知りたい
Rowプロパティを使うと、アクティブなセルの行番号を取得できます

条件付き書式を使って、2行おきにセルの色を変える
ROW関数で得た行番号を、MOD関数を使って3で除算すれば、その余りで判別できます

偶数行と奇数行を値で区別したい
行番号を2で割って、その余りをMOD関数で調べれば、そ偶数行と奇数行を区別できます