
A B C D E F G H
1 深さ 荷重1 荷重2 荷重3 深さ 荷重1
2 1.5 100 150 200 2.5 135
3 2.0 120 180 300
4 3.0 150 200 350
上記のようなA1からD4までの表があり、深さと荷重の種類によって値が決まります。
G2に深さを入力した時に、H2に荷重1の値が表示されるようにしたいのですが、G2の深さは表にある値とは限らず、「1.8」や「2.45」などの半端な数値を入力することもあります。その場合、H2の値は上下の深さに当たる荷重を比例配分するようにしたいのです(たとえば上のように、G2「2.5」ならH2は「135」と表示)。
また実際の表はもっと縦に長く、参照する深さの間隔もまちまちです。
私は単純なvlookup関数しか使ったことがなく、前後の2つの値を参照する方法などあるのでしょうか。
分かりにくい表と説明で申し訳ありません。
どなたか詳しい方、教えていただければ幸いです。
No.3ベストアンサー
- 回答日時:
VOOKUP関数もいいが、MATCH関数は何番目を返し、第3引数にー1,0,1の3つがあり、0は完全一致を探す場合です。
本件のように間隔に落ちるかどうかを探すのは0以外で、本質問は昇順なので、指定した値以下の最大値を探す1を使います。深さ
0
1.5
2
3
4.5
6.2
で
値が
G列 H列 I列
1.223
1.634
3.156
567
4.456
2.545
ときH列は
=MATCH(G2,$A$1:$A$100,1)で下方向に複写すると上記H列のようになります。これに1プラスした行数(I列)との間に、落ちる値であることがわかります。
後は2番目と3番目の値をINDEX関数で採って、比例配分させればよいです。
また列方向でなく行方向でもMATCH関数は使えます。
H7に2.5が有るとして
=INDEX($B$1:$B$100,H7,1)+(INDEX($B$1:$B$100,H7+1,1)-INDEX($B$1:$B$100,H7,1))*((G7-INDEX($A$1:$A$100,H7,1))/(INDEX($A$1:$A$100,H7+1,1)-INDEX($A$1:$A$100,H7,1)))
で135になりました。
個人的好みでは、関数では長くなるのでVBAにして、式はセルから隠したいですね。
有難うございました。
私には高度すぎて読んでて頭がおかしくなりそうでしたが、
じっくり時間をかけて試してみたら、できました!!
すごくうれしいです。有難うございました!!!
No.2
- 回答日時:
ご提示の表に最少値行と最大値行を設定するとして、次の方法で如何でしょうか。
H2セルに=IF(COUNTIF($A$2:$A$6,G2)=0,VLOOKUP(G2,$A$2:$D$6,2)+(OFFSET($A$2,MATCH(G2,$A$2:$A$6,1),1)-OFFSET($A$1,MATCH(G2,$A$2:$A$6,1),1))*(G2-OFFSET($A$1,MATCH(G2,$A$2:$A$6,1),)),VLOOKUP(G2,$A$2:$D$6,2))
有難うございます。
OFFSET関数やMATCH関数なんて使ったことがありませんでした。
何とか試してみたんですが、値がうまく比例配分されないんです。
私のやり方が間違ってるのかな・・・。
No.1
- 回答日時:
Sheet1 Sheet2
A B C D A B C D
1 深さ 荷重1 荷重2 荷重3 1 深さ 荷重1 荷重2 荷重3
2 1.5 100 150 200 2 -3 150 200 350
3 2 120 180 300 3 -2 120 180 300
4 3 150 200 350 4 -1.5 100 150 200
A1:D4 → list0 A1:D4 → list1
Sheet1!H2: =VLOOKUP(G2,list0,MATCH(H1,A1:D1,0))+(VLOOKUP(-G2,list1,MATCH(H1,A1:D1,0))-VLOOKUP(G2,list0,MATCH(H1,A1:D1,0)))*(G2-VLOOKUP(G2,list0,1))/(-VLOOKUP(-G2,list1,1)-VLOOKUP(G2,list0,1))
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 加重平均を用いた運搬距離の算出をしたいです。 1 2022/08/10 09:10
- Excel(エクセル) Excelで行削除をすると… 1 2023/07/26 11:57
- Excel(エクセル) エクセル、日々の集計整理方法。(再送です。) 5 2022/10/02 00:19
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) こんにちは。ExcelのVLOOKUP関数のことで教えてください。 2 2022/05/07 11:33
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) Excelのマクロについて 2 2022/06/14 03:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Officer360?Officer365?の...
-
【マクロ】【画像あり】関数が...
-
オートフィルターの絞込みをし...
-
勤怠表について ABS、TEXT関数...
-
エクセル
-
Excelに貼ったXのURLのリンク...
-
エクセルの表で作業してます。 ...
-
エクセルシートの見出しの文字...
-
Excelで4択問題を作成したい
-
グループごとの個数をカウント...
-
【マクロ】実行時エラー '424':...
-
エクセルについて
-
エクセルの複雑なシフト表から...
-
エクセルの関数について
-
エクセル GROUPBY関数について...
-
グループごとの人数のカウント
-
UNIQUE関数の代用
-
Amazonでマイクロソフトオフィ...
-
【マクロ】変数に入れるコード...
-
ページが変なふうに切れる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報