ExcelのVLOOKUP関数とSalesforce15桁IDの悪夢【Salesforce】

読者の皆様、どうも~ コムコム.comです。

前回は設定系でのミスでしたが、今回も最近やらかしたポカの話です。
※早いうちにポカ以外のネタを提供出来るようにしないと・・・

さて、色々書く前に、何をやらかしたかと言いますと、Salesforceに取込む更新データをExcelのVLOOKUP関数を使って作り・取込んだら、データがおかしいことに・・・。
幸い構築中の新規データに対して更新するだけだったので、稼働中の既存データに影響なかったのが救いでした・・・

では、何故こんなことになったのか、順序よく書いていきましょう~

  1. 更新対象のオブジェクトから、レポート機能でデータ抽出する。
  2. 更新に必要なデータ【「1.」とは参照関係で結ばれている】をレポート機能でデータ抽出する。
  3. Excelを使って、「1.」で取得した対象に対する更新値として、「2.」で抽出したデータをVLOOKUP関数で指定する。なお、検索キーはSalesforceの15桁IDをキーとする。
  4. 「3.」で完成したデータを取り込む。

とまあ、ざっくりした流れはこれなんですが、「3.」でしくじりました。

ExcelのVLOOKUP関数は、ご存じの通り、別表にある値を指定したキーに基づいて探してセットしてくれる関数です。

ただ、ここで1つ問題がありました。
大文字・小文字を区別してくれないという問題が・・・

Salesforceは、15桁IDと18桁IDの2種類があり、以下のような特性があります。

  • 18桁ID・・・大文字・小文字の区別なし
  • 15桁ID・・・大文字・小文字の区別あり

 

んで、今回15桁IDをキーにしてVLOOKUP関数をやったものだから、以下の2つを同じ物と判定してしまい、最初にあった方を有効な値と認識して設定しに・・・

Salesforce IDイメージ

 

大文字・小文字を含めたものをユニークキーにしましょうと言うお話でした。

ちなみに、リカバリー時も少し戸惑ったので、それは次回のネタに~