- 締切済み
VLOOKUP 関数で表示された文字列が検索できま
環境:Excel 2007, Windows 7 Excel で2つのファイルを用意します。ファイルA はデータベースの構造です。ファイルB は、ファイルA を VLOOKUP 関数で検索して、その中の文字列を表示します。 まず、ファイルB だけを開いた状態にします。ファイルB には、ファイルA に記述されている文字列が VLOOKUP 関数により表示されています。文字列「ABCDEFG」は、ファイルB には直接 記述されていません。しかし、ファイルA に記述されているため、ファイルB でも表示されています。つまり、VLOOKUP 関数のセルに表示されています。ここで、ファイルB 内で「ABCDEFG」を検索します。すると検索文字列としてヒットしません。ファイルA で「ABCDEFG」を検索するとヒットします。つまり、VLOOKUP 関数で表示されている文字列は検索対象から除外されています。 質問です。VLOOKUP 関数で表示された文字列を検索する方法を教えていただけないでしょうか。私なりに調査しましたが、理解できませんでした。おそらく ネット検索が へたなせいです。よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- bunjii
- ベストアンサー率43% (3589/8249)
>Excel の こしょうと判断するのは時期尚早です。 部分的なプログラムの損傷の例は少なくありません。 そのためかOfficeはコントロールパネルのプログラムのアンインストールからOfficeの修復ができます。 修復しても保存されているデータには影響ありません。 また、Officeをアンインストールして再インストールしてもデータに影響はありません。 ライセンス認証についてもオンラインで再認証されるはずです。
- bunjii
- ベストアンサー率43% (3589/8249)
- bunjii
- ベストアンサー率43% (3589/8249)
当方で検証した結果ではファイルAを閉じても正常にヒットします。 関数を入力するときは1つのExcelウインドウにファイルAとファイルBを開いた状態で検索値と範囲を実際のセル選択で設定しました。 ファイルBで正常にヒットすることを確認し、ファイルAを閉じた後で検索値を変更しました。 結果は正常にヒットしています。 VLOOKUP関数の入力時は以下のとおりです。 =IF(A2="","",VLOOKUP([ファイルA.xlsx]Sheet1!A$2:B$6,2,FALSE)) ファイルAを閉じた状態では同じ数式のファイル名がフルパス付きに変化します。 =IF(A2="","",VLOOKUP('C:\Users\Owner\Documents\[ファイルA.xlsx]Sheet1'!A$2:B$6,2,FALSE)) 貼付画像はWindows 7のExcel 2007で検証した結果です。 特段の設定変更を行っていません。
補足
ありがとうございます。私も今、ファイルA を開いた状態、閉じた状態の両方で確認してみました。結果、両方ともで検索できませんでした。前述したとおり、「検索対象」を「値」に変更してから検索すると成功しました。VLOOKUP の式の一例は以下です。異なる点があるとは思えません。不思議です。 =VLOOKUP($A336,[FileA.xlsx]一覧!$A$2:$L$9999,2,FALSE)
- piroshi999
- ベストアンサー率24% (31/129)
EXCEL2010ですけど。。。 検索ウィンドにオプションがありませんか? その中の検索対象を値にしてみてください。
補足
ありがとうございます。 「検索対象」を「値」に変更してから検索すると成功しました。 ただ、これだと毎回「検索対象」を「値」に へんこうしなければならない、という手間は発生してしまいます。もし「検索対象」を「ファイルを開いた直後」から「数式 と 値 の両方」に設定しておく方法をご存知なら教えていただけないでしょうか。言い換えれば、検索対象の初期状態が「数式のみ」に設定されている理由が理解できない、ということです。よろしくお願いいたします。
補足
Excel の こしょうと判断するのは時期尚早です。まずは、ほかの人の回答、piroshi999 さんの回答、などを待ってみたいとおもいます。それからでも遅くありませんから。