Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Onedrive内の他のExcelブックからxlookupを使用して値を参照したい。

解決したいこと

Onedrive内に2つのExcelブックがあります。
1「従業員マスタ.xlsx」
2「新拠点従業員データ.xlsx」

2の「MAIL」列のメールアドレスを検索値として、1の
ブックのテーブルからxlookupを使用してメールアドレスを検索範囲、戻り値を従業員番号として、
2に転記したいのですが、onedrive内の別のブックの検索範囲、戻り値のコードの書き方がわかりません。
名前、職種も2のセルに同様の関数を入れて参照させたいです。
xlookupの他にも方法があればご教授いただければ幸いです。

発生している問題・エラー

image.png

自分で試したこと

xlookupでいろいろネット検索したが発見できませんでした。

0

2Answer

いまは手元に環境がないので、具体的な”式”を提示できないのですが、

両方のファイルを開いた状態で、xlookup関数を書いて、該当の引数のところで、別なファイルのセルをクリックすると、ブックを跨いだフルパス名の式になると思うのですが・・・。

明日、onedriveでも可能かどうか確かめて回答を補足します。

0Like

Comments

  1. 明日、onedriveでも可能かどうか確かめて回答を補足します。

    確認しました。以下の式となります。

    =XLOOKUP([@MAIL],従業員マスタ.xlsx!社員データテーブル[@メール],従業員マスタ.xlsx!社員データテーブル[@社員番号])
    

    (質問者さんの環境だと、式の最初の[@MAIL]の前に、REPORTを付ける必要があるかもしれません)

    従業員マスタ.xlsxのフルパスは式には登場せず、「ブックのリンク」として保持していました。
    メニュー「データ」→「ブックのリンク」で、確認できます。

  2. @takaekokaz

    Questioner

    @nak435 さま
    いつもお世話になっております。
    えとー、とりあえずフルパスと検索範囲、戻り値の列を絶対参照で入れたらできました。
    =XLOOKUP([@MAIL],'https://会社名.sharepoint.com/teams/EIGYOUBU/Shared Documents/General/管理フォルダ/マスターファイル/[従業員マスタ.xlsx]シート名'!$F:$F,'https://会社名.sharepoint.com/teams/EIGYOUBU/Shared Documents/General/管理フォルダ/マスターファイル/[従業員マスタ.xlsx]シート名'!$A:$A

    列の参照になるので、テーブルに列を加えると、式も変更しないといけないですね。

    教えていただいた式で試しましたが、セルに赤線が囲まれてエラーになります。
    >従業員マスタ.xlsxのフルパスは式には登場せず、「ブックのリンク」として保持してい>ました。
    まだ浅学でこの意味がわかりません、、、。

  3. 列の参照になるので、テーブルに列を加えると、式も変更しないといけないですね。

    A:A[@社員番号]F:F[@メール]に変更して列名を使うことで、テーブルに列を追加しても、式の変更は不要になります。


    教えていただいた式で試しましたが、セルに赤線が囲まれてエラーになります。

    式を作る過程で、別なブックのセルをクリックすることで、自動的に「ブックのリンク」が作成されると思うのですが、その行為をせずに式だけ直接書いても、「ブックのリンク」ができていない。ためのエラーだと思います。

    これを修正するのは「ブックのリンク」についてステップを追って順に説明する必要がありますが、
    今回の先頭の回答の「列名への変更」にて、当初の目的が達成されたなら、それで運用されて問題ないと思います。何か困ることがございますか?

  4. @takaekokaz

    Questioner

    @nak435さま
    列名変更で達成できました。今回もご指導ありがとうございます。

Comments

  1. @takaekokaz

    Questioner

    @megchandesu さま
    ファイルがすべてONEDRIVE内に保存されているので、POWER AUTOMATE/OFFICEスクリプトによる方法をとらざるを得ない状況です。

Your answer might help someone💌