• 締切済み

EXCELで文字列を結合して数式を処理したい

LOOKUP関数を以下のように複数セルにわけて文字列として配置します。 A1:LOOKUP(AL17,'C:\Documents and Settings\My Documents\ファイルA.xls] A2:シート1 A3:'!$A$3:$A$200,'C:\Documents andSettings\My Documents\.xls] A2:シート1 A4:'!$B$3:$B$200) A1からA4までを文字列結合してA5に表示します。 A5:=A1&A2&A3&A2&A4 その上で、A5の数式をA6にて処理したいのですが、うまくいきません。 A6:indirect(A5) のように書いてもエラーとなります。 どなたか打開策を教えてください! #今回はlookup関数の参照するシート名を動的に表現したかったため、   わけて記述し、文字列結合するという形式にしています。   (ここでいうA2がシート名)

みんなの回答

  • cab6067
  • ベストアンサー率0% (0/0)
回答No.2

> #今回はlookup関数の参照するシート名を動的に表現したかったため、 >   わけて記述し、文字列結合するという形式にしています。 A1: Book1.xls ... ファイル名 A2: Sheet1 ...... シート名 A3: 5555 ........ 検査値 A4: A1:A12 ...... 検査範囲 A5: B1:B12 ...... 対応範囲 とすると、答は A6: =LOOKUP(A3,INDIRECT("["&A1&"]"&A2&"!"&A4),INDIRECT("["&A1&"]"&A2&"!"&A5)) かなぁ~。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

検証してありませんが、式を表す文字列を式として実行するユーザー定義関数です。使い方の例は、参考URLをご覧下さい。 Function myEvaluate(target As String) As Variant myEvaluate = Application.Evaluate(target) End Function

参考URL:
http://okwave.jp/qa4238289.html