[[20090507092543]] 『一週間ごとの名前の表示』(佐藤) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『一週間ごとの名前の表示』(佐藤)
     A                B            C              D                 E
1 日付     室内分析      室外分析      B2の欠員補充      C2の欠員補充
2  =TODAY()        田中          山田

D2、E2入力規則でリスト条件の設定で、
リスト名を4名入ります。

問題は、

月曜日〜日曜日まではB2は「田中」、
C2は「山田」を表示させ、

次の週(月〜日)まではB2は「山田」、
C2は「田中」を表示させたいのです。(1週間ごとの田中、山田の繰替えし)、

そして、
その週の担当がB2田中でC2山田で、
B2の田中が休んだ場合、
D2のリストが名前を選択して、
B2に表示

また、
C2の山田が休んだ場合、
E2のリストが名前を選択して、
C2に表示、

よろしくお願いします。

関数、マクロは、まだまだ初心者レベルです。

[エクセルのバージョン] Excel2002、

 [OSのバージョン]WindowsXP 


 >D2、E2入力規則でリスト条件の設定で、リスト名を4名入ります。 
 >問題は、 ・・・

 1.上段の部分に問題はないと解釈します。
   すると実際は、D2セルには既に名前が表示されていると云うことですね?(Yes/No)

 >その週の担当が B2田中で C2山田で、 B2の田中が休んだ場合、 D2のリストが名前を選択して、 B2に表示 

 2.田中がC2に当たる週で、田中が休んだ時は、どっちのセルの名前を表示させるのですか?(D2/E2)

 (半平太) 2009/05/07 11:18

 半平太さん、ありがとうございます。

1はYesです。

2は本来はE2のセルでと思ったのですが、 D2のみで出来るのであれば、
       一つのセルでやりたいのですが。

(佐藤)


 田中が休んだことは、エクセルにどう教えるのですか?

 B2またはC2のセルの入力規則で、D2(一人分だけ)の名前が選べるようにしてやり、人間がそれをクリックするのですか?

 (半平太) 2009/05/07 11:40

はい、その通りです。

翌日には、自動で田中に戻ればよいのですが、

翌日も、
田中が休めば、入力規則で、名前を選択したいのです。

(佐藤)


 >翌日には、自動で田中に戻ればよいのですが、 
 1.自動的ですか。VBAでないと出来ないように思えます。

 2.また、操作手順に無駄がある様に感じます。
   D2セルで4名から「某氏」を選び、B2セルでもまたそのD2「某氏」を選ぶのは、二度手間ではありませんか?

   毎日、とにかくB2かC2に田中を表示させ、休みなら4名のリストから「某氏」を選べば一回で済む様な気がするのですが?
                          ↑
                         実際には田中への再変更もあり得るので、田中を含めて5名のリスト

 (半平太) 2009/05/07 12:13

 一般機能で似たことを実現する方法として、以下のようなことを考えてみました。

 本命が休みの時は、左のセルに「D」と入力して、エクセルに「休み」であることを教えるやる案

 (1) C2セル =IF(MOD((A2-WEEKDAY(A2))/7,2),IF(B2="D",F2,"田中"),IF(B2="D",G2,"山田"))
 (2) E2セル =IF(MOD((A2-WEEKDAY(A2))/7,2),IF(D2="D",G2,"山田"),IF(D2="D",F2,"田中"))

  行 ____A____ ____B____ ____C____ ____D____ ____E____ _______F_______ _______G_______
   1 日付      D(=代替)  室内分析  D(=代替)  室外分析  田中の欠員補充  山田の欠員補充 
   2 2009/5/7            田中                山田      某中            山某           
   3 2009/5/7  D         某中      D         山某      某中            山某           
   4 2009/5/14           山田                田中      某中            山某           

 (半平太) 2009/05/07 13:04

半平太さん、説明不足ですいません。

1. VBAでもかまわない(私には、VBAのことは、記録しかわかりませんが)

2. D2セルで4名から「某氏」を選び、B2セルでもまたそのD2「某氏」を選ぶのは、二度手間ではありませんか?

    B2(室内分析者*田中)とC2(室外分析*山田)は表示するだけなのです。

(佐藤)


 >B2(室内分析者*田中)とC2(室外分析*山田)は表示するだけなのです。

 済みません。私には、よく解りませんので、他の回答者のレスをお待ち下さい。

 (半平太) 2009/05/07 15:26

半平太さん、色々、
ご足労かけました。

ありがとうございました。

(佐藤)


 あれー、誰からもレスがないですね (^^ゞ

 もう一度確認いたします。

 1.ある週で、「B2セルが山田」で、「C2セルが田中」 だとします。
   つまり、下図の状態です。

  行  ____A____  ____B____  ____C____  _______D_______  _______E_______
   1  日付       室内分析   室外分析   田中の欠員補充   山田の欠員補充 
   2  2009/5/7   山田       田中  ▼   (某中)           山某           

 2.ところがその日は「C2セルの田中」が休みになったとします。

 >> B2またはC2のセルの入力規則で、D2(一人分だけ)の名前が選べるようにしてやり、人間がそれをクリックするのですか?
 > はい、その通りです。 
     ↑
 (1) 上の回答に従えば、こうなります。↓
  行  ____A____  ____B____  ____C____  _______D_______  _______E_______
   1  日付       室内分析   室外分析   田中の欠員補充   山田の欠員補充 
   2  2009/5/7   山田       (某中)▼   (某中)           山某           

   そして、翌日(同じ週)、ファイルを開くと、元に戻る。↓
  行  ____A____  ____B____  ____C____  _______D_______  _______E_______
   1  日付       室内分析   室外分析   田中の欠員補充   山田の欠員補充 
   2  2009/5/8   山田       田中  ▼   (某中)           山某           

 > B2(室内分析者*田中)とC2(室外分析*山田)は表示するだけなのです。
      ↑
 (2) でも、上の回答に従えば、何も変わらない。田中と表示するだけだから。↓
  行  ____A____  ____B____  ____C____  _______D_______  _______E_______
   1  日付       室内分析   室外分析   田中の欠員補充   山田の欠員補充 
   2  2009/5/7   山田       田中       (某中)           山某           

 どっちが正しいのですか?

 (半平太) 2009/05/07 21:12

 >> B2またはC2のセルの入力規則で、D2(一人分だけ)の名前が選べるようにしてやり、
 >>人間がそれをクリックするのですか?
 > はい、その通りです。 
 とやり取りがありますが、違うんじゃないでしょうか。

 最初に
 >D2のリストが名前を選択して、
 >E2のリストが名前を選択して
 と書いておられるので、入力規則が設定されているのは
 D2,E2 だと思います。

 私は「次の週」という概念をどのように持ってくるのかがわからないので
 B2,C2にどちらの名前が入ればよいのかわからないのですが
 たとえば、B2が「田中」だった場合 B2に入れる数式は
 =IF(D2="","田中",D2)
 という式で良いのではないでしょうか?

 ただし、D2で名前を選んだ次の日に
 B2の表示を「田中」に戻したいのなら
 次の日にエクセルを開いて、D2の名前を
 削除する必要があります。

 担当者が休むことや、補充者が誰なのか
 そのあたりは当日にならないと分からないのでしょうか?

 使用方法がわからないので何とも言えませんが
 どこかに一覧表の状態で入力して
 該当箇所には当日のものを表示する
 ということにしておけば、作業はスムーズかもしれません。

 入力する場所と、表示させる場所を別にする
 という発想です。

 ・・・と読んだのですが、半平太さん 如何でしょう?

 (HANA)


 #HANAさんと衝突〜、ですがそのままアップします。

 シンプルに補充が必要ないときは、D2、E2 を空欄にしておけば
 B2=IF(D2="", IF(MOD((A2-WEEKDAY(A2))/7,2),"山田","田中"),D2)
 C2=IF(E2="", IF(MOD((A2-WEEKDAY(A2))/7,2),"田中","山田"),E2)
 とできませんか?

 週の判定は 半平太さんのをパクらせてもらいました^^;;。
 (Mook)

 半平太さん、HANAさん、Mookさん、
 ありがとうございます。
 私の不憫な文章で、申し訳なく思っています。

 行 ____A____     ____B____  ____C____  _______D_______  _______E_______
   1  日付       室内分析   室外分析   田中の欠員補充   山田の欠員補充 
   2  2009/5/7   山田       田中    某氏(入力規則)   某氏(入力規則)           

 行 ____A____     ____B____  ____C____  _______D_______  _______E_______
   1  日付       室内分析   室外分析   田中の欠員補充   山田の欠員補充 
   2  2009/5/11   田中       山田    某氏(入力規則)   某氏(入力規則)

 田中が欠員した場合、

 行 ____A____     ____B____  ____C____  _______D_______  _______E_______
   1  日付       室内分析   室外分析   田中の欠員補充   山田の欠員補充 
   2  2009/5/11   田中 ▼      山田   某氏(入力規則)   某氏(入力規則)

                  ↓

 D2の入力規則から

 行 ____A____     ____B____  ____C____  _______D_______  _______E_______
   1  日付       室内分析   室外分析   田中の欠員補充   山田の欠員補充 
   2  2009/5/11    某中●     山田   某中(入力規則)   某氏(入力規則)

                  ↓

 翌日には、

 行 ____A____     ____B____  ____C____  _______D_______  _______E_______
   1  日付       室内分析   室外分析   田中の欠員補充   山田の欠員補充 
   2  2009/5/12   田中        山田   某氏(入力規則)   某氏(入力規則)

 翌日も田中が欠員した場合、D2の入力規則から、
 某中を選択します。

 皆さん、気にかけてくださって、
 ありがとうございます。
 (佐藤)


行がズレてしまい、
申し訳ありません。

(佐藤)


 >行  ____A____  ____B____  ____C____  _______D_______  _______E_______ 
 > 1  日付       室内分析   室外分析   田中の欠員補充   山田の欠員補充 
 > 2  2009/5/7   山田       田中    某氏(入力規則)   某氏(入力規則)  

 1.田中の欠員補充欄に「某氏」と表示されているのに、
   B2セルが「田中」のままで居られる理屈が分かりません。

   もしかして「某中」を選択する前は、「某氏」ではなく空白になっているのですか?

 2.ある日、最初にファイルを開いたことを判断できる仕掛けが必要になりますが、
   その為には、A2セルが =TODAY() と云う数式では、まずいことになります。

   そこがいつも当日になってしまい、ファイルオープン日と比較するといつも一致するので、
   初回オープンか否か判断できなくなり、初期処理のタイミングがつかめません。

   このため、A2の日付はVBAで出して、単なる値にして置く必要があると思います。
   そうすれば、A2が昨日の日付なら、初回オープンと判断できるので初期処理ができ、
   その後、A2を当日の日付に変更できます。

 まぁ、レスがつながっていることが確認できましたので、私はこれで安心して退散できます。
 ご健闘を祈ります。

 (半平太) 2009/05/08 13:24

半平太さん、ご配慮

ありがとうこざいます。

皆さんの回答を元に、
頑張ってみます。

(佐藤)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.