• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:他シートを参照して元のシートのセルの色を塗りつぶすには?)

他シートを参照して元のシートのセルの色を塗りつぶすには?

このQ&Aのポイント
  • 作業日報の特定のセルの色を塗りつぶす方法が知りたいです。
  • 休日シートを参照し、祝祭日に該当するセルも塗りつぶしたいです。
  • 変数と関数(たとえばVLOOKUP)を使ってその処理を行う方法を知りたいです。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

年、月、日、曜日をそれぞれのセルに入力しているのでしょうか? であれば、あまり良いデータの持ち方とは言えません。 日付型にすれば計算も出来るし、セルの書式設定で好きな表示に出来ます。 例えば、 C1 に 2005/2/1 といれ、セルの書式設定で表示形式をユーザー定義にして yyyy"年" と入れる D1 に =C1といれ、セルの書式設定で表示形式をユーザー定義にして m"月" と入れる A3 に =C1といれ、セルの書式設定で表示形式をユーザー定義にして d"日" と入れる B3 に =C1といれ、セルの書式設定で表示形式をユーザー定義にして aaa(又は aaaa)と入れる A4 に =A3+1、B4に =B3+1 と入れて下にコピーし、表示形式をA3やB3と同じにする これで、C1だけ変更するとその月のデータに変わります。 あとは条件付書式で Weekday関数やMatch関数等を使えば希望の色付けはマクロを使わずとも可能だと思います。

ayukiko
質問者

お礼

返信が遅くなり申し訳ありません。 マクロではなくても出来ました。 作業日報のA列には日付の数字だけ入っていて(6行目から36行目まで) その隣の列には =IF(A6="","",DATE($C$1,$E$1,A6)) で、月と数字に対応する曜日を入れるようにしました。 ユーザー定義でaaaにしました。 土日の塗りつぶしは 休日シートの日付の列を名前の定義して 参照するようにしました。 うまく説明できてないですが、こんな感じで出来ました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel2007で他のシートを参照して自動で表を作成したいと思ってい

    Excel2007で他のシートを参照して自動で表を作成したいと思っています。 Sheet1には下記のようなシフトを作成しています。   A    B   C   D   E   F 1     1日  2日  3日  4日  5日 2 Aさん  1   2   1   4   1 3 Bさん  2   休   4   1   4 4 Cさん  1   4   2   1   1 5 Dさん  4   1   1   2   2 Sheet2からはシート名が1日 2日となっています。 それぞれのシート毎にその日付のシフトを並び替えて作成したいと思っています。 【1日のシフト(Sheet2)】 1 Aさん 1 Cさん 2 Bさん 4 Dさん 【2日のシフト(Sheet3)】 1 Bさん 2 Aさん 4 Cさん 休みのスタッフは表示しないように作成したいと思っています。 エクセルでこの様な作業は可能でしょうか。

  • VBA 他シートを参照しているセルのコピー

    お世話になります。 以下のシートがあります。 [sheet a]    A     B        C      D     E 1 2004 2005 2006 2007 2008 2 =b!A2 =b!C2 =b!E2 =b!G2 =b!I2 3 10 15 16 4 11 4 12 30 20 9 2 5 =SUM(A3:A4) =SUM(B3:B4) =SUM(C3:C4) =SUM(D3:D4) =SUM(E3:E4) [sheet b] A B C D E  F G H I J 2004 2005 2006 2007 2008 1 あ1 い1 う1 え1 お1 か1 き1 く1 け1 こ1 2 あ2 い2 う2 え2 お2 か2 き2 く2 け2 こ2 ・・・・・・・・・ [sheet a]F列以降に入れるデータは、VBA(マクロ)を使って、別のブックから取り出しています。 (例) F1…=E1+1(E1の数式をコピー) F3,F4…任意の値(別のブックからコピー) F5…=SUM(F3:F4)(E5の数式をコピー) 1行目,5行目の場合は左のセルをコピーして数式を貼り付けると、列が自動的に列が変わりますが、2行目の場合は元のシートを1行おきに参照しているので、単純にコピーしただけでは正しい数式が入りません。 2行目の参照をVBAで作るには、どのようにしたらいいでしょうか。 よろしくお願いします。

  • 他シートのセルのINDIRECTでの参照

    たとえば、"A"というシートがあるとします。このAシートのセルA1を、"B"シートのセルB1からindirect関数を用いて読み込みたいのですが、BのB2にAのシート名が入っていまして、それを参照する必要があります。BのB1に、  =INDIRECT(B2&"!"&A1) としたところ、セル範囲が無効というエラーがでてしまいます。 BのB1はその時々で参照するシート名を変更するため、他のシート名になったりもしますので、このような処理が必要になっています。 他のシートからは読み込めないのでしょうか? ちょっと分かりづらい書き方になっているかもしれませんが、おわかりの方は、よろしくお願いします。

  • 別のシートにデータを出す方法

    シート1に 番号 A1に1 A2に2 A3に3 A4に4 データ↓ B1に43 B2に45 B3に47 B4に55 C1に733 C2に890 C3に826 C4に94 D1に57 D2に67 D3に41 D4に52 E1に301 E2に104 E3に719 E4に441 という表があるとします。 番号1の場合は、B1の43、C1の733、D1に57、E1に301というデータです。 シート2の、 A3に、1という数字(シート1のA1の、1という番号)をいれれば、 シート2の B3に、シート1の、B1の43というデータ。 C3に、シート1の、C1の733というデータ。 D3に、シート1の、D1の57というデータ。 E3に、シート1の、E1の301というデータ。 がでるようにしたいのですが、 VLOOKUPを使ってできますか? どのような関数の立て方したらいいでしょう? XPのExcel2003です。 よろしくお願いしますm(_ _)m

  • シートの違うセルを参照したいのですが・・・

    Sheet1 A1  B1  C1  D1 Sheet2 F1 F2 F3 F4 Sheet1 A1 のセルには Sheet2 F1 のセルを Sheet1 B1 のセルには Sheet2 F2 のセルを 参照するような数式を作成したいと思っています。 お教えくださいますよう、お願いいたします。

  • Excelセル参照でシート見出し指定

    一例として、1月から12月までのシートが作ってあり、もう1枚別の集計用シート内で =VLOOKUP(B9,'10月'!$A$1:$D$10,2,FALSE) というような式を入れれば10月のシートから指定の内容を拾ってきますが、 集計用シートのB1に「9」と入れると、上記の式で自動的にB1セルを参照して9月のシートを指定する、というようなことはできるでしょうか。 よろしくお願いいたします。

  • VLOOKUPで他のシートを参照する場合

    シートが(1)「値表示」と(2)「データ」の2種類があります。 (2)にはB1:D4、B5:D8、B9:D12というように、セル12個分にそれぞれ独立したデータ表があり、このデータが全部で10個あります。 そして、このデータから任意の値を(1)「値表示」シートに表示したいので、(1)のセルA1に「=VLOOKUP(A2,データ!,B1:D4,2,FALSE)という式を入れます。 これで、(1)のA1(2)のシートのデータ表から任意の値が表示されるのですが、このA1に入力した式をコピーして、A10までそれぞれの表に対応したVLOOKUPの数式を入れたいのですが、普通にコピーするとA2以降に入力される式はデータの参照範囲がA1の範囲から1セル分だけずれたB2:D5となっています。A2が参照する範囲は本来はB5:D8にしたいので、一つずつデータの参照範囲を修正しないとならないのですが、このような場合は、やはり一つずつ修正するしか方法がないのでしょうか。 もっと、素早く参照先を変更できる方法がありましたら教えてください。

  • エクセルでSheet1の表を参照して条件に合った値を返したい

    エクセルでSheet1に   A   B   C 1 1月1日 10時 10 2 1月1日 12時 25 3 1月1日 14時 17 4 1月2日 10時 15 5 1月2日 12時 23 6 1月2日 14時 19 ・ ・ ・ というような表があります。 Sheet2に   A   B   C  D  1 日付  10時 12時 14時  2 1月1日  3 1月2日  ・ ・ ・ の表があり、Sheet2のB2からD3にSheet1の表を参照して 条件に合うC列の値を返したいのです。 (例えばSheet2のB2には、1月1日の10時なのでSheet1C列の10が入る) VLOOKUP関数等を使って試してみましたがうまくいきません。 ご教授お願い致します。

  • エクセルのセルを参照して別シートに張り付ける

    こんにちは。 エクセルのsheet1とsheet2があり、sheet1のセルに入力されている文字や数値をsheet2にコピーしたいと思っています。ただし、コピー先のsheet2のセルの値は、sheet1を参照するだけでなく文字や数値として表示できないかと悩んでいます。 図で説明すると  (sheet1)                →           (sheet2)   A    B    C     D           A     B    C     D 1あああ  10  いいい  えおう        1いいい  えおう  10    あああ 2あああ  10  いいい  かけこ       2いいい  かけこ  10    あああ 3あああ  10  いいい  みまつ       3いいい  みまつ  10    あああ  4あああ  10  いいい  さぐも        4いいい   さぐも   10    あああ また、上記のようにsheet1とsheet2の列は同じ場所ではありません。 このような作業を1回で行うことはできるのでしょうか? よろしくお願いします。

  • VLOOKUPで他のシートを参照する場合

    数式に間違いがあったので、前回の質問をいったん締め切って、再度投稿いたします。 シートが(1)「値表示」と(2)「データ」の2種類があります。 (2)にはB1:D4、B5:D8、B9:D12というように、セル12個分にそれぞれ独立したデータ表があり、このデータが全部で10個あります。 そして、このデータから任意の値を(1)「値表示」シートに表示したいので、(1)のセルA1に「=VLOOKUP(B1,データ!,B1:D4,2,FALSE)という式を入れます。 これで、(1)のA1(2)のシートのデータ表から任意の値が表示されるのですが、このA1に入力した式をコピーして、A10までそれぞれの表に対応したVLOOKUPの数式を入れたいのですが、普通にコピーするとA2以降に入力される式はデータの参照範囲がA1の範囲から1セル分だけずれたB2:D5となっています。A2が参照する範囲は本来はB5:D8にしたいので、一つずつデータの参照範囲を修正しないとならないのですが、このような場合は、やはり一つずつ修正するしか方法がないのでしょうか。 もっと、素早く参照先を変更できる方法がありましたら教えてください。