Excelで日付が期間内に収まるか判定する条件付き書式を書いています。
エクセル技道場もヘルプも見たのですがうまくいきません。
ご存知でしたら、教えて下さい。

やりたいことは次のとおりです。

 A      B(開始)  C(終了)  D(対象日) E(判定)
 2001年7月  7/1     7/15 7/2 赤
  ↑       ↑     ↑ ↑
(2001/07/01)(2001/07/1) (2001/07/15) (A+1)

7/16     色なし

 Eを、Dの日付が開始と終了日の間にあれば「赤」に、なければ色なしで
 表示したいのです。

DATEDIFとDATEVALUEを組合せて条件式を作っているのですが、赤になり
ません。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

なんだかわざわざ難しくしちゃってる感じ。


D1セルの日付がB1とC1の間にあるときにTRUEになる数式は、
=AND(B1<=D1,D1<=C1)
ですみますよね。
あとはTRUEとFALSEで色変えをする条件付書式を設定するだけ。
    • good
    • 2
この回答へのお礼

そうですね。単純に考えるとうまくいきました。
ありがとうございました。

お礼日時:2001/07/23 10:32

こんにちは!



E2に設定する例です。
1.E2を選択 → 書式 → 条件付き書式
2.数式が → 数式欄に以下の数式を入力

 =AND(D2>=B2,D2<=C2,COUNT(B2:D2)=3)

 書式ボタン → パターン 「赤」を選択 OK

3.E列の必要行までフィルドラッグ

これでOKだと思います。
    • good
    • 0
この回答へのお礼

そういう考え方もできるのですか...
ありがとうございました。

お礼日時:2001/07/23 10:30

まずEに


=IF(AND(B3<=D3,D3<=C3),0,1)
をいれて
条件付き書式で”セルの値が次の値に等しい時 0 → 文字:赤 パターン:赤
条件付き書式で”セルの値が次の値に等しくない時 0 → 文字:白 パターン:塗りなし
これだけでよいのでは?
VBでやるのでしたらこちらを参考に

Dim b_Day, e_Day, set_D As Date

b_Day = Range("b3").Value
e_Day = Range("c3").Value
set_D = Range("d3").Value
If b_Day <= set_D Then
If set_D <= e_Day Then
Range("e3").Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Else
Range("e3").Select
Selection.Interior.ColorIndex = xlNone
End If
Else
Range("e3").Select
Selection.Interior.ColorIndex = xlNone
End If
    • good
    • 0
この回答へのお礼

VBは使ったことがないのですが、これかた勉強しようと思っているところです。
またなにかありましたら、お願いします。

お礼日時:2001/07/23 10:31

i-haradaです。



専門じゃないので、よくわかりませんが下記のようじゃ駄目ですか?

=IF(AND(D2>B2,D2<C2),1,0)

このセルに条件付書式を付ける。
    • good
    • 0
この回答へのお礼

単純にすればそういうことですね...
ありがとうございました。

お礼日時:2001/07/23 10:33

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qaccess2003 クロス集計クエリに抽出条件を設定する

QNo.3495024にて、「取引先ごとの月次売上(部品別および合計)」をフォーム形式で表示する方法を質問した者です。
1)クロス集計クエリの抽出条件としてこのコンボを設定
2)フォームに置いたボタンでクロス集計クエリまたはそれをソースにした別フォームを開く
という方法を教えていただきました。

昨夜から自分なりに調べましたが、1)のクロス集計クエリに抽出条件を設定する方法がわかりません。 昨日の今日で再質問も気が引けますが、時間がないので質問させてください! ご存知の方、よろしくお願いいたします。

Aベストアンサー

>クロス集計クエリに抽出条件を設定する方法がわかりません。
クロス集計クエリでもデザインビューは同じですよ
異なるのはクロス集計クエリではパラメータのデータ型指定を省略できないという点だけです

[クエリ][パラメータ]でパラメータ名とデータ型を指定してください

QExcelで1-7-8と入力すると、2001/7/8 となってしまう

Excel新規作成で半角1-7-8と入力したいのに、2001/7/8 となってしまうのですが、どうしたらよろしいでしょうか。
アドバイスよろしくお願いします。

 

Aベストアンサー

No.1の回答者です(^_^)

>膨大な入力なのでいちいちいれずにすむ方法はありますか。

既にNo3の方が回答して下さっていますが

1.入力(設定)したい範囲を範囲選択
2.範囲選択したエリア内で右クリック
3.セルの書式設定の「表示形式」タブ内の
4.分類を「文字列」にしてOK

先に入力をしてから後から設定をするのではなく
この設定をした後で入力をして下さいね。

Q住所録から2つ以上の条件で抽出する関数について

Windows Excel 2003で住所録から2つ以上の条件で抽出するにはどんな関数を使えばいいですか?

例えば住所録で『TELとFAXが異なっている番号の別々のセル』と『TELとFAXが同じ番号のセル(TELとFAXが同じなのでFAXのセルは空欄)』尚且つ『Eメールのある会社名』を抽出する関数はありますか?

Aベストアンサー

どういうレベルで要っているのかわかりませんが
>関数はありますか?
単独関数ではありません。2つ以上の関数を組み合わせたり、作業列を使ったりすれば出来るといえます。
単独の関数はあるとも無いとも言えるが、該当分行がつめたカタチでは単独の関数ではありません。
該当が飛び飛びで出てよいなら、IF関数で簡単に出来ます。これわかりますね。
A1 TELNO,B1 FAXNOとして
C1に =IF(A1<>B1,A1,"") D1に=IF(A1<>B1,B1,"")  でよいわけです。
 ここの質問に出るレベルは、ほとんど関数の組み合わせが必要です。
ーー
Googleで「imogasi方式」で照会してください。条件をかけて、抜き出す課題が相当数出てきます。
回答は
A.関数の組み合わせー作業列なし
B.関数の組み合わせー作業列を使うー>Imogasi方式など
などの回答が見られます。
もちろんフィルタやフィルタオプションの設定のお勧めの回答もあるでしょう。
私見では、A.の式が理解できたら、関数は9割5分は卒業です。
関数に拘らず、データ^フィルターフィルタオプションの設定
をお勧めします。(データーフィルタではないですよ)

どういうレベルで要っているのかわかりませんが
>関数はありますか?
単独関数ではありません。2つ以上の関数を組み合わせたり、作業列を使ったりすれば出来るといえます。
単独の関数はあるとも無いとも言えるが、該当分行がつめたカタチでは単独の関数ではありません。
該当が飛び飛びで出てよいなら、IF関数で簡単に出来ます。これわかりますね。
A1 TELNO,B1 FAXNOとして
C1に =IF(A1<>B1,A1,"") D1に=IF(A1<>B1,B1,"")  でよいわけです。
 ここの質問に出るレベルは、ほとんど関数の組み合わ...続きを読む

Qエクセル 日付の表示を2005/07/26とゼロを入れたい

エクセルで日付を入力すると、

1988/12/23
2005/4/3

こんな風になって、長さがバラバラになるので

1988/12/23
2005/04/03

このように、ゼロを入れて表示したいのですが、
既に入力済のデータに自動でセロを追加する良い方法はないでしょうか?

Aベストアンサー

以下の方法は以下がでしょうか。

該当の日付セルを選択→右クリック→セルの書式設定→表示形式→ユーザ定義でyyyy/mm/ddとする。

Q別シートに複数条件を選択すると抽出され合計値がでてくるような関数はありますか

毎日、以下のような作業内容が手元にくるのですが今までは手でノートに振り分け管理していたのですが、エクセルの関数で別シートに複数条件を選択すると抽出され合計値がでてくるような関数はありますか。
よろしくお願いします。

↓毎日くる作業内容です。
ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる

Aベストアンサー

条件をかけるとして、条件該当の明細を必要としているのか、合計だけでよいのか、質問ではっきりしない。添付画像通常は小さくなり見にくい。
質問文に簡略化した1例(10行以内でよい)を挙げて質問すべきだ。要点を掴む能力と思考力が鍛えられる。
>ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる、の部分。
4条件で加算の例か。
====
条件該当分の明細を出すなら
データーフィルタオプションの設定で出来るはず。
関数関数と言うが、エクセルは第1的には、操作の体系のソフトですよ。他シートにデータを出すのは、他シート側で操作を始めてください。
ーー
関数なら、自称「imogasi方式」で出来ると思います。
Googleで「imogasi方式」で照会すれば数百の例が出ると思います。
現データシート(Sheet1)条件該当分の行にだけ、上の行から順に連番をフリ(式の複写を使う)、他シート(Sheet2)で
Sheet2の行1に-->Sheet1の連番1の行をINDEX関数で持ってくる。
Sheet2の行2に-->Sheet1の連番2の行をINDEX関数で持ってくる。
・・以下同じ。
これを式の複写で自動で行える。
=====
合計だけで良いのなら、多分、条件が多数のものに対する合計をほしい、になり、条件値の組み合わせを手作業でセルにセットするのか、操作関数で出すのかも質問に書いてない。合計を出すより、この条件データを揃える方が、いつも言っているが、難しい。
>複数条件を選択すると抽出され合計値がでてくるような関数
これが文字通り合計計数だけでよいなら、毎日ここに質問が出る
SUMPRODUCT、SUMIFSのどちらかをつかえだけ。質問にエクセルバー順が書いてないのは、エクセルの勉強経験不足。
2007で便利な関数が出来たのは有名な話。

条件をかけるとして、条件該当の明細を必要としているのか、合計だけでよいのか、質問ではっきりしない。添付画像通常は小さくなり見にくい。
質問文に簡略化した1例(10行以内でよい)を挙げて質問すべきだ。要点を掴む能力と思考力が鍛えられる。
>ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる、の部分。
4条件で加算の例か。
====
条件該当分の明細を出すなら
データーフィルタオプション...続きを読む

Qエクセルの日付(130101)を(2001/1/1)にする方法

現在日付を130101と入力している物を2001/1/1にしたいのですが、いい方法を教えて下さい。
元はTXTデータをエクセルに取り込んでいます。130101のセルを日付タイプに変更すると年数が変になります。
最終的にはTXTをCSVで出力したいです。
よろしくお願い致します。

Aベストアンサー

「A1」に入力した日付が入っているとして、以下の計算式を別のセルに設定すれば、日付型として「2001/01/01」が表示されます。
=DATE(INT(A1/10000)+1988,MOD(INT(A1/100),100),MOD(A1,100))

これを上手く使ってください。

以上。

Qエクセルにおいて複数の条件から抽出することができる関数(式)を教えてください。

皆さんどうか教えてください

エクセルにおいて複数の条件から抽出することができる関数(式)を教えてください。

400  70円  ad   6個
700  60円  da 7個  
100  30円 ad   9個
400  50円  ad   10個


などの表で、400で70円でadなものの数を求める
条件で数値を求めるにはどうすればいいのでしょうか

また条件にあったデータに6個などの数値をかけて合計した数値を求めるにはどうすればいいのでしょうか

関数でできる方法をお願いします。


あと”なおかつ”などの条件を行う関数も教えてください

どうかヨロシクお願いします。

Aベストアンサー

#4さんの回答で解決しませんか?

1行に複数のデータが入力されており、全ての列を満たす行数をカウントしたいということですか?
カウント対象が1万行あるとすると
=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)
と必要なだけ入力し、ctrlキーとshiftキーを押しながら
enterキーで式を確定して下さい。そうすると式が
{=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)}
という風な括弧で括られます。(配列数式になる)

列の条件は、数値ならそのまま、文字列なら""で囲います。
セルを指定しても構いません。
(1行目と同じ場合のみカウントという事であれば=A$1等となる)

もし、例の場合でいう400でadの場合の金額*個数を求めたいなら
(例では70円*6個+50円*10個で920円)
=SUM((A1:A10000=400)*(C1:C10000="ad")*(B1:B10000)*(D1:D10000))
をctrlキーとshiftキーを押しながらenterキーです。

後は応用です。

#4さんの回答で解決しませんか?

1行に複数のデータが入力されており、全ての列を満たす行数をカウントしたいということですか?
カウント対象が1万行あるとすると
=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)
と必要なだけ入力し、ctrlキーとshiftキーを押しながら
enterキーで式を確定して下さい。そうすると式が
{=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)}
という風な括弧...続きを読む

QEXCEL: 日付のセルに1/2/3と入れると、2001/2/3と解釈されるが、2003/1/2と解釈させるには?

タイトルのとおりです。アメリカでは、1/2/3と書くと普通は2003年1月2日と解釈されます。
EXCELにて、 日付のセルに1/2/3と入れると、2001/2/3と解釈されますが、表示形式は2/3/01と指定できるにもかかわらず、入力形式は年/月/日と固定されていますよね。これは何とかならないでしょうか?
入力→解釈→表示が全て「月/日/年」と一貫していると、いちいち翻訳せずに済むのですが・・・。

Aベストアンサー

コントロールパネルの「地域と言語のオプション」で設定できます。

【手順(WinXPの場合)】
1.[スタートメニュー]-[設定]-[コントロールパネル]を選択
2.コントロールパネルの「地域と言語のオプション」を開く
3.「地域オプション」タブの「標準と形式」で「英語(米国)」を選択
4.[適用]ボタンを押す
5.[OK]ボタンで画面を閉じる
⇒Excelで「1/2/3」と入力すると「2003/1/2」と認識される

※Windows全体が手順3で選択した表示形式に変わります。

Q条件に合うデータを抽出する関数

EXCELで、条件に合うデータを抽出し個数を表示させたいと思っています。
ただしSUMPRODUCTなどの『複数条件の設定』ではなく、『特定の文字列を除く』
という形で設定したいのですが、そのような関数はありますか?

Aベストアンサー

=COUNTIF(範囲,"<>*文字列*")
で出来ませんか?
=SUMPRODUCT(ISERROR(FIND("文字列",範囲))*1)
でも同じに出来ますけど...

Q15/7/22 と入力すると 2015/7/22 なる (エクセル)

エクセルで日付の入力を和暦二桁で行いたいのですが、西暦に置き換わってしまいます。

直す方法はないのでしょうか?

Windows XP
Excel2000

を使っています。

Aベストアンサー

こんにちは。maruru01です。

そういう仕様ですので、無理です。
「H15/7/22」
と和暦を表す文字(昭和はS、大正はT、明治はM)を付けると出来ます。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報