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

例えば、
5行ごとの世帯表があります。
A列には氏名が入力されています。
2人世帯は2行しか使いませんので、下3行は何も入力されていない行です。
つまり、10世帯分で100行あり、その中に合計38名分の氏名が入力されています。
列を挿入して、B列に新しい列を作りました。
この列に、別シートの同じ世帯員の生年月日が入力された列(ブランクの無い38行の38個のセル)を貼り付ける場合、どのように貼り付けるのでしょうか。

オートフィルターで、A列の空白セルを除いてから貼り付けたら、オートフィルター解除後、空白セルにも貼り付いてしまったので、ずれてしまいました。
オートフィルターで、省いた(隠した)セルに貼り付かないように貼り付けるにはどうすればいいのでしょうか。

A 回答 (5件)

オートフィルタの機能では難しそうです。


並び替えを使えばできます。

世帯表と生年月日データは、空白の有無が違うだけで順番は同じですね?
まず、世帯表のシートにもう1列(C列)を挿入します。
C列には、1,2,3,4,・・・・と100行まで入力します。(オートフィルの連続データで入力)
オートフィルタで空白以外の行だけ表示して、B列に、例えば1と入力します。(38行分)
B列とC列で「並び替え」をすれば、空白以外の行が順番どおりに固まりますので、そこのB列に生年月日を貼りつけます。
最後に、C列で「並び替え」をして、C列を削除します。
    • good
    • 0
この回答へのお礼

並び替えた時に、貼り付けて、連続数値を入力したC列を使って同じ序列に復帰すると。
なるほどなるほど。お見事です!
ありがとうございました。

オートフィルターでA列を空白セル以外にした表示のまま、B列に連番を入力する方法が分かりません。
B1に「1」B2に「2」を入力して、この2つのセルを範囲指定して、右下スミをつまんで下に引っ張ると、「1、2、1、2、...」となってしまうのです。
どのように、連番入力するのでしょうか。

お礼日時:2003/03/07 16:48

VBAで回答。


sheet1,sheet2を本番に合わせてシート名にしてください。('Aとした行)
sheet2で生年月日はC列にあるものとしています。
本番に合わせて下さい('Bとした行)
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet1") 'A
Set sh2 = Worksheets("sheet2") 'A
j = 1
For i = 1 To 100
If sh1.Cells(i, "A") = "" Then
Else
sh1.Cells(i, "B") = sh2.Cells(j, "C") 'B
j = j + 1
End If
Next i
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2003/03/10 17:50

まず、横から失礼してオートフィルタ。


右クリックでドラッグすると「連続データ」を強制するように選べると思います。

VLOOKUP関数については参考URLへ。

参考URL:http://homepage1.nifty.com/kenzo30/ex_kisotyu/ex …
    • good
    • 0

別表のA列の前にでも1列追加して、生年月日コード表とし、本表のB列にVLOOKUP関数、ではないでしょうか?

この回答への補足

ありがとうございます。
VLOOKUP関数は、今まで使用したことがありませんでした。

検証してみますね。

補足日時:2003/03/07 16:49
    • good
    • 0
この回答へのお礼

ありがとうございました。VLOOKUP関数を知るきっかけにもなりました。

お礼日時:2003/03/10 17:49

右クリックで、型式を・・・で貼り付けの中の、値のみを選べばいかがでしょうか?

この回答への補足

まず、すみません。エクセル2000での話です。

値のみの貼り付けは、ダメでした。
ありがとうございました。

補足日時:2003/03/07 11:41
    • good
    • 0

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