- ベストアンサー
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 数式の使い方など認識がまちがっていたり、わかりにくい説明になっているかもしれませんが、どうぞよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
C32セルに=IF(B3<>"",VLOOKUP(B3,$B$2:$D$35,2,FALSE))で如何でしょうか。
その他の回答 (3)
- wae719kazu
- ベストアンサー率50% (1/2)
No.3の追加です。 同姓同名はいないということであれば B3はリスト選択又は(名前手動で記入) C32に =OFFSET(Sheet2!D1,MATCH(B3,Sheet2!B:B,0)-1,0) を入力
お礼
丁寧な説明ありがとうございます。現時点では名簿の人数が少ないのですが、長期的に考えるとNOで連動したほうが管理しやすいですよね。できればB3の名簿もリストで自動的に入力させ、NOはシートに非表示にしたいと思っています。いろいろ試してみたいので、またご相談させてください。
- wae719kazu
- ベストアンサー率50% (1/2)
同姓同名の回避条件は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)
VLOOKUP関数でできると思います 氏名に同姓同名が無いことがとりあえず条件ですが その場合も、多少複雑ですが解決可能です 実際に組み立ててみて、うまくゆかない部分を相談なされてはいかがでしょう >リストとの合致 たんに、関数の検索値を当該セルにすればよろしいかと
お礼
回答ありがとうございます。 >たんに、関数の検索値を当該セルにすればよろしいかと そうなのですね。つい難しく考えてしまいました。 =VLOOKUP($B$3,データ,3,FALSE)と入れてみました。
お礼
これならB3セルが空欄でもエラー表示がでないですね。早速使ってみます。ありがとうございました。