[[20180908132307]] 『同じ数値があったら、片方だけに数値をプラスする』(たく) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『同じ数値があったら、片方だけに数値をプラスするには』(たく)

1.1
1.2
1.4
2.3
1.4
1.6
2.8

等のデータが並んでいて、順番に並べたいのですが
同一順番がある順位が重複して関数にエラーが発生します。

上記データであれば1.4が二つあるので片方だけ1.41に変更できれば
順位の重複を避けることができます。

このように重複するデータがあった場合
片方だけ数値を0.01だけ追加するようなことはできるでしょうか?

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 3個以上は考えてません。

 =IF(COUNTIF($A$1:$A1,$A1)=1,$A1,$A1+0.01)

 これを下にフィルして、コピー後値だけ貼り付け??
(BJ) 2018/09/08(土) 13:57

>順番に並べたいのですが、同一順番がある順位が重複して関数にエラーが発生します。
どのような数式でどのようなエラーが出てるんでしょうか?

具体的な内容がわかれば数値を0.01だけ追加する以外の回避方法があるかもしれません
http://sigerugamogeru.style.coocan.jp/paso/excel3/Rank/Rank.html
(もこな2) 2018/09/08(土) 14:07


 数式じゃないとだめなんですか?
 単純にコピーして昇順で並び替えではだめなんですか?

(TAKA) 2018/09/10(月) 13:22


一応マクロも貼っておきますね。
 Sheet1のA列1行目からデータがあると仮定して、、

    Sub Macro1()
        Dim i As Long, j As Long, LR As Long
        With ThisWorkbook.Sheets("Sheet1")
            LR = .Cells(.Rows.Count, "A").End(xlUp).Row
            For i = 1 To LR
                If i <> LR Then
                    For j = i + 1 To LR
                        If .Cells(j, "A") = .Cells(i, "A").Value Then _
                        .Cells(j, "A") = .Cells(j, "A").Value + 0.01
                    Next j
                End If
            Next i
        End With
    End Sub

(TAKA) 2018/09/10(月) 17:14


同じ数字だったら…、とか面倒な事を言わず、全ての数値に小さい値を足してしまってはいかがですか?
 =A1+ROW(A1)/100000
(???) 2018/09/10(月) 17:31

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.