• ベストアンサー

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

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

  • s1ny
  • お礼率83% (10/12)

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

  • ベストアンサー
回答No.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),"")

s1ny
質問者

お礼

丁寧にご回答して頂きありがとうございます。 質問方法が適切でなく、回答者の皆様にご迷惑をおかけしました。 申し訳ありません。 回答者の皆様ありがとうございました。

その他の回答 (5)

回答No.5

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

s1ny
質問者

お礼

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

  • f272
  • ベストアンサー率46% (8021/17145)
回答No.4

何が仕組まれているかわからないファイルにアクセスするのは,相当に勇気のある人か,ウイルス対策が万全(ウイルスに感染したら最悪の場合にはPCを捨てても良いと思える人)の人だけです。 でも#1さんの図で大体はわかったので回答してみる。 #1さんのやっているのは補間ではありません。回帰ですね。もちろんこれでもそれなりの値を返してきますが,補間でなくてもいいのですか? どうしても補間でなければならないのであれば,出来ません。補間とは,X'が元の表の範囲内の数値でなければなりません。それの範囲を外れるときは補間ではなく補外が必要です。

s1ny
質問者

お礼

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

回答No.3

値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.30 1.158994582 726.20 1.187197447 727.10 1.21351759 728.00 1.243244583 728.90 1.268253294 729.80 1.285733228 730.70 1.286749467 731.60 1.28497432 732.50 1.283199172 733.40 1.281773544 734.30 1.279157823 735.20 1.276520592 736.10 1.275056746 737.00 1.271488698 737.90 1.267931754 ねらいや、値の補間の意味を取り違えていたらごめんなさい。

s1ny
質問者

お礼

ご回答ありがとうございます。 この式で目的を達成することができました。 本当に助かりました。感謝致します。 質問の方法が不適切で申し訳ありませんでした。

回答No.2

#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 ということかな? (先ほどの回答は線形近似でした)

s1ny
質問者

お礼

回答ありがとうございます。 INDEXとMATCHは知らなかったので、参考になりました。 もう少し考えてみます。

回答No.1

外部にリンクし、さらにDLさせるのはあまり好ましいことではないと思います =TREND($B$2:$B$6,$A$2:$A$6,D2) 範囲は適宜広げてください

s1ny
質問者

お礼

回答ありがとうございます。 申し訳ありません。気をつけます。

関連するQ&A

  • Excelの補間について

    実験データを取り込んだエクセルのデータがあります。 以下の左がx軸で、右がyです。 time voltage 0.000 0.0000 0.001 0.0123 0.002 0.0374 2.000 0.0249 データは2000点あり、波形は正弦波など綺麗な形ではないです。 これに関して、もっとxの値を細かくし、yを補間したいのです。 たとえば上のxを1桁細かくしたデータを取りたいということです。 time voltage 0.0000 0.0000 0.0001 ? 0.0002 ? 0.0010 0.0123 2.0000 0.0249 というイメージです(?の部分を補間で求めたいです)。 データの補間は線形補間のような簡単なものでかまいません。 詳しい方、よろしくお願いいたします。

  • 検流計 補間法について

    補間法とは自然数xがx0,x₁,x₂….xnの値をとるとき、被変数yがそれぞれy0,y₁,y₂…ynの値をとることが知られている時、区間xpxq間の任意の値のxに対応するyの値を決定することである と図書館で見つけた本に記述されていたのですが、これをかみ砕いて言葉(文章)で説明するとどのようになるでしょうか?

  • 線形補間について教えてください。

    今手元にx、y、zの座標が140個分あるのですが、それをエクセルの散布図を使いグラフにしました。しかし、明らかにおかしな場所に座標がプロットされていたりするため、スプライン補間などを使いきれいにしたいと考えています。 インターネットなどで、線形補間について調べたのですが、表現が難しくなかなか理解できませんでした。 スプライン補間やラグランジェ補間、ニュートン補間など色々あるようですが、これらの違いは何なのでしょうか。どなたか簡単に教えてください。お願い致します。 また、エクセルを使ったスプライン補間のやり方も教えてくだされば幸いです。 よろしくお願いします。

  • 直線補間出来る関数

    直線補間できる関数はエクセルに有るのでしょうか? 直線補間とはxy座標において、点A(x1,y1),点B(x2,y2)が有ったときに、x1≦x≦x2における任意のxに対するyの値を点AB間が直線だと仮定して求めるすることです。 今は、VLOOKUP,match,Index関数を使ってやってますが、関数がある非常に楽です。

  • 三次補間を使った近似値の求め方

    三次補間でf(x) = sinh(x)の近似を求めたいです。 f(0) = 0.0000、f(1) = 1.1752 f′(0) = 1.0000 、f′(1) = 1.15431 の値が与えられている状態です。 この場合、f(0.5)は三次補間(cubic interpolation)の求め方はこれで正しいのでしょうか? p(x_i) = y_iとp(x_i + h) = y_i + h*y_i'より f(0.5) = f(0+0.5) = y_0 + (0.5)*y_0' = 0.000 + 0.5*1.000 = 0.5 よってf(0.5) = 0.5 補間の手法が沢山あって少しこんがらがっています。 ただ、sinh(0.5) =0.522・・・なので有っていそうなのですが 間違っていたら教えてください><お願いします><

  • Excelでxとyの値を求めたい

    下記の表を作り、C列に値を入れたら、D、E列にx、yの値が出るようにしたいと思います。     A           B          C          D          E 1 x*0.2+3.2                 3.7       =(C1-3.2)/0.2 2 x*0.4+2.9     y*0.2+3.0      7.5 xだけの場合は数式でなんとかなりました。 問題は、xとyの場合です。 2行目は、A2+B2がC列の値になっています。 C2に7.5を入力したら、D2とE2にxとyの答えを出したいのですが、 別の表にあるxの値「+5.0、+2.5、0、-5.0、-10」、yの値「+3.0、+1.5、0、-7.5、-15」から 答えを選びたいのです。(ここではD2は2.5、E2が1.5が正解になります) よい方法がありましたらアドバイスをお願いします。

  • 等高線図を書くための補間のやり方

    等高線図を書きたく,補間のやり方を調べています. 既知の点,P(x1,y1,z1),Q(x2,y2,z2),R(x3,y3,z3),S(x4,y4,z4)が存在したときに,これらの点に囲まれた中の任意の場所のz座標を補間法によって求めたいと考えています. 「補間」で検索をかけてみると,いろいろな補間方法がヒットしますが,x,y座標で,いくつかの点を曲線で結ぶというやり方はヒットするのですが,x,y,z座標については見当たりませんでした. まずは,有用な補間法の名前,複数ある場合は,それぞれ長所,短所などだけでも教えていただけませんでしょうか? よろしくお願いいたします.

  • 線形補間

    線形補間での求め方 問題文: 1.数値を読み込む 2.xを読み込む 3.x<x1 または x>xnならエラー 3.x1<x<i+1 となるiを見つける 4.補間公式でyを求める 5.結果をプリントする #include<stdio.h> float hokan(void); int xn[] = {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75}; double yn[] = {0.000,0.087,0.173,0.258,0.342,0.422,0.500,0.573, 0.624,0.707,0.766,0.819,0.866,0.906,0.939,0.965}; int x=5; void main() { printf("y = %lf\n", hokan()); } float hokan(void) { int i; double y; if(x <0|| 75<= x){ printf("エラーです\n"); } else{ for(i=0; xn[i] < x; i++) y = (yn[i+1] - yn[i]) * (x - xn[i]) / (xn[i+1] - xn[i]) + yn[i]; return y; } } 数表を最初にxnとynで表記しています。 このプログラムで線形補間が行われてないそうなのですが・・ 何か誤りがある様でしたらどなたか教えてください。

  • 線形補間 プログラム

    線形補間のプログラムが分かりません。 ちなみに関数をしようして作れといわれてすごく悩んでいます。 どなたか教えてください。 ちなみに値は a[0]=0.0;b[0]=0.0; a[1]=5.0;b[1]=0.087; a[2]=10.0;b[2]=0.173; a[3]=15.0;b[3]=0.258; a[4]=20.0;b[4]=0.342; a[5]=25.0;b[5]=0.422; になっています。 教えてください

  • Excelについて(グラフ作成)

    Excelでグラフを作成するときに、 例えば、x軸をA列の値、y軸をB列の値にしたいのなら2列を選択して グラフは簡単にできるのですが、それでは x軸をA列の値、y軸はある関数の値(例えばB1に入っているy=2*xのyの値)にしたいときはどうすれば良いのでしょうか? 分りやすくいうと、A列には1行目から 0 、2 、 4 、 6 、 8 、 10 、 12 ・・・・・ B1に、y = 2 * xが入っていてここから x=0 のとき y=0 x=2 のとき y=4 x=4 のとき y=8 x=6 のとき y=12 x=8 のとき y=16 x=10 のとき y=20 よりグラフを作りたいのです。 よろしくお願いします。

専門家に質問してみよう