- ベストアンサー
EXCEL のVLOOKUPについて
OS:XP EXCEL 2007 お世話になっております。 EXCEL発注書をつくりました。3つのシートを作って、その中に調達先の住所をベースシートとして置いてあります。他の2枚シートは調達のIDを入力すると会社名を出せるように =IF(H11="","",VLOOKUP(H11,会社名称,2,0))を入れました。 ところがこれは2枚シートとも同じ会社IDで入力したら1枚しか反映されなくて困っています。 どうすれば2枚シートとも会社名を出せるようになるんですか? よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ANo.2です。 シート1、シート2で検索の範囲が異なっているように思えます。 質問で提示された↓式の「会社名称」の部分ですが、会社情報シートの会社名リストのセル範囲が名前定義された物で間違いないですか? =IF(H11="","",VLOOKUP(H11,会社名称,2,0)) あるいは、「会社名称」の部分が実際には会社情報シートのセル範囲指定になっていて、シート1と2で異なっていたりはしませんか?
その他の回答 (4)
- mt2008
- ベストアンサー率52% (885/1701)
ANo.2です。 > ですが新しい問題発見しました。計算方法が効いているIDと効いていないIDがあります。それはどういう事ですか?さっぱり理解できません(泣) 同じシートでもIDを替えるとちゃんと表示されたり、NGだったりするのですね。 その効かないIDが実は半角と全角を間違えていたり、意図せぬスペースが入って居たりはしませんか? もしよろしければIDの具体例を提示して見てください。
- Turbo415
- ベストアンサー率26% (2631/9774)
やりたい内容の確認です。 シート1,シート2、会社名称のシートがあって、シート1のH11に会社コードを入れたら、I11とかに社名が出るようにしたいのですよね。 そして、シート1はできると言うことですね。 で、入力する会社コードはシート1のH11だけにしたいと言う事でしょうか? だとすると、シート2はI11(=名前を出したいセル)に=IF(Sheet1!H11="","",VLOOKUP(Sheet1!H11,会社名称,2,0))と入れればシート2のI11にシート1と同じ名前が出てきます。
- mt2008
- ベストアンサー率52% (885/1701)
2枚のシートのH11セルに同じIDを入れたが、関数が正常に効いて会社名が表示されたのが1枚だけだったと言う事でしょうか。 Excelの計算方法が手動になっていて、一枚だけ再計算された状態の様に思えます。 確認してみてください。
補足
2枚のシートのH11セルに同じIDを入れたが、関数が正常に効いて会社名が表示されたのが1枚だけだったと言う事でしょうか そういう事です。 ですが新しい問題発見しました。計算方法が効いているIDと効いていないIDがあります。それはどういう事ですか?さっぱり理解できません(泣)
エクセル関数は基本的に現在表示されてるシートにしか有効じゃないので、別シートまでは 無理です。 プログラム組み込めば可能かもしれないけど
補足
ですが反映されるIDとないIDがあるんですので別のシートも有効のではないかと思います。 例えば112を入れると2枚共OOOO会社を取り出せました。 ですが114を入れると1枚だけです。 ちなみに2枚目を作った時に1枚目からコピーしました。関数そのままで書式だけちょっと変わりました。
補足
例えば: 全部で3つシートがあります。シート1、シート2、会社情報シート 元々会社情報シートとシート1しかないですがシート1からコピーしてシート2作成しました シート1に113を入力したらあああ会社にでます。 同じくシート2に113を入力してあああ会社が取り出せます。 ですが115の番号から入力するとシート1に取り出せますがシート2にはできません。 115番号からというと会社はどんどん増えてますので新しく会社情報シートに入力していきます。なぜか若い番号にはうまくいけないでしょうか?