- ベストアンサー
「期間」の計算方法、こんなことできますか
次のような作業をしています。(Excel2000) A B C 1 1991/4/1 1993/4/1 1996/4/1 2 1989/3/1 1990/5/1 3 1995/4/1 A、B、Cは役職に就いた日、1~4は個人データです。 役職はAからCへとランクアップするもので、ランクダウンはありません。 それぞれの人のそれぞれの役職の在任期間(月数)を算出する作業をしています。 先ほどこちらで教えて頂いて、右側のセルが空欄の場合に計算させると出てくる「#NUM!」を「-」で表示させるように計算させました。見た目はエラーがなくキレイなデータが出来ました。 が。 また新たに質問させてください。 2、3の人は現在それぞれB、Aに留まっているわけで、その人たちには今年4/1付けでの役職の在任期間を算出してやらなくてはなりません。現役職=最後に入力されている列にだけ2002/4/1から計算させる関数を入れるような方法はありますか。 たびたびの質問で申し訳ありません。珍しく複雑な?ことをやらされていて頭の中が拙い知識では追いつきませんでぐちゃぐちゃです(すごく単純な事に気づいていないのかも。先ほどの質問はIF関数を忘れていたくらいですから・・・(トホホ)自信がありません)。 ちなみにマクロやVBAは・・・存在を知っている程度で使っていません(教えていただければTRYするつもりはありますが、データを提出する先もそこまでわかっていないはずなので、出来れば使わずに済ませたいです)。こんな状態でどうにかなる方法はありますでしょうか。 なければ「ない」で地道な手作業が待っています(800人分・・・)。そう教えて下さい。 どなたか、助けてください~ よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! 例えば最大期間が、A-B-C-D-E-F の5期間であれば A B C D E F G H I J K 1 1991/4/1 1993/4/1 1996/4/1 式 2 1989/3/1 1990/5/1 3 1995/4/1 セルG1に =IF(COUNT(A1:B1)=2,DATEDIF(A1,B1,"m"),IF(COUNT(A1:B1)=1,DATEDIF(A1,"2002/4/1","m"),"")) 5期間分なのでK1まで複写 必要行(300人分複写) では如何でしょうか!
その他の回答 (2)
- tatezoo
- ベストアンサー率43% (7/16)
補足になりますが、現在の年度始めの日付は次の関数で表示されます。 =IF(MONTH(NOW())<4,YEAR(NOW())-1,YEAR(NOW()))&"/4/1" これを使えば毎年関数をいじる必要がありません。 なお、年度だけでしたら =IF(MONTH(NOW())<4,YEAR(NOW())-1,YEAR(NOW())) 年だけでしたら、 =MONTH(NOW()) で表示されます。
お礼
今後の作業の参考にさせて頂きます。 回答ありがとうございました!
- oresama
- ベストアンサー率25% (45/179)
Aの在任期間 =IF(ISBLANK(B◆),DATEDIF(B◆,DATE(2002,4,1),"m"),DATEDIF(A◆,B◆,"m")) Bの在任期間 =IF(ISBLANK(C◆),IF(ISBLANK(B◆),"-",DATEDIF(B◆,DATE(2002,4,1),"m")),DATEDIF(B◆,C◆,"m")) Cの在任期間 =IF(ISBLANK(C◆),"-",DATEDIF(C◆,DATE(2002,4,1),"m")) いずれも単位は月、就いていない役職は-と表示されます。いかがでしょう?
お礼
回答ありがとうございます。 うーーーん、ちょっと私の頭がこんがらがっているところにこの式の入力が耐え切れないのか、思う様にいきませんでした。 もう一度冷静になってやってみようと思います。 本当にどうもありがとうございました。
お礼
Aの前に空白列を入れたらばっちり出来ました! ありがとうございました!!!