• 締切済み

Excelについ教えてください!

会社で、アルバイトの勤務時間を処理しなくてはなりません。 下記のようなexcelのファイルが1か月単位であがってきます。    A   B   C   D 1  4/10 山田 16:00 退勤 2  4/10 佐藤 14:00 出勤 3  4/10 田中 14:00 退勤 4  4/10 山田 12:00 出勤 5  4/10 田中 9:00 出勤 6  4/9 田中 16:00 退勤 7  4/9 佐藤 15:00 退勤 これを、   A   B   C   D 1    出勤 退勤 2 4/9 ●● ●● 3 4/10 ●● ●● 4 4/11●● ●●     このように別シートに個人毎に日報として抽出したいのですが、うまくいきません。 vlookupだと一つの条件しか指定できませんよね・・・? 例えば、4/10の、且つ、山田の、且つ”出勤”の時間を(B3に)絞り出すなんてことはexcelの関数ではできないのでしょうか? よろしくお願いします。

みんなの回答

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

回答No1です。 シート2の出勤や退勤の時刻はシリアル値で表示されますのでそれらの範囲を選んで右クリックし「セルの書式設定」の「表示形式」で時刻から表示を選択してください。

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

分かり易くパソコンにも負担のかからない方法は作業列を作って対応することです。 お示しの元のデータがシート1に有るとしてA1セルには日付、B1セルに氏名、C1セルに時刻、D1セルに出退勤別のそれぞれ項目名が有り、下方にそれぞれのデータが入力されているとします。 E2セルには次の式を入力して下方にドラッグコピーします。 =A2&B2&D2 作業列が目障りでしたらE列を選択したのちに右クリックして「非表示」を選択すればよいでしょう。 そこで例えばお求めの表をシート2に作るとして、A1セルには氏名の文字を入力し、B1セルには山田、D1セルには佐藤、F1セルには田中などと1列の間をおいて氏名を入力します。 2行目ではB2セルに出勤、C2セルに退勤、D2セルに出勤、E2セルに退勤…と文字を並べます。 A3セルから下方には日付を例えば4月の実績でしたら4/1から4/30までを入力します。 B3セルには次の式を入力して右横方向に氏名の数に応じてドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(COUNTIF(Sheet1!$E:$E,IF(MOD(COLUMN(A1),2)=1,$A3&B$1&B$2,$A3&A$1&B$2))=0,"",INDEX(Sheet1!$C:$C,MATCH(IF(MOD(COLUMN(A1),2)=1,$A3&B$1&B$2,$A3&A$1&B$2),Sheet1!$E:$E,0)))

関連するQ&A

  • エクセルについて質問です。

    自分は2003を使用しています。 「シフト表」と「日報」の二つのエクセルの保存ファイルがあります。 そこで、 VlookUpを使用し、シフト表の例えば 1 .田中 08:00 17:00 を日報に反映させます。 そこで日報には 1を入力すれば、 田中 08:00 17:00 と出てきます。 これは、名前 出勤時間 退社時間を表しています。 そこでこの日報の退社時間に残業の時間を加えたいのです。 セルを増やせばできそうなのですが、そのまま退社時間のセルに残業時間を加えた時間を表示させたいのです。 もし、A1    B1    C1   D1(残業時間)    田中  08:00  17:00  3:00 これを  田中  08:00  20:00   3:00 とさせたいのです。 日報の20:00の欄にはvlookupの関数がつけられているのでやはり時間を変更させることはできないでしょうか。 うまく伝わらなかったらすみません。 もしよろしければ教えてください。

  • エクセルで2つの条件を元に

    エクセル2007で名簿を作っています。 1ヶ月ごとにメンバーの順が変わります。 シート1(番号順に名簿を作りました)   A  B   C  1 1     山田 2 2     木村 3 3 副長 佐藤 4 4     鈴木 5 5 班長 田中 6 6     長田  シート2(こちらがメンバーに配る名簿です)   A   B  C   D 1 班長    1    3 2 田中    山田  鈴木 3 4 副長    2    4 5 佐藤    木村  長田 A2に田中,A5に佐藤を選んでくるのはvlookupで成功しました。 質問したいのは C列D列に上記の番号のようにシート1の名前を入れていきたいのですが,田中,佐藤の分を抜いた上で番号の若い順に選んできたいのです。 どのような関数をどのように使えば成功するでしょうか。  

  • エクセルのデータ並べ替え(抽出)の方法

    エクセルのデータ並べ替え(抽出)の方法 を教えてください。 下記のようなデータがあるとします。   A    B    C   D 1 田中  東京  千葉  福岡 2 山田  京都  滋賀 3 佐藤  奈良  青森  USA 4 鈴木  カナダ 愛媛 A列は名前、B列以降は文字列です。B列以降はC列までの行、D列までの行とさまざまです。重複セルはありません。 これを下記のように並べ替えたいです。   A    B    C   D 1東京  田中 2千葉  田中 3福岡  田中 4京都  山田 5滋賀  山田 6奈良  佐藤 7青森  佐藤 8USA   佐藤 9カナダ 鈴木 10愛媛  鈴木 こういうことは可能でしょうか??? 教えてください。 よろしくお願いします。

  • エクセル:別ファイルからの抽出

    エクセル:別ファイルからの抽出 エクセルにて、 あるファイルに A  B    C No 月    氏名    1 2010/11  佐藤 2 2010/10  山田 3 2011/12  田中 4 2010/10  田中 ・ ・ とあり、それを別ファイルで 2010/10とセルに入力してやると、B列の2010/10だけ抽出して 一覧にしてくれるようにしたいと考えております。 関数またはVBAにて処理する方法はありますでしょうか? A  B    C No 月    氏名    2 2010/10  山田 4 2010/10  田中 ・ ・ ※別ファイルにおいては順番は関係ないので、Noがなくても よいです。 恐縮ですが、お答え願えれば有難いです。

  • excelオートフィルタの検索条件をセルに入力したい

    以下のようなexcelのリストがあるとします。     A       B    C~ 1 佐藤・鈴木  Aタイプ 2 田中・山田  Bタイプ 3  佐藤     Aタイプ 4  田中     Cタイプ 5 山田・鈴木  Cタイプ A列の"田"が含まれる行を抽出したい場合 オートフィルタをかけ、オプションの抽出条件の指定で "田"を含む、で検索すれば良い、というのはわかります。 ですが、この動作をもうちょっと簡単にできないかと思っています。 具体的には、以下のようにセルに入力して検索・抽出するとはできないでしょうか。     A       B    C~ 1   田 2 3 4   A       B    C~ 6 田中・山田  Bタイプ 8  田中     Cタイプ 9 山田・鈴木  Cタイプ (1、2行目=検索用 3行目=空き 4行目以降=リスト) 過去の質問で、同じようにセルに入力して抽出する方法を 聞いていた方がいらっしゃったので参考にしようと思ったのですが 方法がVBAを使ったもので、VBAの知識がまったく無いために さっぱり理解することができませんでした。 何か良い方法がありましたら教えていただけないでしょうか。

  • エクセルで2つの条件を満たした列をHLOOKUPで

    エクセルで、1行目と2行目の条件を満たした列をHLOOKUPで参照したいです。 人件費の表をつくっています。 給与明細の名前の欄をプルダウンで変更可能にし、名前を変えればその人の出勤時間が表示されるようにしたいです。 時間を記入するシート1は下のようになってます A     B     C     D 山田   山田   鈴木   鈴木 出勤   退勤   出勤   退勤 14    21    18    23 16    21    18    22 15    23    17    23 16    22    17    21 1行目が氏名 2行目が出勤か退勤か 3行目以降が時間記入欄です。 別シート2に給与明細がありまして A     B     C 氏名   山田 出退   出勤   退勤 1日   14    21 2日   16    21 3日   15    23 のように参照されています 氏名の「山田」の部分がプルダウンリストで選べるようになっていて この氏名の部分を「山田」から「鈴木」に変更すると自動的に出勤と退勤の時間が「鈴木」のものへ変更になるようにしたいです。 やりたいことは以下の事です シート2の氏名が「山田」であれば例のシート2のまま シート2の氏名の部分を「山田」から「鈴木」へ変更すれば B4、B5、B6セルは18、18、17に変わり C4、C5、C6セルは23、22,23に変化するようにしたいです。 関連しそうなIF,AND,MATCH,HLOOKUP等組み合わせてみましたが、どうもうまくいきません。 わかりづらいと思いますが、是非教えて頂ければ幸いですので宜しくお願いします。

  • エクセルで、次のような自動入力をしたい

      A    B    C    D   E  ・・ AA 1 田中 鈴木 佐藤          山田 2 鈴木 山田              海岡 3 田中 佐藤              佐藤 というような表があり、AAの列に名前を入力したとき、 D1に「山田」、C2「海岡」と、その行に関してAA列に新規の名前が入力されたときにD1,C2に自動入力することは、VBAで簡単にできますか? 3列目には「佐藤」さんがすでいるので入力不要です。 よろしくお願いします。(マクロ初心者です)

  • エクセルでグループ分け

    お知恵を貸してくださいよろしくお願いします。 A:グループ名 B:性別 C:名前 が100人分横で入っています。 それを、グループごとに分けて、縦の一覧にしたいのです。   A B C 1 A 男 佐藤 2 C 女 山田 3 B 女 田中 4 A 女 鈴木   ↓(別シートに)   Aグループ   Bグループ   Cグループ 1 男 佐藤    女 田中    女 山田 2 女 鈴木 3 4 このように抽出して、並び替えることを関数をつかってできないでしょうか。よろしくご教示ください。

  • 【EXCEL】シフト表から休みの日だけを抽出する方法をご教授ください。

    いつも大変お世話になっています。 申し訳ありません。どなたかお力をお貸しください。 1ヶ月のシフト表から休みの日を抽出したいのです。 休みの日の記号は常に【X】です。(=Xを抽出したいのです) 出勤日の記号は英数字で、最大5桁まであります。 【拡大図】   A  B    C      D      E      F 1 No 氏名  2009/4/1 2009/4/2  2009/4/3 2009/4/4    2 123 山田   A      B     B      B 3 124 佐藤   A      B     B      X 4 125 田中   X       X     A      A 5 128 清水   C       B     X      A 6 025 上田   C       B     X      A 【縮小図】 A  B   C DEFGHIHIJKLMNOPORSTU 1  NO 氏名 日日日日日日日日日・・・・・・ 2 123 山田 ABBBAXXAAAAAXXBBBBBXXAAAAAXXAA 3 124 佐藤 ABBXXAAAAAXXBBBBBXXAAAAAXXAABB 4 125 田中 BXXAAAAAXXBBBBBXXAAAAAXXAABBAA 5 128 清水 CBXABBBBXXXBBBBCCCCXAAAAAXXXAA 6 025 上田 CBXABBXBAAABBXBCXCCXAAAAAXXXAA 【やりたいこと】 ※No(=社員No)、氏名、休みの日を別シートに表示したいのです。 ※オートフィルタを使って、日毎に手動でやることは避けたいです。    A  B   C 1  No 氏名 休日     2  123 山田 2009/4/6 3  123 山田 2009/4/7 4  123 山田 2009/4/13 5  123 山田 2009/4/14 6  123 山田 2009/4/20 7  123 山田 2009/4/21 8  123 山田 2009/4/27 9  123 山田 2009/4/28   10 124 佐藤 2009/4/4 11 124 佐藤 2009/4/5 12 124 佐藤 2009/4/11 13 124 佐藤 2009/4/12   ・   ・   ・   ・   申し訳ありませんが、 どなたかご教示をお願いします。

  • エクセルで・・・

    エクセルで以下のシートがあります。 A   B  C  D 小林  ●  ●  ● 田中 佐藤  ●     ● このシートで、B/C/D列に数にかかわらず、一つでも『●』が入っていたら、1とカウントしたいのです。上のシートでいけば、小林は『1』、田中は『なし』、佐藤は『1』で、合計『2』とカウントしたいのです。どのような関数を使えばいいでしょうか?宜しくお願い致します。