A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
VBAマクロでやるとこんな感じですね
<以下VBAコード>
Sub minlen()
Dim Testsheet1 As Worksheet
Set Testsheet1 = ThisWorkbook.Worksheets(1)
Dim ans As Double
Dim buf As Double
With Testsheet1
ans = 1000000
For i = 1 To 10
For j = 1 To 10
buf = VBA.Sqr((.Cells(i, 1) - .Cells(j, 3)) ^ 2 + (.Cells(i, 2) - .Cells(j, 4)) ^ 2)
If ans > buf Then
.Cells(1, 5) = .Cells(i, 1)
.Cells(1, 6) = .Cells(i, 2)
.Cells(1, 7) = .Cells(j, 3)
.Cells(1, 8) = .Cells(j, 4)
End If
Next
Next
End With
End Sub
No.1
- 回答日時:
まず、前提として、2点間の距離を求めることはできますか?
できるのであれば、配列数式にして返る値から最小値を拾えばよい。
A1:A10+B1:B10
のように配列の計算をするやり方です。
(この場合、A1+B1からA10+B10までの結果を返す)
ただしこのままでは配列の一番初めの値の計算結果しか表示されない。
配列数式はちょいと特殊な確定方法が必要になる。
普通は ”Enter” キーを押したり ”Tab” キーを押したりしてアクティブなセルを変えることで確定しますが
(”Ctrl+Enter”でアクティブセルを変えない方法もある)、
配列数式は必ず "Ctrl+Shift+Enter” という操作で確定する必要がある。
すると、数式は
{=A1:A10+B1:B10}
のように大括弧で囲まれる。
なお、この大括弧を手で入力しても配列数式にはならないので注意が必要。
ただし、このままでは配列の中の一番初めの値だけが表示される。
そこで最小値をMIN関数で求める
=MIN(A1:A10+B1:B10)
こんな感じ。
あとは ”Ctrl+Shift+Enter” で確定すれば良い。
・・・
まあ、質問者さんはこんな能書きはいいから、とにかく答えだけ教えろと言いたいのでしょう。
=MIN(SQRT(POWER(ABS(A1:A1000-C1:C1000),2)+POWER(ABS(B1:B1000-D1:D1000),2)))
どうぞ。
不要な関数も混ぜてますが、このままでもちゃんとした結果が返りますよ。
(数式の説明用に混ぜています。意味を読み取ってくれると嬉しいな……でも不要なんだよね)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 ベクトル方程式(ヘッセの標準形)についての質問 2 2022/04/23 18:00
- 数学 数学 5 2022/05/04 15:57
- 数学 数学ベクトルに関しての質問 3 2022/05/25 23:21
- Excel(エクセル) エクセルで、 A1セルに「A」という値、 B1セルに「B」という値が入っています。 どちらも表示形式 5 2023/02/22 23:05
- 中学校 中1数学 比例のグラフの座標の読み取り 4 2023/03/28 12:26
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- 数学 線形代数の2次元直交座標系、極座標系についての問題がわからないです。 2 2022/07/16 20:42
- 数学 線形代数の問題について教えて欲しいです。 3 2023/05/06 23:13
- デジタルカメラ レンズの焦点距離(専門家への質問) 3 2022/10/06 11:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
表にフィルターをかけ、絞った...
-
ExcelのINDEXとMATCH関数でスピ...
-
Excelのオートフィルタで抽出し...
-
配列がとびとびである場合の書き方
-
Excelのセルの色指定をVBAから...
-
DataSetから、DataTableを取得...
-
EXCEL VBA 2次元配列に格納さ...
-
エクセルで、絶対値の平均を算...
-
VBA Dictionaryオブジェクトの...
-
Dictionaryを使い4つの条件の一...
-
C言語で、変数名を引数として渡...
-
バイト配列の構造体変換について
-
エクセルの行の削除を配列で高...
-
バッファーオーバラン
-
MFC コンボボックスを複数扱う
-
.NET - 配列変数を省略可能の引...
-
iniファイルのキーと値を取得す...
-
【VBA】配列に数式を仕込む方法...
-
Split関数でLong配列に格納する...
-
array関数で格納した配列の型を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルの色指定をVBAから...
-
ExcelのINDEXとMATCH関数でスピ...
-
[エクセル]連続する指定範囲か...
-
array関数で格納した配列の型を...
-
表にフィルターをかけ、絞った...
-
エクセルで、絶対値の平均を算...
-
配列がとびとびである場合の書き方
-
[VBA]改行入りのセルの値を配列...
-
Excel オートフィルタのリスト...
-
DataSetから、DataTableを取得...
-
iniファイルのキーと値を取得す...
-
配列のSession格納、及び取得方...
-
エクセルでエラーを無視して一...
-
エクセル 条件を指定した標準...
-
Dictionaryを使い4つの条件の一...
-
読み込みで一行おきに配列に格納
-
.NET - 配列変数を省略可能の引...
-
For Nextマクロの高速化につい...
-
SUMPRODUCT関数を用いた最小値
-
VB6.0 ファイルの一括読込み
おすすめ情報