質問: エクセルで2個から10個のデータの差の小さい2つ エクセルでg列に最初2つの試験結果が入力されその相対誤差(大値から小値を引いてそれを平均で割った値)が5%以上なら3つ目の結果を入力します。 この3つの中で一番近い値の相対誤差を求めて、相対誤差が5%以下になるまで(最大10個程度)試験結果を入れていくのですがこれを満たす式(方法論)が思いつきません。 つまりg列に入力された数値の中で一番近い2つの値の相対誤差を求める表を作りたいのです。 総当たりで各々の差を計算してその相対誤差の一番小さな値を求めればよいと思うのですがかなり大きな表になってしまうのでもっと簡単な式ができないかと思い質問させていただきます。
回答: >上記で質問内容がご理解いただけましたでしょうか? 勝手解釈になるかも知れませんが添付画像のような表を作成してみました。 b2に下記の数式を設定して最終の入力値を求めます。 =index(g:g,max(index(isnumber(g2:g11)*row(g2:g11),0))) c2は最終入力値と他の入力値の比較をして最少差を求めます。 =small(index(abs(g2:g11-b2)+isblank(g2:g11)*9,0),2) a2へb2セルとc2セルの値から逆算で最少差となった相手の値を算出します。 =min(b2+c2,abs(b2-c2)) d2はa2とb2から2値の平均を求めます。 =average(a2:b2) e2はc2とe2から相対誤差を算出します。 =c2/d2 (表示形式を「%」にしました) g列の塗りつぶしは条件付き書式でa2とb2に一致するg列のセルに着色します。 数式の解説が必要なときは数式を提示して理解できない点を述べてください。