エクセル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エクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Qエクセルで重複する項目を削除したい

エクセル2010を使用しています。
A列、B列に項目が入って、いて、重複するものが何度か出てきます。
重複がないような形にしたいです。

約100種類くらいの項目がランダムで並んでおり、その中から重複する項目を見つけひとつだけにしていきたいです。

重複するものは、セルの強調ルールですぐに見つけられるのですが、
ひとつひとつの項目でフィルタをかけて最初に出てくるもの以外を削除しました。

ただこれだと本当に重複したものだけ消せたか不安です。

その項目が何回目に出てきたかをカウントして、最初に出てきたもの以外を消すということはできるのでしょうか?
これであれば、作業が終わったときに、カウント1となっている項目の数が減っていなければ間違っていないとなります。

検証できる形でやる方法はありますでしょうか?

教えてください。

よろしくお願いします。

Aベストアンサー

>A列、B列に項目が入って、いて、重複するものが何度か出てきます。

「重複」とは、以下のどれですか?

・A列はA列でのみ重複を見る、B列はB列でのみ重複を見る

・A列とB列を組み合わせた上で重複を見る

・A列もB列も区別しないで、A列B列まとめて重複を見る

これをハッキリさせないと、貴方の望む回答は得られません。

・A列はA列でのみ重複を見る、B列はB列でのみ重複を見る、と言う場合

未使用の列の一番上のセル(添付画像で言えばD1)に

=COUNTIF(A$1:A1,A1)

と入れて、表の最下行までコピーして下さい。

同様に、異なる未使用の列の一番上のセル(添付画像で言えばE1)に

=COUNTIF(B$1:B1,B1)

と入れて、表の最下行までコピーして下さい。

すると「重複している2個目以降のデータ」に「2以上の数値」が出て来ます。

あとは、オートフィルタで「2以上になっている行」だけを表示して、一気にまとめて削除すれば終わりです。

・A列とB列を組み合わせた上で重複を見る、と言う場合

未使用の列の一番上のセル(添付画像で言えばC1)に

=A1&"###"&B1

と入れて、表の最下行までコピーして下さい。

同様に、異なる未使用の列の一番上のセル(添付画像で言えばF1)に

=COUNTIF(C$1:C1,C1)

と入れて、表の最下行までコピーして下さい。

すると「重複している2個目以降のデータ」に「2以上の数値」が出て来ます。

添付画像の例では「A列が14、B列がR」になっている物だけが「重複した組み合わせ」として「2」になっています。

あとは、オートフィルタで「2以上になっている行」だけを表示して、一気にまとめて削除すれば終わりです。

C列で「間にシャープを3つ足してる」のは「A列とB列を単純に連結すると、誤動作するから」です。

「A列とB列を単純に連結してしまう」と

A列  B列
あ1  234
あ   1234

の2つが、連結するとどちらも「あ1234」になっちゃって「重複」として判定されちゃいます。

こういう誤動作をしないように、間に「データの中に出て来ない文字」を挟むのです。

「データの中に出て来る文字」を使っちゃうと

A列  B列
あ#  1234
あ   #1234

の2つはデータの中にシャープが居るので「###」を挟んで連結するとどちらも「あ####1234」になってしまって「同じデータ」と誤解してしまいます。

・A列もB列も区別しないで、A列B列まとめて重複を見る、と言う場合

未使用の列の一番上のセルに

=COUNTIF(A$1:B1,A1)+COUNTIF(A$1:B1,B1)

と入れて、表の最下行までコピーして下さい。

すると「重複している2個目以降のデータ」に「3以上の数値」が出て来ます。

ここで注意して欲しいのは「重複してない場合は、2以上じゃなくて3以上」って事です。今までと違うので注意して下さい。

あとは、オートフィルタで「3以上になっている行」だけを表示して、一気にまとめて削除すれば終わりです。

>A列、B列に項目が入って、いて、重複するものが何度か出てきます。

「重複」とは、以下のどれですか?

・A列はA列でのみ重複を見る、B列はB列でのみ重複を見る

・A列とB列を組み合わせた上で重複を見る

・A列もB列も区別しないで、A列B列まとめて重複を見る

これをハッキリさせないと、貴方の望む回答は得られません。

・A列はA列でのみ重複を見る、B列はB列でのみ重複を見る、と言う場合

未使用の列の一番上のセル(添付画像で言えばD1)に

=COUNTIF(A$1:A1,A1)

と入れて、表の最下行までコピーして...続きを読む

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

Q重複データの数量を合計し、重複データを削除する方法

下記のようなエクセルデータがあるとします。
品番は重複しており、数量は異なっています。

A.品番 B.数量
 1--------1
1--------3
1--------2
1--------1

これを下記のようにしたいです。

A.品番 B.数量
1--------7

このように重複データの数量を合計して、かつデータを1つにまとめる
方法を教えて下さい。よろしくお願いします。

Aベストアンサー

ピボットテーブルって機能があります。
それで、ご希望の内容が対応できますよ!
添付の画像の左がリスト、右がピボットテーブルです。
エクセルのバージョンによって使い方が変わるようですので、詳細はヘルプを参照ください。
そんなに難しくはないですよ。

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Q(エクセル)重複値の上側数値の非表示/削除 重複した数値があった場合に1番下側にある重複値のみを残し

(エクセル)重複値の上側数値の非表示/削除
重複した数値があった場合に1番下側にある重複値のみを残し,他は非表示/削除したいのですが、関数を使って良い方法はありませんか?
上側を非表示/削除する場合はcountif関数で可能なようですが,下側となると分かりません。。

写真の例のように重複値がある場合はその1番下だけを残し、他は非表示/削除したいです。
お願いいたします。。

Aベストアンサー

[No.4]の別解
=IF(COUNTIF(A2:A999,A2)=1,A2,"")

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

QエクセルVBA ID行がもつ複数、単数の項目を別シートにID毎(重複)での単数項目で転記したいが

エクセルVBAをつかい
下記添付のようにID行がもつ複数項目(単数あり)データを
別シートにID毎(重複)での単数項目で転記したいが
具体的方法がネットで検索してもみつからず、教えていただきたく。
よろしくお願いします。

Aベストアンサー

こんにちは!

一例です。
元データはSheet1にあり、Sheet2に表示するとします。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, j As Long, myRow As Long
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(wS.Cells(2, "A"), wS.Cells(lastRow, "D")).ClearContents
End If
myRow = 1
With Worksheets("Sheet1")
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
For j = 4 To .Cells(i, Columns.Count).End(xlToLeft).Column
If .Cells(i, j) <> "" Then '//←念のため//
myRow = myRow + 1
wS.Cells(myRow, "A") = .Cells(i, "A")
wS.Cells(myRow, "B").Resize(, 2).Value = .Cells(i, "B").Resize(, 2).Value
wS.Cells(myRow, "D") = .Cells(i, j)
End If
Next j
Next i
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんにちは!

一例です。
元データはSheet1にあり、Sheet2に表示するとします。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, j As Long, myRow As Long
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(wS.Cells(2, "A"), wS.Cells(lastRow, "D")).ClearContents
End If
myRow = 1
With Worksh...続きを読む

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

Q同じ行の中で重複するデータを削除してつめる方法

   A    B    C     D      E    F
1|りんご|いちご|りんご|ぶどう|ばなな|りんご
2|すもも|ばなな|
3|りんご|りんご|びわ |
4|かき |りんご|ばなな|

データが上記のように記入されている場合、
下記のように、同じ行の中で重複するデータを削除してつめる方法をご伝授ください。

    A    B    C     D      E    F
1|りんご|いちご|ぶどう|ばなな| 
2|すもも|ばなな|
3|りんご|びわ |
4|かき |りんご|ばなな|

よろしくお願いします。

Aベストアンサー

これくらいになるとエクセル関数では複雑か、難しくなる。
エクセル関数は、表のデータの組み換えは、苦手分野です
そこでVBAの出番です。
ーーー
例データ A-F列
りんごいちごりんごぶどうばななりんご
すももばなな
りんごりんごびわ 
かき りんごばななばなな
ーーー
標準モジュールに
Sub test01()
d = Range("A65536").End(xlUp).Row
For i = 1 To d
k = 10 'K列以右に結果
r = Range("IV" & i).End(xlToLeft).Column '最右列取得
Cells(i, k) = Cells(i, 1) '第1列目は無条件にセット
k = k + 1 '1列右を指す
For j = 2 To r
If Application.WorksheetFunction.CountIf(Range(Cells(i, "A"), Cells(i, j)), Cells(i, j)) = 1 Then
Cells(i, k) = Cells(i, j) 'データを持ってくる
k = k + 1
End If
Next j
Next i
End Sub
ーーー
このプログラムではデータはI列までと仮定になってます。
K=10(J列)を増やせば、データが増えても良い。
少し変えれば、データより下部分や、別シートにも出せますが。
CountifはVBA関数で、重複を判定している。
ーー
結果
jーM列
りんごいちごぶどうばなな
すももばなな
りんごびわ 
かき りんごばなな

これくらいになるとエクセル関数では複雑か、難しくなる。
エクセル関数は、表のデータの組み換えは、苦手分野です
そこでVBAの出番です。
ーーー
例データ A-F列
りんごいちごりんごぶどうばななりんご
すももばなな
りんごりんごびわ 
かき りんごばななばなな
ーーー
標準モジュールに
Sub test01()
d = Range("A65536").End(xlUp).Row
For i = 1 To d
k = 10 'K列以右に結果
r = Range("IV" & i).End(xlToLeft).Column '最右列取得
Cells(i, k) = Cells(i, 1) '第1列目は無条件にセット
...続きを読む


人気Q&Aランキング

おすすめ情報