人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルの関数に関する質問です。
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





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

●質問者: martytaka
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:00 C3 Today イルカ賞 エクセル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ootatmt
●35ポイント ベストアンサー

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

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

◎質問者からの返答

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

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


2 ● doxas
●35ポイント

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行分コピーすれば、そのまま使えます。

◎質問者からの返答

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ