EXEL2003です。
セルに文字列が並んでいます。
それの先頭にある文字を挿入するにはどうしたらよいのでしょうか?
「置換」で先頭とか、末尾を指定する方法がありますか?
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

#01です。

変換したい文字列のセル範囲が決まっているなら、#02さんの方法で補助セルに変換して、その結果を「コピー」→「値として貼りつけ」で書き戻す方法が良いと思います。

もしシート中の全ての「文字列」が入っているセルの先頭に「ある文字」を挿入するなら、以下のマクロになります。

Sub Macro4()
Dim r As Range
 For Each r In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 2)
  r.Value = "ある文字" & r.Value 'この行を修正
 Next r
End Sub

また「文字列」だけではなく「数値」も同様にするなら、SpecialCells(xlCellTypeConstants, 2)の数字を2→3に変更してください。

末尾に「ある文字」をつけたいのなら
r.Value = r.Value & "ある文字"
に変更してください。

マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はALT+F8を押して、マクロ名を選択します

マクロで変換した結果はUNDOで戻せませんので、シートはコピーしてから試してくださいね。
    • good
    • 0

<全ての先頭に、特定の文字を付加する場合>


A1に”いろは”
A2に”にほへ”
A3に”とちり”
B1に”あいう” が入力されている場合、

A列の先頭に”あいう”を付加して、”あいういろは” ”あいうにほへ”
”あいうとちり”にしたい、という質問でよろしいでしょうか?

もしも、この解釈でよろしいのでしたら、

 C1に=B1&A1 で”あいういろは” になります。
 以下 C2=B1&A2 で”あいうにほへ”になります。
 C列をコピーしてA列に値コピーをすれば目的を達成できます。

<先頭(末尾)の文字が特定の文字の場合、特定の文字を付加する場合>

先頭が”い”の場合、特定の文字”あいう”を付加する場合。
C1=IF(LEFT(A1,1)="い",B$1&A1,A1)

末尾が”へ”の場合、特定の文字”あいう”を付加する場合
C2=IF(RIGHT(A2,1)="へ",B$1&A2,A2)
    • good
    • 2

補足要求です



>それの先頭にある文字を挿入するにはどうしたらよいのでしょうか

は全セルの文字列の先頭に「ある文字」を挿入するということですか? それとも先頭が「○○」であるセルに対してのみ先頭に「ある文字」を挿入したいということでしょうか?

置換で正規表現に触れていますので後者のように思いますが、もう少し具体的に説明していただけませんか

また関数で別のセルに「ある文字」を挿入するのはOKですか? それともセルの値を直接置換しなければなりませんか?

この回答への補足

ありがとうございます。
全セルの文字列の先頭に「ある文字」を挿入するということです。
ワードだとできように記憶しているのですが。

補足日時:2006/09/25 19:05
    • good
    • 3

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel 文字列の前後に、特定の文字を付加したい

Excelで、ある列に不規則な文字列がならんでいます。
その文字列の前後に、いっせいに好きな文字を付加したいのです。
例えば、「AAA」という文字列の前後に
「BBBACCC」といったように
AAAといった文字列にBBBやCCCと一斉に付加したいです。
AAAはアルファベットや日本語等さまざまなのですが、
どうすればいいでしょうか?
教えてください。

Aベストアンサー

& で繋ぎます。

A1 セルの文字の前後に、ABC と DEF を付けたいなら、
別のセルに下記のような式を入れます。

="ABC" & A1 & "DEF"

QExcelの入力済みセルに一括で、同じ文字を追加する方法

こんにちは、

300件程のメールアドレスをExcelで管理しているのですが、
例えばセルに「bondo1119」と記載していて、そのセルに「@goo.co.jp」という
ドメイン名を、bondo1119の後に一括でコピーしたいのですが、
何かよい方法はないでしょうか。

どなたかご存知の方がいらっしゃいましたら、アドバイスいただけないでしょうか。
よろしくお願いいたします。

Aベストアンサー

実体が無くて良いなら表示形式をユーザー定義で
@"@goo.co.jp"
とする。

実体が必要な場合は
=A1&"@goo.co.jp"
で別セルに設定後行方向にコピー、
列をコピーして元の列に形式を選択して貼り付けで値として貼り付ける。

QEXCELで文字列の後ろに同じ文字列を追加するには?

初心者です、教えてください。
ワークシート内の一行の文字列全てに同じ文字を追加したいのですが、方法を教えてください。
初歩的な質問で恐縮ですが、どうかよろしくお願いします。

Aベストアンサー

A1の文章の最後に「ほげー」をつけたいときは、
B1に
=A1&"ほげー"
と入力して、対象となる下までフィルダウン。

そのあと、B列をコピー⇒形式を選択して貼り付け⇒値
最後にA列を削除すればできます。

QマクロでExcelのセルに任意の文字列を追加するには?

Excel2003 を使用しています。

文字列の入ったセルに任意の文字列を追加するマクロを
作りたいのですが、どのように記述すればよいのでしょうか?

例えば、郵便番号に〒を文字列の頭に追加したい場合です。
元のセルに入力されている文字列が

111-1111

として、マクロで、

〒111-1111

と同じセルに追記したいのです。

ご助言の程、どうぞよろしくお願いします。

Aベストアンサー

With Range("A1")
  .Value = "〒" & .Value
End With
みたいな事ですか?

QEXCELで縦の行全てに一括して文字を追加。

EXCELにて、縦の行全てに一括して文字を追加する方法はありますでしょうか?
同じ文字を入力するのはやや面倒なので。。
ご教授お願い致します。

Aベストアンサー

その列に既に入力されている文字が全て同じなら、追加は簡単です。

例として、A列の全てのセルに"goo"を追加入力する場合を書きます。

(1)まず、A列(縦の行って列の事ですよね?)を選択。
(2)そのままの状態で数式バーの最後尾に"goo"と入力し、確定。
(3)次にctrlを押しながらenterを押す。

これでA列全てのセルの文字列に"goo"が追加されます。

ご質問の意図と違っていましたらごめんなさい。

QExcelで正規表現やワイルドカードなどを使って置換したいのですが…

Excelの中で置換をしたいのですが、
例えば以下のように( )かっこでくくられた不規則な数字を検索し、その前後に記号を付加するといった具合です。
Wordだと置換で正規表現が使えますが、Excelではやはりマクロを作らないとだめなのでしょうか?

 置換前
  あいう(123)かきく(あああ)
  さしす(ははは)たち(589)つ
   ・      ・
   ・      ・

 置換後
  あいう★(123)★かきく(あああ)
  さしす(ははは)たち★(589)★つ
   ・      ・
   ・      ・

Aベストアンサー

以下の正規表現アドインを使用すると可能です。
http://srcedit.pekori.jp/tool/excelre.html

置換前 ((\d+))
置換後 ★$1★

Qエクセルで数字の頭に0を追加する方法はありますか?

エクセルのVLOOKUP関数を使って検索をしようと思いますが、
検索する番号が一つが6桁の番号で表示されており、もう片方が7桁の番号で表示されています。
つまり、6桁は頭に0が付いていなくて、7桁には頭に0が付いています。
【例】 6桁=123456、7桁=0987654

ですから同じ表示にしたいのですが、出来れば6桁の頭に0を付けたいのです。
【例】 6桁=123456 → 7桁=0123456

どうすれば、変換できるかよい方法がありましたら教えて下さい。よろしくお願いいたします。

なお、対象セルは3千個程あるので、とてもじゃないけど一個づつは出来ません。
また、当方素人なので出来れば判り易い方法でお願い致します。

Aベストアンサー

範囲選択をして右クリック
セルの書式設定
 ↓
表紙形式
 ↓
ユーザー定義
 ↓
種類のところに 0000000
と記入すれば頭に0が付きます。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで全ての数字の前に文字を入れる方法

エクセルで入力されている全ての数字の前にXの文字を入れたいのですが、良い方法をご存じでしたら教えてください。
例)
  →
20   X20
21   X21 
22   X22
23 X23

Aベストアンサー

入力されているセルがA1だとしたら、セルB1に
="X"&A1
とすればいいですよ

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報