• ベストアンサー

データ参照して名簿の氏名に番号を振りたいのです。

エクセルのファイルが二つあります。 No.1 50音順の全ての会員名簿 No.2 当月の会員整理番号つき名簿(整理番号は毎月変わります。この名簿には、全ての会員が載っているわけではありません) No.1の50音順名簿には、A列が空欄、B列がカナ氏名、C列が漢字氏名になっています。(1行目はタイトル行で、2行目以降に氏名が入っています) No.2の名簿を参照して、1の50音順名簿のA列に「当月の会員整理番号」を自動で入力するようにしたいのです。 例えば、50音順名簿の2行目は鈴木一郎さんだとします。今月の彼の番号はNo.2の名簿によると33番だとします。その場合、50音順名簿のA2セルには33と表示させたいのです。(もし、No.2の名簿に鈴木一郎さんの名前がない場合は、空欄として表示したいのです) このデータを印刷することで、50音順名簿から整理番号を確認するのが大変楽になります。 VLOOKUP関数を利用しようと思いましたが、私の方法が悪かったのでしょう、エラーになってしまいました。 自動的に入力されるようにしたいので、改めてセルに数値を入力したくはないのですが、いい方法はあるでしょうか? No.2の名簿ファイルは、データをコピーして、No.1の50音順名簿の別シートに貼り付けても構わないと思います。 よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

データの配置が分からないので回答しづらいのですが、No.2シートのデータが左側の列に検索キーとなる(?)、漢字氏名、右側の列に当月整理番号が入っていないと、VLOOKUP関数は使えません。 もしそれが原因でエラーとなっているならMATCH関数で鈴木一郎さんの行番号を求めて、INDEX関数で当月整理番号を取り出す方法も考えられます No.2シートのA列が当月整理番号、B列が漢字氏名だとして、No.1シートのA2セルに =IF(ISNA(MATCH(C2,NO2!$B$1:$B$100,0)),"",INDEX(NO2!$A$1:$A$100,MATCH(C2,NO2!$B$1:$B$100,0))) なおこのような質問ではNo.2シートのデータの並びも書いてもらうと助かります。そうでないと「もし○○のとき」の連続になります。

pocorino
質問者

お礼

No.2シートのデータの並びを書かずに申し訳ありませんでした。 「No.2の名簿」は、AからH列までは空欄で、I列に番号、J列に漢字氏名が入っていますので、検索範囲を単純にI列とJ列に指定してしまいました。番号の列と漢字の列の順序があべこべでした。 お教えいただいたMATCH関数とINDEX関数を駆使する方法に挑戦してみます。 御丁寧にありがとうございました。

その他の回答 (2)

noname#37676
noname#37676
回答No.2

追加。エラー値の場合、エラー判定の上空白にします。 >もし、No.2の名簿に鈴木一郎さんの名前がない場合は、空欄として表示したいのです =IF(ISERROR(VLOOKUP(B2,'フォルダ名\[No.2の名簿.xls]No.2の名簿Sheet名'!$A$2:$B$51,2,FALSE)),"",VLOOKUP(B2,'フォルダ名\[No.2の名簿.xls]No.2の名簿Sheet名'!$A$2:$B$51,2,FALSE))

pocorino
質問者

お礼

空白の方法もありがとうございました。 重ね重ねありがとうございました。

noname#37676
noname#37676
回答No.1

こんにちは。 VLOOKUP関数は、検索値が対象範囲の最左列になくてはなりません。 「No.2の名簿」をA列に「漢字氏名」(もしくは「カナ氏名」)、B列に「整理番号」として、(データ50行の場合) 「No.1の50音順名簿」B列が「漢字氏名」(もしくは「カナ氏名」)ならば、 A2セル「=VLOOKUP(B2,'フォルダ名\[No.2の名簿.xls]No.2の名簿Sheet名'!$A$2:$B$51,2,FALSE)」 以下、フィルコピーでOKですよ。

pocorino
質問者

お礼

>VLOOKUP関数は、検索値が対象範囲の最左列になくてはなりません。 すみません。その基本が間違っていました。「No.2の名簿」は、AからH列までは空欄で、I列に番号、J列に漢字氏名が入っていますので、検索範囲を単純にI列とJ列に指定してしまいました。番号の列と漢字の列の順序があべこべでした。 「No.2の名簿」の名簿から、「氏名」と「番号」を切り取り、貼り付けてVLOOKUP関数を当てはめようと思います。 御丁寧にありがとうございました。

関連するQ&A

  • 氏名入力後50音順に並べ替える名簿作成ソフトは?

     タイトルのとおりですが、会員名簿などの作成で、氏名入力後に50音順に並べ替えるソフトはないでしょうか。  氏名の入力はバラバラでも、名簿を印刷する段階で50音順にしたいのです。

  • 【Access】社員名簿で社員番号の中から最大日付のデータ年月の社員番号を抽出する方法?

    SELECT imadai,社員番号, imadai.データ年月, imadai.氏名 FROM imadai 社員番号 データ年月 氏名 1146    200804   鈴木一郎 1146    200805   鈴木一郎 1146    200806   鈴木一郎 1147    200805  山田太郎 1147    200806   山田太郎 1147    200807   山田太郎 このデータから1146 200806 鈴木一郎と1147 200807 山田太郎を抽出したいのですが、 うまい方法が見つかりません。よろしくお願いします

  • 五十音名簿を作りたいんです

    エクセルでできるでしょうか? シート1に顧客No. 氏名(ふりがなつき) 住所 …の五十音名簿一覧があります。 ここからがわかんないんです。 シート2のA1に"あ"と入力したらB列以降にシート1の"あ"で始まる名前の人がふりがなつきで全員表示することができますか? うまく説明できていないかもしれませんがよろしくお願いします。

  • VLOOKUP関数:別シートにある参照範囲が変動する場合

    スポーツクラブで学童会員の名簿を作成しています。 【目的】 VLOOKUP関数を利用して、シート1「名簿」のA列に会員番号を 手入力すると B列に学年、C列に氏名が各々自動入力されるようにしたい。 【設定】 ・シート1を「名簿」とし、  A列を会員番号、B列を学年、C列とD列を結合して氏名としました。 ・シート2を「参照データ」とし、  A列を会員番号、B列を学年、C列とD列(結合を解除)を氏名と  しました。 ・シート2の1行目はタイトル行とし、データが入力されているのは  2行目からです。 ・別シートのデータを参照するため、シート2のデータが入力されて  いる範囲に「参照範囲1」という範囲名をつけました。 【状況】 現在設定している数式は B2=VLOOKUP(A2,参照範囲1,2,FALSE) なのですが、以下の場合は「参照範囲1」で設定した範囲とは 異なる範囲のデータを参照しなければなりません。 ・入会者がいる場合:データを追加するため、行が増える ・退会者がいる場合:データを削除しブランクを解消するため、  行が減る 【質問】 上記状況の場合、VLOOKUP関数に加えてどのような関数を使用すれば 別シートにある参照範囲の変動に対応できるのでしょうか? 会員が増減するたびに、新たに参照範囲を設定し範囲名をつけ直す という作業は避けたいのですが・・・ ご教示いただけますよう、何卒宜しくお願い申し上げます。

  • 【エクセル2002】 3列150行のデータをNアップみたいに印刷指定することはできますか?

    A列はひらがなのイニシャル(例.あ) B列は整理番号(例.112) C列は氏名 が入力されているシートがあります。 入力行は対象者の増減で毎回変わりますが、約150行です。 これは、氏名の五十音早見表です。対象者が何番の整理番号かを調べるのに利用しています。 例えば、鈴木一郎さんは、下の表では23番だと見つけ出せます。 す 11 鈴木アリサ す 23 鈴木一郎 す 86 砂川太郎 こんな感じで約150人分が上から下へ一列に並んでいるのですが、印刷時にはなるべく一枚に印刷したいので、印刷時の指定で3列になるような指定方法はあるでしょうか? 例 あ 50 朝田真央   た 89 田仲真紀   ま 16 丸井陽一  い 12 池田千鶴   た 57 田宮沙希   み 88 宮田信治 い 44 石田真一   た 13 田村幸一   み 77 宮村ミク   ・             ・              ・   ・             ・              ・ ちなみに、現在は印刷シートとデータシートを分けて、印刷シートはデータシートからリンクさせるようにして、画面上も3列に並ぶようにして、それを印刷しています。 印刷シートのセルE2に、=Sheet1!A51 として、表示させる方法です。 そうじゃなくて、データシートを印刷するときの指定方法で、3列になる = 1ページにおさまるような印刷指定方法はないものでしょうか? よろしくお願いします。

  • 名簿を番号で管理したい

    ある施設の日々の利用管理表を作ろうと思っています。あらかじめ利用者名簿の一覧はそれぞれの利用者に通しの番号をつけて名簿を作ります。  日々の管理画面に当日の利用者を入力していくのですが、そのときに、番号の入力だけの作業でその横の欄に設けようと思っている氏名、年齢等の情報を名簿から抽出してきて表示することは可能でしょうか? EXEL2003です。

  • EXCELで受験票を作成したい(名簿の名前と受験番号を別シートに転記する方法)

    いつも大変こちらではお世話になってます。 エクセルで、社内教育の受験票を作成しなければなりません。 内容は (1)シート「名簿」に受験番号と氏名 (A列に受験番号、B列に氏名がずらりとならんでます) (2)シート「受験票」には A   B    C    D 1行目 受験番号 受験番号 受験番号 受験番号 1行目 3行目 氏名   氏名   氏名   氏名 4行目 (以下ずっと同様の内容が続く) となっており、この2行目に受験番号、4行目に氏名を (1)の名簿のデータから転記していこうと思ってます。 件数がかなりあるので、何かいい方法がないかと マクロを使用しようと、試しにマクロの記録で手がかりをつかみたかったのですが、 長い長いVBAができるだけで、何の参考にもなりませんでした。。 マクロを使用しないでも、関数でもいいので、よい方法がないか 教えてください。ちなみにこの業務は1年に6回もあるらしいので、 何とか簡素化したく思ってます。

  • アクセスで作成した会員名簿をエクセルで、参照・使用する事が出来るのでしょうか。

    アクセスで会員番号・氏名・郵便番号・住所・電話番号・生年月日等の項目を記述した会員名簿を作成しています。 ●御指導いただき事 1.アクセスで作成した各項目を参照してエクセルで下記の事を行えないかと考えております。 A・エクセルで作成した表に、C6:C505に会員番号を入力した時に、E6:E505に氏名を表示させる B・封筒の宛名書き 2.参照の仕方 A・アクセスの会員名簿を直接参照出来ますか、可能な場合その処理方法を。 B・アクセスの会員名簿を直接参照出来ない場合は、その処理方法を。 ●アクセスは理解出来ていません、エクセルも初心者です。   お手数を、お掛けいたしますがよろしく御願い致します。

  • エクセルで別シートを参照していて、参照元のデータを変更した場合

    エクセルで別シートを参照したいのですがうまくいきません。 (1)Sheet1には顧客データが入っています。 【Sheet1】   A   B   C 1 氏名 住所 性別  2 小川 東京 男 3 佐藤 大阪 女 4 鈴木 福岡 女 (2)Sheet2ではSheet1の顧客データの一部+獲得ポイントのデータが入っています。Sheet2のA列とB列に「=Sheet1!A2」とういう風に関数を入れてSheet1を参照しています。C列~は手入力でデータを入力しています。 【Sheet2】   A   B    C    D 1 氏名 住所  12/1 12/15  2 小川 東京  1    5 3 佐藤 大阪  1    5 4 鈴木 福岡  1    5 (3)Sheet1に新たに顧客情報を入れますが、氏名は五十音順にしたいので行を挿入して入力します。(行3に加藤さんを入れました) 【Sheet1】   A   B   C 1 氏名 住所 性別  2 小川 東京 男 3 加藤 沖縄 男 4 佐藤 大阪 女 5 鈴木 福岡 女 (4)私の希望としては、(3)をしたらSheet2は↓のようになってほしいのですが、実際には(2)の状態のままです。 【Sheet2】   A   B    C    D 1 氏名 住所  12/1 12/15   2 小川 東京  1    5 3 加藤 沖縄   4 佐藤 大阪  1    5 5 鈴木 福岡  1    5 (5)Sheet1の変更結果をSheet2に反映することは無理なのでしょうか?

  • Excel(2010)で氏名の頻度の求め方

    Excel(2010)で、A列に縦に 山田 鈴木 田中 山田 鈴木 山田 というように氏名の並べてある表があるとします。この表で氏名の頻度が 山田 3 鈴木 2 田中 1 というように表示できる関数または方法があるでしょうか。 この表のように項目が少なければ 山田 鈴木 田中 というセルを作っておいて、VLOOKUP関数で求められますが、実際には約500行ありその中の氏名をすべて手作業で入力するのは大変ですので、重複なくすべての氏名を抜き出すのは実際的ではありません。 以上よろしくお願いします。

専門家に質問してみよう