|
▼さる さん:
おはようございます。
>
>セルに配列数式を入力/取得する(FormulaArrayプロパティ)
>
>この構文は可能ですか?
>
>Range("D41").FormulaArray ="=INDEX(ストレス判定ポイント!仕事のストレッサー,MATCH($C$1,ストレス判定ポイント!仕事のストレッサー行項目,0),MATCH(C2,ストレス判定ポイント!仕事のストレッサー行項目,1),1))"
>ただしいですか?
これ自体は、Match関数の結果が正しい値が取得されていれば
INDEX関数の結果は、さるさんの意図する結果がセルD41に表示されているのでは
ありませんか?
但し、
Range("D41").Formula ="=INDEX(ストレス判定ポイント!仕事のストレッサー,MATCH($C$1,ストレス判定ポイント!仕事のストレッサー行項目,0),MATCH(C2,ストレス判定ポイント!仕事のストレッサー行項目,1),1))"
としてもほとんど同じ結果は得られると思いますが・・・。
違いは、「MATCH($C$1,ストレス判定ポイント!仕事のストレッサー行項目,0)」や
「MATCH(C2,ストレス判定ポイント!仕事のストレッサー行項目,1)」の結果が「0」だったときだと思いますが、この結果に「0」はないでしょう?
つまり、配列数式にする理由が見当たらないと言う事になりませんか?
確認して下さい。
それと
「仕事のストレッサー行項目」と独自に名前を定義された数式で表現されているので
この名前がどんなセル範囲を定義しているのか、さるさんの投稿を見た人はわかりませんよね?
よって、検証しようにもさるさんと同じ条件では検証できませんよね?
こういう場合、今、抱えている問題を簡単な例題を作って提示するような
記述の仕方をされた方がさるさんにとって、解決がはやくなると思いますよ!!
(もっとも私「回答する立場」にとっては、問答を繰り返して質問の意図をはっきりさせる というのも勉強にはなりますけど・・・)
|
|