[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『間に行を入れ、上下の平均値を挿入』(トーマス)
0.00 6.1
0.02 8.6
0.04 11.1
0.06 13.6
0.08 16.1
0.10 18.6
この状態から
0.00 6.1
0.01 7.35 *
0.02 8.6
0.03 9.85 *
0.04 11.1
0.05 12.35 *
0.06 13.6
0.07 14.85 *
0.08 16.1
0.09 17.35 *
0.10 18.6
この状態へ変更したいのです。
(*)の行が追加したい箇所です。
左側は0.01ずつ増加、右側は上下の値の平均値を。
2000行ほど(20.00)作りたいこと、右側が完全に比例ではないことから
簡単な式かつスピーディーな方法はないでしょうか。
ご教示お願いいたします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
スピーディーかどうかは不明ですが…
Sub test()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 Rows(i).Insert Cells(i, 1).Value = Cells(i + 1, 1).Value - 0.01 Cells(i, 2).Value = Application.Average(Cells(i + 1, 2).Value, Cells(i - 1, 2).Value) Next
Application.ScreenUpdating = True
End Sub (bi) 2019/01/09(水) 16:41
Sub test() Dim i As Long
Application.ScreenUpdating = False For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1 Rows(i).Insert Shift:=xlDown Cells(i, "A").Value = (Cells(i - 1, "A").Value + Cells(i + 1, "A").Value) / 2 Cells(i, "B").Value = (Cells(i - 1, "B").Value + Cells(i + 1, "B").Value) / 2 Next i Application.ScreenUpdating = True End Sub (???) 2019/01/09(水) 16:45
数式です。
A B C D E F 1 0.00 6.10 0.00 6.10 2 0.02 8.60 0.01 7.35 3 0.04 11.10 0.02 8.60 4 0.06 13.60 0.03 9.85 5 0.08 16.10 0.04 11.10 6 0.10 18.60 0.05 12.35 7 0.06 13.60 8 0.07 14.85 9 0.08 16.10 10 0.09 17.35 11 0.10 18.60
E1 =(ROW(A1)-1)/100 F1 =IF(COUNTIF(A:A,E1),SUMIF(A:A,E1,B:B),SUM(SUMIF(A:A,E1+{0.01,-0.01},B:B))/2)
E1:F1 下へコピー。 (E1が20になるまで)
E1:F1をA:B列へ値コピー。 (GobGob) 2019/01/09(水) 16:48
GobGob様の方法がシンプルにできました。
(トーマス) 2019/01/10(木) 00:27
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.