• ベストアンサー

エクセル2002を使用した住所録で、一グループごとにセルを追加する方法

エクセル2002で、住所録を作成しています。 A列のみに入力されており、上から 氏名、 住所、 電話番号、 FAX番号、 Eメールアドレス、 の順に並んでいます。 基本的に一人当たり5行です。 氏名の文字だけ赤色、それ以外の文字は黒色になっています。 ファックス、またはEメールアドレスを持っていない人もいるので、所有していない場合はつめて表示されています。 例えば AさんはファックスとEメールアドレスを、 BさんはEメールアドレスを持っていない場合は、 上から順に、 Aさんの氏名、 Aさんの住所、 Aさんの電話番号、 Bさんの氏名、 Bさんの住所、 Bさんの電話番号、 BさんのFAX番号、と表示されています。 このように一人当たりの行数が3行になったり4行になったりしています。 一人一人の最後の行のすぐ下に、次の人の氏名がきており、対象となっている人が変わっても、空白セルが挿入されることはなくA列にびっしりと入力されています。 この場合、 一人当たりの行数を6行以上にして、 一人当たりの行数が6行に足りない場合はその分だけ空白セルを追加する方法があれば教えてください。

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

  • ベストアンサー
回答No.2

自動では難しいと思います。 たぶん、1行目を氏名、2行目を住所、3行目を電話番号 4行目をFAX番号、5行目をメールアドレス、6行目を空白の固定グループにした後、別のフォーマットへコピーするつもりなのでは?と思います。 今回のフォーマットは以降使うことは無いでしょうから 私なら条件付書式で6行ごとにセルに色をつけてそこに氏名が来るようにコツコツ行挿入していきます。 条件付書式の設定は 1.A列全体を選びます(Aをクリック) 2.メニューの「書式」→「条件付書式」を選びます 3.条件付書式の設定で「セルの値が」を「数式が」に変更 4.横の枠内に =MOD(ROW(),6)=1 を入力 5.「書式」をクリックし、「パターン」タブを選び、好きな色を選択して「OK」をクリック 6.これで常に1、7、13、19・・・と6行おきに色がつきます。(行の挿入削除しても変わりません) つぎは色と氏名が重なるように適当な行を選んで行挿入を行なって行きます。 補足:直前の作業を覚えているF4キーについて 通常、行挿入は挿入したい下の行を選んで右クリックで 行挿入しますよね。 1回行挿入すれば、次回からF4キーで繰り返すことが出来るので、行を選んでF4キーという具合に効率よく作業することができます。

kamenn
質問者

お礼

アドバイスをありがとうございます。 「書式」→「条件付書式」とたどる方法とF4キーで、かなり効率的に作業をこなせるようになりました。 お蔭様で、扱えるデーターが増えました。

その他の回答 (2)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

VBAです B列に、新たに作成します 氏名~電話番号の位置は決め打ちしていますので、ズレルとうまく動きません(^_^;) --------------------- Sub TEST() ' Agyou = 1: Bgyou = 1 Do For i = 0 To 2 Cells(Bgyou + i, 2) = Cells(Agyou + i, 1) If i = 0 Then Cells(Bgyou, 2).Font.ColorIndex = 3 End If Next Agyou = Agyou + 3: Bgyou = Bgyou + 3 If Cells(Agyou, 1).Font.ColorIndex = 3 Then '名前 For i = 0 To 1 Cells(Bgyou + i, 2) = "" Next Bgyou = Bgyou + 2 Else If InStr(1, Cells(Agyou, 1), "@") Then 'メール Cells(Bgyou, 2) = "" Bgyou = Bgyou + 1 Cells(Bgyou, 2) = Cells(Agyou, 1) Agyou = Agyou + 1: Bgyou = Bgyou + 1 Else 'FAX Cells(Bgyou, 2) = Cells(Agyou, 1) Agyou = Agyou + 1: Bgyou = Bgyou + 1 If InStr(1, Cells(Agyou, 1), "@") Then 'メール Cells(Bgyou, 2) = Cells(Agyou, 1) Agyou = Agyou + 1: Bgyou = Bgyou + 1 Else Cells(Bgyou, 2) = "" Bgyou = Bgyou + 1 End If End If End If Cells(Bgyou, 2) = "" Bgyou = Bgyou + 1 Loop While Cells(Agyou + 1, 1) <> "" End Sub

kamenn
質問者

お礼

わざわざVBAを作成してくださり、ありがとうございます。 完全ではありませんが、8割はきちんと順番どおりに並んでくれます。 後の2割は手作業でこなせます。 お蔭様で、効率よく作業できます。

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.1

>A列のみに入力 縦一列にデータを入力されている・・・・ B列以降は、空欄?それとも他に、データを入力している? 何か特別な理由があって、このような形式にしている・・・・・ と考えていたのですが A列に、異種データが混在するのは・・・・お勧めしません。 個人の項目が増えた時に、行を増やす手間は・・・・行挿入が必要・・・・・(閉口) このことを考えると、一個人データは1行に収める。項目を増やしたい時は、空白列を追加するだけ・・・の方が簡単です。 下記サイトで、サンプル住所録がダウンロード出来ますが、 これを見ていただくとお判りいただけるかなと・・・ http://pc.nikkeibp.co.jp/pc21/sample/200506/toku3.shtml データの見やすさ、検索、並べ替え、・・・ のことを考えると、このような形式が一般的だと思いますが、・・・・決してこれを、強制する意図はありません。

kamenn
質問者

補足

B列以降は、空欄?それとも他に、データを入力している? ↓   ↓   ↓ B列以降は、空欄になっています。 何か特別な理由があって、このような形式にしている ↓   ↓   ↓ 特別な理由はありません。 既に、データーがA列だけに入力されてしまっています。 これからは別の入力方法で行いますが、既に入力されてしまったデーターを処理したいと思って、質問しているしだいです。 アドバイスをありがとうございました。

関連するQ&A

  • エクセル住所録の組み換え方

    『エクセル』の住所録に関する質問2件です。よろしくお願いいたします。 <質問1> 住所が市区町村から入力されている都道府県別の複数のシートにあります。市区町村のセルに都道府県を加えて、「○○県△△市××」というセルにし、複数のシートをひとつの表にまとめたいのですが、効率が良いやり方を教えてください。 <質問2> エクセル2行で1項目をあらわしている表があります。たとえば、A1=会員番号、A2=氏名、B1=電話番号、B2=住所、ということです。 これを、1行に置き換えたいのですが、良い方法をおしえてください。 A1=会員番号、B1=氏名、C1=電話番号、D1=住所、ということです。 異常、よろしくお願いします。

  • エクセル2002のVBAで、一グループごとにセルを追加する方法

    エクセル2002で、 A列のみにデータが入力されており、 一グループごとに上から順に並んでいます。 一グループの最初のセルの文字だけ赤色、 それ以外の文字は黒色です。 基本的に一グループごとに5行です。 ですが、中には一グループで3行になったり、4行になったりまちまちです。 例えば上から順に、 1つ目のグループの1番目(文字:赤色) 1つ目のグループの2番目 1つ目のグループの3番目 2つ目のグループの1番目(文字:赤色) 2つ目のグループの2番目 2つ目のグループの3番目 2つ目のグループの4番目 2つ目のグループの5番目 3つ目のグループの1番目(文字:赤色) 3つ目のグループの2番目 3つ目のグループの3番目 3つ目のグループの4番目 このように一グループの行数が3行になったり5行になったりしています。 一グループの最後の行のすぐ下に、次のグループのデーターが表示され、 対象となっているグループが変わっても、空白セルが挿入されることはなくA列にびっしりと入力されています。 この場合、 一グループの行数を6行以上にして、 一グループの行数が6行に足りない場合は最後のセルの下に6行になるまで空白セルを追加する方法があれば教えてください。 なお、私なりに試行錯誤した結果、 セルA2からセルA3までのセルの文字が赤色の場合に、赤字のセルの上に空白セルを追加するマクロを下記の通り作成するところまでは出来ました。 参考になるかもしれませんのでご覧下さい。 どうぞ宜しくお願い致します。 記 Sub Macro1() If Cells(3, 1).Font.ColorIndex = 3 Then Cells(3, 1).Select Selection.Insert Shift:=xlDown End If If Cells(2, 1).Font.ColorIndex = 3 Then Cells(2, 1).Select Selection.Insert Shift:=xlDown End If End Sub 以上

  • エクセルのセル参照

    エクセル2007です。教えてください。 Sheet1のA1に「郵便番号」、A2に「住所」、A3に「氏名」、A4に「請求金額」を入力するとします。 これを100件入力すれば、「1」から「100」の行を使いますよね。 次にSheet2に請求書を作ります。A1に「郵便番号」、A2に住所、B1に「氏名」、C1に「請求金額」を 表示させたいのです。連続させてSheet1のセル参照を使うと、行が違うので直してやらなければなりません。 1件や2件ならともかく、100件となると…。関数では無理なんでしょうねえ。ではマクロ? どういうマクロを組んだらいいのか教えてください。

  • エクセルで作った住所録からの複数県の抽出

     エクセルで右から順に,氏名・敬称・都道府県名・住所1(番地まで)・住所2(建物名、部屋番号等)・電話番号・FAX・携帯 を入力できるように,住所録を作りました。その住所録の中で,複数の県を除いた分(例えば,東北地方を除くというような)の宛名ラベルを印刷したい場合は,どのようにデータを抽出したら良いのでしょうか?使っているのは、Excel2000です。 ご指導、よろしくお願いします。

  • EXCELで、住所をコード化して、新たなセルに追加したい。

    たびたびすいません。またまた助けてください。。。    A 1 尼崎市 2 神戸市灘区 3 姫路市 4 神戸市中央区 とあった場合に、    A     B     C 1 尼崎市   5474     2 2 神戸市灘区 5410     3 3 姫路市   5440     1 4 神戸市中央区5409     3 としたい場合、一括変換できるような関数はないでしょうか。。。。 尚、BにはAの住所により固定の番号がつけられます。 同様にCにもAの住所により固定の番号が割り振られます。なにとぞ、よろしくお願いいたします。

  • Excelエクセル同じサイズの結合セルとは?

    住所録を作っています。 氏名、郵便番号、住所、電話と一列で入力しているのですが、 電話の欄に固定電話と携帯電話を入力するとき、行を挿入して電話番号の欄以外を結合していました。 昇降順に並び替えようとすると、「この操作には同じサイズの結合セルが必要です」と表示されます。 印刷する用紙の関係で、同列に電話番号と携帯番号を並べることができません。 どう対処したらいいかまったくわかりません^^;宜しくおねがいします。

  • Excel 一つのセルに文字を2行ずつ入るようにしたい

    Excelのセルに文字を入力するとき 一つのセルに1行~2行の文字を入れたいのですが どのようにしたらいいのでしょうか。 具体的にはこういうことです。 一つのセルに↓ 氏名 電話番号 またあるセルには↓ 氏名だけ (氏名の下は空白)

  • エクセル→ファイルメーカーpro6へのインポート方法

    ご質問です。 エクセルで下記のようになっています。 -----------------------------------------------------   A     B      C      D      E      F 1 氏名  ひらがな姓      会社住所1       自宅住所1 2      ひらがな名      会社住所2       自宅住所2 3 年齢          TEL   番号      TEL   番号 4              FAX   番号      FAX   番号 ----------------------------------------------------- ※氏名はAの1.2がセルの統合状態 ※TEL、FAXの文字だけのセル状態(番号の位置合わせ) 上記のように1人の情報がセルが別々に分かれた状態で ファイルメーカーpro6(住所録)にうまくインポートする方法はあるのでしょうか。

  • エクセルで住所録を分類する方法は

    いつもお世話になっています。(エクセルは2002です)   A     B       C   D   E 1 郵便番号  住所      氏名  地区  備考 2 100   A県B市C町  C氏  E   G 3 100   A県B市D町  C氏  E   G 4 200   B県      D氏  F   H 上記のような表(シート1)があります。 シート2にA県、シート3にA県以外を郵便番号・住所・氏名・地区・備考を分けて、シート2の表をシート4にB市、シート5にB市以外に郵便番号・住所・氏名・地区・備考を分けて、シート4の表をシート6にC町、シート7にC町以外に郵便番号・住所・氏名・地区・備考を分ける方法を教えてください。 うまく説明できませんがよろしくお願いします

  • エクセル 行数指定し一つのセルに改行込で入れる

    日本語が下手でもうしわけないです。 エクセルのマクロにて、行数指定指定したセルを別セルに 改行を含めて入れたいのです。 具体的なやりたいこととしては、 A列に不定期間隔で不定形の文字列が入力されていて、(間は空白) その文字列から文字列の行数を読み、 B列の同じ行数分のセルをひとまとまりとし、 別シートのA1に改行込みで入れる。 次のまとまりはA2に次はA3に… といった動作をさせたいです。 例. 1.A1,A6,A9に文字列があるとする。間は空白 文字列間の行数を読む (1)A1-A5 (2)A6-A8 (3)A9-最終行 2.A列で取得した行数と同じ行数をB列で指定 (1)B1-B5 (2)B6-B8 (3)B9-最終行 3.B列で指定したセルをひとまとまりとして 別シートのA1から順に改行込みで入れる (1)シート2のA1 B1(改行) B2(改行) B3(改行) B4(改行) B5(改行) (2)シート2のA2 B6(改行) B7(改行) B8(改行) (3)シート2のA3 B9(改行) ・ ・ 最終行 ####### マクロでの実現を考えているのですが、 マクロ初心者でさっぱりわかりません。 どなたか、マクロでの記述例を教えて頂けないでしょうか。 また、関数で実現できるのであれば、そちらも教えて頂きたいです。 宜しくお願いします。

専門家に質問してみよう