エクセル2002を使用しています。

差込印刷用のデータとして整える方法を教えていただきたいと存じます。

具体的には、子供ごとのレコードデータから、親宛の封筒宛名ラベルを作成したいと考えていて、2人兄弟や3人兄弟の場合でも封筒は1通なので、
キーとなる項目を目安に、不必要な行を削除すればできると考えましたが、具体的な方法がわからないでいます。

現在のデータは、以下のものです。(簡潔にするために列を部分的に省いています)

世帯コード   親の氏名   住所           子の氏名
0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 次郎
0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 三郎
0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 四郎
0011556    山田 花子  埼玉県川口市中央     山田 洋子
0011556    山田 花子  埼玉県川口市中央     山田 和夫
0153355    佐藤 次郎  千葉県船橋市海浜     佐藤 みく
0002333    鈴木 一郎  神奈川県川崎区高津区   鈴木 空
0002333    鈴木 一郎  神奈川県川崎区高津区   鈴木 陸


これを、次のように「世帯コード」で判別して世帯ごとの最初の行だけを抜き出したり、2行目以降を削除したりできれば、差込印刷用のデータとして利用できると思います。
世帯コード   親の氏名   住所           子の氏名
0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 次郎
0011556    山田 花子  埼玉県川口市中央     山田 洋子
0153355    佐藤 次郎  千葉県船橋市海浜     佐藤 みく
0002333    鈴木 一郎  神奈川県川崎区高津区   鈴木 空
(世帯ごとに一行ずつになっています。親の氏名のうち、鈴木 一郎 さんは、同姓同名の方です。世帯コードが違うので区分できます。)

エクセルの機能でこのようにできる方法はあるでしょうか?


もしくは別の方法でも、宛名ラベルを親宛に一枚印刷できる方法があるでしょうか?


お願いいたします。


データ用のシートですので、行や列の挿入や別シートの利用などはすべてできますので、よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

まず、世帯コードを昇順が降順で並べ替えておきます。


「子の氏名」の項目がセルD1にあればE列にでもいいですので「重複」とでも項目をつくります。
セルE2に
=IF(A2=A1,"×","○")
を入れて下に式をコピーすると最初の行だけに「○」と表示されます。
オートフィルタで「○」を抽出して他のシートにコピー&貼り付けで印刷用のデータを作るっていうのはどうですか?
    • good
    • 1
この回答へのお礼

=IF(A2=A1,"×","○")
参考になりました。

丁度私も
=IF(A2=A1,"2","1")
にして、ソートで並び替えるのはどうだろうと思いついたところでした。

オートフィルタとは考え付きませんでした。


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

お礼日時:2007/07/11 12:12

こんにちは。


例えば、
  A       B      C            D
1 世帯コード   親の氏名   住所           子の氏名
2 0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 次郎
3 0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 三郎
4 0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 四郎
5 0011556    山田 花子  埼玉県川口市中央     山田 洋子

のような位置関係だとして、E列を作業列として使います。(もしくは空いてる列)
E2セルに

=A1=A2

以下、必要行数分コピー。

その後[データ]-[フィルタ]-[オートフィルタ]を使って、
E列が FALSE のデータだけを別シートにコピーする。とか。
TRUEのデータを削除する。とか。

または、作業列は使わず、[データ]-[フィルタ]-[オートフィルタのオプション]から、
[リスト範囲]をA列だけにして、
       ~~~~~~~
□ 重複するレコードは無視する にチェックをして抽出した後に別シートにコピーする。とか。
...ではいかがでしょう。
    • good
    • 0
この回答へのお礼

作業列を作るのですね。

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

ほっとしました。

お礼日時:2007/07/11 12:10

このQ&Aに関連する人気のQ&A

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

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

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

Qユーザーフォームの氏名のテキストで「様」を

いつもお世話になります。
WIN7 EXCELL2010 です。

ユーザ―フォームのVBAが下記です。
御指導を仰ぎたいのは
TextBox3.Text = "" ここに氏名が入りますがユーザーフォームで、
例えば「石井 徹」と入力したら”様”とデーター欄に「石井 徹様」となるには可能でしょうか。
もし可能ならばどうすればいいのかをご教授いただけないでしょうか。


Private Sub CommandButton1_Click()
'
y = 2
Do While Cells(y, 2) <> ""
y = y + 1
Loop
Cells(y, 1) = TextBox1.Text
Cells(y, 2) = TextBox2.Text
Cells(y, 3) = TextBox3.Text
Cells(y, 4) = TextBox4.Text
Cells(y, 5) = TextBox5.Text
Cells(y, 6) = TextBox6.Text
Cells(y, 7) = TextBox7.Text
Cells(y, 8) = TextBox8.Text
Cells(y, 9) = TextBox9.Text
Cells(y, 10) = TextBox10.Text
Cells(y, 11) = TextBox11.Text
Cells(y, 12) = TextBox12.Text
Cells(y, 13) = TextBox13.Text

TextBox1.Text = Format(Date, "mm/dd")
TextBox2.Text = ""
TextBox3.Text = "" ここに氏名が入ります。
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
TextBox13.Text = ""

TextBox1.SetFocus
End Sub

是非よろしくお願いします。

いつもお世話になります。
WIN7 EXCELL2010 です。

ユーザ―フォームのVBAが下記です。
御指導を仰ぎたいのは
TextBox3.Text = "" ここに氏名が入りますがユーザーフォームで、
例えば「石井 徹」と入力したら”様”とデーター欄に「石井 徹様」となるには可能でしょうか。
もし可能ならばどうすればいいのかをご教授いただけないでしょうか。


Private Sub CommandButton1_Click()
'
y = 2
Do While Cells(y, 2) <> ""
y = y + 1
Loop
Cells(y, 1) = TextBox1.Text
Cells(y,...続きを読む

Aベストアンサー

>TextBox3.Text = "" ここに氏名が入りますがユーザーフォームで、例えば「石井 徹」と入力したら”様”とデーター欄に「石井 徹様」となるには可能でしょうか。

質問の意味がよく分かりませんでした。データ欄とは何のことでしょう。


●セルに書き出す時に「様」を付けるなら、
Cells(y, 3) = TextBox3.Text & "様"

●最初から「様」が入力された状態にするなら、
TextBox3.Text = "様"
(TextBox3のChangeイベントはないとします)

●「石井 徹」で初期化するなら、
TextBox3.Text = "石井 徹様"
(TextBox3のChangeイベントはないとします)

●もしかして、「C列のy+1」行目に「石井 徹」と入力されているのなら、
TextBox3.Text = Cells(y+1, 3) & "様"
(TextBox3のChangeイベントはないとします)


●TextBox3に入力したときに「様」を付けるなら、
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  With TextBox3
    If .Text <> "" And Right(.Text, 1) <> "様" Then
      .Text = .Text & "様"
    End If
  End With
End Sub

どうもこれら以外の気がします。
よく分かりませんでした。

>TextBox3.Text = "" ここに氏名が入りますがユーザーフォームで、例えば「石井 徹」と入力したら”様”とデーター欄に「石井 徹様」となるには可能でしょうか。

質問の意味がよく分かりませんでした。データ欄とは何のことでしょう。


●セルに書き出す時に「様」を付けるなら、
Cells(y, 3) = TextBox3.Text & "様"

●最初から「様」が入力された状態にするなら、
TextBox3.Text = "様"
(TextBox3のChangeイベントはないとします)

●「石井 徹」で初期化するなら、
TextBox3.Text = "石井 徹様"
(TextBo...続きを読む

Qエクセル 関数 指定区間内の最大値を返す

エクセル2010を使用しています。
指定区間内の最大値を返す関数を教えてください。

たとえば、
A列 B列
0  1.1
1  1.2
3  1.4
4  1.1
5  1.0
6  1.6
7  1.3
8  1.5
9  1.5
10  1.3

のような、配列で、
A列に(たとえば)4 の値を示した行のB列のセルから
A列に(たとえば)9 の値を示した行のB列のセルまで
の最大値を返す
です。
max 関数に、address vlook match index の関数をくみあわせたりしましたが、うまくいきません。
どうぞよろしくお願いします。

Aベストアンサー

こんばんは。

関数は、不得意ですが、試してみました。

D1:4  E1:9
と置いて、任意のセルに以下のように置きます。

1.は、INDEXを使ったもの。行数の大きい小さいはありません。
=MAX(INDEX($A$1:$B$10,MATCH(D1,$A$1:$A$10,0),2):INDEX($A$1:$B$10,MATCH(E1,$A$1:$A$10,0),2))

2.OFFSET 関数を用いたもの。ただし、E1の検索した行数 >D1 のD1の検索した行数が成り立つものとします。

=MAX(OFFSET(B1,MATCH(D1,$A$1:$A$10,0),,MATCH(E1,$A$1:$A$10,0)-MATCH(D1,$A$1:$A$10,0),))


このカテゴリの人気Q&Aランキング

おすすめ情報