フィルターの行番号

フィルターの行番号

フィルター付きの範囲では、行番号の列が必要です。フィルターに応じて変更行が常に 1 から連続してカウントされるようにします。たとえば、以下はフィルター付きの範囲です。

Number   Name    Gender
1        Alice   F
2        Jason   M
3        Ka      F
4        Fiona   F
5        Albert  M

ここで、性別が M である行を表示するフィルターを適用するとします。

Number   Name    Gender
2        Jason   M
5        Albert  M

上記は Excel が通常表示するものですが、次のように数値を 1 から連続してカウントするようにします。

Number   Name    Gender
1        Jason   M
2        Albert  M

したがって、行はフィルターに従って番号が付けられ直す必要があります。または関数=MAX(...)+1を使用して、のようなことを試しましたSUBTOTAL()が、まだ成功していません。 このタスクを実行するために、Number 列の数式を記述することは可能ですか? 方法は?

答え1

次の式を使用します:

=AGGREGATE(3,5,$A$1:A1)

セル に入力しますA2。(セル に列見出しがあることを前提としていますA1。)

パラメータAGGREGATE():

  • Function_num = 3、範囲内の空白でないセルをすべてカウントします
  • オプション = 5、範囲内の非表示の行を無視
  • 配列 = $A$1:A1、最初の行から選択したセルの上の行までの範囲

サンプル出力:

ここに画像の説明を入力してください

benshepherd が述べたように、SUBTOTAL()使用することもできます。

答え2

@Máté Juhász が私より先にそこに到着しました。私は を使用した別のアプローチを試していましたSUBTOTAL。A2 に と入力して=SUBTOTAL(103,B$2:B2)下方向に塗りつぶします。

このSUBTOTAL関数は引数に対して番号付き関数を実行します。これらの関数についてはヘルプで説明されています。103 はCOUNTA非表示の行を無視することに相当します。(非表示の行を含めるには、値 3 を使用します。)COUNTA範囲内の空白でないセルの数をカウントします。B$2:B2最上位のセルを同じに保ち、リストの下に行くにつれて範囲を拡張する構文を使用します。

関連情報