Excelで、特定範囲(例えばP:DIなどの列範囲)の最初の値が入っている(空白を除いた)先頭行(1列目)のセルの値を取得する方法はありますでしょうか?もし可能であれば、マクロではなく関数だけを使用して実現したいです。

はい、Excelの関数を使用して特定範囲の最初の値を取得することができます。具体的には、以下の手順を試してみてください。

1. `INDEX`関数と`MATCH`関数を組み合わせて使用します。`INDEX`関数は特定の範囲内のセルを参照し、`MATCH`関数は条件に一致する最初の値の位置を検索します。

2. まず、使用する範囲の参照を指定するために、1列目のセルの始点と終点のアドレスを取得します。例えば、範囲がP列からDI列の場合、セルの始点はP1になります。終点は`INDEX`関数を使用して計算することができます。具体的には、`=INDEX($P:$P,MAX(IF($P:$P””,ROW($P:$P))))`という式を使用します。

3. 次に、`MATCH`関数を使用して最初の値の位置を検索します。`=MATCH(TRUE,INDEX($P$1:INDIRECT(“$DI$”&ROW()),0)=””)`という式を使用します。この式は、指定した範囲内で最初に空白以外の値が現れる行の位置を返すことになります。

4. 最後に、`INDEX`関数を使用して特定範囲の最初の値を取得します。`=INDEX($P:$DI,MATCH(TRUE,INDEX($P$1:INDIRECT(“$DI$”&ROW()),0)=””),1)`という式を使用します。

上記の手順で、特定範囲の最初の値が空白以外の先頭行(1列目)のセルの値を取得することができます。ただし、この方法は配列関数を使用しているため、式を入力する際にはCtrl+Shift+Enterキーを押してください。

コメントを残す