![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
以下の条件を計算式で打ち出す事は可能でしょうか?
50を入力したときに別のセルに1.50が出る
100を入力したときに別のセルに1.50が出る(100以下の数値入力時は全て1.50)
200を入力したときに別のセルに2.30が出る(₊0.8)
300を入力したときに別のセルに3.00が出る(₊0.7)
400を入力したときに別のセルに3.60が出る(₊0.6)
500を入力したときに別のセルに4.10が出る(₊0.5)
600を入力したときに別のセルに4.50が出る(₊0.4)
700を入力したときに別のセルに4.80が出る(₊0.3)
800を入力したときに別のセルに5.0が出る(₊0.2)
900を入力したときに別のセルに5.1が出る(₊0.1)
1000を入力したときに別のセルに5.1が出る(900以上の数値入力時は全て5.1)
上記以外の数字を入力した場合は、ちょうどその間の数字が出る
例:150という値を入力したときには別のセルに1.90が出る
例:220という値を入力したときには別のセルに2.44が出る
という様なものです。
非常に分かりづらく拙い説明で恐縮ですが、ご教授頂けますと幸いです。
No.3ベストアンサー
- 回答日時:
こんばんは
100以下と、900以上は一定値で、100~900の間は補間して値を求めたいということと解釈しました。
ご提示の値の変化率が1次関数なので、2次曲線の解を求めて補間すれば簡単な数式にできるので簡単です。
ただし、曲線補間になるので、ご提示の直線補間とは少し異なる値になってしまいます。
(100、200、300・・の場合の値は、ぴったりと一致しますけれど・・)
こちらの方法の方が、グラフ的にはもっともらしい考え方だとは思いますけれど・・
(こちらであればなめらかな曲線グラフ。ご提示の方法だと折れ線グラフ)
ちなみに、その場合は
150の場合の値は 1.9125
220の場合の値は 2.448
となります。
二次式の解は、
Y=-5E-6*X*X+95E-4*X+0.6
といった感じです。
どうしても折れ線グラフ的に補間を行いたければ、No1様の回答のような表を作成しておいて、どの値の間に入るかを検索して直線補間をするしかなさそうですね。
No.5
- 回答日時:
様々な解決方法があると思いますが、出来るだけシンプルになるよう考えてみました。
作業用のセルを使用してもよいという前提ですが、添付画像をご覧ください。
入力セルをA1セルとし、C1セルに入力値に対する出力値を表示するものとします。
B1セルに、
=ROUNDDOWN(A1,-2)
という数式を記述しています。
さらに、C1セルに
=IFS(A1<=100,1.5,A1>=900,5.1,TRUE,0.6+(1900-B1)*B1/200000+(0.9-B1/1000)*(A1-B1)/100)
という数式を記述しています。
これで、C1セルにご希望の結果が表示されると思います。
数式の意味を説明するととても長くなります。
なにを計算しようとしているのか解析してみてください。
なお、作業セルをしたくない場合は、C1セルに記述した数式のB1の部分全てをROUNDDOWN(A1,-2)に置換すればよいわけですが、数式が長くなり、判りずらいものになってしまいます。
![「特定の条件で計算式を組みたいのですが、教」の回答画像5](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/9/142736_635c5ffa311f3/M.png)
No.4
- 回答日時:
添付図参照です。
INDEX関数とMATCH関数とIF関数を使います。
E列に数値を入力すると、K列に答えがでます。
添付図では計算させる部分は3列作っていますが、必要に応じて調整ください。
A列は必要ありませんが、F列に表示される数字がA列のNo.に対応しています。(B~F列は必要です)
F~J列は作業列です。邪魔にならないところに移動してもよいです。
◆手順
1.添付図のような表を作成します。
2.F2セルに『=MATCH($E2,$B$2:$B$12,1)』を入力します。
3.G2セルに『=INDEX($B$2:$B$12,$F2)』を入力します。
4.H2セルに『=INDEX($B$2:$B$12,$F2+1)』を入力します。
5.I2セルに『=INDEX($C$2:$C$12,$F2)』を入力します。
6.J2セルに『=INDEX($C$2:$C$12,$F2+1)』を入力します。
7.K2セルに『=IF($E2<100,$C$2,IF($E2>900,$C$12,FORECAST($E2,$I2:$J2,$G2:$H2)))』を入力します。
8.F2~K2セルを下方向に必要なだけコピペします。
数式を組み合わせることで作業列を減らすことはできると思いますが、理解しやすいような式にしています。必要に応じて式の統合を行ってください。
![「特定の条件で計算式を組みたいのですが、教」の回答画像4](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/8/120327_635bf20ccea18/M.png)
No.2
- 回答日時:
#1さんのだと,120とかの補間ができませんね。
私は次のようにして,#1さんと同様にtableを使い,補間もできるようにしました。=LOOKUP(C5,_table1)+(C5-@INDIRECT("tables!"&ADDRESS(LOOKUP(C5,_table2),_Tcolumn)))/(@INDIRECT("tables!"&ADDRESS(LOOKUP(C5,_table2)+1,_Tcolumn))-@INDIRECT("tables!"&ADDRESS(LOOKUP(C5,_table2),_Tcolumn)))*(@INDIRECT("tables!"&ADDRESS(LOOKUP(C5,_table2)+1,_Ccolumn))-LOOKUP(C5,_table1))
(全体像は省略します)。ちょっと敷居が高いのでif文だけでやるのが手っ取り早いでしょう。
先ず100以下を
=if(A2<100, 1.5, 次のif文)
で処理し(A2が参照セルとして),「次のif文」に次の文を入れて200以下を処理します。
if(A2<200, A2*0.008+0.7 , 次の次のif文)
同様にして「次の次のif文」で300以下を処理し,同様のことを繰り返します。かなり長い式となりますが,手っ取り早い方法でしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 独自の条件を用いた計算式、もしくは別の方法で打ち出す事は可能でしょうか? 6 2022/05/18 10:38
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) Excelにて、セルに入力してある文字の中から文字と最後の数字のみ切り取り貼り付けるVBA 5 2022/12/27 08:40
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Excel(エクセル) COUNTIFSについて 2 2022/08/30 14:48
- Excel(エクセル) エクセルシートの合計の変動 5 2022/04/05 15:56
- Excel(エクセル) エクセルの昇順での数値入力のミスの見つけ方を教えてください。 4 2022/06/26 20:41
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) Excelについて▶あるセルに文字を入力すると、別のセルに色がつく(条件付き書式) 1 2022/03/27 16:43
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELの散布図で日付が1900年に...
-
エクセルのツールバーから数値...
-
祝日と土曜、日曜の合計をカウ...
-
Excel分数の表示について
-
特定の文字列を含む、住所を抽...
-
Excelについての質問です。 B2...
-
文字2桁、3桁交じりの文字列...
-
Excelで表を作ったところに文字...
-
【マクロ】2回実行したら、エ...
-
【EXCEL】画像の黄色部分の抽出...
-
マイクロソフトのPADを使ってい...
-
絶対参照
-
マクロエクセルのブロック解除
-
在庫管理表に使うエクセルの関...
-
Excelピボットテーブルの1行目
-
エクセルのクイックアクセスツ...
-
DATE関数で現在の年齢を出した...
-
ユーザー定義関数をアドイン登...
-
職場の人から聞かれており、こ...
-
【マクロ】毎回、ファイル名が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報