• 締切済み

関数の件

関数の件  月及び日付に連動して数値をいれる関数はありますか。  例、4月30日 100 、5月1日 200 、5月2日 100 、5月3日 200  上記の場合奇数、偶数の関数で使用出来ますが、月末3月31日、4月1日  の場合逆になになります、年間等して連動して入力出来るでしょうか、  教えてください。尚、マクロは出来ません、よろしくお願いします。             

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 回答No.2です。 >2セット使用で交互、1日おきに使用し、先行して資料作成するためです。  つまり例えば、4月30日から始まっている場合には、   4月30日 100 、5月1日 200 、5月2日 100 、5月3日 200 となるのに対し、5月1日から始まっている場合には、   5月1日 100 、5月2日 200 、5月3日 100 、5月4日 200 となるという事でしょうか?  もし、そうだとしましても、まだいろいろなパターンが考えられますので、質問者様がどの様な事をやりたいと考えておられるのかがはっきりとしません。  例えば、同じ4月30日から始まっているとしましても、   4月30日 100 、5月1日 200 、5月2日 100 、5月3日 200 という具合に、必ず連続した日付が用いられるのでしょうか?  例えば日曜日が休みで   4月30日(水) 100 、5月1日(木) 200 、5月2日(金) 100 、5月3日(土) 200 、5月4日(日) 無し 、5月5日(月) 100 、5月6日(火) 200 という具合に、途中で、奇数と偶数が入れ替わってしまう様な事は無いのでしょうか?  他にも、土曜日や祝日、振替休日、年末年始、お盆、会社カレンダーによる休日、等々が関係して来る事は無いのでしょうか?  又、例えば最初の日である4月30日がA2セルに入力されていて、その下のA3セルに5月1日、A4セルに5月2日、A5セルに5月3日という具合に、日付が縦に並んで入力されているのでしょうか?  それとも、B1セルに4月30日、その右隣のC1セルに5月1日、D1セルに5月2日、E1セルに5月3日という具合に、日付が横に並んで入力されているのでしょうか?  又、日付けが縦横どちらの方向に並んでいるとしましても、隣り合った日付が必ずしも連続しておらず、何らかの物事が起きた際の日付が入力されているために、4月30日の次に入力されているのが例えば2日後の5月2日で、そのまた次のセルには6日後の5月8日が入力されているという具合に、日付けの間隔には特に決まりは無く、不均等な間隔の日付が並んで入力されていて、その場合でも、   1回目 4月30日 100 、2回目 5月2日 200 、3回目 5月8日 100 という具合に、日付けではなく、何らかの物事が起きた回数毎に、100になる場合と200になる場合が交互に繰り返されるのでしょうか?  それとも、最初の起点となる日付である4月30日を例えばB2セルに入力し、任意の日付(例えば5月2日)をC2セルに入力すると、D2セルに5月2日の場合の値である100を返したいという様な事なのでしょうか?  上記の様に色々なパターンが考えられ、どの様な事をするのかによって、必要な関数も変わって参ります。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 100にする場合と200にする場合の条件に関する説明が不足しております。  日付が1日、3日、5日、7日、・・・の様な奇数日の日付の場合は200、日付が2日、4日、6日、8日、・・・の様な偶数日の日付の場合は100にする様にしたいという事なのでしょうか?  又、仮にExcelの話だとしますと、質問者様が仰る「日付」とは、どこかのセルに入力されている日付の事なのか、それとも、Excelを開いて作業を行っている時の「今日の日付」の事なのかという事も不明です。  仮に、Excelの話で、A1セルに入力されている日付が、1日、3日、5日、7日、・・・の様な奇数日の日付の場合はB1セルに200を表示し、日付が2日、4日、6日、8日、・・・の様な偶数日の日付の場合はB1セルに100にを表示する様にするものとしますと、B1セルには次の様な関数を入力されると良いと思います。 =IF(ISNUMBER(1/DAY(A1)),IF(ISODD(DAY(A1)),200,100),"") 或いは =IF(ISNUMBER(1/DAY(A1)),IF(ISEVEN(DAY(A1)),100,200),"") 或いは =IF(ISNUMBER(1/DAY(A1)),IF(MOD(DAY(A1),2),200,100),"")

372rs4543
質問者

お礼

遅くなりまして大変し訳けありません。    説明不足で申し訳ありません、  2セット使用で交互、1日おきに使用し、先行して資料作成するためです。  大変詳しく解説して頂き感謝致します、  有難うございました。        

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

EXCELの関数ですか? 年月日が入力してあり、表示形式で月日になってるものとして。 実は年月日は、特定の日からの通算日数です。(シリアル値と呼ぶそうです) 表示形式を「G/標準」にしてみてください。 ここ最近であれば40000を越えた数字が見えるはず。 > 年間等して連動して入力出来るでしょうか、 なら、1月1日を基準として、対象日のシリアル値から減算して、 その値が偶数か奇数か、を判断すれば良いと思います。 かなり適当な例ですが、セルA1に2014/01/01があり セルA3に日付がありセルB3に100/200を出したいなら 式[=if(mod((A3 - $A$1), 2) = 0, 100, 200)] ← 100と200が逆かも? これで、セルA3を下側へドラッグし連続日付を作成。 次にセルB3を囲む枠線の右下■をダブルクリック

372rs4543
質問者

お礼

 お礼   早々に回答を頂き有難うございました。    シリアル番号を気が付きませんでした。  これで年間を通じて資料出来ます、  大変助かりました、お礼申し上げます。

関連するQ&A

専門家に質問してみよう