エクセルで空白なら上のセルを参照・取得するする関数・やり方は?

スポンサーリンク
当サイトはアフィリエイト広告を使用しています。
デフォルト 0未分類

エクセル(Excel)で空欄ならその上の列の数値(データ)を参照して最も最初のセルのデータをを参照するには?

空欄ならその上、またそのセルが空欄ならその上…のような感じで値を参照・取得する関数はないんでしょうか?

ある行のセルがブランクの場合、別の行のセルの数値を参照させるやり方は?

スポンサーリンク

エクセルで空白なら上のセルを参照・取得するする関数・やり方は?

エクセル(Excel)で空欄ならその上の列の数値(データ)を参照して最も最初のセルのデータをを参照するには、INDEX関数を使って

「=INDEX(A:A,COUNT(A:A))」

とすればA列の最下行の数値を返す関数となります。

上記数式ではA列に数値が全く入力されていない場合には0が返るので、A列に数値が全く入力されていない場合には “” を返すようにするには、

「=IF(COUNT(A:A),INDEX(A:A,COUNT(A:A)),””)」

とします。

また、途中にも未入力セルがある場合に最下行の数値を返すには、

「=INDEX(A:A,MATCH(MAX(A:A)+1,A:A,1))」

とします。
 MATCH関数は、MATCH(検査値, 検査範囲, 照合の型)という引数をとります。
 [照合の型]では、 -1、0、1 の数値のいずれかを指定します。この[照合の型]で、[検査範囲]の中で[検査値]を探す方法を指定しています。

 照合の型 に 1 を指定すると[検査値]以下の最大の値が検索されます。このとき[検査範囲]は、-2、-1、0、1、2、…、A、…、Z、…、ア、…、ン、…、FALSE、TRUE のように昇順で並べ替えられておく必要があります。
 つまり、[検索範囲]内の最下行からチェックしています。

 ここで、
・昇順に並べ替えをせず
・[検査値]を[検査範囲]内の最大値の+1

としておくと、今回の式のように最下行に入力された数値を返します。

ちなみに、次のような表でG3の「重量」を計算(E列の質量とG列の数量を掛け算)させたい場合。

ABCDEFG
1コード品目名数量価格重量ロット#数量
2ABCあいう20710010
3ABC123440
4ABC123545
5ABC123640
6ABC123742
7ABC123840
8GHIかきく2015015
9GHI666620
10DEFえお95805
11DEF987630
12DEF987750
13DEF987835

I列を「重量」としてH2セルには次の式を入力して下方にドラッグコピーすればよいでしょう。

「=IF(G2=””,””,LOOKUP(10^10,E$2:E2))」

LOOKUP(10^10,E$2:E2)の式で常にE列で該当するG列の行数以下(上の行)の行で最下行のE列の値を求めることができます。

タイトルとURLをコピーしました