エクセルで特定の曜日のセルに文字を入力する方法

このQ&Aのポイント
  • 大人数のシフトを作成するのに時間がかかって困っています。マクロで、固定休だけでも自動で入力できないかと思い、質問させて頂きました。
  • エクセルの特定の曜日のセルに文字を入力する方法について教えてください。シフトの中で各従業員の固定休を自動的に入力したいです。
  • 大人数のシフト作成で困っています。特定の曜日のセルに固定休を自動で入力する方法を教えてください。
回答を見る
  • ベストアンサー

エクセルで特定の曜日のセルに文字を入力する方法

大人数のシフトを作成するのに時間がかかって困ってます。 マクロで、固定休だけでも自動で入力できないかと思い、質問させて頂きました。 添付画像の様なシフトがあり、B4~H6にはAさん~Cさんの固定休が入力されています。 (Aさんは月・金休み、Bさんは水・木休み、Cさんは火・土休み) これに対して、I4~AL6のシフトの各自の休みのセルを、自動的に紫色のセルで"公"と表示させたいです。 (Aさんは月・金休みなので、I4、M4、P4、T4・・・セルを紫色にして、"公"という文字を表示する。 Bさん、Cさんも同様のルールでセルを紫色、"公"という文字を表示する。) また月が変われば曜日も変化しますが、ここは関数で対応できました。 分かる方がいましたらお願いします。

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

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

マクロを使わなくとも関数などで対応してはいかがでしょう。 I4セルに次の式を入力して右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(INDEX($B4:$H4,MATCH(I$3,$B$3:$H$3,0))="○","公","") その後にそれらの範囲を選択したのちに「フォーム」タブの「条件付き書式」から「新しいルール」をクリックします。 「指定の値を含むセルだけを書式設定」を選択して「セルの値を」の右の窓を「次の値に等しい」にして次の右の窓には「公」を入力します。 同じ画面の「書式」をクリックして「塗りつぶし」のタブから紫色を選択してOKします。 この方法ではすべてのセルに式が入力されますので表を実際に使用する最初の段階で上記の操作を行っておく必要がありますね。その後は公と入力されているセルには変更を加えないないことが必要です。 なお、どうしてもマクロにするのでしたら上記の操作をマクロの記録で記録して使用すればよいでしょう。

rutohamuni
質問者

お礼

ありがとうございました。対応できました。

その他の回答 (1)

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

 2月のAL列等の様に3行目に曜日が入力されていない場合でも有効な方法です。  まず、I4セルに次の関数を入力して下さい。 =IF(ISERROR(1/(HLOOKUP(I$3,$B$3:$H4,ROWS($3:4),FALSE)="○")),"","公")  次に、以下の操作を行って、条件付き書式を設定して下さい。 【Excel2007よりも前のバージョンの場合】 I4セルを選択   ↓ メニューの[書式]ボタンをクリック   ↓ 現れた選択肢の中にある[条件付き書式]をクリック   ↓ 現れた「条件付き書式の設定」ダイアログボックスの左端の欄をクリック   ↓ 現れた選択肢の中にある「セルの値が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの左から2番目の欄をクリック   ↓ 現れた選択肢の中にある「次の値に等しい」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの右端の欄に ="公" と入力   ↓ 「条件付き書式の設定」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[パターン]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 紫色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[OK]ボタンをクリック 【Excel2007以降のバージョンの場合】 I4セルを選択   ↓ Excelウィンドウの[ホーム]タブをクリック   ↓ 現れた「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[新しいルール]をクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[指定の値を含むセルだけを書式設定]をクリック   ↓ 「次のセルのみを書式設定」欄の中にある左端の欄をクリック   ↓ 現れた選択肢の中にある「セルの値」をクリック   ↓ 「次のセルのみを書式設定」欄の中にある左から2番目の欄をクリック   ↓ 現れた選択肢の中にある「次の値に等しい」をクリック   ↓ 「次のセルのみを書式設定」欄の中にある右端の欄に ="公" と入力   ↓ 「条件付き書式の設定」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 紫色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[OK]ボタンをクリック  次に、I4セルをコピーして、J4~AM4の範囲に貼り付けて下さい。  次に、I4~AM4の範囲をコピーして、同じ列の5行目以下に貼り付けて下さい。  以上です。

rutohamuni
質問者

お礼

回答ありがとうございました。NO1さんの回答で問題が解決しました。

関連するQ&A

  • エクセルで曜日に応じた文字を自動で入力したい

    エクセルでシフトを作成しています。 曜日によって出勤するかしないかがほぼ決まっているので、曜日に応じて休日か出勤かを自動で入力したいのですができますか? 現状、A1に月、C1に年を入力し、それをもとにA4から縦に日付を、B4から縦に曜日を表示させています。 たとえば、ある人は火曜と金曜がお休みなので、 B4が火曜日か金曜日の場合H4に●(休日の意味)を入力それ以外の曜日の場合は1100-2015を入力。 のような感じにしたいです。 また別の人はB4が月・木・金・日の時、N4に●。 B4が火・土の時、N4に1200-2100、 B4が水の時、N4に1800-2100を入力したいです。

  • <出来ない?> 別々のセルに年月日を入力し、曜日の自動計算

    A1に年(平成)、B1に月、C1に日を入力し、D1に曜日を自動で表示できますか?自分なりに色々調べましたが、年月日を別々のセルに入力してしまうと、曜日の自動計算は出来ないようでしたので、教えてください。よろしくお願いいたします。

  • エクセルで曜日を自動で表示させる

    苦戦してます。教えて下さい   A   B  C  D   E  F   G  H   I 1 平成 21 年  4  月  4  日  ■  曜日 2 3 上のように表を作成し A2セルに =A1&B1&C1&D1&E1&F1&G1 と入力し 平成21年4月4日と表示させました。 A3セルには =A2 と入力し、セルの書式設定を aaa にして曜日を表示させようとしたんですが、平成21年4月4日 としか表示されません。 最終的にはH1セルに =A2を入力して曜日を自動表示させるつもりでいたんですが、どうすればうまくいくのでしょうか?

  • Excel 特定の文字列間のセルの個数を数える方法

    Excelの関数を用いて以下のような処理は可能でしょうか。 A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U| A|B|C|B|C|A|C|A|B|B|C|A|B|B|B|C|A|C|B|A|3| セルA1からT1にはA,B,Cどれかの文字列が入っています。Aの文字列と次に現れるAの文字列との間にセルが3個以上あれば、U1のセルにその現れる回数が表示される。(上記の場合"3") このようなことが、関数だけでできるでしょうか。 もしできるようでしたらそのやり方をご教授ください。 よろしくお願いします。

  • エクセルでセルに入力されている特定の文字を数える関数はありませんか

    エクセルでセルに入力されている特定の文字を数える関数を探しています。 例えばセルに AAABCC ABC AA と入力されていたら別のセルの表に A B C 3 1 2 1 1 1 2 0 0 と表示させたいのですが。 何か方法はありますでしょうか。

  • 【エクセル】各セルに入力している文字を、あるセルに足して表示させる方法

    たとえば、 A1のセルに「今日は」 B1のセルに「とっても」 C1のセルに「よい天気」 と文字が入力されていたとして、 D1のセルに「今日はとってもよい天気」 と表示させるためにはどうしたら良いでしょうか? どなたかご存じの方がいらっしゃいましたら、 どうぞどうぞお助けくださいっ!!!

  • あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように

    お世話になります。 表題の通り、 あるセルに特定の文字列を打つと、 他のセルにあらかじめ決められた文字が自動入力するようにしたいです。 具体的に言うと、 (1)セル(A,1)に「キリン」と打ち込むと    A   B   C   D 1 キリン 2 3 4 (2)1列目の B,C,Dに予め決めておいた文字が入力されるようにしたい    A   B   C   D 1 キリン 首  長い  アフリカ 2 3 4 のです。 エクセルで可能でしょうか? 詳しい方よろしくお願いいたします!

  • EXCELのセルや文字色の反映

    例えばA1のセルに入力した値をB1に自動的に反映したい場合はB1に=A1と入力すれば反映されますが、A1のセルの色や文字色を変更したらB1に自動的に反映される方法がありましたら教えてください。

  • エクセルで入力のあるセル=1にする方法

    エクセル2003を使用してます。 あまり使ったことがないので基本的なことだったらすみません…。 数字入力のあるセルを認識して別のセルに『1』と表示させる方法はありますか? 《例》 (入力するセル)     (表示するセル) A1 1        B1 1 (A1~A5を認識) A2 1        B2 1 (A1のみ認識) A3 2        B3 1 (A2~A5を認識) A4   (入力なし) A5 1 (入力するセル)     (表示するセル) A1 1          B1 1 (A1~A5を認識) A2   (入力なし)  B2 1 (A1のみ認識) A3   (入力なし)  B3   (表示なし)(A2~A5を認識) A4   (入力なし) A5   (入力なし) こんな感じにしたのですが、何かできる手段はありますか?

  • セルに入力されている文字をくっつけたい。

    エクセル2010です。 よろしくおねがいします。 セルE15~E23に入力されている文字を ひとつにくっつけて 表示したいんですが・・・ 全部文字が入力されているときも あるのですが 入力がないときまあります。 その場合は D1には 何も表示しないようにしたいのです。 例えば E15にA       E16にB      E17にC  E18~E23は入力なしとして D1に ※文字です。→A・B・C と 一つのセルに表示させるには どういう関数になりますでしょうか? よろしくお願いします。

専門家に質問してみよう