[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『年月と年月日が混在する日付の集計』(みいる)
仕事で、納品予定日を管理することになったのですが、 年月日が確定しているものと、年月まで確定のものとが混在しています。 こんな場合、 △月△日〜×月×日までに該当するもの、といった抜き出しや、 日付順に並べ替えをするのに、良い方法はないでしょうか?
試しに「2008年10月」を「2008/10/0」などと入力してやってみたのですが、 文字列とみなされるようで(?) オートフィルタで『「2008/11/1」より小さい』と いった抽出ができないようです・・・。 データは下記のような項目で、受注順に入力していっているので、納品日は 順番に並んでいません。
2008年11月20日 2008年9月 2008年12月2日 2008年10月 2008年11月15日 2008年9月14日 2008年12月
>△月△日〜×月×日までに該当するもの、といった抜き出しや、
「年月しか決まっていないデータ」は、その月の何日のデータとして扱うお積りですか?
(半平太)
やはり、「何日」と決めないと処理は難しいでしょうか? 仮に「1日」と決めるとすると、本当に確定している「1日」と区別がつかないので、 どうしたものかと思いまして・・・
すみません説明不足でした。どう使いたいのかといいますと、 「何日」が不明なものを含めて、数ヶ月間の抜き出しをしたいのです。
上のデータ例でいうと、9月20日から11月16日まで抜き出したい場合に、 年月日まで入っているもの、プラス、「2008年9月」と「2008年10月」も見られる ようにしたいのですが。 (みいる)
上記の表に、2008年11月 ってのがあった場合はどうしますか。
(川野鮎太郎)
その場合は「2008年11月」も含めて見たいです。(みいる)
確認ですが、上記のような表で2008年8月1日がA3セルにあり、2008年8月がA5セルにあるとします。 どこかのセルに =A3=A5と入力したら何が返ってきますか。
(川野鮎太郎)
‘FALSE’となりました。 ※今は暫定的に、「2008年8月」を「2008/8/?」と入れている状態なんです。 ややこしくて申し訳ございません!
2008/8 とだけ入力すると、2008/8/1 と自動的に表示されてしまい、 この状態ですと TRUEが返ってきます・・・
入力の仕方自体にも、実は迷っているところです。
入力は2008/8だけでやった場合です。作業列を使った場合です。 D1に初めの月日、E1に終わりの月日を入力 [A] [B] [C] [D] [E] [F] [G] [ 1] 納入予定日 9月20日 11月16日 [ 2] 2008年11月20日 2008年11月20日 [ 3] 2008年9月1日 2008年9月1日 [ 4] 2008年12月2日 2008年12月2日 [ 5] 2008年10月1日 2008年10月1日 該当 [ 6] 2008年11月 2008年11月1日 2008年11月30日 該当 [ 7] 2008年10月 2008年10月1日 2008年10月31日 該当 [ 8] 2008年9月14日 2008年9月14日 [ 9] 2008年12月1日 2008年12月1日 [10] 2008年9月 2008年9月1日 2008年9月30日 該当
C2セル=A2として下方にコピー D2セル=IF(CELL("format",A2)="D1","",DATE(YEAR(A2),MONTH(A2)+1,0)) として下方にコピー
G2セル=IF((($C$2:$C$10>=$E$1)*($C$2:$C$10<=$F$1)+($D$2:$D$10<=$F$1))<>0,"該当","")
あとは、G列でオートフィルタを掛ければ該当箇所が抽出できます。 (川野鮎太郎)
ありがとうございます。 やってみたのですが、ものすごく根本的なところでつまずいてしまいました・・・。 お尋ねさせてください。
この場合、[A]列は、「表示形式」によって都度操作しないといけないのでしょうか? というのが、A6セルの「2008年11月」と表示させたいのに、2008/11 と入力すると、 「2008年11月1日」と勝手に「1日」が表示されてしまうのですが・・・。
たびたびすみません。 D列の数式の「format」で、表示形式を読み取っていることになるのでしょうか?(みいる)
A列は一度全て標準にしてから入力すれば良いですよ。 日付の入力は時には思いがけない形式になったりするので 入力は 2008/8/?が良いかもしれませんね。 その場合、C2=IF(RIGHT(A2,1)="?",DATE(LEFT(A2,4),MID(A2,6,FIND("/",A2,6)-6),1),A2) D2=IF(COUNT(A2),"",DATE(LEFT(A2,4),MID(A2,6,FIND("/",A2,6)-6)+1,0)) としてみてください。
>D列の数式の「format」で、表示形式を読み取っていることになるのでしょうか そうです。
(川野鮎太郎)
できました!ありがとうございました!! 表示形式が「?」になっているほうが、見た目がわかりやすいので助かります。
いろんな関数があるんですね〜。日付でチェックしないといけないときなどに 活用できそうですね。 (みいる)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.