[[20150121130016]] 『エクセルの表のデータ抽出について』(you) ページの最後に飛ぶ

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

 

『エクセルの表のデータ抽出について』(you)

excelファイルで下記の2つのようなものがあったとします。

(ファイル1)出勤予定表

    1/21  1/22  1/23  1/24  1/25
Aさん 有休          有休
Bさん     有休
Cさん         有休
Dさん             有休

(ファイル2)勤怠稼働表(Bさんのシート)

日付    出勤   退社
1/21    9:00   15:00
1/22    
1/23    9:00   15:00
1/24    9:00   15:00
1/25    9:00   15:00

ファイル1で有休と入力があったら、ファイル2の時間を消したいのです。
(出勤(9:00)と退社(15:00)を消す)

excel初心者でVBAの知識はゼロなので、関数でどうにかしたいのですが、
どのようにしたら良いでしょうか?
教えてください。
よろしくお願いいたします。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


 素朴な疑問ですけど、そもそも有給なのに、
 なぜ時刻データが入っているんですか?

 数式でそうなるようにしているものですか?
 それとも手入力ですか?

 もし手入力データだったら、数式では消せません。
 ※条件付き書式で見えないようにするのが精一杯だと思います。(実体は不変)

(半平太) 2015/01/21(水) 15:52


回答ありがとうございます。
手入力です。
でしたら、Aさん〜Dさんまでの各シートが存在するのですが、
ファイル1で有休と入っている箇所の日付を取得することはできますか?

(you) 2015/01/21(水) 17:06


 >ファイル1で有休と入っている箇所の日付を取得することはできますか? 
 できますよ。

 でも現実問題としては、こんなのでいいと思います。(本当に4人しか居ないならですが・・・)

 Bさんのシートに下式を入力する
  ※数式を入力するとき、出勤予定表ファイルは開いて置いてください。
            ここは各人の名前に変更する
            ↓   
  (1) B1セル =MATCH("Bさん",[出勤予定表.xlsx]Sheet1!$A:$A,0)
  (2) B2セル =IFERROR(HLOOKUP(A2,[出勤予定表.xlsx]Sheet1!$1:$5,B$1,FALSE),"")&""
    B2セルの数式を下にコピーする

 <Bさん>シートの結果図         <出勤予定表のSheet1>サンプルデータ  
  行  ___A___  __B__  __C__  __D__    行  ___A___  ___B___  ___C___  ___D___  ___E___  ___F___
   1  日付        3   出勤   退社         1           1月21日  1月22日  1月23日  1月24日  1月25日
   2  1月21日         9:00   15:00        2  Aさん   有休                                有休   
   3  1月22日  有休                       3  Bさん            有休                              
   4  1月23日         9:00   15:00        4  Cさん                     有休                     
   5  1月24日         9:00   15:00        5  Dさん                              有休            
   6  1月25日         9:00   15:00

(半平太) 2015/01/21(水) 17:44


ありがとうございました。
すっきりと解決しました。
vlookupは使ったことがあっても、hlookupは初めてでした。
勉強になりました。
(you) 2015/01/23(金) 13:41

コメント返信:

[ 一覧(最新更新順) ]


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