2000年11月1日から2002年3月31日までの
勤務年数と月数を、エクセル2000で計算しようとしています。
DATEDIFを使って、計算をしてみたのですが
1年未満の月数が「4ヶ月」と計算結果がでてしまいます。
これを「5ヶ月」と表示されるように計算式を作りたいのです。
単純に、終了期間を2002年4月1日にしたり、+1と入力すれば
欲しい計算結果を得られるのですが、このほかの方法がないか知りたいのです。
どなたかいい計算式を教えていただけないでしょうか?

A 回答 (4件)

=DATEDIF(D2,E2+1,"ym")


D2=入社月日、E2=退職月日です
このような式で「一ヶ月以上、1年未満」を求めたら良いのでしょうか?>
 それでいいですよ。
当然、満年数を求める場合も
=DATEDIF(D2,E2+1,"Y")
 としなければなりません。
    • good
    • 0
この回答へのお礼

shoyosiさんありがとうございます。
これで、安心して勤務期間が
計算できるようになりました。
これからも、よろしくお願いします。

お礼日時:2002/03/06 12:56

 元の質問を見ますと4月1日に入社して6月30日退社の場合、何ヶ月在籍したかの問題で、単に6から4を引いて1をたす問題ではありません(6月29日のとき、3となる。

正答は2)。この場合、退社日の翌日を計算し(退社日+1でもとめる)、その日と入社日のDATEDIF関数で月を求めるしかないと思います。日にちを計算する算数の植木算の要領です。

この回答への補足

shoyosiさんありがとうございます。
=DATEDIF(D2,E2+1,"ym")

D2=入社月日、E2=退職月日です
このような式で「一ヶ月以上、1年未満」を求めたら良いのでしょうか?

植木算って、小学生低学年の計算だったのですね。
算数でこけている私って・・・(T-T)

補足日時:2002/03/05 12:51
    • good
    • 0

>1を足して解決したほうがシンプルで良いのでしょうか?



実験してみました。
=DATEDIF("2002/2/15","2002/3/16","d") の結果は29
=DATEDIF("2002/2/15","2002/3/16","m") の結果は1
今年の2月は28日まででした。
それを考慮の上期間が29日で、月数を1と表示しており、結構賢い関数です。
これを自作するのは、難しいと思います。
rikukaさんの場合、この結果を2としたいわけですよね?
であれば、1を足す方法がベストだと思います。

この回答への補足

sghさんありがとうございます。
閏年の条件もあったわけですね。
やはり、賢い方々が頭を絞って作った関数は、賢いですねぇ。
sghさんが作られた例題ですと、私が出したい結果と同じです。
「1ヶ月」で正しいです。
ということは、「YM」を使っていた事が間違いで
「M]を使えばいいのかもしれません。
ただ、そうなると勤務期間全部が「月数変換」されてしまいますね。
隣のセルに算出させている「Y]の年数×12を
引いてやればいいのかもしれません。

補足日時:2002/03/02 19:42
    • good
    • 0
この回答へのお礼

sghさん、お世話になりました。
またこれからもよろしくお願いします。

お礼日時:2002/03/06 12:58

たぶん以下のような式で求められていると思いますが、DATEDIF関数の仕様上


一ヶ月を満たない日数は"m"を使った場合"0"となります。
逆になってくれないと困ります。

ですから、勤務年数が1日でも1ヶ月としたいのであれば、素直に1を足すのが正解だと思います。

式:=DATEDIF(E6,F6,"y") & "年" & MOD(DATEDIF(E6,F6,"m"),12) + 1 & "か月"

この回答への補足

sghさん、お返事ありがとうございます。
DATEDIF関数の仕様上「指定期間の間の日数」を返すようなので、
どうしたらよいか困っていました。
会社の給与の規定で、1年未満の勤務月数が半年以上の場合、
1年繰り上げるという要件があり、
満年数(Y)を出す式と、1年未満の月数を出す(YM)式は
それぞれ別なセルに出していました。
しかし、就職年月日や退職年月日が月の途中の場合もあり、
自分の作った計算式が、計算要件を満たしているのか心配でした。
やはり、1を足して解決したほうがシンプルで良いのでしょうか?

補足日時:2002/03/01 18:33
    • good
    • 0

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

このQ&Aと関連する良く見られている質問

QEXCELに関する質問です。 例えば【D列】のセルに「●年▲ヶ月」,「●年」,「▲ヶ月」という勤続年

EXCELに関する質問です。
例えば【D列】のセルに「●年▲ヶ月」,「●年」,「▲ヶ月」という勤続年月データが入力されているとします。この列の平均年・ヶ月を求める事は可能でしょうか?宜しくお願い致します。

Aベストアンサー

それは数字で入ったデータではなく、文字で入ったデータということでよろしいでしょうか?
であるならば、該当する●(年)と▲(ヶ月)を抽出し、年もしくは月に単位を合わせて合計(1年3ヶ月なら1+3/12=1.25年or12*1+3=15ヶ月)を表示する列を作り、その列の平均を求め、結果を年と月に分ける必要があります。

具体的には、Eに年、Fに月、Gに合計(月単位)を表示するとして、
E1=IF(ISERROR(FIND("年",D1))=TRUE(),0,LEFT(D1,FIND("年",D1)-1
F1=IF(ISERROR(FIND("ヶ月",D1))=TRUE(),0,IF(ISERROR(FIND("年",D1))=TRUE(),LEFT(D1,LEN(D1)-2),LEFT(RIGHT(D1,LEN(D1)-FIND("年",D1)),LEN(D1)-FIND("年",D1)-2)))
G1=E1*12+F1

平均はAVERAGEで求められるので、それをH1に表示させるとして、
H1=AVERAGE(G:G)
これをI1に年、J1に月、と分けるので
I1=INT(H1/12)
J1=MOD(H1,12)
この場合平均の年は整数ですが、月は小数になる可能性が高いです。
1つのセル(K1とします)に「平均○年△ヶ月」とまとめて表示させたいなら、
K1="平均"&I1&"年"&J1&"ヶ月"
としたいところですが、小数でもそのままX.XXXXXXXXXヶ月といった感じの表示になってしまうので、
K1="平均"&I1&"年"&ROUND(J1,□)&"ヶ月"
としましょう。丸めたい桁数に合わせて□に数字を入れてください。
(1とすればX.Xヶ月。2とすればX.XXヶ月。といった風になります。小数の場合で、一番下の桁が0となる場合は、0以外の数字の桁までしか表示されません)
この場合四捨五入ですが、繰上げで表示したい場合はROUNDUP、切捨てで表示したい場合はROUNDDOWN、にそれぞれ変更してください。()の中は同じです。

今回は段階別に多数のセルに分けましたが、
中身が理解できるのであれば、H1~K1の内容は1つのセルに詰め込むことができます。
同様にE~G列も1列で表示させることはできます。
ただ、G列の表示を省略してH1の結果を出すには配列計算が必要になるのでお勧めしません。
可能であるなら、最低1列作業列を作り、その行のD列にあるデータが何ヶ月(もしくは何年)を表しているのかをきちんと表示させるようにしましょう。
段階を踏んでセルを分けることにより、途中計算がきちんと表示され、ミスがあった場合も分かりやすく、なおかつ修正し易いです。
普段使う時に邪魔であれば、非表示にすることも可能ですので、無理に1つのセルに詰め込まないようにしましょう。

それは数字で入ったデータではなく、文字で入ったデータということでよろしいでしょうか?
であるならば、該当する●(年)と▲(ヶ月)を抽出し、年もしくは月に単位を合わせて合計(1年3ヶ月なら1+3/12=1.25年or12*1+3=15ヶ月)を表示する列を作り、その列の平均を求め、結果を年と月に分ける必要があります。

具体的には、Eに年、Fに月、Gに合計(月単位)を表示するとして、
E1=IF(ISERROR(FIND("年",D1))=TRUE(),0,LEFT(D1,FIND("年",D1)-1
F1=IF(ISERROR(FIND("ヶ月",D1))=TRUE(),0,IF(ISERROR(FIND("年",D1))=T...続きを読む

QエクセルDATEDIFで「○歳○○ヶ月」は?

エクセルで誕生日・入社経過年数表を作りたいのです。現在何歳・入社して何年などは下記の関数でよいと思うのですが,
=DATEDIF(N5,TODAY(),"Y") DATEDIF(N5,TODAY(),"M")
「○歳○○ヶ月」「○年○○ヶ月」といったふうに,経過年数と月数が同時に表示することはできないのでしょうか。

Aベストアンサー

再登場
 あっ本当だ~(汗)日付に変換するとだめですね!では
 =DATEDIF(A1,B1,"y")&"年"&DATEDIF(A1,B1,"ym")&"ヶ月"&DATEDIF(A1,B1,"md")&"日"
 として下さい。
 
EX
 関数の名前がわかっている場合は質問検索で調べると沢山表示されます。
 また
 エクセルの技のページも紹介します。

参考になれば幸いです

参考URL:http://www2.odn.ne.jp/excel/waza/

Q質問:Excel 2000 アップデート: 2002年6月19日 のインストールを試みた人へ

質問:Excel 2000 アップデート: 2002年6月19日 のインストールができません。
Office Update のサイトでインストールしようとするのですが、
ダウンロードが一瞬で終了(?)してしまい、失敗します。
アンチウィルスソフトは停止しています。

Win XP home、 Office2000、 ADSL接続です。

このアップデートを試みた方、
「成功した」or「失敗した」だけでも良いので、情報下さい。

Aベストアンサー

何の問題もなくインストールに成功していますが・・・。

もし、『Office Update』の『製品のアップデート』でのインストールに失敗しているのでしたら、

『ダウンロードセンター』の『Excel 2000 アップデート: 2002年6月19日』(下記参考URL)からインストールプログラム"exc0901.exe"をダウンロードしてみてはいかがでしょうか?

参考URL:http://office.microsoft.com/japan/downloads/2000/exc0901.aspx

Qエクセル 平成22年2月1日~平成22年2月2日 と記載したい

書類に出張期間を記載しようとしています。
セルの都合上、ひとつのセルに表題のような表記をしなければなりません。

たとえば、以下のとおりです。

出張往路 2010/02/01
出張帰路 2010/02/02

上記、二つの日付セルからセルひとつで以下の表記をしたいです。

出張期間 2010/02/01 ~ 2010/02/02

このように表記させようと考え、次の式を考えました。
=B1&" ~ "&B2
このようにすると、 40210 ~ 40211
となってしまい、日付の表記ができません。
どのような式を入力すればよいのか教えてください。
セルの属性は日付型になっています。

よろしくお願いします。

Aベストアンサー

> 出力を和暦の記載

=TEXT(B1,"ggge年m月d日~")&TEXT(B2,"ggge年m月d日")

でOKです。

Q例えば、8月1日~8月31日の“~”中にある日(8月15日など)を抽出したいです!

エクセル2003を使っています。

一つのセルに、『8月1日~8月31日』などと入力しています。
オートフィルターを設定しておいて、オプションの中で、例えば“8月15日/を含む”にした場合に、
先程の『8月1日~8月31日』の行が表示されるようにしたいです。
オートフィルターでできますか?オートフィルターでできないなら、どのようにすればできるでしょうか?

どうぞよろしくお願いします。

Aベストアンサー

#3です。

>切り出した後に、B2からC2間に含まれる日付を検索できるやり方はありますか?
>もちろんオートフィルターは使えないと思いますが・・・。

前の回答に書いていますが(#2さんも書いていらっしゃいますが)、開始日と終了日の隣のセルに求める日付が含まれているかどうかを判別する式を立てて、その列でオートフィルタをかける方法ではいけませんか。

#3で書いたことをもう少し詳しく書くと、
1)ワークシート上(例えばD1)に基準となる日付の入力欄を作る。
2)D2に=IF(AND(B2<=D$1,C2>=D$1),"○","")と入力して、以下適当な範囲まで(例えばD30まで)コピー。

以上で、D1に入力した日付に応じて、それが開始日と終了日の間に含まれる場合に○印が入るようになります。あとは、

3)D1:D30を範囲選択して、データ→フィルタ→オートフィルタ。

とすると、もしD2:D30の範囲に○印があれば、ドロップダウンリストの中に「○」と出てきますので、それを選択すると○印がある列だけが抽出されると思います。

もしおっしゃっていることを取り違えているようでしたら申し訳ありません。

#3です。

>切り出した後に、B2からC2間に含まれる日付を検索できるやり方はありますか?
>もちろんオートフィルターは使えないと思いますが・・・。

前の回答に書いていますが(#2さんも書いていらっしゃいますが)、開始日と終了日の隣のセルに求める日付が含まれているかどうかを判別する式を立てて、その列でオートフィルタをかける方法ではいけませんか。

#3で書いたことをもう少し詳しく書くと、
1)ワークシート上(例えばD1)に基準となる日付の入力欄を作る。
2)D2に=IF(AND(B2<=D$1...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報