こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

EXCEL 日付の関数について

会社のソフト EXCEL2000です。すでに完成されているEXCELの表があるのですが、使いづらく困っていますので是非関数にお強い方のアドバイスをお願いいたします。最初ののシートの第一列目に2008/04/01の様に日付が入ります。第2列目以降は商品名や金額等です。この日付がアットランダムで伝票整理の都合上 2008/05/01 の後に 2008/04/29 が入ったりしています。そこで各月のシートを別に作り4月分だけ・5月分だけ等の行全部をこの別の月シートにコピーしたいと思います。コピーするタイミングは随時でも記入後に一括でも結構です、またコピーしたシートの方はそのままの日付順(例 2008/04/10の後に2008/04/01)で結構です。
いろいろ試しましたがなかなかうまくいきません。なにとぞよろしくお願いいたします。

投稿日時 - 2008-05-30 07:41:50

QNo.4061424

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

[ANo.3この回答への補足]に対するコメント、

》 またできれば昇順で整理できれば良いのですが、そんなことできま
》 すでしょうか。

「そんなこと」をすれば次のように複雑(でもないか?)になります。

Sheet1 のセル A1 から右に日付、商品名、金額等の項目名が入力されており(各月のシートも同様)、各データは Sheet1 の2行目以降に入力されているものとします。

1.Sheet1 の空き列(此処では列Y)の2行目に式 =A2+ROW()/100000 を入力して、此
  れを必要十分なだけズズーッと下方にドラッグ&ペースト
  この列が目障りなら非表示に設定しておけば好い
2.4月分のシートの邪魔にならない列(此処では列X)の2行目に次式を入力して、此
  れを必要十分なだけズズーッと下方にドラッグ&ペースト
  =IF(AND(Sheet1!Y2>="2008/4/1"+0,Sheet1!Y2<"2008/5/1"+0),Sheet1!Y2,"")
  この列が目障りなら非表示に設定しておけば好い
3.4月分のシートのセル A2 に次の[条件付き書式]を設定
    数式が   =ISERROR(A2)
    フォント色 白
4.4月分のシートのセル A2 に次式を入力して、此れを必要最小限なだけ右方にズズー
  ッとドラッグ&ペーストした後で、これらをすべて必要十分なだけ下方にズズーッと
  ドラッグ&ペースト
  =OFFSET(Sheet1!$A$1,MATCH(SMALL($X:$X,ROW(A1)),Sheet1!$Y:$Y,0)-1,COLUMN(A2)-1)


5月分、6月分のシートも同様だが、上のステップ2の式はそれぞれ次のとおりとすること
  =IF(AND(Sheet1!Y2>="2008/5/1"+0,Sheet1!Y2<"2008/6/1"+0),Sheet1!Y2,"")
  =IF(AND(Sheet1!Y2>="2008/6/1"+0,Sheet1!Y2<"2008/7/1"+0),Sheet1!Y2,"")

投稿日時 - 2008-05-31 22:10:57

お礼

ご回答ありがとうございます。この関数を使って試してみます。

投稿日時 - 2008-06-01 08:00:42

ANo.4

VBAでマクロを組めば自動でできますが、VBAマクロの発想が無いということはVBAマクロを知らないということでしょうから、すぐには無理だと思います。

VBAマクロを使わないのであれば、ソートやオートフィルタを使って抽出してコピーする以外に方法は無いと思います。

シートを壊されることを恐れているようですが、ソートやオートフィルタの使い方なんて全然難しくないので、教えれば良いだけです。
ソートやオートフィルタでシートを壊してしまう可能性のある人には、入力自体させるべきではありません。

投稿日時 - 2008-05-31 21:43:54

お礼

これからはこのシートに限らずExcelをよく教えて作業してもらうようにします。ご意見ありがとうございました。

投稿日時 - 2008-06-01 08:05:02

》 第一列目に2008/04/01の様に日付が入ります
》 この日付がアットランダムで…

日付が重複していることもありますか?


》 コピーしたシートの方はそのままの日付順で結構…

昇順(あるいは降順)でも「結構」なら、お望みはドレですか?

投稿日時 - 2008-05-30 18:12:33

補足

日付は重複します。
またできれば昇順で整理できれば良いのですが、そんなことできますでしょうか。

投稿日時 - 2008-05-31 19:37:00

ANo.2

#1さんの方法でやるのが良いと思います。

ただ、順番を変えると困る、というのであれば、オートフィルタを使用して、4月分だけを抽出して、月シートにコピーすればよいです。

ところで、

> いろいろ試しましたがなかなかうまくいきません。

何を試してみたのか、ほんの二つ三つで構わないので教えてもらえませんか?

投稿日時 - 2008-05-30 09:37:05

補足

オートフィルタ等で別シートにコピペは考えました。この方法であれば
私は何とかできるのですが、私以外の社員がデータの入力をした際ワークシートを壊されてしまう可能性があります。1枚目のシートにデータを入力すれば4月・5月・・・・・の別シートに自動でデータが入るような方法をと思いました。やはり難しいでしょうか。
次に試したのが、1枚目のデータ入力用シートと同じものを別シートとして、たとえば4月分として作り1枚目のシートに入力した行をそのままコピーしてゆく方法も考えました。この方法ですとコピー先シートの5月分だけの行を削除すればよいのですが、これも壊されてしまう可能がありました。そこで考えたのがコピー先シートの日付業で4月分だけを残して後の日付はコピーしないという方法でしたが、この方法が私にはわかりませんでした。もしこれができれば年間シートを12ヶ月分作れば良いので良いと思うのですがもしおわかりでしたらお教えください。

投稿日時 - 2008-05-31 19:48:13

ANo.1

こんにちは

シートのコピーは出来てるんですよね?

コピーした先のシートで、全部の範囲をマウスで囲って
1列目(日付のある列)を昇順に並び替えればいいのでは?

そして、そのシートは4月分にしたければ、それ以外の行は
行削除する

これでわからなかったら、再度お礼欄で書いてみてください

投稿日時 - 2008-05-30 08:47:20

あなたにオススメの質問