| 
    
     |  | ▼さる さん: 
 おはようございます。
 
 
 >
 >セルに配列数式を入力/取得する(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」はないでしょう?
 
 つまり、配列数式にする理由が見当たらないと言う事になりませんか?
 確認して下さい。
 
 
 それと
 
 「仕事のストレッサー行項目」と独自に名前を定義された数式で表現されているので
 この名前がどんなセル範囲を定義しているのか、さるさんの投稿を見た人はわかりませんよね?
 よって、検証しようにもさるさんと同じ条件では検証できませんよね?
 
 
 こういう場合、今、抱えている問題を簡単な例題を作って提示するような
 記述の仕方をされた方がさるさんにとって、解決がはやくなると思いますよ!!
 (もっとも私「回答する立場」にとっては、問答を繰り返して質問の意図をはっきりさせる というのも勉強にはなりますけど・・・)
 
 
 |  |