[[20260515102753]] 『=IF(VLOOKUP…でエラーとなる』(しゅう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『=IF(VLOOKUP…でエラーとなる』(しゅう)

=IF(VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0),VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0),"禁止")
で#VALUE!が出ます。
関数の引数をみると反映されている表示になっています。

なぜ,セルに反映されないのでしょうか。

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


 実際にしたいことは何なのだろうか?

 もし見つからない場合に禁止と表示したいということであれば
 =IFERROR(VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0),"禁止")
 だろうか。

 おっと365であればXLOOKUP関数を使って

 =XLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$B,[A.xlsx]_05台帳!$E:$E,"禁止")
 でも。

(ねむねむ) 2026/05/15(金) 10:43:07


ありがとうございます。

セル$C$510&$F$511が空白のときは,禁止と表示させて,セル$C$510&$F$511にコード番号を入れると[A.xlsx]_05台帳!$B:$E,2,0を反映させたいです。

(しゅう) 2026/05/15(金) 10:58:31


=IF(ISERROR(VLOOKUP($K$510&$N$511,[A.xlsx]_05納番台帳!$B:$E,2,0)),"入力禁止",VLOOKUP($K$510&$N$510,[A.xlsx]_05納番台帳!$B:$E,2,0))

ですと,セル$C$510&$F$511が空白のときは,0が表示されて,$510&$F$511にコード番号を入れると[A.xlsx]_05台帳!$B:$E,2,0を反映されます。

(しゅう) 2026/05/15(金) 11:09:26


 =IF(VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0), ←ここ
  VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0)
  ,"禁止")

 ifの第1関数はbool値 true or false を求めていますが、

  (VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0)は bool値を返していますか? 
(ちくわ) 2026/05/15(金) 11:16:12

 (VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0)はbool値を返します。(真の値)

ISERRORで,エラーが出ると真の値(VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0)を返して,それ以外は”禁止”としたいです。

このようなお返事で大丈夫でしょうか。

(しゅう) 2026/05/15(金) 11:26:42


 =IF(VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0), ←(1)
  VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0) ←(2)
  ,"禁止")

 (1)がbool値を直接返しているなら 
 (2)が同じ式なのでbool値を検索していることになりますけど

 >セル$C$510&$F$511が空白のときは,禁止と表示させて,
 >セル$C$510&$F$511にコード番号を入れると [A.xlsx]_05台帳!$B:$E,2,0を反映させたいです。

  =if($C$510&$F$511<>"",VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0),"禁止")

 こうかな?
(ちくわ) 2026/05/15(金) 13:31:11

 =if($C$510&$F$511<>"",VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0),"禁止")

要望通りになりました!
ありがとうございます!感動です!
(しゅう) 2026/05/15(金) 14:10:39


 $C$510&$F$511が""だったら「禁止」って意味がよくわかりません。 「入力して下さい」とかじゃなく?
 それとキーがマッチしないときの対応は何か考えなくていいんですか?

(ちょっと分かりにくい) 2026/05/15(金) 14:34:28


 要望通りになったということは
 (VLOOKUP($C$510&$F$511,[A.xlsx]_05台帳!$B:$E,2,0)は bool値を返していません

 > bool値を返します。(真の値)

 真の値 → ふつう母数か測定誤差0を指すかと思います。
 bool値 → true か false という値を指します。

 if関数の第1引数に文字列を入れるとvalueを返します。
 元がbool値ならエラーになりません。

 わからないなら聞いてください。
 私はただでさえ読み間違いで変な回答するので。
(ちくわ) 2026/05/15(金) 18:28:10

コメント返信:

[ 一覧(最新更新順) ]


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