• ベストアンサー

HLOOKUP関数

HLOOKUP関数?だけでは無いことなのかも知れませんが、HLOOKUP関数にて処理したい物があるので今回はHLOOKUP関数というタイトルで質問しているのですが? HLOOKUP(検索条件,デ-タ-表の範囲,行目,検索方法)の所の検索条件の該当セルは、他の関数で求めた結果の数値では、HLOOKUP関数に使用することは出来ないのでしょうか? そういう事もありえるので、貼り付ける時に形式を選択し、値にて貼り付け同様作業しているのですが?上手くいきません。 例えば、ある関数にて求めた数値が12だったとすると、このセルでは出来ない、このセルをコピ-後値で貼り付けても不可! しかし、他のセルに12と直接手動にて入れたセルを利用すると上手くいきます? どの様な間違いがあるのでしょうか?それとも不可能な事なのでしょうか?(因みに検索条件の当該セルの左上に緑マ-ク付いています) どなたかアドバイスお願いいたします。

  • aladd
  • お礼率36% (198/550)

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

  • ベストアンサー
noname#79209
noname#79209
回答No.2

なんだか複雑にしすぎているような... 多分、セルを結合しているのに、 C8,E8,G8に指定した関数の内容が、それぞれC7,E7,G7となっているからです。 つまり結合した右側のセル番地は使えないからです。 またこんなにIFの入れ子にしないでも、B列からはじまっているなら、 =COLUMN()-1 で充分です。文字列にしたいなら、 =TEXT(COLUMN()-1,"#") としてください。

aladd
質問者

お礼

vizzarさん、再びアドバイス有り難うございます。 原因が、結合した右側のセル番地は使えないからです、という所から自分なりの解決策を見つける事が出来ました。 COLUMN()-1やTEXT(COLUMN()-1,"#") の関数は、今後もう少し勉強したいと思います。

その他の回答 (1)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

検索条件に関数が入力されているセルを参照しても、問題なく動作するはずですか、ほかに何か問題があるのではないでしょうか。 緑マ-クは何らかのエラーがあることを示しているのですが、ちゃんと数値が表示されていれば、HLOOKUP関数を使えると思います。 ちょっと気がつくのは、検索方法のTrue,Falseの違いか、データ範囲の並べ替えが適切でないとか位しか思い当たりません。もう少し詳しい状況がわからないとなんともいえない。

aladd
質問者

補足

 1  2  3  4  5  6   11  8 25 36 74 33 の様な表が有ったとします。 この表を、下記の様にします。  (1)     (2)     (3)     1  2   3  4   5  6   (一番上の123456を(1)(2)(3)を関数にてグル-プ分けしています。) =IF(B7=1,"1",IF(B7=2,"3",IF(B7=3,"5",IF(B7=4,"7",IF(B7=5,"9",IF(B7=6,"11",IF(B7=7,"13",IF(B7=8,"15")))))))) ・ここで言うB7は、(1)のセルです。 ・この関数にて(1)の1 (2)の3 (3)の3のセルには緑マ-クは、付いていません。 ・同様にして =IF(B7=1,"2",IF(B7=2,"4",IF(B7=3,"6",IF(B7=4,"8",IF(B7=5,"10",IF(B7=6,"12",IF(B7=7,"14",IF(B7=8,"16"))))))))の関数にて(1)の2、(2)の4、(3)の6を表示させています。 ・何故だか不明ですが、ここで表示した246のセルには緑マ-クが付いてしまいます。 ・(1)のセルは1と2に掛かっているので、セルの結合をしています。 更に  (1)     (2)     (3)     1  2   3  4   5  6   の123456 の下に、一番上に表示している表の 11  8 25 36 74 33 を表示したい為にHLOOKUP関数を利用したいです。 最初にも書いたのですが、  (1)     (2)     (3)     1  2   3  4   5  6  は、値にて貼り付けてみました。 123456全てに緑マ-ク表示あり。  (1)     (2)     (3)     1  2   3  4   5  6  =HLOOKUP(B16,C19:T20,2,FALSE)という関数を、1の下に入れましたが、そのセルには、緑マ-ク付きで###と表示されてしまいます。 (1の下に、11と表示させたいので) 全く別のセルに手動で1と記入し、その下セルに =HLOOKUP(B16,C19:T20,2,FALSE)を入れると、ちゃんと11と表示されます。 この様な状況で、作業が止まってしまっています。

関連するQ&A

  • HLOOKUP関数ではうまくいいきません

    下記のような表があります 1日後│2日後│3日後│4日後│5日後│6日後│7日後│8日後│  +25│ -48│ -44│ +30│ -88│ -82│ -44│ -32│  -73│ -69│ -82│ +50│ -17│ -69│ -28│ -64│  -59│ -72│ -13│ -97│ -59│ -18│ -54│ -97│ 左に新たに列を挿入してそこに以下の条件の関数を入れようとしています。 ・20以上のセルのラベル(○日後)を表示する ・複数ある場合もああるので一番左側のセルのラベルを表示する 列方向への検索なのでHLOOKUPを使おうとしたのですが 最初の検索値には不等号が使えないようでした。 どうかご教授お願いしますm(__)m

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

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

  • Excelの関数で、セルの位置情報を出したい

    VLOOKUP HLOOKUPなどで数値を検索して出したあと、 その数値がどのセルに入っているか表示させる関数は組み立てられるでしょうか? 検索範囲内の端から、1、2。。。って表示されるタイプではなく、 A10とかC5とかで出したいです。 さらに、位置を出したセルから、ひとつ下へ下がったセルの数値を参照したい、ということは出来ませんか? VBAは全く分かりません。 関数で出来ないなら諦めます。。。

  • HLOOKUP関数で連続したセルの検索について

    エクセル2000を使ってます。 HLOOKUPについて教えて下さい。 例えば、SHEET.1に     リンゴ みかん  1月1日  1   1   1月1日  2   3   1月2日  3   1   1月3日  4   2    ・  ・  ・ 12月31日 1   2 とした場合で、 SHEET.2のB1のセルに「みかん」と入力した場合、SHEET.1のみかんの列を全部複写するようにしたいのです。 とりあえずSHEET.2のB2のセルに =HLOOKUP(B1,'Sheet1'$2:$5000,2,0)と入力し、 B3のセルに =HLOOKUP(B1,'Sheet1'$2:$5000,3,0)と返す行を一つずつ増やしてたのですが、行があまりにも多くて時間が掛かるので簡単に出来る方法があれば教えて下さい。 また、他にもっと簡単な関数とかがあれば教えて下さい。 よろしくお願いします。

  • Excel2010でのHLOOKUP関数

    Excel2010で列(縦方向)に1組のデータ(200個程度)を入れ、現在140組のデータが入っています。別シートに票を作成し、票内の各セルにHLOOKUP関数を入れ、この140列×200行のデータベースから、指定した列(検索値)のそれぞれの行からデータを抽出し表示するようにしています。 これまでは、検索値を入力すると、該当する列内の値を票内に反映していてくれていたのですが、この度新たな列を増やしたところ、その列の値を表示してくれません。関数内のデータの範囲はその列以上に広く指定しています。わかりにくい説明で申し訳ないのですが、考えられる原因はありますか。よろしくお願いします。

  • HLOOKUPで検索出来ない時に他の関数は

    初めて質問させて頂きます。 HLOOKUP関数での検索は最初にHITした1件を返すが、他にも多くの検索値がある場合には、どうすれば良いのでしょうか。  例として  AA          2         CA          1         AA          3 と下に続きます。 検索はAAで結果は5と出る様にしたい。 よろしくお願いいたします

  • セルの結合がされた表をHLOOKUPで検索する場合について

    Excel初心者です。質問があります。 下記のような表があります       A列   B列   C列   D列 行番号1    12/1       1/1 行番号2  件数   金額  件数   金額    行番号3   2    100   3    200 行番号5   1/1 ここでHlookupを使って下記のように検索します A5に1/1と入力して 件数を検索するには   =HLOOKUP(A5,A1:D3,3) → 3 ここまではいいのですが 金額の「200」を検索するにはどのような関数を使えばよいのでしょうか? ※行番号1の「12/1」と「1/1」はセルの結合をしており 「12/1」のセルはA1、「1/1」のセルはC1になっています。 HLOOKUP関数とVLOOKUP関数又はCOLUMN関数を組み合わせれば出来るのでしょうか よろしくお願いします。

  • 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は検索される文字列は端っこしかダメなんですよね? 教えて下さい!!

  • 関数と乗算の関係

    何時も色々教えて頂き有難うございます。 タイトルにも書いたのですが、関数と乗算の関係を教えて頂きたいのですが? ある関数を利用した結果が、A1に出ていたとします。 このA1のセルを利用して他のセルの関数に利用できる時も有りますが? 出来ない時には、A1セルを形式を選択・値で貼り付け他のセルの関数に利用しています。 が、これもできない時には、他のセルに1を打ち・コピ-して・乗算で貼り付けて利用出来ると解かったのですが? 何も利用しないで、関数に利用出来るときもあれば、値で貼り付けて利用、乗算を貼り付けて利用? この違いは一体何なのでしょうか?

  • Excel関数

    あるセル範囲の中の数値で、あるセルの数値以下(以上)が何個あるかを関数でだしたいのですが、どうすればいいのでしょうか? 単純に「COUNTIF」でできるかと思ったのですが、「検索条件」であるセルの数値以下といったことができませんでした。もし、やり方が間違っていたら教えてください。 また、別の方法があるなら教えてください。

専門家に質問してみよう