- ベストアンサー
エクセルのVLOOKUP関数の検索値が数式の場合について
- エクセルのVLOOKUP関数について悩んでいます。数式の検索値を使用する場合に、結果が#N/Aになってしまう問題が発生しています。
- A列とB列には数式で計算された時刻が入力されており、C列はA列+B列という計算式が入っています。VLOOKUP関数の検索値としてC列を使用し、D列を参照し、E列にある時刻をF列に設定したいと思っています。
- しかし、検索値が数式セル同士を足し算した数式の場合、結果が正しく表示されず、#N/Aとなってしまいます。数式の検索値をVLOOKUP関数で使用することはできないのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> F列に=VLOOKUP(C列、D:E列、2、FALSE) まず、この式がマズイです。 検索値にC列全体指定しているのはおかしいです。 =VLOOKUP(検索値、D列:E列、2、FALSE) とします。 もし、C列と書いたのは言葉の綾で、C列の特定のセル番地を指定してあるなら、 N/Aエラーは「探したけどなかったよ」という意味です。 C列の値(つまりA,B列)とD列の値の整合性(シリアル値ですか?)がとれていないのだと思います。 A列とB列は計算結果のようですが、どのような式なのですか?
その他の回答 (2)
#1です。 > F列:勤務表には実際の退社時間ではなく、早出をプラスし、 > さらに休憩時間を考慮した時間を設定したいのです。 > VLOOKUPで検索値を午後の労働時間とし、 > 早出と休憩時間を考慮した退社時間を取得したいのです。 これを実現したいためにVLOOKUP関数を使う意味がわかりません。 また「休憩時間を考慮」とありますが、どう考慮するのでしょう。 要は、 実働時間としての退社時刻をを知りたいために、 退社時刻=定時出社時刻+午前中の実働時間+午後の実働時間+早出実働時間 としたいのでしょうか? なんだか、 「後で『退社時刻-出社時刻』で実働時間を簡単に計算したいために、退社時刻の算出に実働時間を計算している」 という無駄な二度手間をしているよにう思えてなりません。 実働時間を算出したいなら、 (定時出社時刻-実出社時刻)+(実退社時刻-午後始業時刻)-午後休憩時間 で算出できます。 何にしても、VLOOKUPの出番はないように思えますが...
#1です。 質問者さんは単に時刻と思われているようですが 時刻は独立したものではなく、内部的には「日付+時刻」の形式で持っていますので、 この日付の部分を計算式がフォローしていなのかもしれません。
補足
回答ありがとうございます。 詳細を書きますのでもしお時間があれば再度回答くださればうれしく思います。 社員の勤務表をエクセルで作成しています。 A列:早出の時間(定時より早く出社した場合の時間数) (計算式) 定時-出社時間 B列:昼休憩から退社までの時間 (計算式) 退社時間-昼休憩時間 *計算式は名前を定義たセルを使用。 C列:早出した場合、出社時間を定時にし、早出部分を退社後に加算させたい。 (計算式) A列のセル+B列のセル D列:午後の労働時間 E列:D列に休憩時間をプラスした退社時間 F列:勤務表には実際の退社時間ではなく、早出をプラスし、さらに休憩時間を考慮した時間を設定したいのです。 AからFはすべて書式は時刻で、形式はhh:mmです。 VLOOKUPで検索値を午後の労働時間とし、早出と休憩時間を考慮した退社時間を取得したいのです。 よろしくお願いいたします。
お礼
お忙しいところありがとうございました。 色々考えているうちに頭の中が複雑になってしまっていたようです。 一度頭を冷やして構想から考え直します。 ありがとうございました。