
エクセル2002を使用しています。
例えば、A列に順に数値が入っているのですが、ところどころ空欄です。
<こんな感じです。>
12
15
22
33
34
55
<ここまで>
数値は、連番ではありません。不規則です。約300行あります。
本当は、空欄の場所は一つ上のセル数値が入るのです。(連続して空欄になっているところも、一つ上の数値と同じ値が入るのです。)
<上の例を当てはめると>
12
15
22
22 ←
33
34
34 ←
34 ←
55
<ここまで>
こんな感じにしたいのです。
関数などで一つのセルに入力して、あとはフィルドラッグでコピーするなんていう便利な方法はありませんか?
すでに入力している数値が消えないようにしたいのです。
よろしくお願いいたします。
No.6ベストアンサー
- 回答日時:
とりあえず数値の範囲を選択
F5キーを押してセル選択で定数を選択(文字を除くなら数値のみチェック)
これで空白のセルが除外されます。
ここでコピーして張り付ければいいかと...
この回答への補足
関数を使わない方法をご提示していただきありがとうございました。
しかし、順に作業したのですが、
>これで空白のセルが除外されます。
ここまでは、できました。
>ここでコピーして張り付ければいいかと...
この部分がわかりません。
空欄になっているセルは不規則ですので、手作業で作業することになるのでしょうか?
それとも、簡単にコピーできるのでしょうか?
F5キーの使い方は知らなかったので、今後活用したいと思います。
ありがとうございました。
できましたら、再度解説をいただけると嬉しいです。よろしくお願いいたします。
No.13
- 回答日時:
まとめ
(1)質問者の言うように、A列!で式を入れて自動複写のようなことは、絶対できません。
一回限りなら下記でできます(B)。
(2)例えばB列を一旦使い、
B1に
=IF(A1<>"",A1,MAX($A$1:A1<>"",$A$1:A1,0))
と入れてSHIFT+CTRL+ENTERを押す。
そしてA列に値だけ複写する。それならできますが、A列を変えると
連動性はありません。
(3)VBAなら数行でできる。ロジックも簡単で、上行から順に考えて空白なら、上の行の値をとる。
連動性はない。その都度再実行が必要。
(2)のデータ例
11
22
33
3
3
3
66
6
88
8
22
(1)で書いた方法。自動ではないが
F1:F131
-
2
-
-
5
-
6
-
-
-
2
-
ーは空白セル
F2に=F1
このセルをCTRL+Cでコピー
空白セルの最初F4をクリック
CTRLを押しながら、空白セルの F5,7,9,10、11,13セルをクリック
貼り付け
結果
1
1
2
2
2
5
5
6
6
6
6
2
2
となります。
No.10
- 回答日時:
ANo.7の者です。
私の環境(Excel2003)ではうまくいったのですが・・・
うまく再計算されていないのでしょうか。
B 列の途中に空欄があると、そのような状況になってしまうでしょうが。
ANo.6の方法が一番手っ取り早いかもしれませんね。
1.A4 に =A3 と入力
2.A4 をコピー
3.A 列を選択して、F5 -> セル選択 -> 空白セル -> OK
4.貼り付け
大変すみませんでした。
私の入力ミスです。
教えていただいたB1の箇所を誤ってA1にしてしまっていました。
教えていただいた式は問題なく作動しました。
大変失礼しました。
また、F5キーのやり方についても、
4.貼り付け
と書いていただいたので、恐る恐る貼り付けアイコンをポチッと押したら、すべてうまくいきました。すごい機能ですね。
ありがとうございました。
No.9
- 回答日時:
すいません。
( > < )ANo.5です。
間違ったまま投稿してしまいました。
=IF(A1="",#REF!,A1)ではありません。
1行目は
=A1
で、2行目に
=IF(A2="",A1,A2)
を入れてあとは、これをコピペです・・・
これを1行目にコピーすると上の=IF(A1="",#REF!,A1)となってしまうので、それに気が付かずそのまま投稿してしまいました。
すいません。
#REF!はエラーですので・・・本当にすいませんでした。
ようするにANo.3さんと同じです。
でも、これだと2行入力しないのが続くと・・・という問題があるので
=IF(A2="",B1,A2)
そ、参照するのを同じ列の上の行の数字にしました。
これで、いくら入力しない行があっても大丈夫です。
m(_ _)m
できました。
なるほどーと思いました。
ありがとうございました。
また、別の回答者の皆様にこの欄を借りてお詫びいたします。
後から、補足欄で2行入力しないのが続くとできませんと訴えましたが、B列の一つ上を参照している式に対し、私が入力ミスでA列の一つ上を参照するようにしてしまいました。
すみませんでした。
No.8
- 回答日時:
マクロを作ってみました。
シートタブを右クリックして「コードの表示」を選択するとVBAの画面が出るので、右の画面に以下のマクロをコピーして貼り付け、F5キーを押して実行してください。
Sub FillBlank()
Dim R As Range
For Each R In Range("A1", Range("A65536").End(xlUp))
If R.Value = "" Then R.Value = R.Offset(-1, 0).Value
Next
End Sub
この回答への補足
貼り付けましたら出来ます。さすがマクロですね。
説明を省いた私のミスなのてすが、実際に作業する列は、F3からF322までです。
いただいたコードの
For Each R In Range("A1", Range("A65536").End(xlUp))
のA1を勝手にF3にして貼り付けました。(勝手ですみません)
すると、A列からF列まですべて同じように空欄がある場合は上の行をコピーするようになってしまいました。
AからE列まではコピーしないようにするには、どのようにするものでしょうか。
すみませんが、教えていただけるでしょうか。
よろしくお願いいたします。
No.7
- 回答日時:
既に入力している数値が消えないようにする、というのは難しいですね。
上の例で考えると、
1. A4 に =A3 と入力
2. A4 を全ての空欄(A7, A8等)に対してコピペ
という手順になるでしょうか。
ただ、これだと面倒なので、もし私がやるのであれば次の通りにします。
3. B1 に =A1 と入力
4. B2 に =IF(ISBLANK(A2), B1, A2) と入力
5. B2 を列の最後までコピペ(フィルドラッグ)
6. A 列を必要に応じて非表示化
以上、参考になれば。
この回答への補足
すばらしい方法だと思うのですが、A列に空欄が2行以上続くと、2行目以降が0になってしまいます。
どうしたらよいものなのでしょうか。
ありがとうございます。
いろいろな関数があるのですね。
ISBLANKは種類としては見たことがありましたが、使ったことはありませんでした。
勉強になりました。
No.5
- 回答日時:
もっとうまいやり方があるかもしれませんが、一例として・・・
関数の入った表示される列と、空欄のある入力の列とに分ける。
これは、「すでに入力している数値が消えないようにしたい」という事の為の措置です。
~例~
A列には空欄のある
12
15
22
33
34
55
を入力する
B列には
その結果
12
15
22
22 ←
33
34
34 ←
34 ←
55
と表示される為の関数を入力する。
その関数は
=IF(A1="",#REF!,A1)
こんな感じ
これは、B列1行目に入力する関数
あとは、B列にこれを全てコピペすれば希望通りに表示されます。
印刷などする場合は、A列を非表示(折りたたんで)にして印刷すればOKです。
こんなしょぼいやり方じゃなくやれる方法があるかもしれませんが・・・書いておきます。
この回答への補足
B列に入力し、フィルドラッグでコピーしましたが、隣が空欄のセルですと、 #REF! と表示されてしまいます。
どうしたらよいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル 3つの値の中からデータを抽出させる方法 4 2023/08/24 11:00
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) エクセルの昇順での数値入力のミスの見つけ方を教えてください。 4 2022/06/26 20:41
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) xlDownの使い分けについての質問です vbaでxlDownを使って一覧近い空白までのセルをコピー 3 2022/08/04 12:20
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Visual Basic(VBA) 先頭と末尾を指定して連続した数字を入力 1 2022/09/14 13:12
- Excel(エクセル) エクセル テーブル機能の不明点 2 2022/04/14 14:10
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
このQ&Aを見た人はこんなQ&Aも見ています
-
セルが空だったら一つ上のセルを自動入力したいです
Excel(エクセル)
-
Excelで空白セル直前のセルデータ値を取得したい
Visual Basic(VBA)
-
Excel-参照セルが空白の場合、別のセルを参照するには。
Excel(エクセル)
-
-
4
[エクセル] セルが空だったら一つ上のセルを自動入力する
Excel(エクセル)
-
5
【Excel】【VBA】空白のセルに上のデータを入力する方法
その他(Microsoft Office)
-
6
エクセル関数
Excel(エクセル)
-
7
【エクセル】範囲内の空白ではない一番下のセル
Excel(エクセル)
-
8
エクセルで上の行の値を自動的にコピーする
Excel(エクセル)
-
9
IF関数、上セルが0だったら左の値を、上セルがブランクだったらブランクに。
Excel(エクセル)
-
10
エクセルで空白を無視して一番左にあるセルを参照したい
Excel(エクセル)
-
11
ある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?
Excel(エクセル)
-
12
Excelで、セル範囲(自分の1行下:空白セルの上)、を求めることできますか?
Excel(エクセル)
-
13
エクセル 特定の文字を含むセルとその上のセルを抜き出したい
Excel(エクセル)
-
14
エクセル 空白を飛ばして前の数字と同じ数字を入力する数式
Excel(エクセル)
-
15
Excelで空白の場合、別のセルを参照する、を複数回繰り返すには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
エクセル
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
【マクロ】A列にある、日付(本...
-
エクセルの循環参照、?
-
【マクロ】3行に上から下に並...
-
【マクロ】WEBシステムから保存...
-
【マクロ】EXCELで読込したCSV...
-
iPhoneのExcelアプリで、別のシ...
-
【エクセル】期限アラートについて
-
【条件付き書式】シートの中で...
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
派遣会社とかハローワークとか...
-
マクロ・VBAで、当該ファイルの...
-
VBA チェックボックスをオーバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報