• ベストアンサー

Excelで日数を月数に変換

例えば、B12セルに0~∞の数値があったとします。 これを30日未満なら「0」(0ヵ月)、30日以上60日未満なら「1」60日以上90日未満なら「2」…と1年以内までこの法則を繰り返す、そういった関数はIFの繰り返し以外で方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

大の月、小の月は無視して30日基準で計算するんですね? それなら =IF(B12>365,"",ROUNDDOWN(B12/30,0)) ではいかがでしょう?

Youyou
質問者

お礼

ありがとうございます。 これが一番シンプルでよかったと思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

3つぐらい方法があります。 (1)IF関数 (2)計算 (3)VLOOKUP関数TRUE型 (3)(1)(2)の順に手数はかかりますが、区画設定や変更の自由度は上がります。 (3)の解き方を上げます。 (表作成)どこでも良いがD1:E5にします。 120日までに取りあえず省略します。 0 0 1 0 30 1 60 2 90 3 120 (関数式) B1に=VLOOKUP(A1,$D$1:$E$6,2,TRUE)といれ、下方向に式を複写します。 =IF(A1="","",VLOOKUP(A1,$D$1:$E$6,2,TRUE) の方が良いかもしれません。

Youyou
質問者

お礼

ありがとうございます。 やはり単純にIF関数が良いようですね。

全文を見る
すると、全ての回答が全文表示されます。
  • edomin
  • ベストアンサー率32% (327/1003)
回答No.1

ちょっと、端数が出るのですが・・・ 「=if(b12<=365,int(b12/30),b12)」 で、30で割った商が求められます。 直接の関数はないと思います。

Youyou
質問者

お礼

ありがとうございます。 難しく考えすぎていました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのセルに「1以上2未満」という条件を入れたい

    エクセルの関数でC1のセルに =IF(A1=B1,1,0) という関数を作ります。 A1のセルには0~100までの任意の数値が入ります。 B1のセルに「1以上2未満」という条件を入れたいのですが、 どのようにすれば良いでしょうか? エクセルの関数に「1以上2未満」と入れ込むのではなく、あくまでも B1のセルに「1以上2未満」という条件を入れたいのです。 よろしくお願いします。

  • エクセル関数を用いて判定したいのですが・・・

    エクセル関数初心者です。 IF関数を用いて数値を判定したいのですが、 男性と女性で判定基準が異なります。 セルAが"男性"なら、セルBが2以上の場合で"●" セルAが"女性"なら、セルBが4以上の場合で"●"、 それ以外は"▲" このような条件で判定分けできる方法はありますか? さらに、 セルAが"男性の場合、Bが2~4なら"●"、4より大きい場合は"▲"、2未満なら"×" セルAが"女性の場合、Bが3~5なら"●"、5より大きい場合は"▲"、3未満なら"×" 何かやり方があれば、教えてください。 よろしくお願いします。

  • エクセルでの年数、月数、日数の差引

    エクセルの日数等の計算についてです。 A1セルに「H20.10.15」の日付データ、 B1セルに「H1.4.1」の日付データを入力します。 C1セルにて、「=DATEDIF(B1,A1,"Y")&"年"&DATEDIF(B1,A1,"YM") &"ヶ月"&DATEDIF(B1,A1,"MD")&"日"」を入力し、A1とB1の間の期間 「19年6ヶ月14日」を得ました。 C1で得たこの「19年6ヶ月14日」にさらに期間を足したいのです。 例えば、A2セルに「1」、B2セルに「7」、C2セルに「19」を入力し、 「19年6ヶ月14日」に「1年7ヶ月19日」を足した期間値である 「22年2ヶ月3日」をD2セルに表示させる方法はありますか。 繰り上がり(13ヶ月→1年1ヶ月など)の処理をうまくやる方法が あればいいのですが。 どなたかよろしくお願いします。

  • エクセル 売掛遅延月数 2

    おせわになります。先日ここで質問し、解決していただいた内容に 重ねて新たな質問をさせてください。 エクセルで売掛金回収遅延管理をしております。 売上計上日(月末)から翌月末日が回収期限で、 それ以降は遅延扱いとしています。 現在(2007/04/30)までの遅延月数を、 レベルに分け、金額を表示するには 例えば↓ 現在2007/04/30で A(売上計上日)、B(金額)、C(遅延12ヶ月超)、D(遅延12ヶ月未満) 1、2005/10/31 、100000、  100000    、 2、2006/12/31 、80000、          、  80000 というデータがあり、上記の表だとC1には100000が、D2には80000が 表示されるように関数を組むには C2セルに  =IF(TODAY()>EOMONTH(A2,12),B2,"") D2セルに  =IF(AND(TODAY()<=EOMONTH(A2,12),TODAY()>EOMONTH(A2,1)),B2,"") をそれぞれ入力して下方向にコピーします と、これでうまくいって入るんですが、 C2セルに  =IF(TODAY()>EOMONTH(A2,12),B2,"") と入れて、下方向にコピーて A列に空白セルがあった場合で、 Bに何かしら数値(合計値など)が入っている場合 もC列にデータが入ってしまいます。 といっても、行数が多いので、下方向コピーは手放せないです。 空白セルは読まずに、C列には何も表示されないようにするには どのようにしたらよろしいでしょうか? どなたか教えてください。宜しくお願いいたします。

  • エクセルで困ってます。

    今、データ処理をしているのですが、関数がわかりません。よろしくお願いします。 ++++++++++++++++++++++++++++ セルD2(D2:D583)の数値を 0         a 0以上5未満    b 5以上10未満   c 10以上20未満  d 20以上30未満  e    ・    ・    ・ 90以上100未満 f 100       g 言う感じに分類したいので、 IF(D2=0,"a",IF(D2<5,"b",IF(D2<10,"c",IF(D2<20,"d",IF(D2<30,"e",IF(D2<40,"f",IF(D2<50,"g",IF(D2<60,"h")))))))) という関数を書きました。hまではうまくいったのですが、h以降つまり「60以上70未満をiと表示する」 というところを書くと「入力した式にはエラーがあります」とでてきてしまいます。なぜでしょう? 若しくはもっと良い関数があれば教えてください。 よろしくお願いします。

  • ふたつのセルに年月日を入力するとその間の月数・日数を表示

    Excelです。 例えば、A1セルに2003年10月1日と入力し、A2セルに2004年11月10日と入力したとします。 このとき、A3セルにこの間の日数を表示させるにはどのような関数を使って計算式を入れればよいでしょうか? さらにこのA3セルを参照し、月数を計算させ、A4セルに(1~∞)表示させるにはどうすればよいでしょうか?ただし、このとき30日未満は何らかのメッセージを表示させて月数は表示させないようにしたいです(これはIF関数を使うのでしょうか?)

  • エクセル2000の計算式について

    エクセル2000の計算式について A1に入力する値が、5000未満の時→B1セルに、0 が A1に入力する値が、5000以上10000未満の時→B1セルに、500 が A1に入力する値が、10000以上15000未満の時→B1セルに、1000 が A1に入力する値が、15000以上20000未満の時→B1セルに、1500 が A1に入力する値が、20000以上25000未満の時→B1セルに、2000 が 表記されるような、B1セルの「計算式」を教えていただけませんか? 「IF関数」を組み合わせる事で解決するのでしょうか? 関数の組み合わせ方法が、解りません…

  • IFとVLOOKUP関数を組み合わせて

    IFとVLOOKUP関数を組み合わせて条件に一致させた数値を出したいのですが引数の記述がわかりません具体的にはセルB5の値が2以上10未満の時は4,100を10以上15未満の時は6,500を15以上25未満の時は11,300を25以上35未満の時は16,100を35以上45未満の時は20,900をセルD5に標示させたい時はどんな記述をすればよろしいでしょうか?IF関数VLOOKUP関数を用いて別のセルにこの参照をさせる表(セルA7に2,B7に4,100 A8に10,B8に6,500 A9に15,B9に11,300…)を作成するすればできると思うのですが…

  • エクセル関数、複数条件で答えをだしたいのですが、

    セルA、B、C、D、にそれぞれ数値が入っています。 セルEに下記条件の答えをだしたいのですが IF関数もしくは他の方法で実現できるのでしょうか? Aが空白セルの場合、Eも空白、 B500以上、C50以上で”◎”、 B500以上、C50未満の場合”取寄せ” B200以上、C50以上で”○” B200以上、C50未満で”取寄せ” B1以上、C50以上で”△” B1以上、C50未満、D0で”残少” B0の場合は”要確認” どなたか、お知恵をお借りできれば幸いです。

  • EXCELで、このようなことは出来るのでしょうか?

    是非教えてください。 0年0ヶ月~3年未満  = 0 3年0ヶ月以上~6年未満  = 50 9年0ヶ月以上~12年未満  = 70 12年0ヶ月以上~15年未満  = 80 15年0ヶ月以上~20年未満  = 90 20年以上         = 100 上記の条件にてセルに数値を反映したいのです。 例えば 4年5ヶ月とセルに入っていた場合 答えを求めるセルに50と入るようにしたいのです。 宜しくお願いいたします。

専門家に質問してみよう