行内の次の空白でないセルの列ヘッダーを取得するには、INDEX、MATCH、MIN、IF、およびCOLUMN関数を組み合わせて出力を取得します。

INDEX:指定された範囲内の特定の行と列の交点にあるセルの値または参照を返します。

構文:= INDEX(array、row_num、column_num)

MATCH関数は、選択したセル範囲内の指定されたアイテムを検索し、その範囲内のそのアイテムの相対位置を返します。

構文= MATCH(lookup_value、lookup_array、match_type)

最小:セルまたは配列の範囲から最小の数値を返します。たとえば、数値のリストに5、6、7、8、9、および10が含まれている場合、出力は5になります。

構文= MIN(number1、number2、…​)

最大255個の引数があります。以下に示すスクリーンショットを参照してください:

img1

IF関数は、指定した条件がTRUEかFALSEかをチェックします。条件がTRUEを返す場合はプリセット値を返し、条件がFALSEを返す場合は別のプリセット値を返します。

構文= IF(logical_test、value_if_true、value_if_false)

COLUMN:参照の列番号を返します。

構文:= COLUMN(参照)

例を見てみましょう:

行1には、1月から12月までの月のリストが含まれています。行2は、12か月間に支払われる金額を示しています。行の空白のセルは、その月の支払い期限がないことを示します。新しい行を作成して、月ごとに、次の月の名前を表示します。支払い期限です。

img2

セルA3では、数式は= INDEX(A1:$ L1、MATCH(MIN(IF(A2:$ L2 <> “”、COLUMN(A2:$ L2)))、COLUMN(A2:$ L2)))|になります。 |||| *キーボードのEnterキーを押します。

  • 関数は1月を返します。これは、支払いが1月に支払われることを意味します。

  • 行2からitem1とitem2を削除すると、関数は3月を返します。

img3

  • 数式をセルA3から範囲B3:L3にコピーすることで、支払い期日を返すことができます。

img4

img5