プロが教えるわが家の防犯対策術!

エクセルでの値の補間法について教えて下さい。

下記URLに置かれたファイルについてですが、
http://www.mediafire.com/?witwwn2djem
列Aに値X、列BにXに対応する値Yが与えられています。
ここで、X、Yの値から
値X'に対応するY'の値を線形補間によって求めるにはどうしたらよいか
教えて頂けませんでしょうか?よろしくお願いします。

A 回答 (6件)

なんかぼろぼろ 絶対参照が中途半端でした


(A40セルが終端として)補間条件をちょっと追加
=IF(AND($A$2<=D2,D2<=$A$40),
TREND(OFFSET($B$1,MATCH(D2,$A$2:$A40),,2),
OFFSET($A$1,MATCH(D2,$A$2:$A40),,2),D2),"")
    • good
    • 1
この回答へのお礼

丁寧にご回答して頂きありがとうございます。

質問方法が適切でなく、回答者の皆様にご迷惑をおかけしました。
申し訳ありません。

回答者の皆様ありがとうございました。

お礼日時:2010/06/29 13:03

#1,#2です。

近い2値を補完するのですね。
皆さんの回答を参考にして、
A列昇順という条件で、E2セル
=TREND(OFFSET($B$1,MATCH(D2,A2:$A40),,2),OFFSET($A$1,MATCH(D2,A2:$A40),,2),D2)
    • good
    • 0
この回答へのお礼

ありがとうございます。

TRENDやOFFSETをつかうとスマートにできそうですね。
こちらでも検討してみます。

お礼日時:2010/06/28 17:34

何が仕組まれているかわからないファイルにアクセスするのは,相当に勇気のある人か,ウイルス対策が万全(ウイルスに感染したら最悪の場合にはPCを捨てても良いと思える人)の人だけです。



でも#1さんの図で大体はわかったので回答してみる。
#1さんのやっているのは補間ではありません。回帰ですね。もちろんこれでもそれなりの値を返してきますが,補間でなくてもいいのですか?

どうしても補間でなければならないのであれば,出来ません。補間とは,X'が元の表の範囲内の数値でなければなりません。それの範囲を外れるときは補間ではなく補外が必要です。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。
質問方法が不適切で申し訳ありませんでした。
以後気を付けます。

お礼日時:2010/06/28 17:22

値X'に対応するY'の値を(X、Yの値から比例で決める)のでしたら、単に関数で


求めることもできると思います。

式は
X'より小さい最大のXをX1 x1より大きいサイダのXをX2
X1に対応するYをY1 X2に対応するYをY2
Y'=(Y2-Y1)/(X2-X1)*(X'-X1)+Y1

Xの範囲に 原Xと名前を定義
Yの範囲に 原Yと名前を定義

ばかげて長い式ですが、E2セルに次の式を入れて、オートフィルで最後まで埋める。
=((INDEX(原Y,MATCH(D2,原X,1)+1)-INDEX(原Y,MATCH(D2,原X,1)))/(INDEX(原X,MATCH(D2,原X,1)+1)-INDEX(原X,MATCH(D2,原X,1))))*(D2-INDEX(原X,MATCH(D2,原X,1)))+INDEX(原Y,MATCH(D2,原X,1))

ちなみに 追加でX'を作って計算させたら、次のようになりました
725.301.158994582
726.201.187197447
727.101.21351759
728.001.243244583
728.901.268253294
729.801.285733228
730.701.286749467
731.601.28497432
732.501.283199172
733.401.281773544
734.301.279157823
735.201.276520592
736.101.275056746
737.001.271488698
737.901.267931754

ねらいや、値の補間の意味を取り違えていたらごめんなさい。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

この式で目的を達成することができました。
本当に助かりました。感謝致します。

質問の方法が不適切で申し訳ありませんでした。

お礼日時:2010/06/28 17:20

#1です。

線形補間でしたm(_ _)m
A列昇順であるとして
=(INDEX($B$2:$B$40,MATCH(D2,$A$2:$A$40))+INDEX($B$2:$B$40,MATCH(D2,$A$2:$A$40)+1))/2
ということかな?
(先ほどの回答は線形近似でした)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

INDEXとMATCHは知らなかったので、参考になりました。
もう少し考えてみます。

お礼日時:2010/06/28 16:33

外部にリンクし、さらにDLさせるのはあまり好ましいことではないと思います


=TREND($B$2:$B$6,$A$2:$A$6,D2)
範囲は適宜広げてください
「エクセルでの値の補間法について教えて下さ」の回答画像1
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

申し訳ありません。気をつけます。

お礼日時:2010/06/28 15:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!