• ベストアンサー

セルの値を判断して、そこまで記号を入力したい

下表のエクセルがあります。8時代に出勤したら、B3のセルに〇、9時代ならそこまで〇をつけるようにしたいのですが、関数やマクロを教えてください。 A列 B列  C列  D列 社員 8時代 9時代 出勤時間 佐藤 〇       8:40 伊藤 〇   〇   9:20 

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

まずエクセルの基本的な使い方から。 B1には単に数字の8だけを記入、セルの書式設定の表示形式のユーザー定義で 0"時代" と設定しておく 同様にC1にも9を記入、表示形式で9時代と表示させる B2: =IF(B$1<=HOUR($D2),"○","") 右にコピー、下にコピーして完成。

ccdds
質問者

お礼

ご回答をありがとうございました。 正常に動作し、関数をMONTHにしてもうまくできました。 求めていたものをご教示いただき大変感謝申し上げます。 ありがとうございました。

その他の回答 (4)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

8時代は8時台とすべきでしょう。 1行目が項目名として2行目からデータが入力されているものとします。 B1=8:00 但し、表示形式は h"時台" C1=9:00 但し、  同上 B2=IF($D2>=B$1,"○","") B2セルを右と下へコピーしてください。

ccdds
質問者

お礼

ご回答ありがとうございました。 検証しましたが、うまくいきませんでした。 漢字間違いのご指摘もありがとうございました。 また、お時間をさいていただきありがとうございました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

>8時代に出勤したら  「8時代」ではなく「8時台」ではないかと思いますが、取り敢えず「○時代」と入力されている場合に関して回答させて頂きます。  今仮に、「社員」と入力されているセルがA2セルであるものとします。  その場合、まずB3セルに次の関数を入力して下さい。 =IF(AND($A3<>"",ISNUMBER($D3),$D3>=0),IF(HOUR($D3)&"時代"=ASC(B$3),"○",""),"")  そして、B3セルをコピーして、B列~C列の2行目以下のセル範囲に貼り付けて下さい。  尚、もし「時代」となっている箇所を全て「時台」に訂正した場合には、上記の関数の中で"時代"となっている箇所も"時台"に修正して下さい。

ccdds
質問者

お礼

ご回答ありがとうございました。 検証しましたが、うまくいきませんでした。 関数も難しく理解できず申し訳ありません。 お時間をさいていただきありがとうございました。

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.2

B2式 =IF($D2="","",IF($D2>=TIME(COLUMN(A1)+7,0,0),"○","")) B2式をC2までオートフィル 下方へオートフィル

ccdds
質問者

お礼

ご回答いただき感謝申し上げます。 できました。関数の意味がわかりませんが、正常動作しました。 ありがとうございました。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

B2セル =IF(AND($D2>=TIME(8,0,0),$D2<TIME(9,0,0)),"○","") C2セル =IF(AND($D2>=TIME(9,0,0),$D2<TIME(10,0,0)),"○","")

ccdds
質問者

お礼

早速ご回答いただきありがとうございました。 できました。素人で関数の意味がわかりませんが、正常に動作しました。 ありがとうございました。

関連するQ&A