- ベストアンサー
Excel関数を使ったデータの一括変更方法
- Excel2010と2013を使用している場合、A列に並んでいるデータを一括で変更したい場合、オートフィルが使用できない場合もあります。その場合、B列からRIGHT関数を使用して数字を抜き出し、C列に1ずつ足して、D列にABを付け加える数式で計算し、最終的にA列にコピーする方法を使用することがあります。しかし、これらの手順を一度に実行する方法はありませんか?
- Excel関数を使用してデータの一括変更を行う場合、オートフィルが使用できない場合もあります。その場合、B列のデータからRIGHT関数を使用して数字を抜き出し、C列に1ずつ足して、D列にABを付け加える数式で計算し、最終的にA列にコピーする方法があります。しかし、これらの手順を繰り返す必要があり、手間がかかります。より効率的な方法はないでしょうか?
- Excel2010や2013を使用している場合、A列に並んでいるデータを一括で変更する方法を探しています。データの一部はAB001、AB002、AB003のような形式であり、オートフィルを使用することができません。現在、B列からRIGHT関数を使用して数字を抜き出し、C列に1ずつ足して、D列にABを付け加える数式で計算し、最終的にA列にコピーしています。しかし、これらの手順を繰り返す必要があり、手間がかかります。一括で変更する方法はないでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>それらをいっぺんにする方法は何かないのでしょうか? B列に数字のみ抜き出す作業を関数で行っているのであればその数式に数値部の加算と先頭の文字列の連結を加えれば作業用の列は1列で済ませることができます。 B1=LEFT(A1,2)&TEXT(RIGHT(A1,3)+1,"000") 但し、A列の文字列は先頭2文字が固定で数値部は3桁固定の場合になります。 B1セルを下へ必要数コピーして、コピー後の選択状態から一括でコピーし、A列へ値のみを貼り付ければ良いでしょう。 直接A列の文字列を一括して書き換えるにはVBAで必要のつど実行する方がベターと思われます。 VBAについては不得手なので他の回答を待ってください。
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! >それらをいっぺんにする方法は何かないのでしょうか? VBAでの一例です。 最後が必ず半角の数値になっているとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻り、必ず「範囲指定」をしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample() 'この行から Dim c As Range, k As Long, str As String, myNum As Long For Each c In Selection If c <> "" Then For k = 1 To Len(c) If Mid(c, k, 1) Like "[0-9]" Then Exit For Next k If k > 0 Then str = Left(c, k - 1) myNum = Replace(c, str, "") c = str & Format(myNum + 1, "000") End If End If Next c End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m
お礼
ありがとうございます。マクロはまだやったことがないので、挑戦してみたいと思います。
お礼
ありがとうございます。作業が楽になりました。