[[20210727122116]] 『エクセル関数を使ったシフト表の不具合について』(mari) ページの最後に飛ぶ

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

 

『エクセル関数を使ったシフト表の不具合について』(mari)

こんにちは。初めて質問をさせていただきます。

前任者から引き継いだシフト表で不具合が生じ、解決の糸口が見いだせず困っています。今までは、引継ぎ通り実施していて、何も不備がなかったのですが、この度不備が出てしまったのですが、そもそも関数自体が複雑すぎて対応できません。

シフトの仕組みについてはザっとまとめてみました。

?@シート4に職員の名簿が作成されています。
AはID,Bは職名、Cは氏名、Dは担当フロア、E〜Gは常勤概算の数値、Hが勤務形態(常勤、パート、契約社員など)です。

?A別シートに各月ごとのシフト表が作成されています。年度ごとにエクセルは新規にする為、各エクセルに4月〜3月までが存在しています。

?B各月のシフト表についてです。
A段に?@で作成したIDを打ち込みします。そうすると、I5から始まるシフト上に職員名が自動的に反映されます。I段は縦一列に職員名が自動反映される仕組みとなっています。

つまり・・・・
 ?@のシート4に職員のIDを指名を打ち込む
→各シフトのシートのA段にIDを打つ
→I段に職員名が自動出力される。

こんな感じです。

【今回の悩みについて】
新人職員が入った為、シート4に職員のID・氏名を打ち込みし、シフト表のA段に新しいIDを打ち込みしたのですが、I段の所に職員名が反映されません。
♯N/Aと表記されてしまいます。

どうしたらいいのでしょうか?

因みに、I段の数式は以下の通りです。
=IF(A7="","",VLOOKUP(A7,'E:\勤務表\[コピー勤務表.xlsx]社員名簿'!$A$1:$H$200,3,FALSE))

質問内容をまとめると・・
?@♯N/Aと出てしまう理由

?Aこちらの数式の解読について
=IF(A7="","",VLOOKUP(A7,'E:\勤務表\[コピー勤務表.xlsx]社員名簿'!$A$1:$H$200,3,FALSE))

よろしくお願いいたします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


「E:\勤務表\コピー勤務表.xlsx」の「社員名簿」シートをご確認ください
(参考) 2021/07/27(火) 13:56

 >=IF(A7="","",VLOOKUP(A7,'E:\勤務表\[コピー勤務表.xlsx]社員名簿'!$A$1:$H$200,3,FALSE))

 A7セルにあるIDが、社員名簿表のA1:A200にあったら、3列目の名前を取ってくる。

 なので、新人のIDが200行からはみ出したのが原因ではないかと推測されます。
 それが原因なら範囲の行数を増やせば解決となる。

 または、IDのデータの型が合っていない。
 数値と数字(文字列の一種)は同じように見えて、異なるものである。

(半平太) 2021/07/27(火) 14:03


もしかしたらですが
 >年度ごとにエクセルは新規にする為
新しいブックにコピーして使っているのですよね?
 >新人職員が入った為、シート4に職員のID・氏名を打ち込みし、
シート4はどこにあるのでしょうか?
新規の同じブックですか?
もしそうなら

「#N/A」エラーは、数式の参照先に値が見つからない時などに表示されるエラーです。

「=IF(検索値="","",VLOOKUP(検索値,範囲,列番号,FALSE))」
 =IF(A7="","",VLOOKUP(A7,'E:\勤務表\[コピー勤務表.xlsx]社員名簿'!$A$1:$H$200,3,FALSE))
範囲が 「'E:\勤務表\[コピー勤務表.xlsx]社員名簿'!$A$1:$H$200」となっていますが、それは
コピー元の範囲なのではないですか?
(単に今までは変更がなかったのでそれでよかったのでは。。。)

 職員のID・氏名を打ち込みしたシート4の範囲を指定すればいいのではないでしょうか。

 =IF(A7="","",VLOOKUP(A7,Sheet4!$A$1:$H$210,3,FALSE))とか

(檸檬) 2021/07/29(木) 17:43


 コピー勤務表.xlsxは開かれているのでしょうか。
 検証してみました
 上記の式をA1に貼り付けA7に適当に数字や文字を入れると♯N/Aになりました。
 VLOOKUPでは'E:\勤務表\[コピー勤務表.xlsx]のようなフォルダーやファイル名は指定できません
 >前任者から引き継いだシフト表で
 そのVLOOKUPも提示された形で引き継いだのですか。
 >?@シート4に職員の名簿が作成されています。
 コピー勤務表.xlsxの中にあるということですか。
(きがかり) 2021/07/29(木) 19:15

 >VLOOKUPでは'E:\勤務表\[コピー勤務表.xlsx]のようなフォルダーやファイル名は指定できません

 VLOOKUPとINDIRECT等他の関数の組み合わさった式だと両方開いておく必要がありますが、
今回の場合は開いてなくても大丈夫です。
そして、開いていないとファイル名の前にパス(そのファイルがどこのフォルダにあるか)が表示されます。なので開いていないということになります。

元のブックを参照したいのであれば、そちらの社員名簿を変更しなければいけませんが
そうでなければ新規の社員名簿を参照する式にしないといけませんね^^

(そして半平太さんが言われているように範囲があっていて、IDのデータの型があっていれば)

ご参考まで
https://nyanto.jimdofree.com/%EF%BD%B4%EF%BD%B8%EF%BD%BE%EF%BE%99%E9%96%A2%E6%95%B0-%E8%AA%AC%E6%98%8E/vlookup%E9%96%A2%E6%95%B0%E3%81%A7%E6%A4%9C%E7%B4%A2%E5%80%A4%E3%81%AE%E3%81%82%E3%82%8B%E8%A1%8C%E3%81%AE%E4%BB%BB%E6%84%8F%E3%81%AE%E5%88%97%E3%81%AE%E5%80%A4%E3%82%92%E6%B1%82%E3%82%81%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%A8%E6%B3%A8%E6%84%8F%E7%82%B9/%E5%88%A5%E3%82%B7%E3%83%BC%E3%83%88-%E5%88%A5%E3%83%96%E3%83%83%E3%82%AF%E3%81%8B%E3%82%89vlookup%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%8A%9C%E3%81%8D%E5%87%BA%E3%81%99%E3%81%AB%E3%81%AF/

https://www.yoshikawa.co.jp/ybs/skilup/ybs0309.htm

(檸檬) 2021/07/30(金) 15:34


 >今回の場合は開いてなくても大丈夫です。
開いてなくてもエラーはでないという意味です。

今回は違うと思いますが参照元のブックを削除してもエラーが出ず表示されるようです。
開いた時にリンクの更新を行うと
「ブック内の一部のリンクはすぐに更新できません。
値を更新せずにそのままにするか、間違っていると思われるリンクを編集してください。」と出ました。

 エラーが出ないので、2つ開いていると思っていても(コピーして使いまわししている場合)
それがVLOOKUPで実際に参照しているファイルとは限らないこともあるということですね。

(檸檬) 2021/08/01(日) 13:11


コメント返信:

[ 一覧(最新更新順) ]


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