これからの季節に親子でハイキング! >>

Excelでオートフィルタを設定し、抽出したデータがあります。(ですので表示範囲があります)その抽出したデータのある列に連番を振りたいのですが、非表示ににゅうりょくされてしまうためうまくできません。
またオートフィルタで抽出した範囲の可視セルをコピーすることはできても、再度貼り付けることもうまくできません。
何か方法はないでしょうか。

A 回答 (2件)

質問を絞って頂けると回答しやすいのですが。



とりあえず ひとつ目に関しては B列にデータがあって A列
に連番を振りたい場合 先頭行(例えば B2セル)に

=SUBTOTAL(2,B$2:B2)
下方向にオートフィルコピー

で問題ないかと思います。
    • good
    • 3

こんにちは。

maruru01です。

だいたいNo.1の方の回答でOKなので、補足で。
>先頭行(例えば B2セル)に
とりあえず、これはA2セルのことです。
まあ単なる記載ミスだと思いますが。
それから、SUBTOTAL関数の第1引数を「2」にすると、数値データしかカウント出来ません。
もし、データ内に文字列データを含むなら、「3」にして下さい。
この辺のことは、ヘルプでSUBTOTAL関数を調べてみて下さい。
それから、
>再度貼り付けることもうまくできません。
当方、Excel2000ですが、普通に出来ます。
([Ctrl]+[C]→[Ctrl]+[V]で)
実際には、どのような操作をしたのですか?

※Excelのバージョンとかは明記しましょう。
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

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

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

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

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

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

Aベストアンサー

>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

Qエクセル2010の技

エクセル2010です。フィルタをかけて抽出したセル(行)だけに、連番をふりたいのですが、うまくいきません。どなたかやり方をご教示ください。

Aベストアンサー

たとえばA列(A2セル以下)に連番を振りたいなら、A2セルに以下の数式を入力し下方向にオートフィルコピーしてください。

=SUBTOTAL(3,$B$2:B2)

このような関数を設定しておけば、自動的にフィルタされたデータで連番を表示することができます。

Qオートフィルタ抽出データに連番をつけるマクロ

オートフィルタで抽出したデータに連番をふりたいと思っています。このサイトで調べた結果、オートフィルタをかけてのオートフィルでの連番入力はできないと知りました。
現在しようとしているのは
  A  B  C
1 クラス NO 氏名  
2 1    ○△
3 2    □×
4 1    ★♪
というデータがあり、項目にオートフィルタをかけている状態です。クラスを抽出した場合にそのクラスでの通し番号(連番)を付けたいのです。SUBTOTAL関数だと、連番が表示されるのはオートフィルタで抽出している間だけです。SUBTOTALでつけられた連番を、オートフィルタを解除しても残しておくにはどうしたらよいでしょうか。やはりコピー&ペーストしかないのでしょうか?似たような質問が多々ありますが、コピー&ペースト以外の方法をご存知の方、どうか教えて下さい。

Aベストアンサー

#01です
>したがってオートフィルタで抽出を解除すれば同じ通し番号がクラス数分あることになります。
これは最初から書いていただきたかったですが(^^;、それならこのようなマクロでもできます。なお#02さんのご指摘のようにSpecialCellsを用いる方が処理が速くなりますが、手抜きして元のマクロを修正するにとどめます。

Sub Macro4()
Dim idx, cnt As Long
Application.ScreenUpdating = False
For idx = 2 To Range("A65536").End(xlUp).Row
  If Rows(idx).Hidden = False Then
    cnt = cnt + 1
    Cells(idx, "B").Value = cnt
  End If
Next idx
Application.ScreenUpdating = True
End Sub

Qフィルタしたセルのコピーをフィルタしたセルに貼付

質問番号:2467654で似たようなことを希望した方がいて、

【フィルタしたセルをコピーし、別シートのフィルタしたセルに貼り付けたいのですが、
別シートに貼り付けた時見えなくなっているセルにもコピーデータが張り付いてしまいます。】


という質問に対してベストアンサーが

【Ctrlキーを使用すれば、できますよ。
(例)
Aシートのコピーしたい部分を選択し、Ctrl+右クリックショートカットからコピーをクリックします。
Bシートの貼り付けたい部分にカーソルを持っていき、Ctrl+貼付…】

となっていて「できました」!といわれているのですができません。
これ本当にできますか?

違う部分も取り込んでしまうのですが…
フィルタをかけているのが他の列だとできないのでしょうか。

(例)
A B C ←列
あ 1 イ
い 2 ロ
う 3 ハ
え 4 ニ
お 5 ホ

の場合に、フィルタで あ うの行を選んで 1 3 を D列にペーストし、
あ1イ1 や う3ハ3 をつくりたい場合に あ1イ1は良いですが、い2ロ3 ができてしまうのです。



ちなみに以下のような回答もありましたが、これも「フィルタしたセルに貼り付け」はできませんでした。。
バージョンはエクセル2003です。

可視セルを選択してから、「コピー」→「貼り付け」を行うと、可視セルだけが貼り付けされます。

以下は、その手順です。
1) コピーするセル範囲を選択します。
2) 「編集」→「ジャンプ」→「セル選択」をクリックします。
3) 表示される画面で、「可視セル」にチェックを入れ「OK」を押します。可視セルだけが選択されます。
4) その後、コピーから貼り付けで、可視セルだけが貼り付けされます。
http://office.microsoft.com/ja-jp/assistance/HP052014731041.aspx

セルの選択コマンドから操作する方法もあります。
http://www.h3.dion.ne.jp/~fukusima/waza/ura124.html

参考URL:http://office.microsoft.com/ja-jp/assistance/HP052014731041.aspx,http://www.h3.dion.ne.jp/~fukusima/waza/ura124.html

質問番号:2467654で似たようなことを希望した方がいて、

【フィルタしたセルをコピーし、別シートのフィルタしたセルに貼り付けたいのですが、
別シートに貼り付けた時見えなくなっているセルにもコピーデータが張り付いてしまいます。】


という質問に対してベストアンサーが

【Ctrlキーを使用すれば、できますよ。
(例)
Aシートのコピーしたい部分を選択し、Ctrl+右クリックショートカットからコピーをクリックします。
Bシートの貼り付けたい部分にカーソルを持っていき、Ctrl+貼付…】

となって...続きを読む

Aベストアンサー

フィルタしたセルのコピー貼り付けに関しては、リンクで紹介されているものを含めて不正確な情報が多いように思います。

基本的に、フィルタしたデータは、非表示にしたデータと異なり、選択範囲の行のみクリップボードにコピーされます(すなわち、Ctrlキーを押しながら、縦にとびとびにセルを選択した状態と同じわけです)。

一般に、とびとびの行を選択してコピーしたセルを貼り付けると、行が詰められて貼り付けられます。
したがって、フィルタモードの場合はジャンプダイアログから可視セルを選択しないでも(まったくこの操作の必要はありません)、無条件に可視セルが貼り付けられます。

一方、フィルタモードではなく、行を非表示にしたシートでは、セル範囲を選択すると、可視セル以外のセルも選択されるので、可視セルだけを貼り付けたい場合は、ジャンプから可視セルを選択する必要があるわけです。

これらのクリップボードのデータをフィルタしたシートに貼り付けるときは、とびとびではなく一塊のデータとして貼り付けられるので、モードにかかわらず、必ず非表示セルにも貼り付けられます(すなわち、とびとびのセルに貼り付ける方法はありません)。

一方、フィルタモードでオートフィル操作を行うと通常とは異なり、連続データは入力できず(コピーのみ)、さらに表示セルだけを対象とします。

これを利用すれば、フィルタした行だけに同じ値を入力することができます。

例えば、フィルタした状態であるセルにデータを入力し、下方向にオートフィルすれば、その値が表示セルだけに「コピー」されます(非表示行にはデータが入力されません)。

例示のデータのように、フィルタしたB列のデータをD列に入力したい場合は、C列を非表示にしてから(列が飛んでいるとオートフィルができないため)、B列のフィルタされたセルを選択して、右方向にオートフィルしてください。

これでC列を再表示して、フィルタモードを解除すればフィルタされたデータだけにデータをコピーすることができます(オートフィル操作ができない別シートには適用できません)。

フィルタしたセルのコピー貼り付けに関しては、リンクで紹介されているものを含めて不正確な情報が多いように思います。

基本的に、フィルタしたデータは、非表示にしたデータと異なり、選択範囲の行のみクリップボードにコピーされます(すなわち、Ctrlキーを押しながら、縦にとびとびにセルを選択した状態と同じわけです)。

一般に、とびとびの行を選択してコピーしたセルを貼り付けると、行が詰められて貼り付けられます。
したがって、フィルタモードの場合はジャンプダイアログから可視セルを選択しないで...続きを読む

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

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

Aベストアンサー

#2 の回答の補足に対して。
こんにちは。

関数不可というところで、これを付け足すのはやぶへびかもしれませんが、Excel2003 のヘルプより引用しておきます。

# SUBTOTAL 関数では、集計方法の値にかかわらず、フィルタの結果に含まれていない行はすべて無視されます。

これは、旧バージョンでも、同じ仕様です。

# 集計方法として 101 111 の定数を指定すると、[書式] メニューの [行] の [表示しない] コマンドで非表示にされている行は無視されます。リストで表示されている行だけを集計する場合は、これらの定数を使用します。

バージョンによって引数が変わることはありません。定数を、100番台で行うか、通常の1桁で行うか、こういう話は、問題外かもしれませんが、何か初歩的な思い込みによる問題であれば、これで解決するはずです。しかし、もしもExcelのバグのようなものが存在するなら、#3で解決するはずです。マクロの解決もやぶさかではないのですが、それは、逆に物事が複雑になるだけだと思います。

Qフィルタしたセルのコピーをフィルタしたセルに貼り付けたい

タイトルの通りなのですが、フィルタしたセルをコピーし、別シートのフィルタしたセルに貼り付けたいのですが、
別シートに貼り付けた時見えなくなっているセルにもコピーデータが張り付いてしまいます。

上手い方法がありますでしょうか?

Aベストアンサー

Ctrlキーを使用すれば、できますよ。
(例)
Aシートのコピーしたい部分を選択し、Ctrl+右クリックショートカットからコピーをクリックします。
Bシートの貼り付けたい部分にカーソルを持っていき、Ctrl+貼付…

これでできませんかね…ご要望と違う内容でしたらすみません。

Q【Excel】 可視セルへの貼り付けについて

【Excel】 可視セルへの貼り付けについて

Excel2003および2007を使用しています。
ピボットにて集計したデータを別データに貼り付けしたいのですが、
その別データをフィルタで絞って、可視セルのみに貼り付けしたいのですが、
うまくいきません。
非表示のセルにも貼り付けされてしまいます。
可視セルのみに貼り付けできる何かいい方法はありますでしょうか?

ちなみに貼り付け方法は 値のみ を希望です。


(例)
◎ ピボットデータ・・・ 









◎ 貼り付け先データ・・・











・・・ABのみフィルタで絞って、ピボットデータを貼り付けしたい。
Cは非表示なので貼り付けしたくない。

よろしくお願いします。

Aベストアンサー

フィルタモードのシートに、他のシートのデータ範囲をコピー貼り付けすると、非表示行にもデータが貼り付けられますので、基本的にこの方法ではセル範囲をコピー貼り付けすることはできません。

多くの場合は、フィルタされたデータにすべて同じデータを貼り付けますが、この場合なら、1つのセルに入力したデータをオートフィルドラッグすることで対応できます。

各セルに異なる値を貼り付けたい場合は、フィルタではなく並べ替えを利用することになります。

すなわち、フィルタと同じ条件で優先順位を付けてデータを並べ替え操作をすると、コピー貼り付け対象のデータが一塊になりますので、この範囲にコピー貼り付けをします。

データの並び順を元に戻したいなら、補助列(必要に応じて非表示にしておく)に連番を入力しておき、最後にこの補助列で昇順に並べ替えを行います。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルでフィルタして縦にセルコピーをすると隠れた行にもコピーされてしまいます。

EXCEL2007を使っています。フィルタで行の表示を絞った状態で選択セルの右下をドラッグして縦に内容をコピーすると、フィルタされた行にもコピーされてしまいます。フィルタされた行は含めずにコピーするにはどうしたらよいですか?

Aベストアンサー

1) コピーしたいセル範囲を選択して、「Ctrl+G」または「ホーム」タブ→「編集」グループの「検索と選択」をクリックして「ジャンプ」を選択します。

2) 「ジャンプ」の左下の「セルの選択」ボタンを押して、表示されるダイアログで、「可視セル」のラジオボタンをオンにして「OK」で、選択範囲にある見えている(可視)セルだけが選択されます。

3) 「Ctrl+C」などで「コピー」し、ご希望のセルを指定して、「貼り付け」します。

なお、セルの幅もコピーしたいときは、3)の「コピー」操作の後、「ホーム」タブの「貼り付け」の▼を押して、「形式を選択して張り付け」を選択し、「列幅」をオンにして「OK」を押すと、列幅がコピーされますので、「貼り付け」します。

「可視セルのみをコピーする」
http://office.microsoft.com/ja-jp/excel/HA102448971041.aspx

Qエクセルで最後の行までを選択

エクセルで1万行位あるものの1行目から最後の行までを一気に選択する方法はあるでしょうか?また、同じようにA列とB列のみを最後の行まで選択する方法もあるでしょうか?よろしくお願いします。

Aベストアンサー

こんにちは。

マクロなどが設定されていなければ、

シフトキーを押しながら、A1 の、セルの四角の底辺の枠線をダブルクリックすれば、その列が最後まで選択されます。A列B列のみなら、A列で、シフトキーを押しながら、B列のB1 のセルの四角の枠線をダブルクリックすれば選択されます。(ただし、空白セルが途中にあったら、そこでとまります。)

シフトキーを押しながら
+-------------+
|            |
|            |
+-------------+
   ↑
   ここをダブルクリック


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング