• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:日付から別のシートにデーターを抽出する。)

日付から別のシートにデーターを抽出する方法についての質問

このQ&Aのポイント
  • 勤務表の特定のセルに入力された月数に応じて、月度の勤務表を表示する方法と、該当する月の日付を表示する方法について質問しています。
  • また、特定の日付の勤務情報を呼び出し、出勤する人の作業を指示する予定表を作成する方法についても悩んでいます。
  • 特に、日付が締めの関係で21日から翌月の20日までの範囲で並んでいる場合において、データを正しく流し込む方法を知りたいとのことです。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 各日付ごとのSheetレイアウトが判らないので、勝手に↓のような配置になっているとしてやってみました。 Sheet名は「21日」のように 半角数値&日 となっているとします。 画像の上側がSheet1とします。 Sheet1のA1セル(セルの表示形式はユーザー定義から 平成0年度 としておきます)は単に24という数値を入力。 E1セル(セルの表示形式はユーザー定義から 0月度勤務表 としておき)これも月の数値のみを入力。 A4セルの表示形式は日付にしておき =IF(DATE($A$1+1988,$E$1,ROW(A21))<=EDATE(DATE($A$1+1988,$E$1,20),1),DATE($A$1+1988,$E$1,ROW(A21)),"") B4セルは =IF(A4="","",TEXT(A4,"aaa")) という数式を入れ、A4・B4セルを範囲指定 → B4セルのフィルハンドルで34行目までオートフィルでコピーしておきます。 最後にD4セルに =VLOOKUP(D$3,INDIRECT(DAY($A4)&"日!$A:$B"),2,0) セルの表示形式は「時刻」としておき、列方向・行方向にオートフィルでコピー! 尚、日付Sheetに空白セルがある場合は「0」が表示されてしまいますので、 ツール → オプション → 「ゼロ値の表示」のチェックを外しておきます。 以上の操作で↓の画像のような感じになります。 長々と書きましたが参考になりますかね?m(_ _)m

yamagou
質問者

お礼

ご回答ありがとうございます。 私の考えてた通りのレイアウトで、そのものズバリ利用させて頂きます。 ありがとう、御座いました。

その他の回答 (3)

回答No.3

>6を入れると、この様に「6月度勤務表」と変換して欲しいという意味です。  文面と添付図でわかっていただけるものと思っていました。 こういうところをしっかり書いてくださると、回答者としてはたいへん助かります。シートの構造、数式、シート名、バージョンなど関係のありそうなことは、できるだけたくさんの情報をください。回答者は悩んでしまうし、前提条件を(なぜか)回答者が設定するのに、たいへん時間がかかります。とても簡単な方法があるのに大幅に回り道をしたり、長文を書くことになります。そのような質問は、回答も敬遠されがちです。ひどいときはご自分が何をしたいのか分からないとかおっしゃる質問者さんもいたりしますが(苦笑) なので、こちらも、だいたいで回答します。あとはご自分で組み立ててください。 E1セルには「6」ではなく「6月度勤務表」が入力されているとします。どこかのセルに「=substitute(e1,"月度勤務表",)」と入力してみてください。「6」が算出されます。次に、「=substitute(e1,"月度勤務表",)+0」としてみてください。「6」に変化します。「+0」の代わりに「-0」、「*1」、「/1」、「^1」としても構いません。数式中で、数値型を使用する必要がある箇所では、この処理をしてください。「=substitute(substitute("平成24年度","平成",),"年度",)」なら「24」が返ります。 DATE関数で「=date(24+1988,6,1)」みたいにすると年月日をつなげて、その日のシリアル値を返します。 「21日シート」のA3セルに「=a2+1」と入力。A2の翌日のシリアル値になります。そうすれば、大の月とか小の月とかは、考える必要ありませんね? 「出欠勤情報」とかいうデータを持ってくるのは、VLOOKUP関数なりを使ってください。

yamagou
質問者

お礼

ご親切な、回答とコメントありがとうございました。 大変参考になりました。 助かりました。 自分は、教えてもらうばかりの立場でしたので、回答者の立場が理解し切れていませんでしたが、回答する側の気持ちを考えて質問することが、回答者の手間を省いたり、回答する気を高めたりするばかりでなく、結局は質問した側に取っても、より実情に即した回答を素早く頂けることになり、双方が最高の状態で関わることができるという事を悟ることができました。 質問の回答とアドバイスについて、重ね重ねお礼申し上げます。 ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

A1に24 E1に6 を記入することにして(表示はてきとーに細工してください)。 簡単な方法としては A4: =IF(DATE($A$1+1988,$E$1,ROW(A21))>DATE($A$1+1988,$E$1+1,20),"",DATE($A$1+1988,$E$1,ROW(A21))) 以下コピー。 >もうひとつ 一つのご相談投稿では、ご質問内容は1つで。 単純に、各日のシートで DATE(一覧シート$A$1+1988,一覧シート$E$6+(自分の日付<21),自分の日付) をVLOOKUPしてやるだけのように見えます。 =VLOOKUP(DATE(一覧シート$A$1,一覧シート$E$6+(自分の日付<21),自分の日付),一覧シート!$A$4:$H$35,4) などのように。 #該当マス目にデータがないときにゼロを表示しないように、たとえばエクセルのオプションでゼロ表示をしないなど、適切に表示を調整します。

yamagou
質問者

お礼

ご回答ありがとうございました。 一度に、欲張り過ぎ申し訳有りません。 以後、注意致します。 早速、教えていただい通りにコピペして、解決しました。 ありがとうございました。

noname#204879
noname#204879
回答No.1

》 下記の勤務表のE6のセルに月数(この場合6)を入れると 》 「6月度勤務表」と表示し… 添付図は「6月度勤務表」なのに、「E6のセルに月数(この場合6)」が入っていないのはなぜ? しっかりしてください!

yamagou
質問者

補足

ご指摘ありがとう御座います。 6を入れると、この様に「6月度勤務表」と変換して欲しいという意味です。 文面と添付図でわかっていただけるものと思っていました。 ご容赦を。

関連するQ&A