|
▼あや さん:
こんばんは。
>表の集計で同じ最大値がいくつもあった場合、日にちと最大値を全部表示する
>方法はありますか?
>初心者ですので、宜しくお願いします。
> (例)
> 日にち
> 11月 1日 10
> 11月 2日 75
> 11月 3日 60
> 11月 4日 75
> 11月 5日 50
> ・
> ・
> 11月29日 75
> 11月30日 35
この表の日にちがA列、数値がB列(一行目は、項目名、2行目からデータ)だったとしましょう。以下のコードを試してみて下さい(C列を作業列として使います)。
'================================
Sub main()
Dim rng As Range
Dim ans As Range
Set rng = Range("a2", Cells(Rows.Count, 1).End(xlUp))
With rng
If .Row > 1 Then
.Offset(0, 2).Formula = _
"=IF(B2=MAX(" & .Offset(0, 1).Address & "),A2,"""")"
On Error Resume Next
Set ans = _
.Resize(, 3).SpecialCells(xlCellTypeFormulas, xlNumbers)
If Err.Number = 0 Then
ans.Offset(0, -2).Copy Range("e1")
ans.Offset(0, -1).Copy Range("f1")
End If
.Offset(0, 2).Formula = ""
End If
End With
End Sub
同じシートのE1から結果を表示しています。
> _______________________________
> (結果)
> 11月 2日 75
> 11月 4日 75
> 11月29日 75
|
|