• ベストアンサー

Excel 関数の組み込み

傾きをSlope関数を利用し、他のCellの値を用いて使用したいのですがエラーが出てうまくいきません。 添付画像のようにAB3の値(405)を用いて、Slope(y,x)を =Slope(AB403:AB407,AA403:AA407) という風にしたいのですが、””でくくってみたり、Offset関数を用いてもうまく表せません。$マークを付けているのは、他の温度60度~140℃で使うときにオートフィルを使用したいからです。 どのようにすれば様でしょうか。ご教授よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>添付画像のようにAB3の値(405)を用いて、Slope(y,x)を=Slope(AB403:AB407,AA403:AA407)という風にしたいのですが、 添付画像の数式ではyとxの配列値を正しく定義していません。 SLOPE関数の計算範囲を可変にする場合は条件を正しく説明しないと組み立てる数式を提示できません。 OFFSET関数でAB3に与える数値が計算対象の行番号の中心値である場合は次のように記述すれば求められるでしょう。 yの対象範囲は OFFSET($AB$1,$AB3-3,1,5,1) xの対象範囲は OFFSET($AA$1,$AB3-3,1,5,1) INDIRECT関数のときは次のようにします。 yの対象範囲は INDIRECT("AB"&AB3-2 &":AB" &AB3+2)                ↓         INDIRECT("AB"&405-2&":AB"&405+2)                ↓              AB403:AB407 xの対象範囲は INDIRECT("AA"&AB3-2 &":AA" &AB3+2)                ↓         INDIRECT("AA"&405-2&":AA"&405+2)                ↓              AA403:AA407

その他の回答 (4)

  • SI299792
  • ベストアンサー率47% (774/1618)
回答No.5

別の質問の方に回答したのですが、本来、こっちに回答すべきと思ったので、ここにも回答します。 多分FとG~L、MとN~S、TとU~Z、AAとAB~AGでやりたいのだと思います。 列、ABに入力した行の上2行から、下2行までを対象にしたいのだと思います。 指定行は、G、N、U、ABに入れるのか、すべての列に入れるのかわかりませんが、すべての列に入れるとしました。 別のシートをワークエリアに使っていいですか? 1つの式にすると、式が複雑になりすぎる為か、#NUM! エラーになります。(理論上は可能なはずですが。) まず、新しいシートを作り、Workという名前にします。 F1 ="R"&Sheet1!F3-2&"C"&COLUMN()&":R"&Sheet1!F3+2&"C"&COLUMN() F2 ="R"&Sheet1!F3-2&"C"&FLOOR(COLUMN()+1,7)-1&":R"&Sheet1!F3+2&"C"&FLOOR(COLUMN()+1,7)-1 AGまでコピペ。 このシート AB4 =SLOPE(INDIRECT(Work!AB1,FALSE),INDIRECT(Work!AB2,FALSE)) 左右へコピペ

参考URL:
https://free.filesend.to/filedn_infoindex?rp=dbb833c04e3fef49f8ad64b9d5bebf6o
  • mt2015
  • ベストアンサー率49% (258/524)
回答No.4

ANo.1です。 > できれば教えていただきたいのですが、INDIRECT関数のなかの":AB"は「:」も””でくくっていますがこれはどうしてなのでしょうか。 INDIRECT関数は、参照するセルやセル範囲のアドレスを文字列で指定する関数です。 なので、以下の様にセル範囲を示す文字列を作っています。 "AB"&AB3 &":AB" &(AB3+4)  ↓ "AB403:AB407"   #セルAB3の値が403の時

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.2

=SLOPE(OFFSET(INDIRECT("$AA"&AB3-2),0,0,5,1),OFFSET(INDIRECT("AB"&AB3-2),0,0,5,1)) でいかがでしょうか。

bitamin123456
質問者

お礼

ありがとうございます!yとxを反対にしたら、求めたい値が出ました! INDIRECTを組み合わせれば、よかったのですね。ありがとうございました。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.1

INDIRECT関数を使ってみました =SLOPE(INDIRECT("AB"&AB3 &":AB" &(AB3+4)),INDIRECT("AA"&AB3 &":AA" &(AB3+4)))

bitamin123456
質問者

お礼

回答ありがとうございます!無事できました! できれば教えていただきたいのですが、INDIRECT関数のなかの":AB"は「:」も””でくくっていますがこれはどうしてなのでしょうか。