• ベストアンサー

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

  • Excel関数について

    Excel関数について質問させて下さい。 得点者リスト一覧で 1位から順番に順位を付ける為の関数をお教え下さい。 例:セル1-氏名。 セル2-得点。 セル3-順位を表示したいセル セル1 セル2  セル3 A   100点 B    90点 C   87点 D   111点 上記のようなリストで1位から順位を“セル3”の列に付けたいんです。 以上宜しくお願い致します。

  • VLOOKUP関数が数式として認識されません!

    スポーツクラブの学童会員名簿を作成しています。 【目的】 VLOOKUP関数を利用して、シート1「名簿」のA列に会員番号を 手入力すると B列に学年、C列に氏名が各々自動入力されるようにしたい。 【設定】 ・シート1を「名簿」とし、  A列を会員番号、B列を学年、C列とD列を結合して氏名としました。 ・シート2を「参照データ」とし、  A列を会員番号、B列を学年、C列とD列(結合を解除)を氏名と  しました。 ・シート2の1行目はタイトル行とし、実際のデータが入っている  部分はA2:D20です。 ・シート1、シート2の全データは文字列として書式設定しています。 【状況】 学年を検索するための数式をシート1のB2に以下のとおり 入力しました。  =VLOOKUP(A2,参照データ!$A$2:$D$20,2,0) ところが、B2セルには正常な値(学年)が表示されずに 上記の数式がそのまま表示されてしまうのです。 A2に会員番号を入力してもB2の表示は変わりません。 本やウェブで解決方法を調べてみましたが、一向にわからず 困り果てております。 私はエクセル初心者なので一般的にはくだらない質問かも しれませんが、何卒ご教示くださいませ。

  • if関数とVLOOKUP関数について

    if関数とVLOOKUP関数について エクセル2003で以下のような表を2枚 (シート1とシート2です)作成しています。 上段がシート1で、左上「NO」からA1セルに なっています。 下段がシート2で、特別番号が付番される 人の対象者リストで、「氏名」 がA1セルです。 図が乱れてすいません。 シート1のB列の売上日、C列の氏名は 別ファイルから貼り付けています。 シート2は、特別番号を付番する人の 氏名リストですが、ここでは、便宜上 小文字のアルファベットにしています。 ここでしたい処理ですが、売上日及び氏名を シート1に貼り付けた際に、特別番号対象者 (シート2のリストに挙がっている人) が入ってきたとき、自動的にシート1の A列のNOの列に「特別番号」 との文言を表示させたいのです。 実際に数字を表示するのではなく、 「特別番号」の文字列を表示させたいです。 IF関数とVLOOKUP関数でできると思うのですが よくわかりませんでしたので、教えてください。 NO 売上日 氏名 1 1月1日 A 2 1月2日 B 特別番号 1月3日 a 特別番号 1月4日 b 特別番号 1月5日 c 3 1月6日 D 4 1月7日 E 特別番号 1月8日 e 特別番号リスト(シート2) 氏名 住所 a 東京都 b 大阪府 c 神奈川県

  • Excel2003でif関数を使うとSUM関数で反映されません

    A1セルに金額を入力すると、B1に1と表示させる為に=IF(A1,"1","")といった数式を入れております。 さらにC1にBセルの合計値を表示させる為に=SUM(B1)C2には=SUM(B1:B2)と入力しているのですが、B列のセルにIF関数を使った数字『1』が表示されてもC列セルに反映されないので困っています。 ここで質問ですが、A列セルに金額が入力されるとB列セルに数字『1』が表示され、更にC列セルにB列セルの合計値が表示される様な関数等はありますでしょうか?解り難い説明ですいません。 因みにA、B、C列共に1~31までのセルがあります。

  • EXCELで他のシートのデーターを反映させるには

    office2000のEXCELです。 仮に「シート1」と「シート3」があります、「シート1」にはA列(氏名)B列(年齢)とします、 「シート3」は会員名簿で氏名(C列)と年齢(D列)が書かれています(60件位)。  「シート1」のA列(氏名)をクリックすると「シート3}の名簿が表示されて氏名(c列)をクリックする事により「シート1」のA列(氏名)B列(年齢)が入力できるような仕組みは可能でしょうか。   リスト入力・コンボボックス等チャレンジしてみましたが何れもうまくいきませんでした。 初心者にはむりでしょうか? 宜しくお願いいたします。

  • 関数に躓いています。

    早速ですが、 職員名簿を作成しています。 氏名と職員リストは名前定義(別SHEETにて)しています。 *職員リストに未入力がある場合、職員名簿には空白表示になるようにする方法がわかりません。 職員名簿の表示したいセルに 【=IF(ISNA(VLOOKUP(A1,職員リスト,2,-1))=TRUE,"",VLOOKUP(A1,職員リスト,2,0))】と順次入力。 職員リストに未入力の際には、表示したい職員名簿のセルにユーザー定義にて【#】設定で空白になりますが、 年月日はユーザー定義【[$-411]ggge"年"m"月"d"日"】で空白にならず【明治33年・・・】と表示されてしまいます。 数式の間違いでしょうか?説明不足でしたら申し訳ございません。 ご存知の方、どうぞよろしくお願い致します。

  • if関数について

    if関数についてどなたか教えてください。 ある二つの名簿があって、二つの名簿を照合して名寄せをしたいのですが、たとえば、A列の1行目から10行目まで、同じくB列の1行目から10行目まで氏名が入っているとします。A列とB列に同じ名前が入っていれば、C列に○印をつけるように関数を設定したいのです。自分なりに考えて、次のようにif関数を設定しました。・・・がうまく表示されません。エラーは出ませんので、関数としては成り立っていると思うのですが、○印が表示されません。どなたか間違いを指摘いただけませんでしょうか? C1のセルに次の関数を設定して、C10までコピーをしました。 if(A1=$B$1:$B$10,”○”,””) よろしくお願いいたします。

  • EXCEL関数について質問です

    EXCELで同窓会旅行用の名簿を作っているのですが、下記のような動きをするEXCEL関数って作ることができますか? 具体的な方法を教えていただけると嬉しいのですが。。。 ・シート Sheet1に名簿一覧がある(例:A列は名前一覧、B列は部屋番号の空欄) Sheet2に部屋番号一覧がある(例:A列は部屋番号一覧、B,C,D列は名前の空欄) ・動き Sheet2のB,C,D列の名前の空欄に名前を入れていくと、 Sheet1の名簿の名前に対応した部屋番号がB列に自動で挿入される 万が一、Sheet2のB,C列(名前欄)で名前が重複してあった際には Sheet1の名簿に対応したB列に「エラー」と表示される ※Sheet1の名簿の名前(A列)は既に記入済みです。 ※Sheet2に部屋番号(A列)は既に記入済みです。 以上、お手数ですがよろしくお願いいたします。

  • こんな関数お願いします

    こんな関数お願いします ドングリを拾った数の合計 Excel2003です、A列 月日 B列 氏名 C列 数量 行は2~60 氏名はA君B君C君D君です、 シート2のA列に氏名 B列に合計数量です。 B列の合計数量セルの関数式をお願いします、 シート1に記入するとシート2のB列に合計数量が出る方法A君でお願いします。

  • Excel関数について

    Excel関数で教えていただきたいです。 現在、下記の表があります。 氏名  1 2 3 4 5 6・・・・31(←日にちです) Aさん  ○   ○   ○  ・・・・ Bさん   ○   ○  ○ ・・・・ Cさん  ○       ○ ・・・・ Dさん  ○ ○ ○ ○ ○  ・・・・ (少しズレてます) これを、加工し、基準日によって 該当の日の列に○がついた方だけを 抽出してリスト表示したい(下記のように) 基準日-5日 氏名 Aさん Cさん Dさん といった感じにしたいのですが、 いろいろな関数の組み合わせで 可能だと思うのですが、どうしても わかりません。 どうか、ご教授のほどよろしくお願いします。

専門家に質問してみよう