• ベストアンサー

【エクセル】

2v82の回答

  • 2v82
  • ベストアンサー率23% (3/13)
回答No.2

こんばんは。 日付の並び替えなしで行うことを前提に考えるとやや複雑な回答になりました。 ほかに方法があれば良いのですが…。 それとあまり列数が多くなると厳しいです。 使用する関数は、DMIN関数です。また色を変えるのに条件書式を使用します。 まず、データ範囲(A4:E9)に項目名を付けます。…3行目 {日付、D1、D2、D3、D4} またこのデータ範囲名を"data"とします。 DMIN関数の参照を行うため各列ごとに適当な場所に参照範囲を設定します。 D1列に使用する参照範囲名をd_1とします。ここでは、(F1:J2)です。 同様にd_2(F3:J4)、d_3(F5:J6)、d_4(F7:J8)とします。 ()内は列名  (F) (G) (H) (I) (J) 1 日付、D1、D2、D3、D4 2   まずはD1列から、、、 G2に次の数式を入力します。 =">="&B2  ・・・ 目標値以上 B1に次の数式を入力します。 =DMIN(data,1,d_1) … データ範囲でG2(目標値以上)で最小の値を持つ日付(列番号1)を取得する。 ※データ範囲の中に目標値以上の値がない場合には値が「0」となるので、IF文で条件を分けて下さい。 =IF(DMIN(data,1,d_1)=0,"",DMIN(data,1,d_1)) 次にB4からB9までに条件付き書式で[数式が]次の式の時の書式を決めます。 B4に次の書式を設定して書式をコピーします。 =$A4>=B$1 D2~D4についても同様です。 C1~E1までに入力する数式はそれぞれ、次のとおりです。 =IF(DMIN(data,1,d_2)=0,"",DMIN(data,1,d_2)) =IF(DMIN(data,1,d_3)=0,"",DMIN(data,1,d_3)) =IF(DMIN(data,1,d_4)=0,"",DMIN(data,1,d_4))  

関連するQ&A

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

    下記のような表をエクセル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が黄色に塗りつぶされた状態が維持される。 (以下、月曜日毎に繰り返し)

  • EXCELでうまく反映させたい

    A列に名前、B列に数、C列に日付が入っています。 それが100行あります。 D列以降の1行目にに7/1から7/31まで日付が入っていて、A列からC列までをD列の2行目から100行目までに反映させて、表を作りたいと思っています。 A・B列・C列にそれぞれ名前や数、日付を入れるとD列以降の日付の下に必要な数量が入るように数式を作る方法はありますか? A・B・C列は専用端末からデータを持ってくるので、その度にD列以降を手で作るのは大変です。A・B・C列だけだと、見た目に見づらいので何日にいくつ(数)必要かを一目で見られるようにしたいのです。 何かいい方法を思いつく方いらっしゃいますか? よろしくお願いします。

  • エクセルでの計算について

    今、エクセルで確認表となるのを作成しているのですが、まだ勉強不足でして1つ教えていただきたいのですが、 セルAの列には日付(確認日)を入れています。 (月を入力すれば、その月のカレンダー通りに自動で変更されるように式をいれて作成しました) セルBの列には確認する項目においてあり・なしを手書きで書けるようにそれぞれマスを作っています。(最終的に月ごとに印刷して表にするので) ここで質問なのですが、セルA列の日付けに対してセルB列にも一日前の日付けを付ける場合、自動で入力(月ごとに反映)されるようにするには(A列みたいに月を変えればその月に反映される)どういう風に式を入れたらよいのでしょうか? よろしくお願いします。

  • エクセルでの計算について

    今、エクセルで確認表となるのを作成しているのですが、まだ勉強不足でして1つ教えていただきたいのですが、 セルAの列には日付(確認日)を入れています。 (月を入力すれば、その月のカレンダー通りに自動で変更されるように式をいれて作成しました) セルBの列には確認する項目においてあり・なしを手書きで書けるようにそれぞれマスを作っています。(最終的に月ごとに印刷して表にするので) ここで質問なのですが、セルA列の日付けに対してセルB列にも一日前の日付けを付ける場合、自動で入力(月ごとに反映)されるようにするには(A列みたいに月を変えればその月に反映される)どういう風に式を入れたらよいのでしょうか? よろしくお願いします。

  • Excelで表のある日以前の値を合計する sumif?

    こんにちは。 ExcelでA列の1行目に2010/1/1から31行目に2010/1/31まで、日付が並んでいます。 B列の1行目に1から31行目に31まで、1ずつ増える数字が並んでいます。 セルC1に2010/1/10と入力した場合に、セルD1に55と返すような数式を書きたいと思っています。 要するに、セルC1から以前の日をA列で見つけて、同じ行のB列の値を合計したいのです。 sumifを使ってみましたが、うまくいきません。 ご指導、お願いいたします。

  • エクセル  日数の求め方

    A列には      B列には 2007/10/1     5 2007/10/2     3 2007/10/3     4 2007/10/4     6 2007/10/5     5 ・ ・ ・ A列は昇順に日付が入っていて B列にはランダムに数字が入っています。 やりたいことは たとえばB1セルの「5」を基準値として 次に「5」がくるのは何日後かを知りたいです。 4日後になると思うのですが どうやったら4と数字を求めるられるのでしょうか? よろしくお願いします。

  • エクセル関数の質問です。

    エクセルでセルA1=4の場合セルB2=セルD1、セルA1=5の場合セルB2=セルE1、セルA1=6の場合セルB2=セルF1というように、セルA1に数字を入力するとセルB2に反映するようなセルB2に入力する関数を教えて下さい。  セルA1には月(4月から3月)の数字(4~12、1~3)が入り、4月のときにはD列(D1)、5月のときにはE列(E1)、6月~3月にはF列(F1)~O列(O1)の数字が入ります。よろしくお願い致します。

  • エクセル2000で質問です。

    下記のように式を入れたいのです。 先ずC1にはすでに数値が入力されています。 そこからA2を足しB2、B3を引いた数値をC3に出す。 日付順に並んでいるのですがA列には一つの日付に対して 一つしか数値が入りませんがB列には一つの場合も複数行入る場合もあり いくつ入るか分かりません。 いくつ入るか分からないのですがその日のB列に入った数値はすべて 引き算してその横のC列のセルにその答えを反映させたいのです。 この場合C列にどのような式を入れれば良いのでしょう? 下記の表の場合は 5000+300ー500-600=4200 4200+800-400-700-100=3800 というふうになっていくようにしたいのです。             A       B      C 1                         5000 2  10/20     300    500 3   10/20             600   4200 4   10/21     800    400 5   10/21            700 6   10/21            100    3800 7   10/22     500    300    4000 8   10/23     300    900    3400 9   10/24    1000    700 10  10/24            1200   2500

  • Excell2010の書式設定について質問です

    初心者です、質問もヘタクソだと思いますがよろしくお願いします。 A列に日付、B列に売上実績、C列に売上目標、D列に売上差累積、と入力しています。 A列は2行目から32行目までに日付が入っています 不定期な休日が月に2回あります。 B列の売上実績は毎日入力します。 C列は目標額を入力しています。 B列2行に1日の売上が入力され、D2 =B2-C2 と数式があります D列には  D3 =IF(B3=0,D2,B3-C3+D2) という数式を入れています D4以降は D3をオートフィルで入力しています 上記のままだと 例えば、15日とすると16日以降D列には15日の数字が入力されてしまします これを書式設定で B列の売り上げが入力されていないときには 書式設定で フォントの色を白色にすれば16日以降の数字が見えなくなると思うのです が どう条件付き書式設定すれば良いですか? また、ほかの方法で解決できますか?

  • エクセル 関数で任意の数字に対応する複数セルを置換する

    恐れ入ります 教えていただけると幸いです エクセルの関数を使って任意の数字に対応する複数セルを任意のセル所へ置換する方法はあるのでしょうか? 例     A    B     C      D    E F G      5    11    18     23        8:00   20:00  1:00  遅 A列に5日,11日,18日,23日(数字は月の日付で、2日間かもしれないし10日間かもしれない予測不能)をうつとこの日付けの行のところに別のところに作った”8:00-遅”の4列の情報が入るようにしたいのです。