• ベストアンサー

空白セルに上段の内容を

顧客情報をまとめたリストの中に 顧客番号・氏名・住所・お買い上げ商品などが入っています。 数百行に渡るリストの中で、一人の顧客が商品を二つお買い上げの時、 氏名と住所が同じ為、2行に渡るリストの中で氏名と住所は同じ為、省略され、セルが空白になっています。 このリストを住所毎に並べ替えたいのですが、この空白のセルに上段の内容をコピーしていくのはかなりの手間になってしまうので、 何とか良い方法は無いものでしょうか?

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

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.3

1)「氏名と住所」の入力された列を選択します。 2)[Ctrl] + [G] で [ジャンプ] ダイアログ を開き、[セル選択(S)] - [空白セル(K)] の ラジオボタン を オン にして、[OK] をクリックします。 3)以上で、「氏名と住所は同じ為、省略され、セルが空白」になっている部分が選択されました。 4)アクティブになっているセルで「=」を入力し、上矢印キーを1回押下します。 5)[Ctrl] + [Enter] を押下します。 6)以上で(3)で選択された空白セルに直上のセルの内容がコピーされました。 7)「氏名と住所」の入力された列を選択し、[形式を選択して貼り付け] - [貼り付け] - [値(V)] で貼り付けます。

zz-zack
質問者

お礼

完璧なお答え、ありがとう御座います!! お陰様で素晴らしく時間が短縮出来て、仕事が非常に捗りました。 感謝してもしきれません。 本当にありがとう御座いました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

簡単な実例を挙げて質問のこと。たぶん簡単なことだよ。 そうしないと質問の真意の誤解が起こりうる。 A列  B列  C列  1 山田  A市 x  1 ー   -  y       1 ー  -   Z        2 大村  C市  XX ーは空白でヅレて表示されないよう入れている 第1行は見出し等になっているとして E列に =IF(B2<>"",B2,E1) と入れて下方向に式を複写。 結果 A-D 1 山田 A市 x 山田 1 y 山田 1 Z 山田 2 大村 C市 XX 大村 A列とE列を置き換える。形式を選択して置き換えー値 E列住所も同じ。

zz-zack
質問者

お礼

わかりにくい質問を的確に捉えて頂いた上での 細かい例つきの回答、ありがとう御座いました。

全文を見る
すると、全ての回答が全文表示されます。
  • kamepoo
  • ベストアンサー率0% (0/1)
回答No.1

ループ処理でA列を逐次探索で空白をみつけたら上のセルをコピーするマクロ。 Sub Sample() Dim i As Long Dim n As Long With Worksheets(1) n = .Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To n If .Cells(i, 1) = "" Then .Cells(i - 1, 1).Copy .Cells(i, 1) End If Next End With End Sub

zz-zack
質問者

お礼

質問を出して1時間に満たないうちの即答、ありがとう御座いました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 空白セルをデータと認識してしまいます

    Excel2003を使用しています。 「マクロの記録」を使って、あるリストを自動作成 しようとしているのですが、うまくいきません。 A,B2つの列に分かれたデータを連結させるため、 C列に「CONCATENATE」関数を入れて適当な行まで コピーします。(それ以上はデータが入らないだろうと思われる100行目ぐらいまで) その後C列をコピーし、「値貼付け」をして 関数を値に変えます。 そうすると、たとえば実際には20行目までデータが 入っていたとすると、21行目~100行目までは 空白になりますよね? でも、どうもその空白行もデータとみなされている ようなんです…。 Range("C2").End(xlDown).Row で下端セルを探そうとすると、100行目に なってしまいますし、「ジャンプ」で空白セルを 探しても、同じ結果になります。 空白セルを選んで一度「Delete」を押すと 正しく「空白」と認識するようなのですが…。 「実際にデータの入っているセルとそうでないセル」 を自動で判別させたいので、 簡単に「何も入っていないセルを”空白”と正しく 認識させる方法」はありませんでしょうか?

  • 空白セルとして認識しない

    win2000, excel2000です。 例えば、C1に=IF(A1="","",B1)という式が入っています。 この式がC1000まで入っています。 C1~C1000には空白行が散在します。 C列のセルが空白の行をマクロでなく削除したいので C1~C1000を選択肢、「コピー→形式を選択→値」で C1~C1000にコピーします。 C1~C1000を選択し、 「ジャンプ→セルの選択→空白セル」 を実行しても「見当たりません」と返されます。 オートフィルターで空白以外のセルを実行すると、 空白と認識されるようですが、 ジャンプではだめなのでしょうか? オートフィルターで印刷には支障がないのですが、 このbookをメールで送ったりするので、 できれば空白行をマクロでなく削除した後で 送りたいのですが。

  • エクセル空白行を削除したい

    コピー元のデータは、2行を「セルを結合する」として一つのセルにし、入力していました。 それを別のシートに貼り付けたいのですが、ここではセルの結合を外した上で、空白行は見栄えと場所を確保するために削除したいのです。 方法の一つは、隣の行に連番を空白行をはさんでフィルで振り、その後ソートするということは思いつきます。 もっとスマートな方法はありますか? 具体例 コピー元 (うまく表示できませんが、セルは2行単位で結合しています) 貼り付けて、結合を解除すると、ちょうど下のようになります。       A       B     C タイトル行        氏名     住所 2行           松崎一郎   東京都 3行 4行           鈴木次郎   埼玉県 5行 貼り付け先 (こうしたいのです)         A     B      C タイトル行         氏名     住所 2行            松崎一郎   東京都 3行            鈴木次郎   埼玉県 4行 5行 よろしくお願いします。

  • ドロップダウンリストで空白の数式セルの非表示化方法

    以下の数式を入力したセルを参照して、氏名をドロップダウンリストから選べるようにしたいと考えております。しかし、下記の方法ですと、空白のセル(参照セルに値が無かった場合に空白""が返されたセル)が空白のままドロップダウンリストに表示されてしまい、目的の氏名をリストから探す時に手間がかかってしまいます。 <想定しているシート>    A       B       C        D 1                           2 3 氏名     物品     帳票氏名  重複判定 4 A川B男   ○○     A川B男     1 5 A川B男   ××                0 6 C田D夫   ▽      C田D夫      1 7 C田D夫   ◆                 0 5 C田D夫   □                 0 ※C4の入力数式: =if(D4=1,A4,"") ※C1セルの入力規則の元の値に =offset(C4,0,0,counta(C4:C1000),1) 上記の方法でも、C1セルのドロップダウンリストには空白を伴って氏名が表示される形となってしまいます。 このように、数式が入力された結果空白になっているセルを、ドロップダウンリストで非表示にする方法はないでしょうか? どうぞよろしくお願い申し上げます。

  • マクロでコピーしたセルを4行目毎に挿入する方法

    こんにちは!よろしくお願いいたします。 Excel2003で計算式が入力されている1行をコピーして 4行目にコピーしたセルを挿入したいのですが、複数 あるため、マクロを作りたいと思っています。   A   B  C 1 氏名 住所 件数  → 計算式が入力されている 2 氏名 住所 電話 3 氏名 住所 郵便 4 氏名 住所 ふりがな            → 1行目の計算式も含めコピーしたい この操作を繰り返すマクロを作成したいと思っています。 マクロは初心者です。ご指導よろしくお願いいたします。

  • セルがある同じ行のリスト番号を反映して印刷する

    エクセル2003を使っています。 (1)顧客リストを作りました。 1.氏名 2.住所 3.電話番号 4.メールアドレス… (2)別シートに、この顧客データを1件につき1枚に印刷する印刷シートを作りました。 (1)にリスト番号を入力すると(2)のシートに反映するようにvlookupで反映できたのですが、「いちいちリスト番号を入力」しなければならず、可能であればリストにデータを入力している段階でリスト番号が反映されそのまま(2)のシートが印刷できるようにしたいのです。 何かいい方法はありませんか? 「セルがある行と同じ行にあるリスト番号を反映させる」という書き方でご理解いただけますか? よろしくお願いします。

  • Excelのセル内の文字の頭に半角空白を入れるには

    Excelで作った住所録があります。セル内の氏名あるいは住所の頭に半角の空白を入れる修正をしたいと思います。簡単な方法を教えて下さい。初心者ですから、出来たらVBA等使わずにお願いします。使った方が楽な場合は最低限のものでお願いします。

  • エクセルでシート1のセルに入力すると別シートのセルに表示させるには

    依頼されて会員証をエクセル2003で作っている最中です。 SHEET1に下記の様に会員証のベースを作ました。 [●●●の会] 会員番号 [SHEET2の会員番号列] 住所 [SHEET2の住所列] 氏名 [SHEET2の氏名列] 電話番号 [SHEET2の電話番号列] [管理社名] SHEET2にまだ空欄ですが、会員番号・住所・氏名・電話番号のリスト表を作りました。 ここからが課題でして、SHEET2に会員番号、住所とセルに打ち込んでいくと SHEET1のそれぞれに対応したセルに表示させる為に SHEET1のセルに、[=Sheet2!A3]と打ち込めば、 SHEET2のA3のセルが対応されますが、 これではそのセルしか対応しません。 SHEET2の1行目に会員番号、住所から打ち込んだものは、 単純にSHEET1の表示させたいセルに[=SHEET2!○○]を打ち込めば、 それが対応されます。 ただSHEET2の2行目は空白ですので、新たに打ち込んで対応させようとしても出来ません。 毎度毎度SHEET1の表示させたセルに[=SHEET2!○○]をしていくのは大変です。 新規にリストを打ち込むたびにSHEET1の会員証に 表示させる方法はどういったものがあげられるのでしょうか? 或いは、SHEET1の会員証ベースに打ち込んでいくとSHEET2のリストに 自動的に登録される仕組みの方がやりやすいのでしょうか? 数式も教えていただければ大変有難いです。 アクセスの方がやりやすいかもしれませんが、 依頼した方のPCにはアクセスは入っていないですし、 私自身もアクセスはイマイチの部分があります。 エクセルのマクロなるものを使えません。 年始早々に使用したいとの事ですので、 なんとか仕上げてあげたいとは思います。 宜しくお願い致します。

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

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

  • エクセルで入力されているセルへジャンプ

    エクセルでリストを作成しています。 行数が8000行近くあります。 行には文字が入力されているところ入力されていないところがランダムに有ります。(入力されていないセルの方が多い。200、300行空白だったりする) 現在のカーソルの位置から、文字が入力されているセルまで(下方向)一気にジャンプすることは出来るのでしょうか? リストの編集するのに次にどの行に文字があるのか解らなく、その行を見つけるのに手間が掛かるので困っています。 宜しくお願いします。

専門家に質問してみよう