- ベストアンサー
A列の指定した位置にB,C列の文字を置換させる方法
- Excel2003で、A列の指定した位置にB,C列の文字を置換させる機能はありますか。例 *にB列の文字を、¥にC列の文字を置換。
- 60行ほどある置換作業を短時間で終えるために、=SUBSTITUTE(SUBSTITUTE(A1,"*",B1,1),"z",C1,1) の関数を使用しています。
- しかし、別ファイルで同じ作業を試みた際には、2行目以降の置換結果が1行目と同じになってしまいます。解決策を探しています。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
#2-4です。 > また、=SUBSTITUTE(SUBSTITUTE(A2,"*",B2,1),"¥",C2,1) > このABC右の数値は手作業で替えなければならないのでしょうか。 いいえ。D1に最初の式があるなら、D1セルの右下の角にカーソルを合わせると、+マークがでます。そこでクリックしたままで下まで下げると、式は自動的にコピーされ、ABC右の数値も自動で増えていきます。
その他の回答 (6)
- p-applepie
- ベストアンサー率53% (156/290)
皆さんが言われているとおり D2を選択した時に数式バーに表示されている関数が =SUBSTITUTE(SUBSTITUTE(A$1,"*",B$1,1),"\",C$1,1) ではなく =SUBSTITUTE(SUBSTITUTE(A1,"*",B1,1),"\",C1,1) であれば、問題ないだろうと思うのですが・・ 念のため ツール→オプションで表示される項目を、正しく置換出来たExcelと 比較してみて下さい。 もしも違う所があれば、同じにして試してみて下さい。 それでもダメであれば・・ 根本的な解決ではなく、とりあえずの対処になってしまいますが 1.正しく置換出来たExcelをブックごとコピー 2.失敗したExcelの A~C列をコピーし 1のExcelのA~C列に貼付け 3.D列を選択した状態で 編集→置換を選び 検索する文字列 →z 置換後の文字列 → \ としてみてください。
お礼
ありがとうございます。 やはり絶対参照にはなっておらず困惑するばかりです。
- p-applepie
- ベストアンサー率53% (156/290)
1行目の式を =SUBSTITUTE(SUBSTITUTE(A1,"*",B1,1),"\",C1,1) 2行目の式を =SUBSTITUTE(SUBSTITUTE(A2,"*",B2,1),"¥",C2,1) として、60行目までコピーペーストした時、3行目は =SUBSTITUTE(SUBSTITUTE(A3,"*",B3,1),"\",C3,1) と増えていませんか?
お礼
ありがとうございます。 いいえ、増えていきません。3行目以降に貼り付けても、ABC右側の数値は貼り付けた時と同じ数値のままです。
- merlionXX
- ベストアンサー率48% (1930/4007)
> しかし2行目以降の置換結果は、1行目と同じです。 では、2行目の式をコピーして見ていただけますか? =SUBSTITUTE(SUBSTITUTE(A2,"*",B2,1),"¥",C2,1) となっていますか? 少なくともこちらでは<a href="/77/">kk</a> と表示されましたが・・・・。 もし、式がそうなっているのなら、あとは考えられることは、計算方法が手動になっているのではないですか? メニューのツール、オプションで、「計算方法」タブで、もし計算方法が手動になってたら、自動に変えてください。
お礼
2行目も1行目と同じ式です。昨日は=SUBSTITUTE(SUBSTITUTE(A1,"*",B1,1),"\",C1,1)の式で60行あまりの置換が行えたからです。 また、=SUBSTITUTE(SUBSTITUTE(A2,"*",B2,1),"¥",C2,1) このABC右の数値は手作業で替えなければならないのでしょうか。 ちなみに計算方法は自動になっておりました。
- mando
- ベストアンサー率66% (2/3)
Excel2003で、A列の指定した位置にB,C列の文字を置換させる機能はありますか。 例 *にB列の文字を、¥にC列の文字を置換。 A |B |C 1 (*)\(z)| あ| 2 2 (*)\(z)| 3 | 4 ↓ 1 (あ)2(z)|あ | 2 2 (3)4(z) | 3 | 4 上記のの置き換えを行う場合関数の中の「¥」と「z」の入力ミスではないですか? =SUBSTITUTE(SUBSTITUTE(A1,"*",B1,1),"z",C1,1) 」 ↓ =SUBSTITUTE(SUBSTITUTE(A1,"*",B1,1),"\",C1,1) 」
補足
ありがとうございます。 ANo.1の方のご回答に返信文を書きましたがいかがでしょう。 zの部分は、昨日から¥にして作業しています。 ですが、自分でも何がミスなのか、ご回答にどうお答えして良いやら何がなにやら頭が混乱してきました。 ちなみに以下URLが昨日私がした質問です。 http://oshiete1.goo.ne.jp/qa2774578.html
- merlionXX
- ベストアンサー率48% (1930/4007)
お書きになった例なら、 =SUBSTITUTE(SUBSTITUTE(A1,"*",B1,1),"z",C1,1) で正しく置き換えられるはずです。 > 2行目以降の置換結果が1行目と同じになってしまいます。 ひょっとして絶対参照($付き)してませんか?
補足
ありがとうございます。 絶対参照については今初めて知った単語なので、おそらくしていないと思うのですが自信はありません・・
- taka0028
- ベストアンサー率33% (19/57)
=SUBSTITUTE(SUBSTITUTE(A1,"*",B1,1),"z",C1,1) のA1,B1、C1の部分が全て対応する行になっていますか? なっていなくてA1,B1、C1だと同様の結果になります。 $をつけていることは無いですか? 確認してみてください。 現在使用している式をそのまま提示したほうが分かりやすいですね。 もう少し詳しくお願いします。
補足
ありがとうございます。 少し混乱してきました。 以下が実際に行なっている作業です。(*にB列の文字を、¥にC列の文字を置換したい。) A | B | C 1 <a href="/*/">\</a> 9999 @@@ 2 <a href="/*/">\</a> 77 kkk ・ ・ ・ 60 =SUBSTITUTE(SUBSTITUTE(A1,"*",B1,1),"z",C1,1)をD列のセルに貼り付けても<a href="/9999/">\</a>となってしまう為、zを¥に替えて =SUBSTITUTE(SUBSTITUTE(A1,"*",B1,1),"\",C1,1) にして作業しました。これなら置換結果が¥ではなく、c列の文字が入ります。しかし2行目以降の置換結果は、1行目と同じです。 A1,B1、C1の部分が全て対応する行になっています。$は付けていません。
お礼
今日書店に行ける機会があったのでExcel本を買い色々調べたのものの駄目でしたが、えいとばかり言われるように一行目に貼り付け後フィルハンドルを下まで下げてみたら、三日間悩んだのが嘘のように無事正しく置換する事ができました。 一行ずつセルに式を貼り付けしていた、今までのやり方では駄目だったのにです。 しかし、今回の事はとても勉強になりました。ありがとうございました。