プロが教える店舗&オフィスのセキュリティ対策術

社員名簿からA2佐藤という名前を入力したらに自動的にA1に社員番号1が出るようにしたいのですが、
その反対ならできます。例えばF12に社員名佐藤さんをいれて G12に社員番号1を入れたとします。3つくらい練習問題として伊東 2 山田3などとつくりました。私が出来たのはA1に1と入力したら佐藤とでるようにはできました。式はこちらです。=VLOOKUP(B1,$F$12:$G$14,2,0)
しかしやりたいのはA2に社員名 佐藤と名前を入力してA1に社員番号 1を表示させたいのです。すごく困っています。よろしくお願いいたします。

A 回答 (5件)

No3 merlionXXです。



> A1に社員番号 B1に社員名があります。Sheet1のB1に佐藤と入力したらA1に社員番号がでるようにしたいのです。
> 私がやった関数は=IF(B1="","",VLOOKUP(B1,会員番号!$A$1:$B$6,1,0))なのですが出てきません。

A列に社員番号、B列に名前があるシートの名前が「会員番号」なのですね?
B1に「佐藤」と入力して、A1に社員番号を出したいシートがSheet1なのですね?

ならば、Sheet1のA1に入れる式は、たとえば名簿が40行まであったら
=INDEX(会員番号!$A$1:$A$40,MATCH(B1,会員番号!$B$1:$B$40,0))
です。
名簿がもっと多く、この先どこまで増えても対応したいなら、列のみの指定で
=INDEX(会員番号!A:A,MATCH(B1,会員番号!B:B,0))
でもいいです。
    • good
    • 0
この回答へのお礼

ありがとうございました。できました。

お礼日時:2009/03/19 16:40

NO1です。


>Sheet2に社員名簿があります。A1に社員番号 B1に社員名
>Sheet1のB1に佐藤と入力したらA1に社員番号
⇒Sheet2のA列が社員番号、B列が社員名とするとVLOOKUP関数は使用できませんので次の方法をお試し下さい。
 =IF(B1="","",INDEX(Sheet2!A:A,MATCH(B1,Sheet2!B:B,0)))
    • good
    • 0
この回答へのお礼

ありがとうございました。
教えていただいたとおりにやったらできました。

お礼日時:2009/03/19 16:25

> A2に佐藤という名前を入力したらに自動的にA1に社員番号



対照表が,$F$12:$G$14で、F列社員番号、G列が氏名
調べたい氏名をA2に入力するなら

=INDEX($F$12:$F$14,MATCH(A2,$G$12:$G$14,0))

でいけるはずです。

この回答への補足

すみませんでした。私の質問に間違いがありました。
Sheet2に社員名簿があります。A1に社員番号 B1に社員名があります。Sheet1のB1に佐藤と入力したらA1に社員番号がでるようにしたいのです。私がやった関数は=IF(B1="","",VLOOKUP(B1,会員番号!$A$1:$B$6,1,0))なのですが出てきません。この場合INDEX関数を使うと出てきますか?色々やってみたけどダメでした。私の操作方法が悪いのだと思うのですが、最初の質問のとおり教えていただいた関数を入れてもなりませんでした。どんな関数でもいいので表示させたいのです。お願いいたします。

補足日時:2009/03/18 16:35
    • good
    • 0

$F$12:$G$14の範囲の社員番号と社員名を入れ替えればいいのでは? F列に社員名、G列に社員番号とするのです。

この回答への補足

すみませんでした。私の質問に間違いがありました。

おっしゃるとおり社員番号と社員名を入れ替えました。
Sheet2に社員名簿があります。A1に社員番号 B1に社員名があります。Sheet1のB1に佐藤と入力したらA1に社員番号がでるようにしたいのです。私がやった関数は=IF(B1="","",VLOOKUP(B1,会員番号!$A$1:$B$6,1,0))なのですが出てきません。どこがまちがっているのでしょうか?何度も1時間以上かけてやってもわかりません。教えてください。お願いいたします。

補足日時:2009/03/18 16:44
    • good
    • 0

>A1に1と入力したら佐藤とでるようにはできました。


⇒何か勘違いされていませんでしょうか。
 ご例示の数式(第1引数が間違えてる)でその結果となる事はF列が社員番号、G列が名前となっている場合です。
 VLOOKUP関数は、範囲の最左端列が検索列となりますので、社員番号・名前の列構成とするしかありませんが如何でしょうか。
 仮に名前・社員番号の列構成なら=INDEX(社員番号範囲,MATCH(名前,名前列,0))とすれば可能です。

この回答への補足

すみませんでした。私の質問に間違いがありました。
おっしゃるとおり勘違いしていました。

Sheet2に社員名簿があります。A1に社員番号 B1に社員名があります。Sheet1のB1に佐藤と入力したらA1に社員番号がでるようにしたいのです。私がやった関数は=IF(B1="","",VLOOKUP(B1,会員番号!$A$1:$B$6,1,0))なのですが出てきません。この場合INDEX関数を使うと出てきますか?色々やってみたけどダメでした。どうしたらいいでしょうか?教えてください。お願いいたします。

補足日時:2009/03/18 16:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!