プロが教えるわが家の防犯対策術!

EXCELでコンマで区切った数字を一括してすべて1プラスすることはできますか?

たとえば、 1,3,5 を 2,4,6 に変換する関数等ありましたら、教えていただけないでしょうか。

よろしくお願いします。

A 回答 (4件)

VBAの操作が分からないとのことなので、次のような力技はいかがでしょうか。



①B列に変換したい元の文字列を張り付ける。
②「区切り位置指定ウィザード」を使って、B列を分割する。(B列以降に各数値が入る)
 ※「区切り位置指定ウィザード」の使い方は、Excelのヘルプを参照してください。
③A列に、次の式を入力し、オートフィルで下へ必要なだけコピーする。

 = IF(B1<>"",B1+1,"") & IF(C1<>"",","&C1+1,"") & IF(D1<>"",","&D1+1,"")

上記の式は、B列以降の各セルを+1して連結するものです。
例では、3つまで(B、C、D列)しか連結していませんが、必要に応じて増やしてください。
    • good
    • 1

No.2です。



>素人でもわかるように、さらに噛み砕いて説明して頂くと助かります。

ん~~~前回そのつもりで投稿したのですが・・・
コードの説明は抜きにして、操作方法だけです。

前回の
>画面左下の操作したいSheet見出し上で右クリック
Sheet見出しは判りますね?
画面左下に「Sheet1」「Sheet2」・・・と表示されているところです。
そこの操作したいSheet名上で右クリック → 表示される項目の中に「コードの表示」というのがありますので、
それをクリック → 後は前回投稿した通りです。

最後にAltキーを押しながらF8キーを押下 → マクロ名のダイアログボックスが表示され、一つだけのマクロが選択されているはずですので、
「実行」をクリックしてみてください。

これでA列にカンマ区切りの数値があればB列に表示されるはずです。

※ No.1さんの方法と似ていますが、No.1さんは「ユーザー定義関数」ですので
通常の関数のように使えます。
ただし、コードを記入するのは「標準モジュール」になります。

とりあえずはこの程度で・・・m(_ _)m
    • good
    • 0

こんばんは!



VBAになりますが、一例です。
元データはA列にあり、B列に表示するとします。
尚、カンマで区切られているデータは必ず数値だという前提です。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から//
Dim i As Long, k As Long, myStr As String, myAry
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If InStr(Cells(i, "A"), ",") > 0 Then
myAry = Split(Cells(i, "A"), ",")
For k = 0 To UBound(myAry)
myStr = myStr & myAry(k) + 1 & ","
Next k
Cells(i, "B") = Left(myStr, Len(myStr) - 1)
myStr = ""
End If
Next i
End Sub 'この行まで//

※ 関数でないのでデータ変更があるたびに
マクロを実行する必要があります。m(_ _)m
    • good
    • 0
この回答へのお礼

早速にご教示いただき、有難うございました。

私はVBAを操作したことがないので、ご回答からは正解までの道筋をたどることができませんでした。

素人でもわかるように、さらに噛み砕いて説明して頂くと助かります。

EXCELは2010です。どうぞよろしくお願いします。

お礼日時:2016/01/27 00:24

> に変換する関数等ありましたら


そんなピンポイントな関数が用意されている訳ありません。
自分で作るしかありませんね。

Function PlusOne(r As Range) As String
Dim xStr As Variant
Dim i As Long
xStr = Split(r.Value, ",")
For i = 0 To UBound(xStr)
xStr(i) = xStr(i) + 1
Next i
PlusOne = Join(xStr, ",")
End Function
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!