• ベストアンサー

Excel2003 VLOOKUP

       A列:名称           B列:単位 __________________________ アイウエオ 1234A(121kg/DM) | DM  カキクA(180kg/DM)         | DM アイウエオ 1234A(10kg/缶)    | 缶 サシスセB(180kg/DM)        | DM ■sheet1  上記のような表を作成。  A1~A4に【名称】と名前を定義。 ■sheet2  A1、A2のセル:名称をリストから選べるように入力規則を設定。  B1、B2のセルにリストから選んだ名前を元に、VLOOKUP関数で単位を表示。 このように設定したのですが、どうもうまく表示されません。 何がうまくいかないかというと、 ・アイウエオ 1234A(10kg/缶)が2つ表示される ・↑を選択すると、単位の部分には「缶」と表示されるはずなのにDMと表示される (2つのうちどちらを選択しても同じ) sheet2のB1に入っている数式は =VLOOKUP(A1,sheet1!$A$1:$B$2,2,0) リストを昇順に並べ変えてみても結果は同じでした。 どなたか原因がわかる方がいらっしゃいましたら教えてください。

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

  • ベストアンサー
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.2

>・アイウエオ 1234A(10kg/缶)が2つ表示される それって、元のデータ自体間違ってるんじゃないですか? ちゃんと入力されてるかどうか確認された方が・・・ VLOOKUP関数は検索値が2つ同じものがあった場合、上にある方のデータを優先しますので、1個目が「アイウエオ 1234A(10kg/缶)」になっていた場合「DM」が返ってくるのはうなづけます。 ところで、VLOOKUP関数の参照範囲ですがせっかく「名称」と名前をつけてるのであれば「名称」とすればいいんじゃないでしょうか? その方が範囲の指定間違いとかが防げますよね。 

nyakuy
質問者

お礼

1度保存し、開きなおしたところなおっていました…。 原因はよくわかりませんが、きちんと表示されるようになったので よかったです。 >ところで、VLOOKUP関数の参照範囲ですがせっかく~~ 関数にも名前で定義することが出来るんですね。 知りませんでした。たしかにその方が間違いを防げますね! 勉強になりました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#99913
noname#99913
回答No.1

関数の参照範囲が違っています。 =VLOOKUP(A1,Sheet1!$A$1:$B$4,2,0) ほかは、質問文のとおり入力したところ、私の環境ではうまいくいきました。どこか手順が違っているのではないでしょうか?

nyakuy
質問者

お礼

1度保存し、開きなおしたところなおっていました…。 原因はよくわかりませんが、きちんと表示されるようになったので よかったです。 関数の参照範囲は質問文の入力ミスでした! すみません…。 回答ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel2000 プルダン作成方法

    あるシートにプルダウンを貼り付け、 同じシートにある、下記のリストより選択を可能にします。   A  B  1 01 国語 2 12 算数 3 99 その他 A列にはコード、B列には名称として、プルダンには名称を表示選択し、 その選択したコードをA5セルに表示させる事は出来ますか? 「国語」を選択したら、プルダン表示は「国語」、A5セルには「99」が表示される。

  • EXCEL2000 関数の使い方

    EXCEL2000 関数の使い方についておしえてください。 (状況) 1)シート1(請求書)とシート2(名簿)があります。 シート2は 列A 列B 列C    列D No 氏名 生年月日  年齢 1 A子 H11.11.1  7 2 B男 H13.8.18  5 ..と続いています。 2)シート1のセルB3(宛名欄)にシート2の名簿の中からB列「氏名」(「氏名」という名前で定義つけてあります)をリスト表示しています。 3)セルB3にリストから選択した人物の年齢をシート2から探して年齢(列D)をシート1のセルC32に表示させたいのですが、どのような数式になるでしょうか? VLOOKUP関数を使うのかな?と思ったのですが、シートが分かれていたり、リストとの合致の定義付けがよくわかりません。 検索個所:シート1のセルB3とシート2B列の一致した値 検索範囲:シート2のB1からD35(データという名前で定義付けています) 表示させたいセル個所:シート1のC32 数式の使い方など認識がまちがっていたり、わかりにくい説明になっているかもしれませんが、どうぞよろしくお願いします。

  • EXCELのVLOOKUPを有用に使いたいのですが

    すみません。どなたか教えてください。 たとえばA1のセルに以下の値があったとします。 <abc>1<abc> このうちの1の部分をA2のセルに表示したいときは=MID(A2,6,1)で表示できました。別のシート(仮にsheet2)に例えばA行に1から昇順に番号が振られていてB行にデータが入っていたとします。VLOOKUPを使ってsheet2のB行を表示したいときは=VLOOKUP(A2,Sheet2!A:B,2,FALSE)でできると思ったのですがエラー表示になってしまいました。A2のセルを更にコピーして例えばA3に形式を選択して貼り付けで値を選択して1を表示してから=VLOOKUP(A3,Sheet2!A:B,2,FALSE)をするとB行の値が表示されるのでA2は1とみなされてないということになるかと思うのですが、A2内で1とみなすようにできる関数はないでしょうか?

  • vlookupの応用編を教えてください

    こんにちわ。 vlookupを使用していますが思うように結果が出せなくて困ってます。 お分かりの方いらっしゃれば教えてください。 ファイルにはsheet1とsheet2があります。 sheet2のB列には『=VLOOKUP($A$1,Sheet1!A1:B6,2,FALSE)』と入れてます。 すると、画像のように全ての行にA棟と出てしまいます。(トーゼンなのかもしれませんが・・・) 狙いはsheet2のB列にはA棟・C棟・E棟が出て欲しいわけです。 vlookupとしては「sheet2のA1セルと同じ文字列をsheet1から探しだし、その2列目の文字列を 表示させよ」という事なので、A棟ばかりを引っ張ってしまうことになってしまってます。 一度引っ張った文字列は除外して次にヒットした文字列(今回でいうC棟)を表示させていく術は ありますか? わかりづらくすみませんがよろしくお願い致します。

  • OpenOffice 【Calc】 複数シート VLOOKUPについて

    シート1、データ1、データ2、データ3 の4シートがあります。 データ1のシートには、    品名   価格  売価 1 雑炊の素   800   500 2 焼飯の素   700   350 3  柿の種    280    200 データ2のシートには、    品名   価格  売価 101 うどん   380   350 102 そば    380   350 103 そうめん  350   320 のようにして、シート3は201~始るようにデータが入っています。 それぞれのシートの検索範囲にLIST1、LIST2、LIST3 と名前を付けて、シート1のB20セルに =IF(ISERROR(VLOOKUP($B20;LIST;2));"";VLOOKUP($B20;LIST;2))&IF(ISERROR(VLOOKUP($B20;LIST2;2));"";VLOOKUP($B20;LIST2;2))&IF(ISERROR(VLOOKUP($B20;LIST3;2));"";VLOOKUP($B20;LIST3;2)) と関数をいれてみたところ、動作は正しくできているのですが、 価格などの数値をVLOOKUPしてくると、文字列の扱いになる様子で、 1,000 とはならず、1000 で表示されてしまいます。 書式設定で数値、カンマ区切りを選択してみても変わらず。 使う関数が悪いのか、その他に問題があるのか判らず、悩んでいます。 適正な関数または、設定が判る方、教えてください。

  • エクセルのVLOOKUPに関して

    お世話になっております。 VLOOKUP関数になるのか他の関数になるのか分からないのですが ご教授よろしくお願い致します。 A1セル      A2セル      A3セル 店番号      商品名       担当 1         ア          山口 2         イ          大山 3         ウ          斎藤 1         エ          中村 1         オ          山口 上記のような情報がシート1にあり、 シート2のA1セルに店番号を入力した時に シート2のB列に同じ店番号を持つ商品名をB1、B2、B3...セルへとリスト化し、 C列に担当をC1、C2、C3...セルへとリスト化したいのですが、 どのような関数を使用すれば可能となりますでしょうか。 よろしくお願い致します。

  • EXCEL2003 条件つきでユーザー書式

    B列に数字を入力してもらうリストを作っています。 セルの書式設定→表示形式→ユーザー定義で、自動的に単位を表示させるようにしようとしたのですが、  セルA1に0が入っている場合、B列に表示される単位を"人"  セルA1に1が入っている場合、B列で表示される単位を"チーム" と、同シート内の他セルを参考に、表示単位を変えたいのですが、出来るのでしょうか? [=A1=0]###"人";[=A1=1]###"チーム";### では無効なようですし、[=0]###"人";[=1]###"チーム";### だと、そのセルに入力された数値が条件になってしまうので、使えませんでした。

  • VLOOKUPに関して?

    以前はエクセル2003で以下の様なシートを使っていました。 印刷帳票のシートの一部(下の例ではF21のセル)に、入力規則で別のシート(この例ではリストシート)の氏名部分をリスト表示させ、作業する人が該当する氏名を選択します。帳票完成に必要なその他のセルには、以下の関数と同様のものがアチコチに配置されています。 =IF(VLOOKUP(F21,リストシート!B:L,9,FALSE)="","",VLOOKUP(F21,リストシート!B:L,9,FALSE)) このシートを利用し、氏名だけを選択すれば印刷帳票が出来上がりました。ただ、エクセル2007に変更したら、リストで氏名を選択しても他のセル(VLOOKUPが有るセル)が連動しなくなりました。 ちなみにリストから氏名を選択後、各々のVLOOKUPのあるセルを選択し、決定(エンターキー押下)しなおすと、該当するデータに入れ替わります。一つ一つのセルに対して、選択決定を繰り返すのは煩雑です。 今までは出来ていただけに困っています!

  • VLOOKUPで

    Excel2000を使っています。 Sheet1のB列に=IF(ISBLANK(A1),"",VLOOKUP(A1,Sheet2!A1:C100,2,0)) Sheet1のC列に=IF(ISBLANK(A1),"",VLOOKUP(A1,Sheet2!A1:C100,3,0))を入れてあります。 Sheet2のA列にはコード番号、B列には氏名、C列には住所が入っています。 Sheet1のA列に番号を入力すると、B,C列に氏名、住所が表示される表を作りましたが、Sheet2にデータを追加したら番号を入力しても、追加したメンバーについては、エラー表示(#N/A)が出てしまいます。 コード番号は頭にゼロが付くので、Sheet1のA列は文字列、Sheet2はすべて文字列にしてあります。 最初はうまくいってたのですが、後から追加した分だけがエラーになります。他のリストからデータをコピーし、値のみを貼り付けてだめだったので、手入力してみたのですがやはりだめでした。検索範囲を超えていることは絶対にありません。 どうしてもわからないので、質問させていただきます。 心当たりございましたらよろしくお願いいたします。

  • Vlookup複数検索

    sheet1のセルA列にB列とC列の値が当てはまった値を表示したいのですが。 -Sheet1- A    B    C P1   ピンク   大 P2   ピンク   小 範囲はSheet2のA列からC列です。 -Sheet2- A   B   C P1  ピンク  大 P2  ピンク  小 B1  ブルー  大 B2  ブルー  小 例えば、=Vlookup(A1,'sheet2!A:C,2,false) と Vlookup(A2,'sheet2!A:C,3,false) を合わせたい。 上手く説明出来ていませんが、宜しくお願い致します。

このQ&Aのポイント
  • トナーカートリッジ交換後に「トナーを交換してください」というエラーメッセージが表示される場合、消す方法について教えてください。
  • MFC-7460DNでトナーカートリッジを交換した後、印刷済みファクスがメモリーに蓄積されるエラーメッセージが表示される場合の対処方法について教えてください。
  • MFC-7460DNのトナー交換後に「メモリーがいっぱいになるまで印刷済みファクスをメモリーに蓄積します」というエラーメッセージが表示される場合、消す方法を教えてください。
回答を見る

専門家に質問してみよう