重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

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

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

例えば、A列に順に数値が入っているのですが、ところどころ空欄です。
<こんな感じです。>
12
15
22

33
34


55
<ここまで>

数値は、連番ではありません。不規則です。約300行あります。
本当は、空欄の場所は一つ上のセル数値が入るのです。(連続して空欄になっているところも、一つ上の数値と同じ値が入るのです。)
<上の例を当てはめると>
12
15
22
22 ←
33
34
34 ←
34 ←
55
<ここまで>

こんな感じにしたいのです。
関数などで一つのセルに入力して、あとはフィルドラッグでコピーするなんていう便利な方法はありませんか?
すでに入力している数値が消えないようにしたいのです。

よろしくお願いいたします。

A 回答 (13件中11~13件)

A列にはA1から下にデータがあるものとします。


B1に 
=A1
B2に 
=IF(A2="",B1,A2)
といれて、B2を下までフィルドラッグでコピーします。

これで、B列に隙間無く数字が入ったと思います。
次ぎに、B列をコピーし、A列に、メニューの編集で「形式を選択して貼り付け」で「値」を貼り付けます。
B列の式をけします。

これでいかがでしょう?

この回答への補足

すばらしい方法だと思うのですが、A列に空欄が2行以上続くと、2行目以降が0になってしまいます。

どうしたらよいものなのでしょうか。

ありがとうございます。

補足日時:2007/01/24 14:05
    • good
    • 0
この回答へのお礼

出来ました。
なるほど、「一つ上」というコードがあるのではなく、一つ上のセルを指定して、ドラッグすれば適宜ずれていくのですね。
エクセルは初心者なもので、考え方まで教えていただき、ありがとうございました。

また、貼り付け方法も解説いただき、感謝いたします。

お礼日時:2007/01/24 11:49

別の列に関数で「セルが空欄なら、その上のセルの値を入力する」ことは可能です。

隣の列を使うとしてB2に
=IF(A2="",OFFSET(A1,-1,0),A2)
と入力します

でも
>すでに入力している数値が消えないようにしたいのです
の意味が、数値を入力している列の空白セルにだけ「上のセルの値」を入れたいということであれば、それは関数ではできません。VBAを用いる必要があります。

この回答への補足

すばらしい方法だと思うのですが、A列に空欄が2行以上続くと、2行目以降が0になってしまいます。

どうしたらよいものなのでしょうか。

ありがとうございます。

補足日時:2007/01/24 13:51
    • good
    • 0
この回答へのお礼

結構高度なテクニックに思えます。
別の列を作って作業いたします。

お気遣いまでいただき、大変ありがとうございました。

お礼日時:2007/01/24 11:47

こんにちは


数式でやるのでしたら、もう1列つくらないとできません。
A列に素データが入るとしてセルB2以降
=if(A2<>"",A2,A1)
です。
列を増やさない場合はBVAになります。

この回答への補足

すばらしい方法だと思うのですが、A列に空欄が2行以上続くと、2行目以降が0になってしまいます。

どうしたらよいものなのでしょうか。

ありがとうございます。

補足日時:2007/01/24 14:03
    • good
    • 4
この回答へのお礼

出来ました。
なるほど、「一つ上」というコードがあるのではなく、一つ上のセルを指定して、ドラッグすれば適宜ずれていくのですね。
エクセルは初心者なもので、考え方まで教えていただき、ありがとうございました。

お礼日時:2007/01/24 11:44

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

このQ&Aを見た人はこんなQ&Aも見ています

今、見られている記事はコレ!


このQ&Aを見た人がよく見るQ&A