• 締切済み

エクセル勤務表作成中なのですが・・・

初めて質問します。よろしくお願いします。 エクセル2003にて勤務表を作成しているのですが、こんな事ができるものなのでしょうか?     A    B   C   1 H18年  8月  2  21   月   出勤  3  22   火   出勤  4  23   水   休み   ・   ・   ・ 32  20   日   休み シート1にこの様な表を作り、シート2の1つののセルに休みの日付を自動的に抽出したいのですがこの様なことは可能でしょうか? ちなみにA1,B1には数字のみの入力で表示形式で年月を表しています。A2には=DATE(A$1+1988,B1,21)という関数で日にちを表示、A3以降は=A2+1というようにして表示しています。曜日は=IF(A2="","",WEEKDAY(A2))という関数で表示しています。 私エクセル関数に関してはあまり詳しくありません。この表もフリーソフトで入手したものを使用しています。 よろしくお願い致します。

みんなの回答

  • NCU
  • ベストアンサー率10% (32/318)
回答No.2

> 私エクセル関数に関してはあまり詳しくありません。 記載された数式から十分わかります。 > この表もフリーソフトで入手したものを使用しています。 ん? それにしては数式が???? 「1つののセルに抽出」のイメージが湧かないのですが、どういう事でしょう? オートフィルタやフィルタオプション向きなのですが、それではダメなのでしょうか?

gi-mitu
質問者

補足

補足いたします。 のが1つ多かったですね。すいません。1つのセルに抽出というのは、例えば8/23,30,9/20を勤務表に『休み』と入力すれば別シートのセルに休んだ日にち(例えの場合だと、8/23,30,9/20)が自動的に表示されるようにしたいのです。 オートフィルタ,フィルタオプションも詳しくありません。関数にこだわっている訳ではないので、よろしくお願いします。

  • 134
  • ベストアンサー率27% (162/600)
回答No.1

例えば…ということで… A列を抽出の計算用にお借りします。 A2セルに =if(d2<>"休み","",max(A1:$a$1)+1) と入力して、計算式を下までコピーします。 sheet2の1行目同じものをコピペするとしまして、 A2セルに =vlookup(row()-1,sheet1!$A$2:$D$32,2,0) で休みの日にちが =vlookup(row()-1,sheet1!$A$2:$D$32,3,0) で曜日が抽出されるのではないかと思います。 ちなみに、iserror文を入れて =if(iserror(vlookup(row()-1,sheet1!$A$2:$D$32,2,0)),"",vlookup(row()-1,sheet1!$A$2:$D$32,2,0)) とすると、エラー表示が消されます。

gi-mitu
質問者

お礼

ありがとうございます。さっそく試してみたいと思います。