セル内の時間範囲による条件分岐

このQ&Aのポイント
  • セル内の時間範囲によって条件分岐する方法を教えてください。
  • A列のセルには「2009/8/26 0:00」から「2009/8/26 23:59」まで1分刻みで時間が入っています。B列のセルには開始時間と終了時間が手動で入力されています。この場合、B列のセルに○を埋めるための関数やVBAの方法を教えてください。
  • タイムチャートを描くためには、セル内の時間範囲に応じて条件分岐する必要があります。具体的には、B列のセルに開始時間と終了時間が入力されている場合には○を埋めるという処理を行いたいです。関数やVBAを使って実現する方法を教えてください。
回答を見る
  • ベストアンサー

セル内の時間範囲による条件分岐

A3セルには「2009/8/26 0:00」 A4セルには「2009/8/26 0:01」 A5セルには「2009/8/26 0:02」~~と1分刻みで「2009/8/26 23:59」まで、1日分のあります B1セルに開始時間「2009/8/26 7:30」 B2セルに終了時間「2009/8/26 8:45」 というように行1と行2に日時を書きます。これは人が手動で入力します この場合、「2009/8/26 7:30」から 「2009/8/26 8:45」まで B列のセルに●を埋めたいのですが、関数かVBAを使ってうまくできないでしょうか タイムチャートを描きたいのです

質問者が選んだベストアンサー

  • ベストアンサー
  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.1

B3に =IF(AND(A3>=B$1,A3<=B$2),"●","") 下にフィル

関連するQ&A

  • 条件付き書式でセルに色を付けた際のズレ

    OSバージョン:Windows7 Professional SP1 Excelバージョン:Excel2007(12.0.06665.5003) SP3 MSO(12.0.06665.5003) スケジュール表を作成するにあたり、条件付き書式で自動的に該当時刻列のセルに色が付くようにしたいと思っています。 サンプルとして、 ------------------------------------------ 【セルに値を入力】 ・A3:A62に22:00~22:59の時刻を1分刻みで入力(開始時刻列) ・B3:B62に22:01~23:00の時刻を1分刻みで入力(終了時刻列) ・C2:BK2に22:00~23:00の時刻を1分刻みで入力(数式参照用時刻行) 【条件付き書式を設定】 ■数式を使用して、書式設定するセルを決定を選択し、以下の数式を設定 "=IF(C$2>=$A3,IF(C$2<$B3,TRUE,FALSE),FALSE)" ■書式:セルを赤で塗りつぶす ■適用先:"=$C$3:$BK$62" ------------------------------------------ と設定します。 全て開始~終了が1分なので、各行1セルずつ赤色がついて、綺麗に斜めの線が出来る想定なのですが、 6行目、8行目、10行目、12行目以降の行について、2セルずつ赤色がついてしまいます。 こうなってしまう事象原因がお分かりの方はいらっしゃいますでしょうか? よろしくお願いします。

  • 期間内の日時検索

    質問させて下さい。 検索対象日時(A列)行毎に開始時間(セルC)終了時間(セルD)内にあるか検索し該当すれば〇(セルB)表示する関数もしくはVBAにて対応したいと考えています。 A B C D 2021/01/01 10:00 〇 2021/01/01 09:00 2021/01/01 09:50 2021/01/01 11:05 2021/01/01 09:55 2021/01/01/ 10:10 2021/01/05 12:00 〇 2021/01/05 11:55 2021/01/05 12:15 2021/01/05 15:50  2021/01/05 15:00 2021/01/05 15:30 2021/01/10 13:00 〇 2021/01/05 16:00 2021/01/05 16:30 2021/01/10 15:00   2021/01/10 12:00 2021/01/10 15:00 分かりにくくてすみませんが例としてA1はC2開始とD2終了(ペア)内なので〇、A3はC3D3ペア内なので〇、A5はC6D6ペア内なので〇のイメージです。 どうぞ宜しくお願い致します。

  • 指定範囲の条件に合致する順位

    EXCELのVBAで以下のことをやりたいのですが、分かりません。 アドバイス頂けますでしょうか。 例として、1から40行固定の表があります。A、B、C、D列とあり、 A列は数値が必ず入っているセル(1~40)、 B列は時間のシリアル値で、値が入っているセルと入っていないセルの混在、 C列は文字列で値が必ず入っているセル、 D列は数値で、、値が入っているセルと入っていないセルの混在、という表があるとします。 この時に、 「”Bに値が入っていて、かつ、Dに値が入っていない行”の、”B列のトップ3”の、AとBのデータ」が 欲しいのですがどのようにしたらいいか分かりません。 お願いいたします

  • vba 指定した日付範囲でセルの色を塗る

    急遽、エクセルVBAを組んでくれと頼まれたのでわかる方、教えていただけますか? 開始日時(A行)と終了日時(B行)があり、 開始と終了の範囲でC以降日付になっており 指定の範囲内でセルの色が塗られるいうものなのですが なにせ急ぎとVBAがほとんどわからないのでなるべくわかりやすく 教えていただけるとありがたいです。 ちなみにsheetにコードを記入するのとmoduleにコードを記入するのでは どう違うのですか?わからないまでも一応、色が塗られるところまでは できたのですがどうやってセルの時間を取得して範囲を指定すれば 良いのかなどがわかりませんどうかよろしくお願い致します。 下記は作成途中ですが・・・ Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim row As Integer Dim line As Integer row = 5 line = 9   Set objR = Range("A1").Resize(1, 4).Offset(1, 2) objR.Interior.ColorIndex = 8 End Sub

  • Excel 条件に従いセル移動するには

    よろしくお願いいたします。 A列には入力したくない行に"a"が入力してあるとします。 B列に上の行から数値を入力していくのですが、数値を入力してEnterを押すと次のA列に"a"が入力されていない行のB列セルに移動するVBAを教えてください。

  • ある条件のセルの合計を出したい

    IF関数の応用だと思うのですが、次のような時に合計は求められるのでしょうか。 A列の1行目から5行目までに「東京」と「大阪」がランダムに入っている。 B列の1行目から5行目までに数字が入っている。 このとき「東京」のセルのとなりにあるB列の数字を合計したいのですが、 どのようなやり方ができるのかお教えください。お願いします。

  • 条件付き書式の計算式と適用先範囲

    通常のExcel操作による条件付き書式も同じなのですが、VBAで書いているときに疑問が出たので、VBAで質問させていただきます。 図のようにA列とB列の値を比較し、A列とB列の値が同じでない場合、つまり「A列-B列」の値が0でないセルに赤い色をつけることにしました。A列が正で、B列が違っている場合色をつける、という考えかたの処理です。 不思議なのは、手動で条件付き書式画面からやっても、下のコードのVBAでやっても「--A」のところのように、比較式を「"=$A2-$B2<>0"」と、2行目で行っているだけ(比較はここだけ)なのです。 しかし実行結果は、A列とB列の値が同じではない行すべてのB列に色がついています。 B列のセルの同じ行のA列と値が異なる場合、赤い色をセルにつけるのが目的なので、結果としてはこのコード(条件付き書式)は正しく動作しています。 質問は、比較式が「--A」のところ=2行目にしかないのに、なぜ3行目~20行目も同様の効果が効いているのでしょうか。 この挿入している効果は条件付き書式であるため、B列のセル上の値を左の行(A列)と合致させると、ちゃんと赤い色は消えてくれます。 この謎が解けません。 ---------------------- Sub 左列と異なる値は赤に() '条件書式を挿入 With ActiveSheet Range("B2:B20").Select With Selection .FormatConditions.Delete .FormatConditions.Add Type:=xlExpression, Formula1:="=$A2-$B2<>0" ' --A .FormatConditions(1).Interior.Color = RGB(255, 200, 200) End With Range("A1").Select End With End Sub

  • VLOOKUP関数の範囲をセルで指定したいと思っています。

    VLOOKUP関数の範囲をセルで指定したいと思っています。 B1:参照シート名(VLOOKUP関数で使用する範囲があるシート) C2:範囲の開始位置 E2:範囲の終了位置 B3:G3:列番号(B3の値は、B6:B8の範囲で使用する列番号、 D3の値は、D6:D8の範囲で使用する列番号) これらのセルに入力された情報をもとにB6:G8の範囲にVLOOKUP関数を 反映させたいと思っています。 例えば、 B1に参照シート名「2ケタ」 C2にVLOOKUP関数の範囲の開始位置「A5」 E2にVLOOKUP関数の範囲の終了位置「G7」 B3に範囲の列番号「2」がある場合 B6に「=VLOOKUP(A6,'2ケタ'!A5:G7,2,0)の関数を入力。 B2に参照シート名「3ケタ」 C5にVLOOKUP関数の範囲の開始位置「B5」 E2にVLOOKUP関数の範囲の終了位置「H7」 C3に範囲の列番号「3」がある場合 C6に「=VLOOKUP(A6,'3ケタ'!B5:H7,3,0)の関数を入力。 といった感じです。 現在、B6に「=VLOOKUP($A6,INDIRECT($B$1&"!a5:g7"),INDIRECT("$b$3"),0)」と 関数を入力して、VLOOKUP関数の「範囲の参照シート名」と「列番号」の情報は セルから持ってくることができました。 しかし、「a5:g7」という範囲だけは、INDIRECT関数をうまく入れることができません。 どのように関数を入力したら、上手くいくのか、教えていただけないでしょうか。

  • EXCELで、入力した時間に合わせてセルに色をつけるにはどのようにした

    EXCELで、入力した時間に合わせてセルに色をつけるにはどのようにしたら良いでしょうか? 例えばA1セルに開始時間(9時)、A2セルに終了時間(9時30分)を入力します。 B1セルが9時から9時15分、B2セルが9時15分から9時半、B3セルが9時半から9時45分・・・となっており、A1、A2に入力した時間に合わせて自動的に対応セルに色をつけるようにしたいです(上記の場合、B1とB2に色がつく)。 その際、既にB行にデータがある場合、C行に色をつけるようにしたいと思っています。 使える関数のヒントでも良いので教えていただけると助かります。 よろしくお願いします。

  • 時間で色をつける

    エクセルでA1に開始時間・B1に終了時間を入れるとC1から10分刻みで用意されたセルにA1とB1に入れた時間に合わせてその時間及び間の時間(セル)全てに色をつけるような事は出来ないでしょうか?

専門家に質問してみよう