No.2ベストアンサー
- 回答日時:
標準モジュールに登録してください。
C1に例えば20を指定してください。結果はD1に表示されます。
Option Explicit
Public Sub 線形補間()
Dim maxrow As Long
Dim wrow As Long
Dim maxVal As Variant
Dim minVal As Variant
Dim givVal As Variant
Dim p0 As Long '補間開始行
Dim p1 As Long '補間終了行
Dim X As Variant '補間開始からの増分比
Dim ws As Worksheet
Set ws = ActiveSheet
maxrow = ws.Cells(Rows.Count, "A").End(xlUp).Row
minVal = ws.Cells(1, "A").Value
maxVal = ws.Cells(maxrow, "A").Value
givVal = ws.Cells(1, "C").Value
If givVal < minVal Or givVal > maxVal Then
MsgBox ("指定値が範囲外")
Exit Sub
End If
For wrow = 1 To maxrow
If ws.Cells(wrow, "A").Value <= givVal Then
p0 = wrow
End If
If ws.Cells(wrow, "A").Value >= givVal Then
p1 = wrow
Exit For
End If
Next
'補間不要の場合
If ws.Cells(p1, "A").Value = givVal Then
ws.Cells(1, "D").Value = ws.Cells(p1, "B").Value
Exit Sub
End If
X = (givVal - ws.Cells(p0, "A").Value) / (ws.Cells(p1, "A").Value - ws.Cells(p0, "A").Value)
ws.Cells(1, "D").Value = ws.Cells(p0, "B").Value + (ws.Cells(p1, "B").Value - ws.Cells(p0, "B").Value) * X
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセル関数のスペシャリストの方、教えてください。 写真のように A列にはデータ C列にはデータの中 7 2022/04/09 00:15
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Visual Basic(VBA) VBAで大量データの処理 3 2022/11/15 21:53
- Microsoft ASP プログラミング関係で質問です。 3 2022/10/11 16:06
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) 【Excel】指定した文字列に該当する行を重複しないようにリスト 3 2022/03/30 12:27
- Excel(エクセル) 数列の数値補間 2 2022/10/27 16:38
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
エクセル マクロ 範囲指定で...
-
VLOOKUPの列番号の最大は?
-
エクセルのソートで、数字より...
-
VBA 指定した列にある日時デー...
-
EXCELを最大にて開いた際、特定...
-
エクセルマクロPrivate Subを複...
-
エクセルで?
-
列方向、行方向の定義
-
Excelの行数、列数を増やしたい...
-
LEFT関数とIF関数の組み合わせ...
-
VBA
-
VBAで重複データを合算したい(...
-
VBAで別ブックの列を検索し、該...
-
EXCELVBAでリストボックス複数...
-
エクセル 重複 隣の列 一番...
-
(初心者です)VBAでA列がBか...
-
エクセルでセル12個間隔で合...
-
VBA 選択範囲とUnionの使い方に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
VBA 指定した列にある日時デー...
-
Excelの行数、列数を増やしたい...
-
列方向、行方向の定義
-
エクセルマクロの組み方
-
エクセルマクロPrivate Subを複...
-
VBAで別ブックの列を検索し、該...
-
データシートビューのタイトル...
-
CSVファイルの「0落ち」にVBA
-
エクセルのソートで、数字より...
-
Excel文字列一括変換
-
リストからデータを紐付けしたい
-
エクセルで最初の行や列を開け...
-
エクセルで複数列の検索をマク...
-
VBAで結合セルを転記する法を教...
-
エクセル マクロ 範囲の値を上...
-
エクセル マクロ 範囲指定で...
おすすめ情報
説明不足すみません。あるセルに値を手入力して指定、結果もどこかのセルに入力されればOKです。