• ベストアンサー

Excelで社員の本名をニックネームに置き換えたい

こんにちは。 Excel初心者です。 毎月、本部から個人の売上成績一覧表がExcelデータで送られてきます。 それを社内に貼り出すことになったのですが、ニックネームに変換をしたいと考えています。 60人近くいる部署ですし、毎月、一人ひとり再入力するのは手間で、何か効率の良い方法をご存知の方、教えていただけないでしょうか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>貼り付けると、『#N/A』となってしまいます。 どこに,なにを,どうやって,貼り付けらそのエラーが出たのですか? 回答の手順では 1)送られてきた一覧から名前をコピーして用意したブックに貼り付ける 2)用意したブックから,計算できたニックネームをコピーして型式を選んで値のみ貼り付ける の2箇所,コピー貼り付けを行っています。 また, 3)具体的にどんな数式を用意したのか不明ですが,そもそも準備した数式から回答と違う事をしていて,式が間違っていてエラーになっているのかもしれません。 1の段階でエラーが出たのだとしたら,それは送られてきた一覧に記載されている「名前」の書きぶりと,あなたが用意した一覧の名前の書きぶりが合ってないのが原因です。 たとえば送られてきた一覧には「安齋□一郎□□」(□はスペース)などと書いてあるのに,あなたは「安斉一郎」となんとなくで準備していて,正しくデータが一致していないといった状況です。 送られてきたデータの具体的な記述内容,そしてあなたが用意した名前一覧の具体的な内容のそれぞれについて「よく確認して」,正しく一致させたリストを整備してください。 送られてきた一覧から名前をコピーし,用意した対応表に貼り付けて「送られてくるデータが常に正である」として準備をした方が,実用的な対処です。 2の段階でエラーが出たのだとしたら,それは単純に回答したのとは違う,間違った操作をしているからです。 3については,よく確認してくださいとしかお話しのしようがありません。コピーではなく試しに手打ちでサンプルデータを入れてみて,「正しいデータを入れれば正しく計算できる」ことをマズ確認してみるのも,よい方法です。計算は正しいのにコピーしたらやっぱりエラーという事なら,1でお話しした通り「データが間違っている」のが原因と判ります。

kanshima
質問者

お礼

ありがとうございます! 本部からのデータには苗字と名前の間にスペースが入っていて、こちらで用意した社員一覧にはスペースが入っていませんでした… それを改善して、ご指南いただいた通りに作業をすると、全てうまくいきました。 お手間をおかけして申し訳ありません。 改めて、ありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

VLOOKUP関数で出来ると思うよ。 #1のお礼で書いていることは、やり方(関数の種類)のせい、ではなく、対応表作り方が悪いのでは。 どんな式で、どういうデータでやったのか書くべきだ。 全部でエラ-が出るのか1つか2つかも書くべきと思う。 ご回答者の立場になると、一番残念な質問者のの反応だろう。同様私も、そこで質問締め切りなどの経験をよくしていて 反論・疑問の機会も無い場合もある。 (1)本部からのデータと、質問者の作った対応表のデータに(本名の方)微妙な違いがあるのではないか。氏名ならスペースなど。 (2)第4引数は、TRUE型にして居るか (3)式の中で、第2引数でセル範囲を番地で指定している場合、番地に$を付けて居るか?つけてないと式複写で範囲がずれていき、可笑しな結果になる場合がある。 検索範囲(対応表範囲)最左の列が検索に使われる。検索して持ってくるニックネームの列はそれより右にあること。 第2引数には、対応表の全2列を範囲指定する。 第3引数は、検索列を1として、ニックネームの列が第何列目かを数えて指定すること。直ぐとなりに作れば2. VLOOKUP関数はエクセル関数では有名な・有用な関数で、これを思いつかないのは、エクセルの関数の勉強が必要だ。 対応表は1つ作っておけば毎月使える。しかし式は部分的変更が必要だろう。その質問は次に進んだ機会に。 >ニックネームに置き換えたい エクセルの関数では置き換えた別列をつくることしか出来ないよ。 VBAなら置き換えてしまえるが。

kanshima
質問者

お礼

勉強不足で申し訳ありません… なんとか解決いたしました。 知識が乏しく、どのように質問してよいものかも分かっていませんでした。 また機会があれば、ご指南いただければ幸いです。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

オートコレクト機能を使ってみては? オートコレクトのオプションで 社員名 → ニックネーム で60人分登録すれば社員名を入力や編集するとニックネームに置き換わります。 http://office.microsoft.com/ja-jp/excel-help/HA001034630.aspx http://office.microsoft.com/ja-jp/excel-help/HA010215826.aspx?CTT=1

kanshima
質問者

お礼

そういう方法もありましたかー すいません、ご回答ありがとうございました。!

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

ブックを一つ用意する A列に本名を一覧しておく B列に対応するニックネームを一覧しておく 売上成績一覧が届いたら,名前を上から下までコピーし,用意したブックのD1に貼り付ける E1には =IF(D1="","",VLOOKUP(D1,A:B,2,FALSE)) と記入しておき,E2以下に(送られてくる一覧の行数分)コピー貼り付けて備えておく E1以下をコピーし,売上成績一覧表の名前欄に「型式を選んで貼り付け」の「値」で貼り付け,置き換えて完成。 #顔見知りの60人程度なら同姓同名はあんまり気にすることも無いと思いますが,必要に応じて「社員番号」などで検索置き換える手順にする場合もあります。

kanshima
質問者

補足

早速のご回答ありがとうございます! ご指南いただいたとおりに作業をしてみたつもりなのですが… 貼り付けると、『#N/A』となってしまいます。 最初の質問で、もしかすると説明不足だったかもしれませんが、 ・社員の本名一覧の人数は変動しませんが、売上成績一覧の人数は毎月変動します。ランキングなので、圏外の社員は表記されないからです。 ・同じ社員が売上成績一覧に2回登場する場合もあります。商品毎に売上が出るので、2品目にわたってランクインされる場合があるからです。 という状態です。 エラーの原因が上記にあるのかはわからないのですが、もし、解決策をご存知でしたら、ご指摘ください。 お手数おかけしますが、よろしくお願いいたします!

関連するQ&A

専門家に質問してみよう