• ベストアンサー

エクセル 条件の合うセルに自動入力するには

多分、関数だけではできないと思いますが教えて下さい。   A B C D E F G H I J K 1 08/4 08/5 08/6 2 08  4  1 09 3 31 月 1000 3 08  5  1 09 4 30 年 18000 4 08  6  1 09 5 30 四半期 1500 A列~C列:年月日 D列~F列:年月日 G列:月/年/四半期 H列:お金  H2⇒毎月1000円と言う意味  H3⇒年間18000円と言う意味(自動で毎月にする)  H4⇒四半期1500円と言う意味(自動で毎月にする) やりたいこと! A列~H列へデータを投入すると (1)A2、B2に該当するI2から、D2、E2の該当するT2まで1000を自動投入 (2)A3、B3に該当するJ3から、D3、E3の該当するU3まで1500を自動投入 (3)A4、B4に該当するK4から、D4、E4の該当するV4まで 500を自動投入 というようなことはできないでしょうか? そして、下のようになればいいのですが...。   A B C D E F G H I J K 1 08/4 08/5 08/6 2 08  4  1 09 3 31 月 1000 1000 1000 1000 3 08  5  1 09 4 30 年 18000 1500 1500 4 08  6  1 09 5 30 四半期 1500 500 もともとの表の作りも悪いのかもしれませんので、表の作りを変えるのは問題ありません。 例えば ・年月はA列、B列に分けずに1つのセルでも問題なし。 ・逆にI1、J1はセルを分けても問題なし。 ただし、 ・I1からJ1、K1・・・は08/4から10/3の2年間程度あるものとする。 できるのでしょうか。 よろしくお願いします。

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

  • ベストアンサー
noname#70958
noname#70958
回答No.1

1行目の見出しをどういう形式で入れるかによってアプローチが変わってくると思いますが、 とりあえずこんな感じでいかがでしょう? 1.  I1セルに、日付【 2008/4/1 】を入力し、セルの表示形式を【 yy/m 】にする。 2.  J1セルに、数式【 =DATE(YEAR(I1),MONTH(I1)+1,1) 】を入力し、  セルの表示形式を【 yy/m 】として、右方にフィルする。 3.  I2セルに、数式   =IF(AND(I$1>=DATE(2000+$A2,$B2,1),I$1<=DATE(2000+$D2,$E2,1)),$H2/VLOOKUP($G2,{"月",1;"年",12;"四半期",3},2,0),"")  を入力して、右方、下方にフィルする。 Excel2003で動作確認済。以上ご参考まで。

nora-kanta
質問者

お礼

お礼が遅くなり申し訳ありません。 教えて頂いたとおりできました。 私のやりたかったことが完璧にできました。 ありがとうございました。 今後ともよろしくお願いします。

その他の回答 (1)

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

難しくなくて簡単です。 スタート月はA2&B2を考える。正確にはA2&"/"&B2を考える。各行で08/4とかになる。D2&"/"&E2 エンド月は 例データ 第3行目から始まるとして A3 08、B3 5 D3 08 E3 9  とする。 H3の式は =IF(AND($A3&"/"&$B3<=H$1,$D3&"/"&$E3>=H$1),1000,"") 結果 H1:N3 08/4 08/5 08/6 08/7 08/8 08/9 08/10 -- 1000 1000 1000 1000 1000 -- 他の範囲は省略・ 年18000、四半期1500は1000の数字を変えるだけ。 式中の$の有無に注意。 何処かの列(例Z列)に Z1 1000 Z2 1500 Z3 18000 を入れて置けるなら、式は縦方向にも複写できるでしょう。 例 =IF(AND($A3&"/"&$B3<=H$1,$D3&"/"&$E3>=H$1),$Z1,"")

nora-kanta
質問者

お礼

お礼が遅くなり申し訳ありません。 考え方等いろいろな意味で勉強になりました。 今後ともよろしくお願いします。

関連するQ&A

  • エクセル マクロでセルを自動移動

    例1のようになっているエクセル表があります。 データは右方向、下方向へ増えます。 Cの列以降は4つ単位でしかデータは増えません。 それを例2の表のように列A,Bのデータはそのままに Cの列以降の4つのセルを区切りに下の行に移動して、 空白の列まで言ったらA2の行以降を最後の行まで繰り返しするという マクロを書くことは可能でしょうか。 出来ましたらそのマクロを教えてください。 例1 A1 B1 C1 D1 E1 F1 G1 H1 I1 J1 K1 L1 M1 N1 A2 B2 C2 D2 E2 F2 G2 H2 I2 J2 A3 B3 C3 D3 E3 F3 G3 H3 I3 J3 K3 L3 M3 N3 例2 A1 B1 C1 D1 E1 F1 A1 B1 G1 H1 I1 J1 A1 B1 K1 L1 M1 N1 A2 B2 C2 D2 E2 F2 A2 B2 G2 H2 I2 J2 A3 B3 C3 D3 E3 F3 A3 B3 G3 H3 I3 J3 A3 B3 K3 L3 M3 N3

  • Excelで飛び飛びのセル(列)を参照したいのですが…その2

     ある「sheet1」で、G1="A",H1="B",I1="C",J1="D",K1="E",L1="F",M1="G",N1="H",O1="I",P1="J",Q1="K",・・というように文字が入力されているとすると、5列飛びの値A,F,K・・・(G1,L1,Q1・・・)が欲しいのです。そして、その値が「sheet2」に、C5=A,D5=F,E5=K,F5=P・・・となるようにしたいのです。ただ数値が5ずつ増加するのではなく、そのセルに入力されている文字列を参照したいのです。  それをまた、「sheet1」の、G2="A",H2="B",I2="C",J2="D"・・・の値でも同じ事をしたいのですが・・・。  よろしくお願いします。

  • エクセル セルの組み合わせ

    エクセル表の中で目的の数値になるセルの組み合わせを探したいです A列  B列に a  210 b  80 c  403 d  196 e  221 f  307 g  325 h  233 i  237 j  307 k  487 L  267 のようにあります。 これを組み合わせて980に近い組み合わせをいくつかさがしたいのですが、 どうしたらできるでしょうか。重複はできないのです。 ソルバーで挑戦しようと思いましたが、使い方がわかりません。 だれか教えてください。おねがいします。

  • エクセルで入力セルに対比した自動計算の仕方

    ・下記のように各工事ごとの稼働状況入力シートを作成しています。 この中である時点での各該当行の自動計算(下記に質問内容記入)を実施するにはどのように行ったら良いでしょうか,どなたか教えていただけませんか? どうぞ宜しくお願いします。      A    B C D E F G  H I J 1        2  月   4 5 6 7 8 9 10 11 3 計画人員(1) 10 25 15 30 10 20 20 4 累積人員(2) 0 30 45 55 55 5 計画人員(3) 25 20 30 55 20 10 0 6 累積人員(4) 30 55 65 70 80 7 計画人員(5) 10 30 10 30 20 0 0 8 累積人員(6) 5 5 15 20 20 上記の様な入力する行が多数あり。 ○各工事の計画人員(3・5・7行)を工事前に入力する。  毎月当月の累積人員(4・6・8行)を入力して行く。 ○目的 累積人員月と計画人員累積を同月対比したい。 ○質問(上記の場合) F列(8月の累積人員)を入力すると  J列にそれぞれ J3にB3~F3までの和を自動表示する。          J5にB5~F5までの和を自動表示する。          J7にB7~F7までの和を自動表示する。  G列(9月の累積人員)を入力すると  J列にそれぞれ J3にB3~G3までの和を自動表示する。          J5にB5~G5までの和を自動表示する。          J7にB7~G7までの和を自動表示する。  ※1.「?列の累積人員に対しB列から?列までの累積計画人員をJ列    に表示したい」   2.出来れば入力月を選択するとJ列の当該箇所に累積計画人員を    自動表示したい。   3.2行の「月」B2は現在4月から順次5,6,・・となっていま    すが,別な工事(別なブック)になると開始月(B2)がたとえ    ば9月からの表示となったりします。   説明が下手で申し訳ありませんが,何卒よろしくお願いします。                              以上   

  • エクセルの条件文で抽出したセルに改行を入れたい

    条件文で作成した文字列内に改行を入れる方法を教えてください。 下記のようなエクセル(以後、数百行あります)があり、○がついているところの1行目にある文字をK2セルに入力したいと思います。   A  B  C  D  E  F  G  H  I  J K  1 あ い う  え  お  か  き  く け  こ   2 ○       ○       ○    ○  ○ 3   ○      ○    ○  ○ K2セルには、○印のついている あ え き け こ と改行して出力されるように関数を組むにはどうしたらいいのでしょうか? =IF(A2=○,A1&"","")&IF(B2=○,B1,"")&IF(C2=○,C1,"")&IF(D2=○, D1,"")&IF(E2=○,E1,"")&IF(F2=○,F1,"")&IF(G2=○,G1,"")&IF(H2=○,H1,"")&IF(I2=○,I1,"")&IF(J2=○,J1,"") と入力してみましたがうまくいかず、これではうまくいったとしても 改行なしで あえきけこ と出てしまう気がします・・・。 一晩悩みましたがどうしてもうまくいかないのでどなたか教えてください。 よろしくお願いいたします。

  • エクセルのデータ並び替え

    列(A)に1000個あるデータを、4列X250行に自動的に並び替える方法はありますか? つまり A   A B C D B   E F G H C ⇒ I J K L D   M N O P E   ・ ・ ・ ・ ・ ・ ・ と、並べかえたいのですが、いい方法はありませんでしょうか?

  • Excel 条件で足すセルを自動的に変える方法

    ///////////////////////////// A1に“0”か“-2(マイナス数値※2は例)”が入る場合には、H1に「=B1&C1&D1&E1&F1」という結果。 B1に1以上の数字が入る場合には、H2に「=B1&D1&F1&G1」という結果。 ※B1~F1には文字列が入っています。 ///////////////////////////// という感じでA行セルの内容によって、 足す(&)対象にするセルを自動的に変えたいと思います。 上記の“H1”や“=B1&C1&D1&E1&F”などは例ですが、 「0」か「1以上の数字(1や100等)」が入る事は確定しています。 こういった処理はIF文になるのでしょうか? 初心者な故、ご回答頂く際に不足なことがございましたらお伝え下さい。 よろしくお願い致します。

  • エクセルの使い方についてお教えください。

    エクセルの使い方についてお教えください。 例えば、 a | b | f c | g | j d | h | k | m e | i | l | n | o | のように、右肩下がりになっている列を、 a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | のように一列にまとめる方法は無いでしょうか? 何卒よろしくお願いいたします。

  • エクセルデータの並び替え

    A列に 1 2 3 4 5 6 7 ・・・・・ B列に a b c d e f g h i j k l ・・・・ と文字列があります。 これを C列に 5つずつデータをセットにして並べたいのです。 A列    B列           C列 1     a      1 a   2 b  3 c  4 d  5 e 2     b      6 f   7 g  8 h  9 i  10 j 3     c      11 k  12 l  13 m  14 n  15 o 4     d      16 p   17 q  18 r  19 s  20 t 5     e      以下同じように続く 6     f 7     g 8     h 9     i 10     j 11     k 実際のC列のデータは トマト tomato  ネコ cat   机 desk  いす chair  かばん  bag  のようにしたいのです。 関数の扱いがわからずに苦戦しています。どうぞ、よろしくお願いします。

  • excelのセルの並べ替え。

    Excelの操作で迷っています。詳しい方の知恵を拝借できたらと思います。 以下のようにデータの入力されたセルが並んでいます(アルファベット1文字が1セルです)。 A B C D E F G H I J K 横に何セル並んでいるかは、行によってまちまちです。このようなデータが、数千行あります。これを、以下のように1列に並べ替えたいのです。 A B C D E F G 「行列を入れ替えてコピー」ではなかなかに大変なので、何か良い方法を探しています。よろしくお願いいたします

専門家に質問してみよう