• ベストアンサー

excel2013 VLOOKUPのエラーについて

スケジュール管理を作ろうととしています。 日付はDATE関数で入力され、曜日も日付の下の行に、セルの表示形式をユーザー定義でaaaにして入力されるようにしました。 そして、本題ですが、曜日ごとに決まったものを自動で入力しようと思い、VLOOKUP関数を使って入れようとしたのですが、検索値を曜日にしたところ、#N/Aのエラーがでてしまいました。関数を利用して入力した値は検索値にしてはいけないのでしょうか? それとも別の理由があるのでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.2です。 >やってみて入ったのですが、10月7日(火)や10月10日(金)など火曜日と金曜日が入りません。 >自分で考えているときに試した時も火曜日と金曜日は入りませんでした。 >なぜでしょうか 具体的なレイアウトが判らないので、実際どのように数式が入っていたりどのような表示形式にしているのか こちらでは判断できませんので、 質問文に極力忠実にやってみました。 今回もあくまでやり方だけです。 >日付はDATE関数で入力され、曜日も日付の下の行に、 とありますので、 ↓の画像ではB4セルに =DATE(A2,B2,C2) B5セルに =TEXT(B4,"aaa") B6セルに =VLOOKUP(B5,E:F,2,0) という数式をそれぞれ入れています。 このようにすればセルの表示形式に手を加える必要はありません。 ※ 余計なお世話かもしれませんが 表示形式のユーザー定義でも関数でも一緒ですが、 "aaaa" とすれば「金曜日」のように表示されます。 補足の >10月7日(火)や10月10日(金)など火曜日と金曜日が入りません の部分が気になりますので、 そのように表示したい場合は シリアル値のセルの表示形式をユーザー定義から「種類」の欄に表示されている文字をすべて消去し m月d日(aaa) とご自身で手入力すれば 10月10日(金) のように表示されます。m(_ _)m

その他の回答 (3)

  • evetomay
  • ベストアンサー率0% (0/2)
回答No.3

No1です。 TEXT関数の指定に誤りがありましたので訂正します。 =TEXT(日付セル,"aaa")

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! #N/Aのエラーは「検索値」がないというコトです。 >セルの表示形式をユーザー定義でaaaにして 見た目は「月」のようになっていても実データは4桁のシリアル値ですので、 セルの値を「日~土」のような文字列に変えてやる必要があります。 とりあえずやり方だけ・・・ ↓の画像でA列はシリアル値で、セルの表示形式は m月d日(aaa) となっています。 B2セルには =VLOOKUP(TEXT(A2,"aaa"),D:E,2,0) という数式を入れフィルハンドルで下へコピー! これで検索値が文字列でも大丈夫だと思います。 ※ 他の方法としては >曜日も日付の下の行に・・・ とありますので、 そのセルを文字列にすればそのままVLOOKUP関数が使えます。 =TEXT("元のシリアル値のセル","aaa") といった感じでしょうか。m(_ _)m

kenakena
質問者

補足

ありがとうございます。 やってみて入ったのですが、10月7日(火)や10月10日(金)など火曜日と金曜日が入りません。 自分で考えているときに試した時も火曜日と金曜日は入りませんでした。 なぜでしょうか?

  • evetomay
  • ベストアンサー率0% (0/2)
回答No.1

表示形式はあくまでも表示だけですので実体は日付シリアル値のままですよ。 日付文字列にするなら、表示形式ではなく文字列関数で文字列にしましょう。 例えば、曜日表示セルに=TEXT(日付セル,"@@@")としてみて下さい。

関連するQ&A