• 締切済み

Excel2000ですが検索置換の問題です。

検索する文字列を「香川?」とすると、殆んどは上手くいくのですが 12行目が大川市高松市と市が2つ続いてしまいます。 また14行目が高松市高松市となってしまいます。 一発ですんなりと解答のようにするには、どのような文字列を検索文字列や置換後の文字列にすればいいのでしょう? 宜しくお願い致します。

みんなの回答

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

複雑な検索置換を行うときはワードを併用します。 エクセルの住所範囲を選択して「コピー」して、ワードに貼り付けます。 Ctrl+Hで置換ダイアログを出して「オプション」ボタンをクリックし「ワイルドカードを使用する」にチェックを入れ、検索する文字列に「香川[郡村市]([!山])」、置換後の文字列に「高松市\1」と入力して「すべて置換」します。 最後にこのデータ範囲をコピーしてエクセルに貼り付ければ完成です。 ちなみに、上記の検索条件は、「香川郡」「香川市」または「香川村」でその後に「山」が付かない文字列(香川郡山町を除外するため)を検索し、「山」以外の文字はそのまま表示するようにしています。

gokurosama
質問者

お礼

回答ありがとうございます。 >最後にこのデータ範囲をコピーしてエクセルに貼り付ければ完成です。 一旦ワードに移したものをエクセルに貼り付けると、元のような表になりません。 元のような表にする方法ってありますか? この質問は管理者に閉じられてしまいましたので、新たに質問を立てていますので、目に留まりましたら宜しくお願い致します。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! お望みの方法ではないと思いますが・・・ VBAでの一例です。 データはA列の2行目からあるとします。 画面の左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が表示されますので、↓のコードをコピー&ペーストしてマクロを実行してみてください。 当方使用のExcel2003の場合は メニュー → ツール → マクロ → マクロ → 実行 で可能です。 Excel2000も似たような操作になると思います。 Sub test() Dim i As Long Dim str As String For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row str = Left(Cells(i, 1), 3) If str = "香川市" Or str = "香川郡" Or str = "香川村" Then Cells(i, 1) = Replace(Cells(i, 1), str, "高松市") End If Next i End Sub 尚、一旦マクロを実行すると元に戻せませんので、別Sheetにコピー&ペーストしてマクロを試してみてください。 以上、的外れならよみながしてくださいね。m(__)m

gokurosama
質問者

お礼

回答ありがとうございます。 マクロでもやれるんですね。 私はまだまだマクロの勉強には届いていませんので、将来の課題として楽しみにしています。

noname#164823
noname#164823
回答No.1

またお会いしましたね。 「すべて置換」でやると、香川が高松市に変わってしまうので、 1つずつ置換します。 「置換」で見ながら、置換したくない行は「次を検索」で飛ばします。 14行目は、予め香川郡以降をセルをWクリックし、後ろを下の行にでも 切り取り、貼り付けで移動します。 置換後、戻します。 この方法ではダメですか。

gokurosama
質問者

お礼

お礼が遅くなってしまいました。いつもありがとうございます。 リンクを貼ると、規約違反とかで外されてしまいます。実際にエクセルのシート上でやってもらうと非常に分かりやすいのですが、質問者の便宜よりも規約の方が優先されるので苦労します。 やはり一発でやる方法というのはないようですね。答えだけしか書かれていないので、どの方法がいいのか悪いのか私にも分からないのです。(T_T) ありがとうございました。

関連するQ&A

  • 元々はエクセルの検索置換の問題なんですが、ワード

    でやったほうがいいと言う回答者がおられて、以下に問題と正解答と回答者の回答を載せます。その後、回答者の回答の中で解らないところがあるので質問させて戴きます。 また別のもっと簡単な方法があれば教えて下さっても結構です。 問題  町村合併で「香川郡」「香川市」「香川村」が「高松市」に合併されました。 表の「香川郡」「香川市」「香川村」の自治体名が「高松市」になるよう変更しなさい。 香川市松原町123 大井産婦人科 三木市江原町猿山981-1 村瀬歯科医院 香川郡香河町大河663番地 香河総合病院 香川村十日市12-3 十日市診療所 高松市志度町葵葉354番地 再生快医療法人香川県支部 大川市香川郡山町亀井330 中川病院 吉野市大川町125番地1 明日香吉野心療内科 香川郡香川町赤石54-1 明日香川島心療内科 琴平市屋島町字栗林1234-5 香川歯科大学付属病院 正解答 高松市松原町123 大井産婦人科 三木市江原町猿山981-1 村瀬歯科医院 高松市香河町大河663番地 香河総合病院 高松市十日市12-3 十日市診療所 高松市志度町葵葉354番地 再生快医療法人香川県支部 大川市香川郡山町亀井330 中川病院 吉野市大川町125番地1 明日香吉野心療内科 高松市香川町赤石54-1 明日香川島心療内科 琴平市屋島町字栗林1234-5 香川歯科大学付属病院 回答者の回答 エクセルの住所範囲を選択して「コピー」して、ワードに貼り付けます。 Ctrl+Hで置換ダイアログを出して「オプション」ボタンをクリックし「ワイルドカードを使用する」にチェックを入れ、検索する文字列に「香川[郡村市]([!山])」、置換後の文字列に「高松市\1」と入力して「すべて置換」します。 最後にこのデータ範囲をコピーしてエクセルに貼り付ければ完成です。 ちなみに、上記の検索条件は、「香川郡」「香川市」または「香川村」でその後に「山」が付かない文字列(香川郡山町を除外するため)を検索し、「山」以外の文字はそのまま表示するようにしています。 私の質問ですが、 回答者の説明に・・・置換後の文字列に「高松市\1」・・・とあるのですが、\1はどういう意味ですか? 実際には4文字が検索されているようで、\1を省くと、4文字が置換されてしまって上手くいきません。 長くなりましたが宜しくお願い致します。

  • Word2003の検索・置換について

    検索・置換のダイアログボックスを使い、 書式がフォントやスタイル(太字・斜体) が設定されている文字を、 太字に置換えようと思い、 検索する文字列に設定し、 置換後の文字列をクリックし、置換ようとしたところ、 なぜか、検索する文字列の書式に設定がなってしまいました 何回か試していると、ちゃんと設定がなるときもあるのですが、 ならないときもあります。 どうすれば確実に設定を一回でできるでしょうか?

  • 検索と置換でチェックを外すことはできないですか?

    アクセスのYesno型のフィールドで 検索と置換でチェックを外すことはできないですか? チェックが入った状態で 検索する文字列:-1 置換後の文字列:0 にしましたが、何も起こりませんでした。 こういう時は更新クエリをするしかないのでしょうか?

  • エクセルの「置換」で1行の部分を2行にはできますでしょうか?

    エクセルで「検索と置換」の置換で1行のものを2行に置き換えるということは可能でしょうか? 初心者でよくわからないのですがみたところ置換は 「検索する文字列」と「置換後の文字列」ともに1行しか対応していないように見受けたのですが。 意味合いとしては例えば abc という行があったとしてその行を efg hij というような2行に交換したいというような意味合いなのですが可能でしょうか?

  • エクセルの置換について

    すぐ教えていただきたいんです! エクセルの文字列(この文字列は行ごとにいろんな文字列なんですがその前にある決まった文字列を付け加えたい場合はどのようにしたらいいでしょうか? たとえば置換だと、行に入力したその文字列1パターンしか置換してくれないんですよね? なんだかつたない説明ですいませんが、お分かりになる方教えてください!

  • 複数行のテキスト置換

    エディタを用いて複数行にまたがるテキストの置換。 下記のようなテキストがあり あああああああああああああああ いいいいい■■■■■いいいいい ううううう■■■■■ううううう えええええ■■■■■えええええ おおおおおおおおおおおおおおお      ■■■■■      ■■■■■      ■■■■■ の部分を      ●●●●●      ●●●●●      ●●●●● に置換したいです。 ただ■を●にしたいのではなく、 ■15文字を検索して ●15文字に置換したいです。 正規表現を考えたんですが思いつきませんでした。 あああああああああああああああ いいいいい■■■■■いいいいい うううう■■■■■うううううう ええええええ■■■■■ええええ おおおおおおおおおおおおおおお このような感じもヒットしそうで・・・ 列も見て検索するといいますか そのようなツール・ソフト・やり方等ございましたら ご教授よろしくお願い致します。

  • Access2002の検索、置換について

    Access2002の検索、置換について教えてください。 メールアドレスを入力しているフィールドの中でアドレスの先頭文字が「a」で始まるアドレスを大文字「A」で始まるアドレスにしたいと思います。 置換ボタンを押して「検索する文字列」には「a」と入力しました。 ところが「abc@dd*.ne.jp」も検索されますが、「ccca@dd*.ne.jp」も検索で出てきます。「a」で始まるもののみ置換したいのですが・・・。 これは出来ないのでしょうか? 次へ検索ボタンで一つ一つ確認をしながら置換するしかしょうがないのでしょうか?

  • Excel2016で文字列の一括置換を行うVBA

    Excel中級者です。Windows10, Excel2016で、別の「マスタ」シートにある表に従い、「Data」シートにある文字列を一括置換するVBAを教えていただけますと幸いです。マスタ表は2列 100行で1列目に置換前の語、2列目に置換後の語があります。dataシートは1顧客1行で、20列に商品名が入っており、同シートで一括置換を実行したく存じます。どうぞよろしくお願い申し上げます。

  • Excelの置換がうまく出来ません。

     Excelである文字列を検索しようとすると、ちゃんと検索できるのですが、それを別の文字列に「置換」しようとすると「一致するデータが見つかりません」のメッセージが出て置換できません。「一致するデータ」がちゃんと存在するにもかかわらずにです。  ところが「すべて置換」にするとちゃんとすべてその文字列が指定の文字列に置換出来てしまいます。  即ち、ちゃんと置換すべき文字列が存在するにもかかわらず「置換」だけが実行されないのです。  これってどうゆうわけでしょうか?  私としては、「すべて置換」ではなく、一つ一つ確認しながら文字列の置換を行いたいのですが・・・私のやり方が悪いのでしょうか?  尚、ここで言う「文字列」とは狭い意味のそれではなく、数値・記号を含む全ての文字と言う意味です。

  • Excel2003にてシングルコーテションを除去(置換)したいのですが!

    お世話になります。 エクセルフォームのセルにて文字列の先頭に下記のようにシングルコーテションがすべての文字列にあり、先頭のコーテションを置換で除去したいのですが、チルダをつけても、検索置換でもできません。 良き手法がございましたら教えてください。 'akafu

専門家に質問してみよう