電子書籍の厳選無料作品が豊富!

「エクセル1」のようなフォーマットのデータを「エクセル2」のようなフォーマットに変換したいと思います。具体的には列A、列Bの空白を上位のデータで埋めるという変換です。

データが4万件以上あり、手作業(コピー&ペースト)では膨大な時間がかかってしまうので、大変困っています!目的はMSアクセスにデータをインポートするためです。

簡単に変換するための関数の利用方法やアドオンツールがあれば教えて頂けないでしょうか。

<エクセル1>
列A------列B----列C
食べ物---野菜---にんじん
空白-----空白---たまねぎ
空白-----空白---ピーマン
空白-----果物---バナナ
空白-----空白---みかん

↓↓↓

<エクセル2>
列A------列B----列C
食べ物---野菜---にんじん
食べ物---野菜---たまねぎ
食べ物---野菜---ピーマン
食べ物---果物---バナナ
食べ物---果物---みかん

A 回答 (6件)

あ、#4さんとかぶりました。


申し訳ありません。
    • good
    • 1

A列で空白を含むデータ範囲のA2~B5を選択します。


CTRLキー+Gを押します。
表示される「ジャンプ」ダイアログで「セル選択」を選択します。
「空白セル」をチェックして、「OK」ボタンを押します。

空白セルだけ選択された状態になりますので、そのままの状態で
=A1(このときのカレントセルのひとつ上のセルの番地)と入力し、 CTRL+ENTERを押します。

きっと幸せになれます。
    • good
    • 9

(1)A1を選択


(2)Ctrl+Shift+: で対象範囲を選択(データが連続していれば全データが選択できるはずです)
(3)編集→ジャンプ→セル選択 で『空白セル』に印を付けでOK
  空白セルが選択され、カレントセル(白くなっているはず)が表示されます
  (質問の表ならA2がカレントセルになりますが)

(4)カレントセルに算式を入力します。
  A2がカレントセルなら、その上のセルを参照するように『=A1』とします。

(5)全空白セルに登録するために、Ctrl+Enter とします。

これで全てのセルが埋められるはずです。
    • good
    • 2

 1行目に項目名、2行目以降にデータが入っているものとして話を進めます。


 新規ファイルを開きます。
 最初の行のデータを、セル位置を同じくして、新規ファイル「Book1」にコピーします。
 2番目のデータについては、下記の式
=IF([エクセル1]Sheet1!A3="",A2,[エクセル1]Sheet1!A3)
※ 式中のエクセル1はファイル名、Sheet1はデータが入力されているシート名に置き換えてください。また、式中のA3は、データが入っている2番目の行、A2はデータが入っている最初の行の該当するセルアドレスに置き換えてください。
※ 関数式の意味は、(エクセル1ファイルのSheet1シートの)A3セルが空白なら、(同じシートの)A2セルを表示しなさい。A3セルが空白でなかったら、エクセル1ファイルのSheet1シートの)A3セル内容を表示しなさいの意味です。

を入力し、列B以降のデータが入っている列までコピーします。
 また、データの入っている最終行まで、コピーをかけてください。空白セルが、直近上位のデータ内容で埋められているはずです。
 なお、このデータを定着させるため、シート全体を選択し、メニューの編集→コピーを行い、そのままメニューの編集→形式を選択して貼り付け→値を選択→OK
とすると、データを安定化することができます。
 このファイルを保存して、アクセスにインポートさせます。
    • good
    • 2

とりあえずD列にA列を加工したデータを作ることにします。



1行目は空白ではないはずなので、
D1: =A1
2行目以降は、A列が空白だったら上を見ろってことで
D2: =IF(A2="", D1,A2)
ダーッと最終行までドラッグ

これでオッケーですね。B列も同様に加工してください。
    • good
    • 1

こんにちは!


1列空けてE1に食べ物、F1に野菜、G1ににんじんをCOPY。
E2に、=IF(A2="",A1,A2)、それを横にCOPY。
E3に、=IF(A3="",E2,A3)、それを横にCOPY。
後は、E3、F3、G3を下にCOPY。
ということですかね?
    • good
    • 0

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