• ベストアンサー

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 数式の使い方など認識がまちがっていたり、わかりにくい説明になっているかもしれませんが、どうぞよろしくお願いします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

C32セルに=IF(B3<>"",VLOOKUP(B3,$B$2:$D$35,2,FALSE))で如何でしょうか。

georage
質問者

お礼

これならB3セルが空欄でもエラー表示がでないですね。早速使ってみます。ありがとうございました。

その他の回答 (3)

回答No.4

No.3の追加です。 同姓同名はいないということであれば B3はリスト選択又は(名前手動で記入) C32に =OFFSET(Sheet2!D1,MATCH(B3,Sheet2!B:B,0)-1,0) を入力

georage
質問者

お礼

丁寧な説明ありがとうございます。現時点では名簿の人数が少ないのですが、長期的に考えるとNOで連動したほうが管理しやすいですよね。できればB3の名簿もリストで自動的に入力させ、NOはシートに非表示にしたいと思っています。いろいろ試してみたいので、またご相談させてください。

回答No.3

同姓同名の回避条件はNo.がふられているのでNo.を活用されたほうがいいと思います。 VLOOKUP関数は範囲の左端の列で、検索値を検索なので左端に検索項目がないと使えない関数です。B3はA3にNo.を記入でVLOOKUP関数が使えますがC32は使えないのでOFFSETとMATCHを組み合わせて表示するとうまくいくと思うのですが。。。 一応式をいれときます。 Sheet2!D1=年齢 Sheet2!A2:A4=No.の列を選択設定しました。 No.を手動でA3に記入し B3に =VLOOKUP(A3,データ,2,FALSE) C32に =OFFSET(Sheet2!D1,MATCH(A3,Sheet2!A2:A4,1),0) です。 うまくいくといいですね

  • onntao
  • ベストアンサー率32% (108/332)
回答No.1

VLOOKUP関数でできると思います 氏名に同姓同名が無いことがとりあえず条件ですが その場合も、多少複雑ですが解決可能です 実際に組み立ててみて、うまくゆかない部分を相談なされてはいかがでしょう >リストとの合致 たんに、関数の検索値を当該セルにすればよろしいかと

georage
質問者

お礼

回答ありがとうございます。 >たんに、関数の検索値を当該セルにすればよろしいかと そうなのですね。つい難しく考えてしまいました。 =VLOOKUP($B$3,データ,3,FALSE)と入れてみました。

関連するQ&A