[[20091216141423]] 『表 日付列の並び替え』(まい) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『表 日付列の並び替え』(まい)

 お世話になります。

 (日付別)シート

 品名  12/1   12/2  12/3  …
 りんご  5         8
 ぶどう           2
 バナナ  1    3    9

 という表を作っています。
 これらは別シート(伝票)に入力したものがいくつかの計算式を経て出てきたものです。
 このとき、(伝票)シートで日付を順不同に入力している為に(日付別)でもそのまま反映されてできます。

 品名  12/1  12/2   12/8   12/3  12/5 …
 りんご  5         7     8
  |
   |

 これを日付順に並び替えたいのですがどのようにしたら良いでしょうか?

 (伝票)に入力するときに日付順に並ぶように入力すればいい話なのですが、数が多く、
入力する段階ではそれぞれ別のものなので中々そういう訳にも行きません。

 日付をこのように表示させる際に作業列を使って空白列を詰めています。
 =IF(COUNT($DQ$2:$HY$2)<COLUMN(A1),"",INDEX($DQ$3:$HY$3,SMALL($DQ$2:$HY$2,COLUMN(A1))))

 作業列番号の段階で日付を参照した番号にならないかと思ったのですが、作業列は順に並んでいないと駄目なんですね…。
 上の計算式は更に別シートを使っていますので、日付並び替えの際にいくつかセルが必要なら増やすことは可能です。

 オートフィルタで出来るのならそれでも良いかと考えています。

 お知恵をお貸し下さい。宜しくお願致します。

 Excel2003、WindowsXP

 
 


 作業列がどうなっているのかよく分かりませんが
 日付は普通シリアル値で入力されていると思うので
 単純に SMALL関数で取り出せば取り出せそうな気はしますが。。。
	[A]	[B]	[C]	[D]	[E]	[F]	[G]	[H]
[1]	品名	12月1日	12月2日	12月8日	12月3日		12月5日	
[2]								
[3]	昇順	12月1日	12月2日	12月3日	12月5日	12月8日		
		↑=IF(COUNT($B$1:$H$1)<COLUMN(A1),"",SMALL($B$1:$H$1,COLUMN(A1)))						

 作業列を使うのは、
 >空白列を詰めています。
 が目的で
  日付が重複して入力されていてそれを排除するため
 と言う訳ではないのですよね? 

 (HANA)

 日付の並び替えは出来ました!HANAさん、ありがとうございます!!

 このときに下の数字(12/1列ならりんごの「5」、バナナの「1」)も日付と同じ列になるようにしたいのですが、
この場合はどうしたらよいでしょうか?

 ちなみに日付の重複の排除は作業列をつけるときの条件の中に組み込んでいます。
 同じ日付を排除し、かつ空白列を詰めて表示させるのが作業列を使っている目的です。

 (まい)


 >ちなみに日付の重複の排除は作業列をつけるときの条件の中に組み込んでいます。
 >同じ日付を排除し、かつ空白列を詰めて表示させるのが作業列を使っている目的です。

 でしたら、再度その様なサンプルデータと
 希望結果図を載せておかれるのが良いと思いますが。

 現状、その部分はどのようにしているのでしょう?
 同じ日付を排除しているなら、単純に
 >下の数字(12/1列ならりんごの「5」、バナナの「1」)も日付と同じ列に
 ではなく、同じ日付の列の数字は合算して表示される必要がありそうですが。

 その辺りが良く分かりませんので、実状に合わないかもしれませんが
 イメージでは、SUMIF関数で良さそうに思います。

 (HANA)


 説明不十分ですみません。
 そもそもこの表は、複数店舗から来た注文から、その日その商品がいくつ必要なのか、というのを出したい表なのです。

 最初に いくつかの計算式を経て〜と言いましたが、これは(日別)シートに出てくる時点で
 ・同じ日付の排除(IF、COUNTIF)
 ・同じ品名の排除(IF)
 ・その日付の同じ品名の合計(SUMIF)
 ・空白列及び行を詰める(IF(最初に例に出した作業列を使った式です))
 以上の作業は全て完了しています。
 例に出した数字が小さすぎて分りずらかったと思いますが、12/1りんご5、バナナ1 などの数はSUMIFで
既に計算し終わった数なのです。実際には10単位、100単位の数が入ることになります。

 ですので今現在

 品名  12/1  12/2  12/3  12/10  12/6  12/4 …
 りんご  5       8        12    7
 ぶどう      2        4  
 バナナ  1    3   9    10        1

 となっているのを

 品名  12/1  12/2  12/3  12/4  12/6  12/10 …
 りんご  5       8    7   12
 ぶどう      2                4
 バナナ  1    3   9    1        10

 としたいのです。

 先日教えて頂いて日付だけは並び替えられました。
 必要なのは12/1のりんごの数、ぶどうの数、バナナの数。12/2の…ですので、
日付の下の数字ごと一緒に並び替えたいのです。

 いい方法はありますでしょうか?ご教授ください。宜しくお願いします。
 上記で上げた計算項目の中で必要なものがあれば言って下さい。式の全文を書きます。

 (まい)

 つまり。。。
 「今現在・・・となっている」表は、既に重複がない状態に成っている
 と言う事ですか?

 それで、「以上の作業は全て完了しています。」の表は一旦作成しておいて
       これが「今現在・・・となっている」表と同じ表の事?
 さらに「・・・としたい」と言う事ですか?

 「今現在・・・となっている」表にする段階で
 「・・・としたい」と言う事ではなく?

 前者の場合
 重複がないなら、HLOOKUP関数で参照(日付を検索値に)しても良いと思いますし
 重複が有っても無くても、SUMIF関数で参照しても良いと思いますが。。。
  タブン、品名の所は = で参照するだけかと思いますので。

 後者の場合は
 >(日別)シートに出てくる時点
 より前の状態が分からないことには何とも言えません。

 どちらがやりたいのか、今一分かっていませんので
 どちらなのか書いておいていただければ
 もう少しはっきりしたことが書けそうに思います。

 (HANA)


 計算式を入れているシートは別にしていますのでどちらでも構いません。ただ、「今現在〜」となるように組んでしまっているので、
その間あいだに日付の並び替えをする式を組み入れるのはちょっと大変です。
 始めから作るのであればもちろん
 >「今現在・・・となっている」表にする段階で
 したいのですが、先にも言いましたように大変ですのでこの場合は前者の方でやってみようと思います。
 ですので日付の重複は既に無いと考えて下さい。

 会社からアクセスしていますのでまた何日か時間が空いてしまいますが…。。

(まい)


 私がやるなら、SUMIF関数を使いますが。。。

 >その間に日付の並び替えをする式を組み入れるのはちょっと大変です。
 の大変さがよく分かっていないと言うか。。。
 「今現在」の数字が入っているところには、既にSUMIF関数が入っているのですよね?

 >=IF(COUNT($DQ$2:$HY$2)<COLUMN(A1),"",INDEX($DQ$3:$HY$3,SMALL($DQ$2:$HY$2,COLUMN(A1))))
 の参照しているセルと、それに関するセルのデータ状況や数式を
 教えて貰ってみたいのですが。 

 (HANA)


 すみません!!

 どうやら私が見当違いをしていたようです。
 出来ました! HANAさん、お手間を取らせて申し訳ありませんでした。有難うございます!!

 (まい)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.