• 締切済み

関数について

二つのシートがあります。 一つのシートには、二つの表があり名前を定義しています。 もう一方のシートでVlookupとindirectを使い検索できるようにしたいのです。 シート(1) A B C D 表1 101 名前 果物 表2 102 名前 野菜 ‥ シート(2) 表1           表2 A B C D E F 101 鈴木 バナナ 101 斉藤 トマト 102 佐藤 リンゴ 102 吉田 ピーマン 103 山口 ミカン 103 三浦 きゅうり 104 山田 マンゴー 104 加藤 大根 シート(2)には名前定義をしています。 名前、表1は=シート名!A1(101)~C4(マンゴー)です。 表2は=シート名!D1(101)~F4(大根)です。 シート(1)のA1、B1に入力をすると自動的にシート(2)の二つの表を切り替えてみにいくようにしたいのです。 シート(1)のC1には、=vlookup(B1,indirect(A1),2,0) D1には、=vlookup(B1,indirect(A1),3,0) と入力していますが、N#Aとなります。 困っています。どうか よろしくお願いします。

みんなの回答

  • rin01
  • ベストアンサー率43% (33/76)
回答No.3

こんにちは~♪ 名前定義の参照範囲が、 =Sheet2!$A$1:$C$4 ↑の様に、絶対参照になっていますか。。

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.2

実際に質問の通りの表を作成し実験してみましたが、特にエラーは発生しません。 #N/Aエラーがでると言うことは、検索値B1の値が表1、もしくは表2に存在しない、または微妙に違っている(Sheet1のB1、もしくは表の数字のどちらかが文字列書式になっている)などが考えられます。 もう一度ご確認ください。

  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

データ型の不一致が考えられます。 表1・表2のキー項目(101等)とシート(1)B1セルのデータの型が一致しているか確認して下さい。

関連するQ&A

  • 関数について教えて下さい。

    エクセル2003使用してます。 (現在の表内容) A2:D7 商品名を記入する表があります。 F2 VLOOKUP(A2,A13:B20,2,FALSE) G2 VLOOKUP(B2,A13:B20,2,FALSE) H2 VLOOKUP(C2,A13:B20,2,FALSE) I2 VLOOKUP(D2,A13:B20,2,FALSE) J2 SUM(F2:I2) A13:B20 単価表があります。 (行いたい事) (例)F2の場合 F2に、A2:D2に書かれている、商品単価の合計を一括で、出したいです。 画像に内容を書きましたので、見て頂けませんか? お分かりになられる方、おられましたら教えて頂けませんか? よろしくお願いします。

  • エクセルの関数を使った表の作り方について

    エクセル2003にて下記の様な表を作っています。 シート1  A     B   C   D    E   F 1名前 HP  攻撃  速さ  地形  地形補正 2ザク  1000  1500  2000  宇宙   500 3グフ  1500  2000  1000  地上   1000 4ドム  2000  1000  1500  水中   -500 シート2  A    B   C    D   E   F   G 1名前  HP  攻撃  速さ 宇宙  地上  水中 2ザク  1000 1500  2000  500  500  0 3グフ  1500  2000  1000  0   1000  0 4ドム  2000 1000  1500  1000  500  -500 5ジム  1500 1500  1500  500   0   500 6ヅダ  1000 1000  1500  1000  0   0 シート1のAにはシート2のA2~6にある名前をプルダウン形式で選べる様にしてあります。 シート1のAの名前を選択するとB・C・Dの数値がシート2から反映出来る様にvlookupで 作成しています。 問題はEとFで、Eにはシート2のE1・F1・G1から宇宙・地上・水中をプルダウンで選べる様に しており、これらを選択した際Fにシート2のE2:E6の数値が反映される様に作成したいのですが、 作り方がわかりません。 出来ればVLOOKUP等の関数式?を用いた作り方希望です。 宜しくお願い致します。

  • エクセル関数2

    シート(1) A B C D 作業列    コード    顧客名     金額 3        300001     A 10,000 3        300002   B 15,000 3        300003   C 20,000 3        300004   D 25,000 3        300005   E 30,000 4        400001   F 35,000 4        400002   G 40,000  4 400003 H 45,000 4 400004 I 50,000 4 400005 J 55,000         シート(2) A B C D E F 「1」 「2」 「3」 「4」 「5」 「6」 10,000 35,000 15,000 40,000 20,000 45,000 25,000 50,000 30,000 55,000 ※ シート(1)にコード、顧客名、金額を入力すると、シート(2)にあるように該当するコードの先頭行の列に表示するようにしたいと思っています。 シート1で作業列を作りその作業列を基にシート2でVLOOKUP関数を使い‥シート2の10,000のセルの場合、 VLOOKUP(C$2,sheet1!$A$3,$D$12,4,false)として、下にコピーすると同じ金額になってしまいます。 セルが空白にならず、シート1の金額が上から順番にシート2に表記されるようにするにはどうしたらよいでしょうか。マクロはできませんので、関数で詳しく教えて下さい。宜しくお願いします。

  • sheet2からsheet1へのデータの飛ばし方(エクセル関数)

    Sheet1 A  B C D E (列) ―――――――――――――――――――――――― 1| 番号  氏名   所属  入社  生年月日 2| 1000  斉藤   東京  10/4  (入力箇所) sheet2 A B C D (列) ――――――――――――――――――― 1| 番号  氏名  所属  生年月日 2| 1000  斉藤  東京  1988/11/1 sheet1のE行(生年月日)にsheet2を参照し、同じ番号の人の生年月日が表示されるようにしたいのですが、どのような式(関数)を入れたら表示されるでしょうか? ほかの似たような質問の解答を見てMatchやvlookupを使ってみましたが、できなかったので教えてください。 よろしくお願いします。

  • 関数について教えて下さい。

    エクセル2003を使用してます。 商品名と材料名と参照して、関数を使用して商品名の個数を 出したいのですが、やり方がわかりません。 (現在の表内容) シート1 「A2:D9」  に商品名を入力する表があります。 シート1 「F2:I9」  材料の個数を表示する表があります。 シート2 「A2:B10」 に商品一覧表があります。 (例) シート1「F2」のセルの場合。 「F列」に V と言う材料名が入ってます。 「A2:D2」に ● ■ → ●  と言う商品名が入力されました。 シート2の商品一覧表に ● の場合 V の材料を使用するとなってます。 Fの列は、Vなので●の数を入れたいので、 「F2」のセルには2個と関数を使用して入れたいです。 このような事、可能でしょうか? 教えて頂けませんか? よろしくお願いします。

  • VLOOKUP関数の使い方について

    以前コード番号を入力すると自動的に商品番号が出るようにしたいと質問させていただきました。 教えていただいた方法を使い おかげさまでコード番号を入力すると隣のセルに商品番号が出るようになりました。 ただ一緒に単価も入力させたいのですがそれができません。 入力本体は(シート名 「仕入れ表」) E列 コード番号 F列 商品名 G列 数量 H列 単価 I列 小計(G*H) という構成になっています。 (A~C列は他の項目が入っています) 参照するシート名「cade」 同じブック内にあります。 A列コード番号 B列商品名 C列単価 が入っておりA~C列までを名前の定義で 「cade表」としてあります。 「仕入れ表」のI列(小計) の二行目より =IF(E2<>"",G2*H2,"") の数式がコピーしてあります。 同じく 「仕入れ表」のF列には =IF(E2<>"",VLOOKUP(E2,cade表,2,FALSE),"") と数式を入れました。 結果コード番号を入力すると商品名は出ますが 単価は入力されません。 単価も同時に入力する為にはどのようにしたらよろしいでしょうか? どなかた教えていただけると助かります。 宜しくお願い致します。

  • VLOOKUP関数で行番号のセルが空欄のとき

    Excel2003でVLOOKUPを使って表を作成しています。 内容は シート1 商品番号を入力(A1)すると、商品のタイトル・商品名・商品の説明を表示 シート2 商品一覧表 ↓   A   B    C    D    E     F 1 番号 商品名 商品説明 商品名 商品説明 商品タイトル 商品タイトル VLOOKUP($A$1,商品一覧表!$A$1:$F$1,6,FALSE) あと商品名、商品説明は、行番号を変えて(4つ表示)入力してあります。 ひとつの番号にたいして、商品名と商品説明が少数(3つ以下)の場合 空欄表示させるにはどうしたらいいのか教えていただけないでしょうか。 よろしくお願いします(o_ _)o))

  • Excelの関数について教えてください。

    Excelの関数について教えてください。 シート1に顧客表があります。 そこから検索をかけてシート2に該当する顧客を表示させたいです。 検索項目が一つならばVLOOKUPなどを使えばいいのですが、 検索に必要な項目が3つあります。 例えば   A B C D… 1 1 1 1 企業A 2 1 1 3 企業B 3 1 2 1 企業C のような感じで1000くらいのデータが並んでいます。 シート2にて   A B C D 1 1 1 1 企業A 2 それぞれのセルに1-1-1と入力するとD1に『企業A』と表示させ、 1-1-3と入力すれば『企業B』というようにA1~C3に入力する数値によりD1の表示を変えていきたいです。 そして該当がなければ『該当無し』と表示したいです。 この場合の関数は何を用いてどのような式を作ればいいのでしょうか? 関数に詳しい方、ご協力お願いいたします。

  • IF関数が長くて、実行できない。

    関数初心者です。Excel2003を使用しております。 ~目的~ IF関数が長くなり、実行することが出来ない。 VLOOKUP関数の複数範囲の中から検索できる数式を作成したい。 ~状況~ ・VLOOKUP関数で複数の範囲を指定している。 ・各範囲は_コード表という名前の定義付けをしており、_コード表1~12まである。 ・_コード表12までの複数範囲の中から検索できる数式を作成したい。 =IF(ISERROR(VLOOKUP(B5&"_"&C5&"_"&D5,_コード表1,5,0)),IF(ISERROR(VLOOKUP(B5&"_"&C5&"_"&D5,_コード表2,5,0)),IF(ISERROR(VLOOKUP(B5&"_"&C5&"_"&D5,_コード表3,5,0)),"",VLOOKUP(B5&"_"&C5&"_"&D5,_コード表3,5,0)),VLOOKUP(B5&"_"&C5&"_"&D5,_コード表2,5,0)),VLOOKUP(B5&"_"&C5&"_"&D5,_コード表1,5,0)) 上記の数式で検索が出来るのですが、 _コード表12までになると、関数が長すぎて実行できません。 何か良い方法はありませんでしょうか。 ご回答をお待ちしております。

  • エクセル関数で2個条件がある場合のVlookup

    エクセル2002使用です。 2個条件がある場合の表の検索方法(Vlookup?)を考えているのですが、名案が浮かびません。お知恵を貸してください。 表1   A  B  C  D 1  1 2  2 検索1    3  3 4  4 検索2 表2   A  B  C  D 1  2 妻 名前1 2  2 子 名前2 3  4 妻 名前3 4  4 子 名前4 表1のB列に関数での入力式を考えています。 表1のA列の番号と表2のA列の番号が一致し、なおかつ表2のB列が"妻"であるC列の名前を表1のB列に入れたいのです。例えば、上記の表1の検索1は名前1を、検索2は名前3を入力できるようにしたいのでが・・・ Vlookup(A2,表2!A1:C4,3,0) にどのようにネストしたら良いのかわかりません。 方法は、問いませんので複数の条件が合うときの検索方法を考えています。 よろしくお願いします。

専門家に質問してみよう