• ベストアンサー

エクセルの数式で条件に合ったセルに値を代入したい

教えてください。エクセル2007を使用しています。 以下のような表にて、黄色い部分をセルに数式を使用することで自動的に埋めたいと思っています。 たとえば3列目、開始日1日から3日間、該当セル(黄色の部分)にフラグを立てるといった具合です。 列は31日まで、行は50行程続くので、黄色のセルに数式を入力することで、一気にフラグを立てたいと思っています。 何か方法があるでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

C1からの1行目が数値(日付)であるなら C2=IF(AND(C$1>=$B2,C$1<$A2+$B2),"○","")

ririppe
質問者

お礼

ありがとうございました。 解決いたしました。 数式ひとつでここまで出来るとは、エクセルの奥の深さを知りました。 ついでにお尋ねするのですが、このような数式は何を参考にされるのでしょうか? なにかよい参考書等あればご教示頂けると幸いです。

その他の回答 (4)

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

列の大小だけを問題にしてできるようです。 下記の6行目は、4列目から続けて2列と解釈する。 例データA1:G6 基データはA,B列のみ -は空白セルを示す(回答画面で列的に左詰防止のため入れたもの) - - 1 2 3 4 5 3 1 ○ ○ ○ 1 2 - ○ 5 1 ○ ○ ○ ○ ○ 2 2 - ○ ○ 2 4 - - - ○ ○ C2の式 =IF(AND(COLUMN()-2>=$B2,COLUMN()-2<$A2+$B2),"○","") G2列まで式を複写 C2:G2の式を下方向に式複写。 結果 上記 ーーー 質問のデータのありようまたは内容によっては、質問の主旨に合わない場合もありえるとは思うが参考に。

ririppe
質問者

お礼

早速ありがとうございました。 みなさんにベストアンサーを付けたかったのですが、代表してNo1さんに付けさせていただきました。 何卒ご容赦お願いいたします。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です! たびたびごめんなさい。 投稿した後で気づきました。 前回の数式はNo.1さんの回答とダブっていました。 どうも失礼しました。m(_ _)m

ririppe
質問者

お礼

そんなことないです。 非常にたすかりました。 みなさんにベストアンサーを付けたかったのですが、代表してNo1さんに付けさせていただきました。 何卒ご容赦お願いいたします。 こんな数式がぱっと浮かびつく皆さん、尊敬です。 前にも書いたのですが、参考書などあれば教えてください。 エクセルもっと勉強したいです。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 一例です。 C3セルに =IF(AND(C$2>=$B3,C$2<$B3+$A3),"○","") としてオートフィルで列・行方向にコピーではどうでしょうか?m(_ _)m

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

C3セルには次の式を入力し、AG3セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(C$2=$B3,"○",IF(AND(B3="○",C$2<$B3+$A3),"○",""))

ririppe
質問者

お礼

早速ありがとうございました。 みなさんにベストアンサーを付けたかったのですが、代表してNo1さんに付けさせていただきました。 何卒ご容赦お願いいたします。

関連するQ&A

  • エクセル2003で、数式で出されたセルの値によって、そのセル自体を塗り

    エクセル2003で、数式で出されたセルの値によって、そのセル自体を塗り分けしたいのですが、7種類あるため条件付書式では対応出来ず困っています。 具体的には「2.7000~2.7099」ならピンク、「2.7100~2.7199」なら黄色、「2.7200~2.7299」なら黄色「2.7300~2.7399」なら緑色「2.7400~2.7499」なら青色「2.7500~2.7599」なら紫「2.7600~2.7699」なら灰色 という具合です 漠然としていて申し訳ないのですが、マクロを使用したいと思っています。お力を貸していただけないでしょうか?

  • エクセル 条件付書式 色指定

    エクセルの使い方について質問があります。 AL列のあるセルにclosedを記入されていれば、 それに該当する行のC~AL列までを黄色にしたいです。 例えば、 AL4にclosedと入力されていれば、 C4~AL4まで黄色に自動でなるようにする、 といった具合です。 宜しくお願いいたします。

  • エクセルVBA 条件にあうときセルを塗りつぶすには?

    エクセルVBA 条件にあうときセルを塗りつぶすには? エクセルVBAについて教えてください。 _________A 列 _________B 列_________C列_________D列 -------------------------------------------- 1行| 基準値_________ 5_____________1____________8 2行| りんご____________1_____________9____________0 3行| みかん___________12___________5____________3 4行| ぶどう____________15___________7____________8 5行| バナナ____________3_____________1____________4 上図のようにデータがあります。 (実物は列行共に膨大です。また条件を4つ以上つける予定なので条件付書式は使えません) 各列の基準値に対して、セルの増減が、0以下のときに黄色に、5から8のとき大きくなるときに赤、9以上のときに青にセルの色を塗りつぶしたいです。 どのようにすればよいでしょうか? B列の場合、基準値が5です。 B2のセルの場合、基準値5と1(B2セル)の増減は-4です。 増減が0以下のときは黄色に、増減が5から8のときは赤に、増減が9以上のときに青にするので、このときは黄色に塗りつぶします。 B3のセルの場合、基準値5と12(B3セル)の増減は7です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 B4のセルの場合、基準値5と15(B4セル)の増減は10です。 増減が9以上のとき青色に塗りつぶすので、このセルは青色に塗りつぶします。 C2のセルの場合は、C列の基準値は1(C1セル)です。 基準値1と9(C2のセル)の増減は8です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 よろしくお願いいたします。

  • エクセル複数条件一致の数式

    質問失礼します。 下記のエクセルデータから、E列のセルに、条件にあわせて5か6、もしくは空白を表示させる数式を作りたいと考えています。 条件として セルE2に5を表示さる場合 D2がa4の時、A列から、同じa4を検索し、この場合は、行10と行11が該当します。 その該当する行から、 セルD2の文字列a4がある行のA列のセル、この場合は、セルA2のa1 と文字列が一致するセルB11の11行目が選択され、その行にあるC列の数字を、E2セルに表示させたいです。 E列に入れる数式は作ることが可能でしょうか? 色々試してみましたが、どうしてもうまくできませんでした。 よろしくお願いします。   A  B  C   D    E 1        2 a1  a2   5    a4   5 3 a1  a3       a3   6 4 a1  a1       5 a2  a3   5    a1   5 6 a2  a1       7 a3  a1   6    a2   5 8 a3  a1       a4   6 9 a3  a4   5    a2   5 10 a4  a3   6    a3   5 11 a4  a1   5    a2

  • Excel 条件付き書式◆ 同じ行の特定のセルを指定するには

    A列には、ずらーっと、日付の数値が入っています。 B列には、「その日の行動スケジュール」の文字列が入っています。 ”今日”になったら、その日付に該当するB列の「行動スケジュール」だけ文字の色を変えたいと思いました。 このとき、列全体を範囲指定して、「条件付き書式」を設定しようと思ったのですが、数式の書き方がわかりません。 まず、B列のBのところをクリックして列全体を指定した上で、「条件付き書式」の設定のダイアログを出し、「数式が」を選択すればいいだろうというところまではわかります。 しかし、数式において、どのように記述すると、”B列の特定のセルと同じ行にあるA列のセル”だけを選択できるようになるのかがかわかりません。 おそらく、下の●のところに、同じ行にあるA列のセルだけを指定するための記号が入ると思うのですが、手本がどこにも見つかりません。 =●●=today()

  • Excel たくさんの条件を含んだ数式を使いたい

    あまりExcelが得意ではない者です。 何卒、お助けいただければと思います。 簡単なバイトのタイムシートを作りたいのですが、 次のような場合、どのような数式(?関数)を使えばいいのかわかりません。 平日は勤務時間×時給(例えば800円)で、 土日祝は勤務時間は入力するものの、勤務時間に関係なく日給(例えば1500円)だとします。 但し、まだ勤務時間を入力していない場合は、空白を表示するようにしたいのです。 そして、土曜日なら、セルの色を水色、日曜・祝日なら、セルの色をピンクにしたいのです。 例えば Aの列に曜日を、Bの列に勤務時間を、Cの列にその日の給料を表示させたいのです。 A    B     C 木   1.5   1.5×800された数字 金   2     2×800された数字 土   3     4000であり、セルは水色 日   未入力  空白であり、セルはピンク このようなことにしたいので、 Cの列に入力すべき数式(?関数)を教えてください。 宜しくお願いします。

  • 条件付きセル指定/条件式をどのように入れたらいいか

    「数式を使用して、書式設定するセルを決定」で 数式をどう入れたら良いか迷っております。 やりたい事: A1,B1,C1,D1,E1セルがあり、はじめは空白です。 A1~E1まですべてのセルが入力されると、 A1~E1のセルの背景を例えば黄色にしたいのです。 (1行ずつの判定) それが、何行かあり、下に続きます。 Excelバージョンは2007を使用しております。 よろしくお願いします。

  • エクセルの使い方を教えてください

    下記のような表をエクセル2007で作成したいのですが、可能でしょうか。 (画像を参照ください) (1)エクセルのA1セルから、縦に0001、0002・・と昇順に数字を入力します(A1000セルまで)。 (2)エクセルのB1セルから、縦に2012/8/12(任意の日付)、2012/8/13・・と昇順に日付を入力します(B1000セルまで)。ただし、日付が欠けている場合もありますし、同じ日が続けて入力される場合もあります。 (3)毎週月曜日に、B列の日付がその1週間前の月曜から前日の日曜に該当する同じ行のA列のセルに自動的に色を付けます。例えば、今日が2012/8/20(月)としたら、B列の日付が2012/8/13(月)から2012/8/19(日)に該当する同じ行のA列のセルを自動的に黄色に塗りつぶします。そして、次の週の2012/8/27(月)が来たら、同様にB列の日付が2012/8/20(月)から2012/8/26(日)に該当する同じ行のA列のセルを自動的に黄色に塗りつぶします。そして次の週の月曜も同様です(以下、繰り返し)。 (4)作成したエクセルは毎日開きますが、次の月曜日が来るまでは、同じ場所に黄色が塗られた状態を維持します。例えば2012/8/21(火)~2012/8/26(日)に毎日エクセルを開いた時もB列の日付が2012/8/13(月)から2012/8/19(日)に該当する同じ行のA列のセルが自動的に黄色に塗りつぶされた状態を維持します。 いろいろ考えてはみたのですが、わかりませんでした。どうかお知恵をよろしくお願いいたします。 ●画像の文章が見づらいので、こちらに書いておきます (例) 2012/8/20(月)にB列が2012/8/13(月)~2012/8/19(日)に該当するA列の0002~0008が自動的に黄色に塗りつぶされる。2012/8/21(火)~2012/8/26(日)の毎日このエクセルを開いても0002~0008が黄色に塗りつぶされた状態が維持される。           ↓ 2012/8/27(月)にB列が2012/8/20(月)~2012/8/26(日)に該当するA列の0009~0015が自動的に黄色に塗りつぶされる。 2012/8/28(火)~2012/9/2(日)の毎日このエクセルを開いても0009~0015が黄色に塗りつぶされた状態が維持される。 (以下、月曜日毎に繰り返し)

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

    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セルずつ赤色がついてしまいます。 こうなってしまう事象原因がお分かりの方はいらっしゃいますでしょうか? よろしくお願いします。

  • エクセルでセルの条件が一致したら、値を挿入したい

    エクセルで2つのシートの2つのセルの条件が一致したら、シート2の該当の部分をシート1に挿入したいのです。 例 Sheet1 A    B    C 1 社員A 100 2 社員B 200   3  社員A 500 Sheet2 A    B    C 1 社員B 100  休み 2 社員B 700  勤務 3  社員A 100  夜勤   というような2つなシートがあり(実際には、セルの行数は3000行くらいあります) Sheet1,Sheet2の比較をしてA列、B列の値が一緒である場合、シート1にシート2の該当部分を C列に挿入したいのです。 たとえば、シート1のC列に数式をいれることになるかと思うのですが、 シート1とシート2を比較すると、   シート1のA1・B1の【社員A 100】とシート2のA3・B3の【社員A 100】が一致しているので、シート2のC3の【夜勤】をシート1のC列のC1(該当する同じ行に挿入)に挿入したいのです。 どういった式をいれたらいいかわからないので、どなたかおしえていただけたら助かります。 よろしくお願い致します。 知恵をお貸し下さい。 非常にこまっております

専門家に質問してみよう