エクセルの関数に関する質問です。

C1には、=TODAY()があり、現時点での日時を表しています。

そして、I2からI30000には、色々な日付
(例)2010-10-05 13:00:00
がランダムに記載されています。

C2からC30000に、ある関数を入れたいです。

I2が、C1以前なら、C2に1、C2に以降なら0
I3が、C1以前なら、C3に1、C3に以降なら0
I4が、C1以前なら、C4に1、C4に以降なら0





どなたか関数を作って頂けますでしょうか?
一番良い回答にはイルカ賞を進呈させて頂きます。
よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/10/06 18:44:39
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:ootatmt No.1

回答回数1307ベストアンサー獲得回数65

ポイント35pt

=IF(I2<=$C$1,1,0)

この数式を C2 に入力し、C30000 までコピーしてください。

id:martytaka

ありがとうございました。

すぐに使用可能な関数でした。

2010/10/06 18:43:50

その他の回答1件)

id:ootatmt No.1

回答回数1307ベストアンサー獲得回数65ここでベストアンサー

ポイント35pt

=IF(I2<=$C$1,1,0)

この数式を C2 に入力し、C30000 までコピーしてください。

id:martytaka

ありがとうございました。

すぐに使用可能な関数でした。

2010/10/06 18:43:50
id:doxas No.2

回答回数13ベストアンサー獲得回数4

ポイント35pt

Excelでは、内部的には、日付をシリアル値という数値のデータで管理しています。

たとえば2010年10月6日であれば、内部的には 40457 というシリアル値と呼ばれる数値なのですね。

ですから、~~以降、や~~以前という処理を行いたい場合には、単純に数値の多い少ないという考え方で処理することが可能です。通常の数値と同じように、不等号などを用いて大小を比較すればいいわけです。

たとえば……

 =IF($C$1>I2,1,0) 

上記のような数式で、C1よりもI2の日付が小さい(つまり~~より前)の場合に1を、そうでない場合に0を表示させることができます。ここでは、単純に不等号を使っていますので「以前」ではなく「より前」になる点に注意してください。

たとえば次のような数式を用いれば、完全に同じだった場合には「 true 」、~~より前だった場合には「 1 」、それ以外の場合には「 0 」を表示することができます。

 =IF($C$1=I2,"true",IF($C$1>I2,1,0)) 

完全に同じだった場合には true ではなく 1 を表示したいなどの場合であれば、次のように不等号とイコールをうまく組み合わせれば、目的の結果を得ることができると思います。

 =IF($C$1>=I2,1,0) 

この数式を30000行分コピーすれば、そのまま使えます。

id:martytaka

ありがとうございました。

今回は早かった方にイルカ賞を進呈させて頂く事にいたします。

2010/10/06 18:44:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません