二番目に小さい値の求め方

入力された数字から二番目に小さい数字を求めたいです。下記のようなコードを書いたのですが、最小値は出力されるものの、二番目に小さい値は出力されません。間違いを指摘していただきたいです。
また、二番目に小さい値を出した人の名前(AAAなどは名前だとしています)もワークシート上で(11,2),(11,3)~ の順番で出力されるようにしたいです。二番目に小さい値の人が複数(何人かはわかりません)いた場合に対応できないのですが、どうすれば良いでしょうか。
よろしくお願いします。
ここに言語を入力

A = InputBox("AAA") B = InputBox("BBB") C = InputBox("CCC") D = InputBox("DDD") A = Cells(6, 1) B = Cells(6, 2) C = Cells(6, 3) D = Cells(6, 4) s = Cells(6, 1) For i = 2 To 4 Step 1 t = Cells(6, i) If (s > t) Then s = t End If Next i Cells(7, 1) = t v = Cells(6, 2) For j = 1 To 4 Step 1 u = Cells(6, j) If (v > u) And (u > t) Then v = u End If Next j Cells(7, 2) = u If (u = A) Then Cells(11, 2) = "AAA" ElseIf (u = B) Then Cells(11, 2) = "BBB" ElseIf (u = C) Then Cells(11, 2) = "CCC" ElseIf (u = D) Then Cells(11, 2) = "DDD" End If コード

コメントを投稿

0 コメント