- 締切済み
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がシート名)
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- cab6067
- ベストアンサー率0% (0/0)
> #今回は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)
検証してありませんが、式を表す文字列を式として実行するユーザー定義関数です。使い方の例は、参考URLをご覧下さい。 Function myEvaluate(target As String) As Variant myEvaluate = Application.Evaluate(target) End Function