エクセルでVLOOKUPを使用して残業時間を取得する方法

このQ&Aのポイント
  • エクセルのVLOOKUP関数を使用して、別のシートに記載されている残業時間を取得する方法について説明します。
  • 残業時間を細かく設定するため、別のシートに時間ごとの表を作成し、VLOOKUP関数を使用して入力できるようにします。
  • しかし、終了時間が18:15を超える場合には、正常に値が返されない問題が発生しています。その原因について調査を行っています。
回答を見る
  • ベストアンサー

エクセル VLOOKUPで別表の残業時間を返す

休憩時間の設定が細かくて、IF等で計算すると非常にややこしいので、別のシートに表を作成して、VLOOKUPで入れられるように設定しようと思いました。 ひとつのシート(シート名:残業時間)にA列に17:45、18:00、18:15…と15分ごとの時間が入力されていて、B列にはその時間まで働くと何分残業、という表があります。 ここではB1から0:15、0:30、というように15分ごとに増えていきます。 別のシートには仕事の開始終了時間があり、残業した際には何時間残業したかの数字を入力するようになっています(J列)。 なので、VLOOKUP(I17,残業時間!$A$1:$B$57,2,FALSE) (I列に終了時間が入力されています) しかし、終了時間が18:15までの場合はちゃんと返されるのですが、それより多い時間だと#N/Aが出てしまいます。 ソートはかけているし、シリアル値がどうのという理由なら18:00台の残業時間も返せないと思うのですが、原因がとにかく分かりません。 何か理由があるのでしょうか?

  • yesQP
  • お礼率84% (149/177)

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.1

「検索の型」を「true」にするとどうなりますか? Excelは、時刻を日付シリアルの「小数点以下」で入力していますので 計算誤差で値が合致しない可能性がありますので。

yesQP
質問者

お礼

ああ!いきました!あっさりと!! そういえばいつも"false"で、"true"ってなんだろうと深く考えたこともありませんでした・・・^^; ありがとうございました。

関連するQ&A

  • エクセルのVLOOKUPについて

    ご覧いただきありがとうございます。 下記の画像のような場合のVLOOKUPの使い方について教えて下さい。 【Sheet1】A列に【Sheet2】A列の文字が含まれていた場合に、【Sheet1】B列に【Sheet2】B列の数を入力するようにしたいと思っております。 【Sheet1】A列の文字数が少なく(列:◯◯)、【Sheet2】A列の文字数が多い場合(列:東京都立◯◯高等学校)は、 =IF(COUNTIF(Sheet2!$A$1:$A$6,"*"&A1&"*")=0,"",VLOOKUP("*"&A1&"*",Sheet2!$A$1:$B$6,2,0)) を入力したら出来たのですが、下記の画像のように、【Sheet1】A列の文字数の方が多い場合は、どのようにすればよいのでしょうか? 使用しているのはエクセル2010です。 ご回答宜しくお願い致します。

  • EXCELのVLOOKUPで

    アンチョコを見てC8のセルに「1直」と入力したら 勤務時間というシートのA列からI列までの中から2番目の行に あるデータを表示するということを次のように設定できました。 (説明あってるかな?) IF(C8="","",VLOOKUP(C8,勤務時間!A:I,2,FALSE))←D9のセルに入力 それで「直休」とC8のセルに入力した場合、 A~Iまでの行には何も表示してほしくないのです。 勤務時間のシートにはもちろん空白になってます。 ところが「直休」を選択するとA~Iに「0(ゼロ)」が表示されてしまいます。 「直休」と入力したらA~Iを空白にすることはできませんか? またできるならなんという式を入れればいいのでしょうか? よろしくお願いします。 わからないことがあればもちろん補足いたします。

  • エクセル VLOOKUP うまくできない

    シート1のA列に りんご みかん いちご シート2のA列に名前、B列に金額 りんご 100 みかん 200 いちご 300 と入力しています。 シート2から同じ名前の金額を探し出し シート1のB列に入力したいのですが うまくいきません。 シート1のB列に =VLOOKUP(A1,シート2!$A$1:$B$3,2) とし、下までオートフィルしました。 しかしシート1の結果は りんご 300 みかん 200 いちご #N/A となります。 シート1にも、りんごが100としたいのですが どうすればいいでしょうか? よろしくお願いします。 (図はシート1です)

  • ExcelのVLOOKUP関数で時刻を扱うと

    こんばんは。 提出用の勤務表を作ろうと思っています。 ほぼ同じフォーマットで、入力用(a.xls)と提出用(b.xls)のファイルが2つあります。 2つのファイルに入力するのも手間なので、VLOOKUP関数で時刻だけ呼びだそうとしましたが、0:00になります。 どうしてでしょうか。 A列に日付、B列に始業時間、C列に終業時間を入れています。 始業時間を呼び出すのは日付を検索値にしたので、関数式はVLOOKUP($A1,[b.xls]Sheet1!$A$1:$c$31,2,TRUE)で合っていると思います。 どちらも表示形式は"h:mm"です。

  • エクセル VLOOKUP について

    エクセルのVLOOKUP関数について質問です。 VLOOKUPでは文字列検索で、指定の値(文字列)を含むという検索値はできないのでしょうか? 現在A列に検索したいワードを含む文章が入っており、ワードを含む列の2番目のセル(Bの列)を 別シートへ呼び出そうとしたのですが、エラーになってしまします。 例えば、「りんご」という言葉を含む文章、含まない文章がある列で、検索値を「りんご」にして VLOOKUP関数を使用する事はできないのでしょうか? エラーになってしまうので、別シートにりんごと入力したセルを作成し、セル番号で指定してみたり、 書式設定を確認したりとしたのですが、成功しません。 もちろんFALSE(0)でもTRUE(1)でも試したのですが、できませんでした。 無理ですか?どこか自分が間違っていそうな点をご指摘いただけませんでしょうか?

  • 【エクセル】 VLOOKUPについて

    エクセル関数の VLOOKUPは範囲選択した表の左端の列しか検索対象に出来ないのでしょうか? 例えばSheet1に↓のような表があって     A      B     C     D     E 1 機種名   購入日   シリアルNo   メーカー名  ・・・・  2  X     07/01/01   123X         LLL 3  Y   07/02/03    456Y       MMM 4  Z   07/05/21    789Z        NNN 5  ・・・ 6  ・・・ Sheet2に↓のような表を作って、   A     B 1   シリアルNo   機種名 2   456 3   789  4   123 5    432 B列にVLOOKUPでsheet1の表から、シリアルNoに対応する機種名を表示 させることは出来ますか? 特にVLOOKUPにこだわってるわけではないので、他の方法でも出来る のであれば良い方法を教えてください。よろしくお願いします。

  • VLOOKUPで

    Excel2000を使っています。 Sheet1のB列に=IF(ISBLANK(A1),"",VLOOKUP(A1,Sheet2!A1:C100,2,0)) Sheet1のC列に=IF(ISBLANK(A1),"",VLOOKUP(A1,Sheet2!A1:C100,3,0))を入れてあります。 Sheet2のA列にはコード番号、B列には氏名、C列には住所が入っています。 Sheet1のA列に番号を入力すると、B,C列に氏名、住所が表示される表を作りましたが、Sheet2にデータを追加したら番号を入力しても、追加したメンバーについては、エラー表示(#N/A)が出てしまいます。 コード番号は頭にゼロが付くので、Sheet1のA列は文字列、Sheet2はすべて文字列にしてあります。 最初はうまくいってたのですが、後から追加した分だけがエラーになります。他のリストからデータをコピーし、値のみを貼り付けてだめだったので、手入力してみたのですがやはりだめでした。検索範囲を超えていることは絶対にありません。 どうしてもわからないので、質問させていただきます。 心当たりございましたらよろしくお願いいたします。

  • VLOOKUP()

    関数VLOOKUP設定でエラー#N/Aが出ます。 現在、範囲が別シートですがこれは何か別の入力が必要でしょうか? VLOOKUP=(A1、sheet1!B2:C100,2,0) で入力しています。 関数初心者です。

  • エクセルのVLOOKUPについて

    VLOOKUPで別のシートのセルから数字を引っぱってくる設定をしたのですが、その参照するセルが空白だった場合、0が表示されてしまいます。 空白のときは空白にしたいのですが、以下の関数にどう付け加えればいいですか? =VLOOKUP(B2,Sheet1!B4:I52,8,0)

  • VLOOKUPに関して教えてください

    EXCEL97です VLOOKUP関数で =VLOOKUP($B$1,SHEET!$A$2:$Q$30,2,0)という式を入力して次の列にコピーすると =VLOOKUP($B$1,SHEET!$A$2:$Q$30,2,0)とコピーしてしまいますよね 次の行には=VLOOKUP($B$1,SHEET!$A$2:$Q$30,3,0)にしたい時があるのでいつも 手入力で2→3に変更するかVLOOKUP式を入れなおしているのですが 手入力せずに2→3をコピーできる方法ってありますか? VLOOKUP式を使うことが多く毎回めんどくさくて・・・ どなたか教えてくださいませんか?

専門家に質問してみよう