2列のエクセルデータ(A列とB列)で、A列はA2からA10000ほどの列です。
B列はA列と1対1で対応していて、A列と同じ数だけ列があります。
A列は6桁ほどの小数ですが、頻繁に連続した重複があります。
B列はすべて0(同じ値なら0じゃなくても可)です。
教えてほしいのは、A列で連続して同じ値が続くときにそれに対応するB列に0.1ずつ加算していくプログラムです。
つまり以下のようです
A列 B列
0.11111 0
0.11182 0
0.11223 0
0.11223 0
0.11223 0
0.12373 0
0.13422 0
0.13422 0
0.13422 0
0.13422 0
0.15563 0
↓マクロ実行後
A列 B列
0.11111 0
0.11182 0
0.11223 0
0.11223 0.1
0.11223 0.2
0.12373 0
0.13422 0
0.13422 0.1
0.13422 0.2
0.13422 0.3
0.15563 0
こんな感じにできるマクロはEXCELVBAでどうすればいいでしょうか?
列が10000列くらいあるので手動ではなかなかできません。
教えてください。
No.4
- 回答日時:
NO1です
返信遅れて、すいません。
どういう意味か分かりませんので、補足をお願い致します。
>B列のほうはすべて同じ値ではなくて0か1のランダムな値だったのです
同じ 0.11223 がA列にいくつかあった場合、B列には0もあれば1もあるという意味でしょうか?
0.11223 がA列にいくつかあった場合、その重複が0か1のどちらかということでした。
説明不足ですいません。
Ce_faci様に教えていただいた式とNo,2様におしえていただいた方法でできました。
ありがとうございました。
No.3
- 回答日時:
こんには。
>A列で連続して同じ値が続くときにそれに対応するB列に0.1ずつ加算していくプログラムです。
質問がよく分かりませんが、小数のみの加算ですか?
これは、数式でも良いような気がしますが……。
#2 さんの方式のマクロ
Sub TestAddFig()
Dim i As Long
Dim j As Long
Const ADD As Double = 0.1
Application.ScreenUpdating = False
With Range("A1", Range("A65536").End(xlUp))
For i = 2 To .Rows.Count
If .Cells(i - 1).Value = .Cells(i, 1).Value Then
j = j + 1
.Cells(i, 2).Value = .Cells(i, 2).Value + ADD * j
Else
j = 0
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
No.2
- 回答日時:
こういうことでしょうか?
A列 B列
0.11111 0
0.11182 1
0.11223 0
0.11223 0.1
0.11223 1.2
0.12373 0
0.13422 1
0.13422 0.1
0.13422 1.2
0.13422 0.3
0.15563 0
でしたら、No.1さんの式をC列に書いて(BをCにします)、C1:C10000を選択してコピー、右クリック→形式を選択して貼り付け→加算にチェック→OKでできるとおもいます。
ご教授ありがとうございます。
ほんとうにそうですね。B列がランダムであってもNo.1様の教えてくださった式を用いれば応用することができますね。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) 【VBA】A列にある連続したデータの1番下に文字列を入力したい 1 2023/01/28 04:40
- Excel(エクセル) Excelで連続して重複する行数の違う列を参照する方法 5 2023/04/23 06:15
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) VBAで大量データの処理 3 2022/11/15 21:53
- Excel(エクセル) ExcelVBAでリストの項目に必要数と同じ手配数を分配していくマクロを作りたいです。 1 2022/07/29 18:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
VBAで文字列を数値に変換したい
-
エクセル 同じ値を探して隣の...
-
エクセルで最初のスペースまで...
-
エクセル初心者です 関数の入れ...
-
2つのエクセルのデータを同じよ...
-
Excelで半角の文字を含むセルを...
-
LOOKUP関数を使えばいいのでし...
-
エクセル 文字数 多い順 並...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
エクセルで文字が混じった数字...
-
エクセル(勝手に太字になる)
-
エクセルの項目軸を左寄せにしたい
-
重複行を削除して数値を合算し...
-
エクセルの並び変えで、空白セ...
-
EXCELで 一桁の数値を二桁に
-
基準日よりも古い日付の列を削...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
エクセル 同じ値を探して隣の...
-
VBAで文字列を数値に変換したい
-
エクセルの並び変えで、空白セ...
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
[関数得意な方]教えて下さい・...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 時間帯の重複の有無
-
Excelにてある膨大なデータを管...
おすすめ情報