• ベストアンサー

オートフィルタで抽出した行にだけ連番を振りたい

500件程度の製品データに対して、製品1、製品2、製品3でフィルタ抽出後、製品1に該当する行にだけ、1~連番を振りたいのですが・・・普通に連番コピーしますと、隠れている製品2・3のセルを含めた状態で、連番が振られてしまいます。 これを回避する操作法はないのでしょうか? 例えば、ツールメニューや書式設定メニューから、「可視セルにのみ連番コピーする」などと、指定しておく事は出来ないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

#2 の回答の補足に対して。 こんにちは。 関数不可というところで、これを付け足すのはやぶへびかもしれませんが、Excel2003 のヘルプより引用しておきます。 # SUBTOTAL 関数では、集計方法の値にかかわらず、フィルタの結果に含まれていない行はすべて無視されます。 これは、旧バージョンでも、同じ仕様です。 # 集計方法として 101 111 の定数を指定すると、[書式] メニューの [行] の [表示しない] コマンドで非表示にされている行は無視されます。リストで表示されている行だけを集計する場合は、これらの定数を使用します。 バージョンによって引数が変わることはありません。定数を、100番台で行うか、通常の1桁で行うか、こういう話は、問題外かもしれませんが、何か初歩的な思い込みによる問題であれば、これで解決するはずです。しかし、もしもExcelのバグのようなものが存在するなら、#3で解決するはずです。マクロの解決もやぶさかではないのですが、それは、逆に物事が複雑になるだけだと思います。

sinjou
質問者

お礼

製品毎に担当者が違うため、マクロや新規シート作成が出来ない状態です。自分の場合、ヘルプやネットで調べる時間があったら、手入力&目視の方が早く済むタイプです。 1万件超えた際は、関数を使わなきゃいけないんでしょうね・・・ 関数を使いこなす方って、どんな業界で新卒時代を過ごされたんでしょうか?私の場合、ここのレスを読むだけで眼がちかちかします。訳解らん状態です。

その他の回答 (5)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

A列に連番、B列に製品1なら EXCEL2000以前なら A2=SUBTOTAL(3,$B$2:$B2) EXCEL2002以降なら A2=SUBTOTAL(103,$B$2:$B2) 上記以外だと、検索条件のセルを用意して A2=SUMPRODUCT(($B$2:$B2=製品1)*($C$2:$C2=製品2)*($D$2:$D2=製品3)) ※製品1、2、3はセル参照

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

訂正します ×>定数のインリメンタト(定数が増加する) ○定数のインクリメント(定数で増加する)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 >オートフィルタを解除すると、いくらでも連番コピーが実行出来るため 繰り返しますが、連番コピーというのはどういう意味なのか良く分かりません。連続の数字を振るという意味なのでしょうかね。Excelでは、連続データといっていますが。 >関数が使わない方法を希望しています。 関数でなかったら、マクロで作るという意味なのでしょうか? ただ、500個程度でしたら、手作業で、数分以内で終わると思います。実際、あれこれ考えているよりも、私だった手作業でしたほうが速いです。それは、昔、ある方かから、仕事の場合はそのほうがよいと教わりました。 >不可視セルも含めて連番されるため、正しく件数の連番コピーが実行できない状態です。 連番コピーが、連続の数字を振るという意味なら、そんなはずはないと思います。SUBTOTAL関数は、見えているセルしか数を振りません。 オートフィルタでフィルタリングされたものの範囲をコピーして、別のフィルタリングされてないシートやセルに、形式を選択-値-貼り付けで移せば、それで、出来るはずです。 ここで、どなたかの質問が出ていましたが、不可視セルまでコピーされてしまう不具合がExcelにあるなら、最初に列を選択しておいて、編集-ジャンプ-セル選択-可視セルで、コピーし、それをどこかに、値-貼り付ければよいと思います。 自動で連続数字(1,2,3,……)をつけるテクニックという点では、フィルタリングされた状態では、オートフィルで、定数のインリメンタト(定数が増加する)ことが出来るわけではありませんので、不可能であるのは、お分かりになっていと思いますが。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >昔は出来た気がするんですがエクセル、XPになってから、不便になってませんか? ?昔とは、Excel2000のことなのでしょうか?ここらは変わっていないはずですが。 それよりも、私は、 >普通に連番コピーしますと、隠れている製品2・3のセルを含めた状態で、連番が振られてしまいます。 その連番コピーとは何を意味するのか良く分かりませんが、 例えば、A1 を項目行としているので、次から文字列の数を勘定をしていくなら、 =SUBTOTAL(3,$A$2:A2) を、すべてのものを開いている状態で、空いた列に、フィルドラッグ・コピーすればよいのではありませんか? それで、オートフィルタで、それぞれを選んだら、それぞれに対して、数が連番で出てくるように思います。もちろん、その上に、降順で並べ替えても、昇順で並べ替えても数字は変わりません。(ただし、Excel2002のオートフィルタにソート機能がなかったように思いますが)

sinjou
質問者

補足

関数が使わない方法を希望しています。 不可視セルも含めて連番されるため、正しく件数の連番コピーが実行できない状態です。 多分、エクセルの仕様なんでしょう。 (オートフィルタを解除すると、いくらでも連番コピーが実行出来るため)

  • kaduno
  • ベストアンサー率21% (130/592)
回答No.1

オートフィルタを使用せずに、以下の方法ではダメでしょうか。 ※等角フォントで見てください。 1.以下のデータがあったとします。 +---+------+------+------+------+-- | | A | B | C | D | +---+------+------+------+------+-- | 1 |製品1|データ|データ| | +---+------+------+------+------+-- | 2 |製品2|データ|データ| | +---+------+------+------+------+-- | 3 |製品2|データ|データ| | +---+------+------+------+------+-- | 4 |製品1|データ|データ| | +---+------+------+------+------+-- | 5 |製品3|データ|データ| | +---+------+------+------+------+-- 2.右側のデータが無い部分(Dより右)に1から連番をふります +---+------+------+------+------+-- | | A | B | C | D | +---+------+------+------+------+-- | 1 |製品1|データ|データ| 1 | +---+------+------+------+------+-- | 2 |製品2|データ|データ| 2 | +---+------+------+------+------+-- | 3 |製品2|データ|データ| 3 | +---+------+------+------+------+-- | 4 |製品1|データ|データ| 4 | +---+------+------+------+------+-- | 5 |製品3|データ|データ| 5 | +---+------+------+------+------+-- 3.A列でソートします +---+------+------+------+------+-- | | A | B | C | D | +---+------+------+------+------+-- | 1 |製品1|データ|データ| 1 | +---+------+------+------+------+-- | 2 |製品1|データ|データ| 4 | +---+------+------+------+------+-- | 3 |製品2|データ|データ| 2 | +---+------+------+------+------+-- | 4 |製品2|データ|データ| 3 | +---+------+------+------+------+-- | 5 |製品3|データ|データ| 5 | +---+------+------+------+------+-- 4.A列の左側に1列追加し、製品1にだけ連番をふります +---+------+------+------+------+------+-- | | A | B | C | D | E | +---+------+------+------+------+------+-- | 1 | 1 |製品1|データ|データ| 1 | +---+------+------+------+------+------+-- | 2 | 2 |製品1|データ|データ| 4 | +---+------+------+------+------+------+-- | 3 | |製品2|データ|データ| 2 | +---+------+------+------+------+------+-- | 4 | |製品2|データ|データ| 3 | +---+------+------+------+------+------+-- | 5 | |製品3|データ|データ| 5 | +---+------+------+------+------+------+-- 5.(2.)で連番をふったD列(現在はE列)でソートして元に戻してあげます +---+------+------+------+------+------+-- | | A | B | C | D | E | +---+------+------+------+------+------+-- | 1 | 1 |製品1|データ|データ| 1 | +---+------+------+------+------+------+-- | 2 | |製品2|データ|データ| 2 | +---+------+------+------+------+------+-- | 3 | |製品2|データ|データ| 3 | +---+------+------+------+------+------+-- | 4 | 2 |製品1|データ|データ| 4 | +---+------+------+------+------+------+-- | 5 | |製品3|データ|データ| 5 | +---+------+------+------+------+------+-- 6.最後にE列を消して完了。製品1の箇所だけに連番がふられることになります。

sinjou
質問者

お礼

回答下さった皆様、ありがとうございました!! 夜遅くに迅速にレス頂けたので、本当に助かりました・・・感涙

sinjou
質問者

補足

1列しか使用せず、 製品1だけソートした際に、1~連番 製品2だけソートした際にも、1~連番 製品3だけソートした際にも、1~連番 なんて夢なんでしょうか・・・ 今、自分の家計簿でも挑戦してるんですが・・・汗 出来ません!! 昔は出来た気がするんですがエクセル、XPになってから、不便になってませんか? 回答ありがとうございました。

関連するQ&A