プロが教える店舗&オフィスのセキュリティ対策術

Excel初心者です。
仕事で使っているソフトでcsvをダウンロードすると下記のようになってしまいます。
日付の部分に取引番号が同じなら同じ日付をいれたいのですがどうしたらよろしいのでしょうか?
使用しているExcelは2010です。ご教授いただければ幸いです。


A列    B列  C列
管理番号 取引番号 日付
1     A1    1/3
1    A1
1    A1
1    A2    1/4
1     A2
1    A2
1    A3    1/5
1    A3

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

質問者からの補足コメント

  • 念のため写真を添付いたします。

    「セルが空だったら一つ上のセルを自動入力し」の補足画像1
      補足日時:2016/01/31 11:14

A 回答 (8件)

[取引番号]の次列にある[日付]は、[取引番号]が変わる行に連動して常


にあるのですよね。
この条件なら、日付がないセルの上にある日付を入力するだけですね。

ジャンプ機能を使って、空白セルを指定して相対参照すれば可能です。

手順:
1.空白セルがあるC列を範囲選択します。

2.[ CTRL+G ]キーを押すか、リボンの[ホーム]にある[編集]で[ジャンプ]
を探して[ジャンプ]ダイアログを出します。
http://www4.synapse.ne.jp/yone/excel2010/excel20 …
[セル選択]ボタンをクリックし[空白セル]を選択して[ OK ]します。
これでC列の空白セルだけが選択状態になります。

3.数式バーに最初の日付が入っているセル番号を相対参照で入力。
質問にある条件なら「=C2」と入力して、[ Ctrl+Enter ]キーを押します。
この[ Ctrl+Enter ]キーを行うことで、選択状態の空白セルに上のセルを
相対参照した数式が入力されます。
http://excel-ubara.com/excel1/EXCEL512.html

上のセル内容を相対参照したままでよければこれで完成です。
もしも、参照ではなくC2と同じ文字内容としておきたいなら、C列を選択し、
コピーしてから、[形式を選択して貼り付け]で[値]にして貼り付けすることで
完成します。
「セルが空だったら一つ上のセルを自動入力し」の回答画像1
    • good
    • 0
この回答へのお礼

ありがとうございました。
ただ毎日のことでデータが大量になるので、なにか自動でできる方法はないかと探しておりました。お忙しい中ご教授いただき誠にありがとうございました。

お礼日時:2016/01/31 10:39

上のA列とB列のデーターをSheet1として、別のシート(sheet2)に以下のように入力する。


  A    B
1 A1  1/3
2 A2  1/4
3 A3  1/5


sheet1が下の様な場合

  A    B    C
1 1    A1
2 1    A1
3 1    A2
4 1    A3
  C1には以下の式を入力する。
 C1=VLOOKUP(Sheet1!$B$1:$B$3,Sheet2!$A$1:$B$2,1,0)
 あとはC1の式をコピーして下にドラッグします。
    • good
    • 0

ちょっと変則的な操作になりますが、こんなのはどうでしょうか。



フィルターを設定し、日付列が空白の行のみを表示します。
日付列の一番上の空白セルに、そのセルの一つ上のセルを参照する式を入力します。
(質問中の例でいうと、C3セルに「=C2」を入力」
その式をオートフィルで下に伸ばします。
フィルターを解除して出来上がり。

日付列には、値が入っているセルと数式が入っているセルが混在します。
もし、不都合であれば、列を丸ごとコピーして、同じ列に値でペーストすれば
きれいになります。
    • good
    • 0

下記の方法もご参考ください。


    • good
    • 1

No.3です。



>型が一致しませんと出てしまい・・・

ん~~~C列のデータがちゃんと日付型になっていないのかもしれませんね。
前回のコードの変数の宣言の行の
>Dim i As Long, myDate As Date

>Dim i As Long, myDate
としてみてくささい。
(変数の宣言をしない場合は Variant型になりますので色々な型に対応できます)

※ 一つ気になったのですが、
画像ではA列にデータが入っていませんね?
前回のコードはA列で最終行を取得していますので、
画像通りであれば
>For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row

>For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row
としてB列で最終行を取得するようにしてみてください。

これでも改善されないかったらごめんなさい。m(_ _)m
    • good
    • 0
この回答へのお礼

ん~~~C列のデータがちゃんと日付型になっていないのかもしれませんね。
→はい、私もそれは初めに思い日付データのセルを確認したところ□2016/1/20(□は半角スペースです)となっていたため、すべて置き返して日付データに直してやってみたりはしたのですが、、、できずさきほどの質問をさせていただきました。

今回ご教授いただいた方法も試したのですが、1つ(画像でいうとC3)は自動入力されたのですが、その他は入力されませんでした。。

残念ですが、地道に手入力していきます、、、

もしまた何か思いつきましたら、またこのExcelダメ男にご教授いただければ幸いです。

このたびはお忙しい中ありがとうございました。

お礼日時:2016/01/31 12:14

NO2です。


失礼しました。式に間違いがありました。
D2セルに =IF(C2="",D1,C2)

>C列に張り付けてみては如何でしょうか。
C列に値にして張り付けてみては如何でしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございました!
早速試してみます!!!

お礼日時:2016/01/31 12:15

こんばんは!



取引番号はバラバラに存在するのではなく、まとまっているのですね?
すでに方法は出ていますが、VBAでの一例です。
C列の表示形式は好みの日付にしておいてください。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から//
Dim i As Long, myDate As Date
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(i, "C") <> "" Then
myDate = Cells(i, "C")
Else
Cells(i, "C") = myDate
End If
Next i
End Sub 'この行まで//

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

1行目の日付が2行目にはコピーされたのですが、それ以外はされず、
実行時エラー13
型が一致しませんと出てしまい、 涙
念のためお写真を添付させていただきました。。
お忙しいところ誠に恐縮ですがご教授いただければ幸いです。

お礼日時:2016/01/31 11:21

仮に、D列に関数を入れます。


D2セルに =IF(C2="",C1,C2)
と入れて下までコピー
空白部分が埋まるとおもいますので、D列をコピー
C列に張り付けてみては如何でしょうか。
    • good
    • 0
この回答へのお礼

ご教授いただいた通りやってみたのですが、すべての日付が入力されず、空白部分ができてしまいました。
なにか私のやり方が悪いのでしょうか、、、

お礼日時:2016/01/31 11:19

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

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