dポイントプレゼントキャンペーン実施中!

こんにちは。お世話になります。
エクセルの並び替えに関して質問です。

例えば下記のような情報があったとします。

日付        値
2007/12/7    1
2007/12/9    4
2007/12/11    3


こちらを、このように飛び飛びになっていた日付を補完して
値に0を入れることは可能でしょうか?

日付        値
2007/12/7    1
2007/12/8    0
2007/12/9    4
2007/12/10    0
2007/12/11    3


現在は原始的に目視して、空いている日付に行を挿入して
ひとつひとつ0を入力しております。
処理する数が多いので、これが自動で出来たらどんなに効率が
良いだろう、、と思い初めて質問させて頂きました。

お詳しい方、ご助言頂けますと幸いです。
なにとぞよろしくお願い致します。

A 回答 (2件)

Sheet1にA1:B4


日付計数
2007/12/7  1
2007/12/9  4
2007/12/11  3
ーー
別シート(Sheet2とする)A2に2007/12/7のような最初日を入れる。
プラスハンドルを出して、下へ引っ張る。
すると簡単に連続日が入る。
そしてB2に
=IF(ISERROR(MATCH(A2,Sheet1!A:A,0)),0,INDEX(Sheet1!B:B,MATCH(A2,Sheet1!A:A,0)))
結果
日付計数
2007/12/7   1
2007/12/8   0
2007/12/9   4
2007/12/100
2007/12/113
2007/12/120
2007/12/130
2007/12/140
2007/12/150
ーー
日付はエクセルでは、セルの値は、日付シリアル値という整数値
なので、そのつもりで、恐れないこと。
    • good
    • 1
この回答へのお礼

すごいです!サクッと出来ました!!
いろんなやり方があるんですね。
関数を上手く使うとなんでも出来そうです。

これを機会に、もっと勉強したいと思います。
ありがとうございました!!

お礼日時:2008/04/01 13:02

    [A]   [B]


[1]   日付   値
[2]  2007/12/7  1
[3]  2007/12/9  4
[4] 2007/12/11  3

と仮定して、

1. A1:B2セルを選択して、[編集]-[コピー]。
2. C1セルを選択して、[編集]-[貼り付け]。
3. D2セルに、
  「=IF(ISNA(VLOOKUP(C2,$A$1:$B$4,2,0)),0,VLOOKUP(C2,$A$1:$B$4,2,0))」
  を入力。
4. C2:D2セルを選択して、フィルハンドル(D2セルの右下の小さい■)を
  下方向にドラッグ。
5. そのままの状態で、[編集]-[コピー]。
6. そのままの状態で、[編集]-[形式を選択して貼り付け]を選択して、
  [値]をチェックして、[OK]。
7. A:B列を選択して、[編集]-[削除]。

この回答への補足

=IF(ISNA(VLOOKUP(C2,$A$1:$B$4,2,0)),0,VLOOKUP(C2,$A$1:$B$4,2,0))

$B$4 の部分の数字をデータの行数分に変えると無事出来ました!
素早いご解答本当にありがとうございました。

補足日時:2008/04/01 12:58
    • good
    • 0

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

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


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