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

社員全員に、

101 山田花子
110 大阪太郎

のように職番がついています。
例えば、B2に山田花子と入力した時に、A2に自動的に職番が入力されるようにすることが出来ますか?もし可能であれば計算式を教えていただきたいです。

社員全員の職番表はExcelですでに作ってあります。

gooドクター

A 回答 (8件)

No.5です。


banzaiAさんご指摘ありがとうございます。
>No.5さんの回答に、XLOOKUP関数の評価がなされていません。
おっしゃるとおりです。

ただ、前回回答では、「その方法で解決できる、できない」の話ではなく、ご質問者の「EXCELのバージョン」「EXCELのスキルレベル」「『職番表』作成方法」等の影響を受けにくく、汎用性が高いのはNo.4さんの回答(ご質問者から見ると「追加質問」や「回答者とのやりとり」をしなくても一発で解決し易い回答)ということを述べたかったのです。

私の知る限り、XLOOKUP関数が現在使用できるのは「Office365」のみでありOffice2019、Office2016、Office 2013などの旧バージョンでは使用できません。

「汎用性の高いもの」という基準でNo.4さんの回答を支持したので、「最新バージョンでしか使用できない」ということが「制約条件」だと考え、XLOOKUP関数については触れていませんでした。

しかし、当然のことながら、XLOOKUP関数を含むLOOKUP関数等々を用いて、ご質問者が本件課題を解決できる可能性は十分あります。

決してbanzaiAさんが列挙したLOOKUP関数等々を排除する意図で回答したものではありませんので、何卒ご理解・ご容赦ください。
    • good
    • 0

sheet2のA列に氏名、B列に職番のリスト(100人分)があるものとします。


A1セルに
=IF(ISERROR(VLOOKUP($B1,Sheet2!$A$1:$B$100,2,FALSE)),"",VLOOKUP($B1,Sheet2!$A$1:$B$100,2,FALSE))
と入れます。$マークが入っているので、下にドラッグできます。
「2」は$A$1:$B$100の2番目の列つまりB列の内容との一致を検索しています。なお、一致するものがない場合は、””(null)としています。
    • good
    • 0

No.5さんの回答に、XLOOKUP関数の評価がなされていません。


XLOOKUP関数は、VLOOKUP関数のような制限は(職番表の名前列が職番列の左側にあるのならなどの制限は)ありません。
    • good
    • 1

No.4さんの回答を支持します。

その理由は以下のとおりです。
VLOOLKUP関数やLOOKUP関数という回答もありますが、これらの関数には制約条件があります。
VLOOKUP関数だと、ご質問者が
>社員全員の職番表はExcelですでに作ってあります
とおっしゃっている職番表が名前列が職番列の左側になくてはいけません。
常識的な表だと、No.4さんがお示しになったように名前列が職番の右側にあるものが大多数なので、VLOOKUP関数を使うなら表の列を入替しなければいけません。
(逆にレアケースだと思いますが、職番表の名前列が職番列の左側にあるのなら、そのままで、VLOOKUP関数が使えますが・・・・・・)
INDEX関数とMATCH関数の組合せであれば、この制約は受けません。従って、名前列、職番列の位置に拘らず利用できます。
また、LOOKUP関数を使うアイディアもありますが、この場合、職番表は氏名が文字コードで昇順にならんでいる必要があります。
職番表がそんな順番で作成されているとはとても思えないので、並び替える必要が生じます。普通に氏名列を基準に昇順で並び替えすると、「ふりがな」順で昇順になってしまいますので、「文字コードで昇順」にするには工夫が必要です。
ここでも関数を使う必要が生じてしまい、LOOKUP関数を使うメリットが失われます。
というわけで、INDEX関数とMATCH関数の組合せが本件の場合、最も好ましいと思います。
ただし、そうは言っても制約条件がないわけではありません。当たり前のことですが、同姓同名で職番のみ異なるという人がいる場合、INDEX関数・MATCH関数の組合せでは、一番最初に登場する人の職番のみ返ります。二番目以降に登場する同姓同名者は職番表に無かったものと見做されてしまいます。
「職番表には同姓同名者は登場しない」というのが制約条件になります。
    • good
    • 0

添付図参照(Excel 2019)


Sheet1!A2: =INDEX(職番,MATCH(B2,社員名,0))
「Excelで出来るか教えて下さい。」の回答画像4
    • good
    • 0

LOOKUP関数でしょうね。


VLOOKUP関数
HLOOKUP関数
XLOOKUP関数
などありますよ。
    • good
    • 0

vlookupで参照キーを名前にすれば可能です。



vlookupで検索すれば使い方が色々載ってます。
    • good
    • 1

LOOKUP関数で可能ですね。



https://support.microsoft.com/ja-jp/office/looku …
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング