dポイントプレゼントキャンペーン実施中!

オートフィルタのデータに連番をつける時。

オートフィルタで抽出したデータに連番をつける時は、
subtotal関数を使う方法しかないのでしょうか?
これが一番簡単な方法なのでしょうか?

エクセル2007には ‘アウトライン’という機能がありますが、
これを使えば連番をだすことはできるのでしょうか?
挑戦してみたのですが、私にはできませんでした。

エクセル2003・2007においてsuubtotal関数以外で
方法があれば教えてください。
どうぞ宜しくお願いします。

A 回答 (4件)

>suubtotal関数以外


抽出された状態で
空白列で、抽出データ行の先頭セルに、
=MAX($A$1:A1)+1
このセルを下方にコピー

マクロの例
セル範囲は実状に合わせて書き換えてください。
抽出された状態で実行

Dim rng As Range
Dim c As Range
Dim i As Long

Set rng = Range("A2:A16").SpecialCells(xlCellTypeVisible)
For Each c In rng
i = i + 1
c.Value = i
Next
    • good
    • 0
この回答へのお礼

マクロの勉強をします。ありがとうございます!

お礼日時:2010/04/27 11:23

回答No2です。


B2セルへの入力の式は次のように変更してください。

=IF(A2="AA",COUNTIF(A$2:A2,"AA"),"")
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2010/04/27 11:24

連番はSUBTOTAL関数を使われるのがよいでしょう。

他の機能を使うにしてもドラッグ操作が入らずに連番を付けることはオートフィルタをしない場合でも無理でしょう。
どうしてそのような質問をされたのか分からないのですが、SUBTOTAL関数で付けた番号はオートフィルタを解除すれば別の番号に変わってしまいますね。使われている表の中でオートフィルタを解除しても変わらない番号を付けたいのでしたら、SUBTOTAL関数では対応できませんね。別の式を使うことになります。
例えばA1セルに項目名があり、その中でフィルタの際に抽出したAAの文字を対象として番号を付けるとしたらB2セルには次のような式を入力して下方にオートフィルドラッグします。

=IF(A2="","",COUNTIF(A$2:A2,"AA"))
    • good
    • 0

>オートフィルタで抽出したデータに連番をつける


>subtotal関数を使う方法

イメージがよく分からないのですが

A列にデーターが存在する場合B列に連番を表示するには
A2セルからデーターが始まるとして、B2セルに
=SUBTOTAL(103,$A$2:$A2)
と入力し下方向にフィル

こんな感じなのでしょうかね?

こんな感じを意味するのであれば
関数の組み合わせで様々な実現方法はあると思いますが、suubtotal関数を利用するのが一番単純化できると思います
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2010/04/27 11:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!