「[Expression.Error] キーがテーブルのどの行とも一致しませんでした。」の解決方法
同じ形式のエクセルデータが複数ファイルに分かれている。
EXCELの機能で一つに結合してみたら、
『[Expression.Error] キーがテーブルのどの行とも一致しませんでした。』とのエラーが出た。
エラーは困りますよね。
無事に結合したいと思いますよね。ぼくもそうでした。
ネットで同じエラーを探してみましたが、自分のケースとは違いました。
いろいろ試行錯誤してみたら、エラーの原因がわかりました。
実際に、その原因へ対処したところ、無事に結合できました。
もし、この記事のタイトルのエラーが出て、エラー原因が私と同じ (シート名がバラバラだったこと) であれば、この記事でエラーが解消するはずです。
Expression.Errorのエラーが出た過程
エラーとなった際の結合元ファイル
私が結合に失敗したときのエクセルデータは、下記画像のようにラベルは同一で、月別に作成されたExcelデータファイルでした。
エラーとなった際の結合作業手順
①エクスプローラにて、結合するExcelファイルのみを格納するフォルダを作成しました。
②そのフォルダに上記のファイルを格納しました。
③新規のエクセルファイルを作成し、
データ ⇒ データの取得 ⇒ ファイルから(F) ⇒ フォルダーから(F) を選択しました。
④上記の②で結合元ファイルを格納したフォルダを選択し、「開く」をクリックしました。
⑤表示される画面で、
結合 ⇒ 結合および読み込み を選択しました。
⑥表示される画面で、
パラメーターに表示されたExcel(この事例では「仕訳帳1月」)をクリックし、OKと進みました。
エラー時の結合作業の結果
上記の手順の結果、次のエラーが表示されました。
Expression.Errorの原因(1)
エラーの原因
結論からいうと、結合するファイルのそれぞれのシート名が異なることが原因でした。
1月分のファイルのシート名は「仕訳帳1月」
2月分のファイルのシート名は「仕訳帳2月」
3月分のファイルのシート名は「仕訳帳3月」
という具合です。
解決した方法
結論、シート名を同じにする。
これだけでした。
上記ファイルのシート名をすべて「sheet1」にしました。
名前はなんでもよいです。
シートの名前を変更後、先述の「エラーとなった際の結合作業手順」と同じ手順で進めたところ、
無事にデータは結合されました。
「[Expression.Error] キーがテーブルのどの行とも一致しませんでした。」が出たらまず確認すること
「[Expression.Error] キーがテーブルのどの行とも一致しませんでした。」
でググると、クエリをどうするとか、ハイレベルそうな記事が多いです。
まずは下記のような簡単に確認できることから確認するのが効率的です。
・結合する各ファイルのシート名が揃っているか(シート名がバラバラだとエラーになる)
・エクセルの形式が同じか(一つは「~.xlsx」、
他は「~.csv」とか「~.xls」とかはエラーになる)
・そもそもどれかのファイルにパスワードがかかっていないか
(外部から入手するExcelファイルはパスワードが設定されていることがあります。
作業前に解除が必要です。)
・結合する各ファイル内の列の並びが同じか
(いくつかのファイルは5列、ほかは6列ある場合でも、1~5列の並びが同じなら大丈夫)
同じ原因でエラーが出た方のお役に立っていれば幸いです。
ここまで読んでいただきありがとうございました。