エクセルでセルを参照して列を追加したい

このQ&Aのポイント
  • エクセルでセルを参照して列を追加する方法を教えてください
  • エクセルでセルの参照を使用して列を追加したいですが、どのようにすればよいですか
  • エクセルのセル参照を活用して列を追加する方法を教えてください
回答を見る
  • ベストアンサー

【再】エクセルでセルを参照して列を追加したい

前回説明不足だっ為、再質問させていただきます。 セルは変わりましたが、現在、以下のようなガントチャートを作成中です。     E   F   G   H   I 1  5/2   5 2 9/14   2   3    4   5 3       水  木   金  土 E1には開始日を入力 E2には終了日を入力 F1には=F2 F2には=E1 F3には=E1 G1には=IF(DAY(G2)=1,G2,"") G2には=F2+1 G3には=F3+1 H1には=IF(DAY(H2)=1,H2,"")でI列以降も続きます。 H2には=G2+1でI列以降も続きます。 H3には=G3+1でI列以降も続きます。 土日は条件付き書式でカラー表示されるようになっています。 現在は終了日を入力しても、列を選択して右に延ばせば、 終了日以降も表示されてしまい、 終了日が前倒しになっても9/14のままなので、 (現在の9/14が9/1になっても9/14まで表示されてしまう) E1E2に開始日、終了日を入力したら F列に開始日が表示され、最終日まで自動的に終了日までを表示したいと思っています。 また、月の表示は月初日だけで2日以降は見づらくなるため、 表示は避けたいと思っています。 以上のような状況なのですが、何かいい方法をご教示いただきたく、 よろしくお願いいたします。

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

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

 忘れていました、ANo.2において、F1~F3の各セルに対してセルの書式設定を行う前に、次の操作を行って下さい。 【Excel2007よりも前のバージョンの場合】 F1セルを選択   ↓ メニューの[書式]ボタンをクリック   ↓ 現れた選択肢の中にある[条件付き書式]をクリック   ↓ 現れた「条件付き書式の設定」ダイアログボックスの左端の欄をクリック   ↓ 現れた選択肢の中にある「数式が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの左から2番目の欄に =WEEKDAY(F1)=1 と入力   ↓ 「条件付き書式の設定」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[フォント]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 現れた色のサンプルの中にある赤色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[罫線]タブをクリック   ↓ 現れた「プリセット」欄の中にある[外枠]ボタンをクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[追加]ボタンをクリック   ↓ 現れた「条件2(2)」の左端の欄をクリック   ↓ 現れた選択肢の中にある「数式が」をクリック   ↓ 「条件2(2)」の左から2番目の欄に =WEEKDAY(F1)=7 と入力   ↓ 「条件2(2)」の[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[フォント]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 現れた色のサンプルの中にある青色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[罫線]タブをクリック   ↓ 現れた「プリセット」欄の中にある[外枠]ボタンをクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[追加]ボタンをクリック   ↓ 現れた「条件3(3)」の左端の欄をクリック   ↓ 現れた選択肢の中にある「セルの値が」をクリック   ↓ 「条件3(3)」の左から2番目の欄をクリック   ↓ 現れた選択肢の中にある[次の値に等しくない]をクリック   ↓ 「条件3(3)」の左から2番目の欄に ="" と入力   ↓ 「条件3(3)」の[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[罫線]タブをクリック   ↓ 現れた「プリセット」欄の中にある[外枠]ボタンをクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[OK]ボタンをクリック   ↓ F1セルを右クリック   ↓ 現れた選択肢の中にある[コピー]をクリック   ↓ F2~F3のセル範囲を範囲選択   ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせてから、マウスを右クリック   ↓ 現れた選択肢の中にある[形式を選択して貼付け]をクリック   ↓ 現れた「形式を選択して貼付け」ダイアログボックスの中にある[書式]と記されている箇所をクリックして、チェックを入れる   ↓ 「形式を選択して貼付け」ダイアログボックスの[OK]ボタンをクリック 【Excel2007以降のバージョンの場合】 Excelウィンドウの[ホーム]タブをクリック   ↓ F1~F3のセル範囲をまとめて範囲選択   ↓ 選択されているセル範囲を変えないまま、「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[ルールの管理]をクリック   ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」欄の中に =WEEKDAY(F1)=1 と入力   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[フォント]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 現れた色のサンプルの中にある赤色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[罫線]タブをクリック   ↓ 現れた「プリセット」欄の中にある[外枠]ボタンをクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ [件付き書式ルールの管理」ダイアログボックスの[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」欄の中に =WEEKDAY(F1)=7 と入力   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[フォント]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 現れた色のサンプルの中にある青色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[罫線]タブをクリック   ↓ 現れた「プリセット」欄の中にある[外枠]ボタンをクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[指定の値を含むセルだけを書式設定]をクリック   ↓ 現れた「次のセルのみを書式設定」欄の左端の欄をクリック   ↓ 現れた選択肢の中にある「セルの値」をクリック   ↓ 「次のセルのみを書式設定」欄の左から2番目の欄をクリック   ↓ 現れた選択肢の中にある[次の値に等しくない]をクリック   ↓ 「次のセルのみを書式設定」欄の左から3番目の欄に ="" と入力   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[罫線]タブをクリック   ↓ 現れた「プリセット」欄の中にある[外枠]ボタンをクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[適用]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック

orange1010
質問者

お礼

ありがとうございます。お返事が遅くなり申し訳ございませんでした。 思った通りに表示され、本当に助かりました。 ありがとうございました。

その他の回答 (2)

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

 まず、F2セルとF3セルには次の数式を入力して下さい。 =IF(AND(ISNUMBER(1/DAY($E$1)),ISNUMBER(1/DAY($E$2))),IF($E$1+COLUMNS($F:F)-1>$E$2,"",$E$1+COLUMNS($F:F)-1),"")  次に、F1セルに次の数式を入力して下さい。 =IF(ISNUMBER(F$2),IF(OR(COLUMNS($F:F)=1,DAY(F$2)=1),F$2,""),"")  次に、以下の操作を行って下さい。 F1セルを右クリック   ↓ 現れた選択肢の中にある[セルの書式設定]をクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[表示形式]タブをクリック   ↓ 現れた「分類」欄の中にある[ユーザー定義]をクリック   ↓ 現れた「種類」欄に m と入力   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック  次に、同様の操作をF2セルに対して行い、「種類」欄には d と入力してから、「セルの書式設定」ダイアログボックスの[OK]ボタンをクリックして下さい。  次に、同様の操作をF3セルに対して行い、「種類」欄には aaa と入力してから、「セルの書式設定」ダイアログボックスの[OK]ボタンをクリックして下さい。  次に、F1~F3のセル範囲をコピーして、F列よりも右側にある列の1~3行目の範囲に貼り付けて下さい。  以上です。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

現在のレイアウトをベースに(日付などがセルの書式設定で表示されているなら)以下のような数式に変更すればご希望の表示ができます。 G1 =IF(G2="","",IF(DAY(G2)=1,G2,"")) G2 =IF(F2<$E$2,F2+1,"") G3 =G2

orange1010
質問者

お礼

ありがとうございます。お返事が遅くなり申し訳ございませんでした。 思った通りに表示され、本当に助かりました。 ありがとうございました。

関連するQ&A

  • エクセルでセルを参照して列を追加したい

    以下のような表を作成中です。    B   C    D  E  F  G  H 3 開始  8/1            8  8 4 終了  11/30           1  2 5                     水 木 G3は=G4、G4は=C3、G5は=C3の式を入力してあります。 Hからは+1で表示されるようにしてあります。 開始の日付はこのような形でできたのですが、 終了が手作業になってしまいます。 C4の11/30を参照して、列を自動追加したいと思っているのですが、 どのような方法がありますでしょうか? マクロは少ししか経験がありません… どうぞよろしくお願いいたします。

  • 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を参照して列Cにそれに対応する文字列を表示

    列A,列B,列C 4,8,A 4,9,B 4,10,B 4,11,C 4,12,C 4,13,D 3,8,E 3,9,F 3,10,F 3,11,G 3,12,G 3,13,H 2,8,I 2,9,J 2,10,J 2,11,K 2,12,K 2,13,L 1,8,M 1,9,N 1,10,N 1,11,O 1,12,O 1,13,P 列Aに1~4,列Bに4~20の値を入れ、 列Cに、計算式で上記のような文字列を表示させたいのですが、 if関数のネストが7つまでらしく8つ以上が出来ません。 何か方法がありましたらお願いします。 =IF(AND(A2=4,B2<=08),"A" ,IF(AND(A2=4,B2<=10),"B" ,IF(AND(A2=4,B2<=12),"C" ,IF(AND(A2=4,B2>=13),"D" ,IF(AND(A2=3,B2<=08),"E" ,IF(AND(A2=3,B2<=10),"F" ,IF(AND(A2=3,B2<=12),"G" ,IF(AND(A2=3,B2>=13),"H"))))))))

  • エクセルの条件式について教えてください。

    タイムシート風お小遣い計算表を作っています。1日3時間以上お手伝いしたら750円、3時間未満なら500円、0時間なら空欄、という条件で、C列に開始時間、D列に終了時間、G列に休憩時間、H列に稼働時間をそれぞれ入力し、I列にお小遣いの金額を自動計算で表示させるようにしたいのですが、お手伝い0時間の時がきちんと反映されません。 I列のお小遣いの金額欄にこのように入力しました。 =if(H5>=3/24,750,if(H5<=3/24,500,if(H5=0/24,""))) 例えばC5に11:00、D5に16:30、H5は=D5-C5-G5で4:50、でも日曜日は開始時間も終了時間も休憩時間も稼働時間すべて0:00としている(入力忘れと区別するため)のですが、それでもI列のお小遣い欄に500と表示されてしまいます。 このような場合、どうやって条件式を修正したらよいでしょうか。 お知恵をお貸しください。よろしくお願いします。

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

    条件文で作成した文字列内に改行を入れる方法を教えてください。 下記のようなエクセル(以後、数百行あります)があり、○がついているところの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,B,C列にデータが入っています。 D,E,F列に参照のためのデータがあります。 A,B,C列はそれぞれD,E,F列に対応しています。 A,B,C列と同じ並びのデータが入っている行をD,E,F列から探し、その隣のG列の値をH列に返す。 D,E,F列の並びが重複する行はありません。 A,D列は場所の名前、B,C,E,F列には数字が入っている。 例) A1に事務室 B1に20 C1に3 が入っているとする。 D/E/F列が 事務室/20/3 の並びになっているのが10行目の場合、H1にG10のセルの値を返す。 この場合、H列にはどんな計算式を入れておけばよいのでしょうか? A,B,C列と同じ並びのデータがD,E,F列で見つからない場合は空白をH列に返す。 ちなみにD/E/F列が 事務室/20/3 の並びになっている行は10行目しかないです。 よろしくお願いします。

  • 別のセルの値を参照したとき

    別のセルの値を参照したとき いつもお世話になります。 Windows XP EXCELL2003 です。 1年間の顧客の宿泊状態を管理するためにG H列で同じ名前の顧客をカウントしています。 用途は後ほどダイレクトメールにて販促活動に使用します。 各セルには次のように 参照図(2)で G2 =IF(COUNT(入力!$F$2:$F$100)<ROW(B1),"",INDEX(入力!$B$2:$B$100,SMALL(入力!$F$2:$F$100,ROW(B1)))) H2  =IF(G2="","",COUNTIF($B$2:$B$29,"*"&G2&"*")) I2  =PHONETIC(B2) という数式が入っています。 A7:D7 に入力したとき、I7 (タカダ トミオ)のみが出ます。 G7:H7 は空白になるように数式がされています。 ここで問題になるのは I7 (=PHONETIC(B7) ば数式が入ったB7を参照しています。 数式(B列)が入ったセルにはどういう数式にすれば半角カタカナが可能でしょうか。 可能ならば是非ご指導を仰ぎたいです。 よろしく御願いします。

  • エクセル 3列おきに列を挿入したい

    いつもお世話になります。 1行目に営業所コードがあり、そのコードを3列おきに表示するにはどうしたらいいでしょうか。   A  B  C  D  E  F  G  H  I  J   2   3   4   5   7   8  11  12  14  15              ↓   A  B  C  D  E  F  G  H  I  J   2          3         4         5 営業所コードは2~150の数字で、100ほどの営業所コードが存在します。 よろしくお願いします。

  • エクセル2010 IF関数について

    以下のような表を作成中です。 H6 =H7 H7 =E10 H8 =E10 H9 =E10 H11 =IF(AND(H$8>=$E11,H$8<=$F11),"1",IF(OR(H$8>=$F11,H$8<=$G11),"2","")) H11の条件付き書式は以下のようになっています。 H11 =H11="1" 緑に塗りつぶし H11 =H11="2" 赤に塗りつぶし H11の関数についてご教示お願いいたします。 E11に開始日、F11に終了日、G11に遅延の日付を入力するようになっています。 G11に日付が入っていなければE11とF11の日付を、 G11に日付が入っていればE11とF11、F11とG11の日付を 条件付き書式でそれぞれ塗りつぶしたいのですが、 今のH11のIF文だと遅延の日付が入らなくても赤く塗りつぶされてしまいます。 G11が空欄なら・・・と付け加えたいのですが、うまくいかずに困っています。 そもそものIF文にも自信がないのですが、 上記のようなことが出来るようにするには、 どういった関数にすればよいのかご教示願います。 よろしくお願いいたします。

  • エクセル関数で列を挿入し同時に数式の列もずらしたい

    数式で =IF(COUNTIF(E1:H1,1)=0,1,IF(MATCH(1,E1:H1,1)=1,1,"")) をJ1に設定してます。 その後 J列に列挿入すると K1に=IF(COUNTIF(E1:H1,1)=0,1,IF(MATCH(1,E1:H1,1)=1,1,"")) がコピーされますが (E1:H1)を列挿入することで(F1:I1)にすることは可能でしょうか 列を増やすことが多々あるため挿入する列数の応じた ずれ方をしていきたいです。 何分に勉強不足のためご教授よろしくお願いします。

専門家に質問してみよう