- ベストアンサー
abcの文字の間に;を入れたい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
C2=B2 C3=C2 & ";" & B3 でC3を下方にコピーすればD列は要りません。 マクロのユーザー定義関数を利用してもいいなら Function RENKETSU(HANI As Range, SP As String) As String '文字連結 Dim RG As Range, RS As String For Each RG In HANI If RG Is Not Null Then RS = RS & SP & RG Next RG RENKETSU = Mid(RS, 2, Len(RS) - 1) End Function と標準モジュールに記載して C2=RENKETSU(A2:A100,";") でA2:A100の範囲を;を区切りにして連結できます。
その他の回答 (2)
- MackyNo1
- ベストアンサー率53% (1521/2850)
例示のように実際のデータが本当に英文字なのでしょうか? また、結合するセル範囲は3つのセルだけでしょうか? 条件によって使える機能や数式などが違いますので、目的を含めてもう少し具体的に質問して下さい。
補足
ご回答ありがとうございます。 補足させていただきます。 実際は文字列で「053477」「053478」などで、 結合するセル範囲は100件以上で、範囲はその都度変わります。 現在、下記のD1に=LOOKUP(10^10,A:A,D:D)と入力して求めています。 この方法でも解決できるのですが、もっと賢い方法があるはずだと悩んでおります。 A B C D 1 在庫番号 053477;053478;053479;053480 2 1 053477 053477 3 2 053478 ;053478 053477;053478 4 3 053479 ;053479 053477;053478;053479 5 4 053480 ;053480 053477;053478;053479;053480 ちなみに、 C2 =B2 C3 =";"&B3 C4以降はC3を下にコピーしていくだけです。 D3 =C2&C3 D4 =IF(B4="","",D3&C4) D5以降はC4を下にコピーしていくだけです。 D1に=LOOKUP(10^10,A:A,D:D)としたのは、 ネットで調べてマネしたため、どういう理屈かはわかりませんが、 A列が数値の場合、そのA列の一番下のセルと同じ行にあるD列のセル を表示できるようです。 大変わかりずらくて申し訳ありません。 回答に時間がかかるようでしたら、ご迷惑をお掛けしたくないので、 ご回答不要です。 もしすぐご回答いただけるようでしたら、よろしくお願い致します。
=A1&";"&A2&";"&A3
補足
ご回答ありがとうございます。 MackyNo1様のご回答に補足を致しましたので、 すぐご回答いただけるようでしたら、よろしくお願い致します。 ご説明が不足して誠に申し訳ありませんでした。
お礼
ご回答ありがとうございました。 確かにD列は要りませんね。 マクロなのですが、知識がなくうまくいきませんでした。 私がmshr1962様のご回答通りにやってみた画像を QNo.5618124に添付致しましたので、どこがよくないのか もう一度教えていただけないでしょうか? 是非宜しくお願い致します。