• 締切済み

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 で表示されてしまいます。 書式設定で数値、カンマ区切りを選択してみても変わらず。 使う関数が悪いのか、その他に問題があるのか判らず、悩んでいます。 適正な関数または、設定が判る方、教えてください。

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

B20セルに式を入れたように文章からは読み取れますが、B20セルには検索値が入っており、別のセルにお示しの式を入力しているのですね。式といっても;がたくさん使われておりますがすべてが,の間違いですね。 VLOOKUP関数にしても検索の型として、最後の引数にFALSEを入力することでしょう。 VLOOKUP関数で取り出された場合に数値であれば数値として書式設定でカンマが付く表示に変えることができます。 式の上で一番の問題はシートが変わったところで&を使っていますが正しいことなのでしょうか?例えシート毎にVLOOKUP関数で数値が取り出されても&でつながれた数値(文字列)は書式設定でカンマが付く表示に変えることはできません。もしも、変えることができるような数値とするためには&でつながれた数値をVALUE関数を使って数値に変えることが必要です。

pmg01
質問者

お礼

KURIMOTOさん ご回答を確認する前に自己解決いたしました。 数値を扱うセルのみ、 =VALUE(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))) で正しく動作いたしました。 最後に書かれている、VALUE関数を関数ウィザードを1つ1つ見ていて気がつきました。 ;ではなく、,が正解と書かれていますが、,はエクセルの場合ですね。 タイトルに書かせて頂いた様に、OpenOfficeのCalcを使用していますので、;で合っています。 また、VLOOKUP関数の最後の引数は省略可能ですので、省略しています。 ありがとうございました。