• 締切済み

エクセル 関数について

エクセルで A1にTODAYで今日の日付が入ってます(2009/5/21) B1~B10に任意の西暦を入力します 2009/05/19など C1~C10に今日2009/5/21より過去だったら”1”を 未来だったら”2”を返すような関数はありますか?

みんなの回答

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

エクセルのセルの日付は、セルの値が、日付シリアル値という、1900年1月1日からの実経過日数の正整数で入ることを理解していれば、こんな質問は起こらないでしょう。 関数で使うセル番地の示す実態は、セルの見た目ではなく、セルの値なのです。 この日付シリアル値の考えだと過去はその正整数値が、当然今日より小さいし、未来だったら大であるわけです。ですから正整数の大小比較の問題をIF関数で取り上げるだけです。これならここに質問しなくても済むのでは。私はこの点回答を繰り返してます。 しかし既出の回答者さえも、日付シリアル値の考えを説明して無いのが不思議です。 書式の設定で表示形式を「数値」の設定すると 39952 <-2009/5/19 39955 <--Now() 39958 <-2009/5/25 となり、質問の答えは =IF(A1<TODAY(),1,2) が式です。 今日はどちらに入れるかは決めてください。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんにちは。 #1の方の数式をお借りました。  =2-($A$1>B1)*1 比較式は、ひとつでよいはずです。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.5

回答番号 No.3です 失礼しました。 >同じ日は、1です。は 間違いでした 正しくは 同じ日は、2です。 

回答No.4

基本的なIF分の論理関数で出来ると思います C1=IF(B1="","",IF(B1<$A$1,1,2)) を入力、C10セルまで数式をコピーしますが、この式はB1の値が未入力の場合C1セルは空白にするという関数です

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.3

回答でてました。 =IF(B1<$A$1,1,2) 下方にオートフィル 同じ日は、1です。

  • FEX2053
  • ベストアンサー率37% (7987/21353)
回答No.2

式は#1さんのよりもややこしくなりますが、 =IF($A$1<B1,1,IF($A$1>B1,2,0)) #1さんと異なり、「今日」ならば「0」を返しています。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 現在は未来に含みました。 C1に=($A$1>B1)*1+($A$1<=B1)*2として下方向にコピー

関連するQ&A

  • エクセル関数を教えて下さい。

    エクセルの数式を教えて下さい。三角関数を全く忘れていますのでよろしくお願 いします。 図形とエクセルの表を画像でアップしました。  Aは角度  B/C/Dは長さ   一行目   セルA1に 任意の角度を入力 B1に 任意の長さを入力するとC1には C の長さの値が出るエクセル関数 D1には Dの長さの値が出るエクセル関数  2行目も同じ様に  A2に 角度  C2に長さを 任意に入力すると  B2とD2に 長さが出てくる エクセル関数   3行目も同じ様に  A3に角度 D3に長さを 任意入力すると  B3とC3に 長さが出てくるエクセル関数  4行目  B4とC4に 長さを任意入力すると  A4に角度 D4に長さが出てくる エクセル関数 

  • excelのtoday関数について

    excelの関数について 今日の日付+1、今日の日付+2、今日の日付+3を 自動で入力したいのですが 例えば Today()+1 Today()+2 Today()+3 と入力した後、コピーしますが、 Today()+1 Today()+2 Today()+3 Today()+1 Today()+2 Today()+3 と、+4以降は反映されません。 何か良い方法ないでしょうか。

  • エクセルで、あと何日あるかを表示させる関数

    いつもお世話になります。 例えば、 Aのセルに『2006/1/12』という今日の日付データを入力します。 同じくBのセルに『2006/3/27』という未来の日付データを入力します。 Bの日付の「未来」まで、あと何日あるのか?という日にちをCのセルに表示させるには、 どのような関数を入力すれば良いのでしょうか? お詳しい方、何卒ご教授くださいませ。

  • 【関数】B列の日付がA1より5日前なら文字色変更

    エクセルの関数について教えてください。 条件付き書式でもよいです。 A1に「=today()」で日付を表示させています。 B列は、手入力で任意の日付を入力しています。 C列には人数を入力しています。 何日(B列)は何人(C列)という表です。 たとえば、 B2の日付が、A1の日付より5日前なら、 B2、C2の文字色を赤色にする ということはできますか?

  • excelの関数かマクロで連番、日付を付けたい

    こんばんわ、EXCELマクロ入門者です。 excelの関数かマクロ、VBAで日付や、連番を付けたいです。 できれば関数でできたらなぁと思います。マクロ、VBAはほとんど初めてです。 (1)まず、B2に商品名を入れます。 (2)すると、A2に連番、C2に今日の日付(システム日付)、 D2に商品名と今日の日付、商品ごとの連番が自動的に振っていく感じにしたいです。毎日たくさん入力するらしいのでマクロとかVBAとか関数で作ってくれと頼まれました。 A列は例えばA3に=if(B3="","",A2+1)を入れて何とかできたのですが、 C列の日付(today関数やnow関数ではファイルを開き直すと日付が変わってしまう)とD列の商品名-日付-商品ごとの連番で特に困っています。 イメージとしては下のような感じです。   A   B    C     D 1 連番 商品名 日付    商品名-日付-商品ごとの連番 2 1   ○○○ 2007/8/10  ○○○-2007/8/10-1 3 2   ××× 2007/8/12  ×××-2007/8/12-1 4 3   △△△ 2007/8/13  △△△-2007/8/13-1 5 4   ○○○ 2007/8/15  ○○○-2007/8/15-2 6 5   ○○○ 2007/8/16  ○○○-2007/8/16-3 どなたか、ご教授ください。 どうぞ、宜しくお願い致します。

  • エクセルの日付関数について教えてください。

    エクセルの日付関数について教えてください。 A列には日付が入力されています。 B列には金額が入力されています。 C列にも日付が入力されています。 A1に入力された日付(例:2010/4/30)とC1に入力された日付(例:2010/4/30)が同じ日付のときだけ、B列の金額を抽出しD10に合算させたいと考えています。 ***【サンプル】*****************************    A   B   C   D 1 4/30  100  4/30 2 4/30  200  4/30 3 5/1   100   4 5/2   200  5/2 5 5/2   100  5/2 6 7 8 9 10            同じ日付(1)の合計 11            同じ日付(2)の合計 ******************************************* 上記の場合のD10やD11の関数は、どのような関数に すべきでしょうか? どなたかご教授をお願い致します。 【環境】 WindowsXP Pro Excel 2003

  • エクセルの関数でどうしても解らないことがあります。

    エクセルの関数でどうしても解らないことがあります。 例えば   A   B   C  D  E 1 2 3 4 5 このセルでA列に文字を入力した時、E列にその入力した日を表示させる関数で困っています。今は=+IF(A1="","",TODAY())をE1に入力しているのですが、翌日になると1日プラスされた日付に変更されています。 ツールの計算方法を自動にしているのですが、同じシート内に他の計算式を入力しているので手動に変更できません。翌日になっても日付が変更されない方法は無いでしょうか?詳しい方宜しく願います。

  • エクセル関数を教えて

    セルa1にtoday関数が入っていてb1、c1にa1の日付の半年後、1年半後の日付を自動表示したいのですがどういう式を入れればよいですか

  • エクセルのTODAY関数について

    今日の日付をエクセル文書に入れる場合、 TODAY関数を用いてTODAY()と入力しますが、 明日の日付を入れたい場合どうすればいいでしょうか? 毎日、翌日のスケジュールを表にして作成している為、 日付を翌日にしたいのですが、どうか教えてください。

  • エクセルの関数で。

    エクセルで例えば 例えば セル A1        B1      C1       D1    E1        F1 状態      購入日    有効期限   超過   回収日     ステータス 発送      2013/01/28 2014/02/01  3日   2014/02/03   完了 上記のような項目が入っているエクセルブックがあり、 (1)D1にはB1の日付を入力するとC1に自動的に1年後の日付が入るように関数を設定 (2)またC1がTODAYを過ぎた場合、D1に何日超過しているかわかるように関数を入れています。 知りたいのはE1に日付が入った場合D1は自動的に日付が消えるようにする、そういった設定が出来るものでしょうか?手で消せばいいというのはごもっともなご意見ですが、数が多いと消しこみ忘れを防ぎたいので、可能ならそういった設定をしたいのです。 また、F1にステータスが完了という文字が入った場合、その行をグレーアウトさせる書式設定の方法もご存知であれば是非教えていただけないでしょうか。宜しくお願いします。

専門家に質問してみよう