• ベストアンサー

エクセル関数のこつで気になるので質問させて下さい。HLOOKUPでfa

エクセル関数のこつで気になるので質問させて下さい。HLOOKUPでfalseは完全一致を、TRUEは近似値を検索する時に使いますが、英語の意味では、「false」は正しくないという意味合いで、「true」は本当の、という意味合いだと思います。本来の意味と逆の意味合いで検索するような感じですが、なんかもやもやしています。この点ご存じでしたら教えて下さい。

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

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

近似値で検索(あいまい検索)をしますか?  する→true  しない→false という意味よ。 HLOOKUPは近似値で検索するのがデフォルトなの。 例えば スコア ランキング 10 下級 20 中級 30 上級 という表があった場合、スコアが11なら下級を得る 見たいな使い方をするのが本来の目的なのよ。

tokyojin
質問者

お礼

なるほど!!よくわかりました。スッキリです。 ありがとうございました。

その他の回答 (1)

  • FEX2053
  • ベストアンサー率37% (7987/21354)
回答No.2

ま「true/false」は「ブール値」と言って、0/1とかon/offとかを表す以上の意味が無いんですけどね。 http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%BC%E3%83%AB%E5%80%A4%E9%96%A2%E6%95%B0 とりあえず、LOOKUPは「見上げる」処理ですから、その位置から上の方は全部「該当する」と考えるわけです。で、FALSEは「そんな(面倒な)ことはしない」という意味で決めた・・・とか。 もっとも、もっと単純に、この関数のプログラムを組んだ人が「上のほうの値も参照する」処理を作って、その処理に「入る=true」「入らない=false」としただけかも。私もそういうブール値を引数にした内部関数、いくつも作った経験がありますので・・・。

tokyojin
質問者

お礼

ブール値、初めて聞いた言葉です。なんか難しそうですね。 ありがとうございました。

関連するQ&A

  • エクセルでIF文とHLOOKUP関数の合わせ技で。。。

    エクセルで関数について質問です。 HLOOKUP関数で検索した先が空欄なら空欄、値があるならHLOOKUP関数で検索した値が入るようにしたいのです。 たとえば、私が作成した関数は =IF(HLOOKUP($A$1,Sheet1!$A$1:$D$10,2,0)="","",HLOOKUP($A$1,Sheet1!$A$1:$D$10,2,0)) この場合、同じ内容のHLOOKUP関数を2度入力しなくてはなりません。 そうではなく、もっとスマートに出来る方法がありましたら教えていただきたいのです。

  • EXCELのVLOOKUPとHLOOKUPについて

    どうしてもわからないので、よろしくお願いします。 (1)VLOOKUPやHLOOKUPで、例えば =IF($B18="","",VLOOKUP($B18,$H$18:$J$29,2,FALSE)) という数式があるとします。 範囲のところ($H$18:$J$29)を絶対参照にするのは分かるのですが、検索値のところ($B18)がどうして列固定になるのかがわかりません。どういったときに、検索値が列固定になるのでしょうか? (2)あと、FALSEとTRUEの違いがどうテキストを読んでもいまいちわかりません。 試験前なので、焦っております。。 よろしくお願いします!

  • EXCEL95 VLOOKUP関数で半角と全角

    パソコン名人のみなさま、いつもお世話になっています。 VLOOKUP関数で、検索値と範囲内の値に全角と半角の違いがあると、拾ってくれませんが、全角半角の違いは無視して拾ってくれるようにすることはできますでしょうか? 検索の型のTRUEの使い方がわからないのですが(FALSEしか使ったことがない)、それと何か関係あるでしょうか。 (関数式作成画面で、「検索の型には<検索値>と完全に一致するだけを検索するか、その近似値を含めて検索するかを論理値で指定します」とあるが、その言葉の意味すらわからない) 宜しくお願いいたします。

  • 関数の意味(HLOOKUPとROW関数)

    先週より新しい職場で働いております。 下記のような関数が使われている表があるのですが、どういう意味になるのでしょうか。 =HLOOKUP(A1,$1:$30,ROW()-8,FALSE) この関数は実際の関数ではありません。 確かこんな関数だったなあと思い出しながら書いているので、もしかしたら変かもしれません。 ポイントは、 範囲=セル番地指定ではない(行範囲指定?) 行番号=数値ではなくROW関数で指定 になっているところです。 お手数をおかけしますが、宜しくお願いいたします。

  • ExcelのHLOOKUPに類似した関数はないですか?

    現在、Excelにて、 O列からT列までのセルに、本日行った作業に○をつける表を作っています。 (○は1行に対して必ず1つです。) 例)   A・・・N    O      P     Q     R     S     T 1       配置図 平面図 立面図 展開図 矩計図 鳥瞰図  2 8/1      ○ 3 8/1                  ○ 4 8/2                               ○ 5 8/2     0.3 6 8/3     0.7 7 8/6            ○ ・ ・ 101 係数    1      2     3     4     5     6 という感じなのですが、別表に     A   B   C   D   E    1      8/1  8/2  8/3  ・  ・ 2 配置図  1  "0.3"  "0.7" ←これがチャント表示されるようにしたい! 3 平面図   4 立面図  1 5 展開図 6 矩計図     1 7 鳥瞰図 となる表を作成し、前表の101行目の係数に対して =IF(COUNTA(O2:T2)=1,HLOOKUP("○",O2:T101,100,0),"") という式を入れ、 その係数と日付を DSUMを用いて別表のB2に1 を入れたり、B4に1を入れたり... となるように作ったのですが、 (○は1と同じ意味です。図面が1枚完成すれば○としたものです。) しかし、1日では完成しきらなかった図面は小数点で入れるということになり、 前表の5,6行目のように、 0.1~0.9の何が入るのか分からない為、○に対するHLOOKUP関数では 処理出来なくなったのです。 長々と書き分かりにくくなっちゃいましたが、 AA1=IF(COUNTA(O2:T2)=1,HLOOKUP("○",O2:T101,100,0),"") を入れたとして、 AA5の場合 AA5=IF(COUNTA(O2:T2)=1,HLOOKUP("○",O2:T101,100,0),"")                           ↑ここが0.3でないと係数が帰らない。 しかし、いつも0.3とは限らない為、それに変わる言葉、 もしくは、 HLOOKUPに変わる何か良い関数は無いでしょうか?

  • エクセルの関数について

    エクセルで近似曲線の関数の式をだしたところ、 「y=5E+09」という式がでてきました。 09という数字はあるのでしょうか?小数点がありません。 この意味を教えてください<m(__)m> できれば、Eの意味もわかる方はおしえてください!おねがいします。

  • HLOOKUPでもVLOOKUPでもなくて、それに似た関数はありますか

    HLOOKUPでもVLOOKUPでもなくて、それに似た関数はありますか? やりたいことは、 同じファイルにシート1とシート2があり、 シート1には a列 b列 c列 d列 1 ミッキー サッカー チョコレート 2 ミニー  野球   クッキー 3 ドナルド テニス  ビスケット 4 デイジー 水泳   ポテトチップス ・ ・ ・ という、10,000行ほどのエクセル表があり、 シート2には、 野球 水泳 ・ ・ などという風に、シート1のc列の文字列が全部ではなく、複数ある1列のみのエクセル表があります。 そして、このシート2のセルをそれぞれシート1で検索して、それを含む一行全部を表示した エクセル表を新たにシート3に作成したいのですが、関数かVBAかで可能でしょうか? 例えば、この場合、シート3には a列 b列 c列 d列 2 ミニー  野球   クッキー 4 デイジー 水泳   ポテトチップス ・ ・ ・ というように表示したいのです。 HLOOKUPやVLOOKUPは検索される文字列は端っこしかダメなんですよね? 教えて下さい!!

  • エクセルの関数でTRUE False 数値

    エクセルの関数でTRUE とかFalseがありますが、 これらを数値にすると、 Falseは0で、 TRUEは何になるのでしょうか?

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

  • エクセルのHLOOKUP関数の検索範囲指定で、複数のシートにわたる範囲

    エクセルのHLOOKUP関数の検索範囲指定で、複数のシートにわたる範囲指定は出来ないのでしょうか。 例えば、シート1からシート5まであり、各シートのA1:D10を指定するとか。

専門家に質問してみよう