• 締切済み

VLOOKUP、検索の型

職場で、VLOOKUPの”検索の型”のパレットに、”FALSE"の代わりに、”0”(ゼロ)を入れても作動すると言われました。 試してみると、たしかに正しく作動します。 今までの学習書、ヘルプにもそんなことは書いてありませんでした。 ”FALSE”のスペルさえ、覚えるのは大変な人もいると思います。 ”そんなこと、早く言ってくれよ”と言う心境ですが、いつからかのバージョンでそうなっているのですか? また、正しい操作なら、何故ヘルプに載ってないのですか? (少し、怒っています。)

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

セルに =FALSE*1といれると0 =TRUE*1といれると1になること知ってましたか。 これら一連の知識は配列数式(知ってますか)など考える時に出てきます。 C1に0があるとき=C1>3はFaleになる。知ってましたか。 ソフトや言語(処理系)によってFalse、TRUEが0や-1や1に設定されていますので、要注意ですね。 結局エクセルに限ってでも、経験してない分野や部門で知らないことは沢山あるはずですから、これだけ取り上げるのはどうも。 VLOOKUP関数でTRUE型とFalse型を区別して説明してない回答も多いです。私の回答では、FALSE型とかいれていますが、0、1を使われるとどっちだったかなになります。この関数について、私はTRUEとFalseの命名が逆ではないかと腹立たしいこともあったが、今では理由を推定して収まりました。

e-toshi54
質問者

お礼

ご教示ありがとうございました。 文中、”知ってますか”の小生の検索結果は、すべて、 ”FALSE=知りません”でした。(数式的にはあってますか?)

  • beer55
  • ベストアンサー率33% (7/21)
回答No.4

こんにちは VLOOKUP関数のマイクロソフト社のサポート技術情報は下記のとおり http://support.microsoft.com/default.aspx?scid=kb;ja;402177 FALSE等にかかるマイクロソフト社のサポート技術情報は http://support.microsoft.com/default.aspx?scid=kb;ja;267982&Product=xl2002INT の中段の少し下に「注」書きがありますので参考にしてください TRUEは「1」、FALSEは「0」です。 TRUE*TRUE=1 TRUEなので「1」 TRUE*FALSE=0 FALSEなので「0」 FALSE*TRUE=0 FALSEなので「0」 FALSE*FALSE=0 FALSEなので「0」 「検索の型」を省略した場合はFALSE扱いです。

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;267982&Product=xl2002INT
e-toshi54
質問者

お礼

ご教示ありがとうございました。 まだまだ、何がホント(TRUE)で、何がウソ(FALSE)か、模索状態ですが、それがEXCELの懐の深さと解釈し、楽しんでみます。

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.3

「Falseは0、Trueは-1、ただし0以外はTrueと扱う」 の間違いでした(>_<)

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.2

えーと、「Falseは0、Trueは-1、ただし0以外はFalseと扱う」と、何かのヘルプで見たことがあります。 EXCELかACCESSかのVBAだと思うんですけど。 VBAでもなんでもいいんですが、プログラムでは「定数」というものをよく使います。 例えば、データを削除していいかどうか確認したいとき、 If MsgBox("このデータを削除します。" _ , vbExclamation + vbOKCancel + vbDefaultButton2 _ , "確認") <> vbOK Then Exit Sub のように使うのですが、この引数の意味は、 ・ビックリマークのアイコンを表示・・・vbExclamation ・ボタンは「OK」と「キャンセル」・・・vbOKCancel ・キャンセルボタンがデフォルト・・・vbDefaultButton2 という意味です。これがもし If MsgBox("このデータを削除します。" _ , 48+ 1 + 256 _ , "確認") <> vbOK Then Exit Sub だったら、何がなんだかさっぱりわかりませんよね。 定数で表現されているので、それぞれの定数の値を知らなくてもコーディングできるし、後から読んでもわかるのです。 TrueとFalseも同じだと思ってください。 (実際には「True」は論理値Trueを返す関数らしいですが。) VLOOKUPの「検索の型」は、検索値と完全に一致する値が見つからない場合に、検索値未満で最も大きい値を使用する(True)か、しない(False)かを指定しますが、-1や0が指定されていると、わかる人にはわかるでしょうが、わからない人にはわからないので、値に意味付けをした定数を使うんです。 意義がわかれば少しは怒りが収るかと思い、回答しました。 頑張ってくださいヽ(^。^)ノ

e-toshi54
質問者

お礼

回答ありがとうございました。 皆さんから、予想以上にレスをいただき、怒りも随分和らぎました。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

いつからかと言うと昔からでしょう。 BOOL型は真か偽かの2つに1つなので「ゼロじゃない」か「ゼロか」です。 ヘルプに何で載せないかは解りません。 ヘルプじゃないけど、挿入-関数の「関数の貼り付け」で関数の分類をすべて表示にしても、DATEDIF関数は出ないとか、そういうのはありがちな事です。

参考URL:
http://www.kentei.ne.jp/quali/column/knowhow/030815/030815.html
e-toshi54
質問者

お礼

回答ありがとうございました。 世の中には、”判らないけど、判らないながらも納得しまきゃならないこと”ってありますよね・・・。

関連するQ&A