• ベストアンサー

エクセルでの置換方法

エクセルにて (例)B2セルで06-52525のように、ハイフン後の数値が5なら06の前にKを挿入し (例)B5セルで06-12345のようにハイフン後の数値が1なら06の前にGを挿入し C列のような結果を得たいと思っています。 置換(挿入)方法をご存知でしたら教えて頂きたく、ご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

IF関数の入れ子構造で処理すれば良いでしょう。 IF関数の論理式はFIND関数でB列の値(文字列)に"-5"があるときはB列の値の先頭に"K"を&演算子で連結すれば目的に合うでしょう。 B列の値に"-5"が無いときは内側のIF関数で"-1"を検索し、有るときは"G"を&演算子でB列の文字の先頭へ連結します。 C2=IF(FIND("-5",B2&"-5")<LEN(B2),"K"&B2,IF(FIND("-1",B2&"-1")<LEN(B2),"G"&B2,B2)) B列の値に"-5"、"-1"の何れも含まれないときはB列の値をC列へ代入すれば良いのですよね? 尚、FIND関数で検索文字列が対象に含まれていないときエラーが発生しますので、それを防止するために検索文字列と同じ文字列をB列の値の右側へ&演算子で連結します。 B列の値に検索文字列が含まれるときはB列の文字列の長さの範囲内の数値が返り、含まれないときはB列の文字列の長さより大きい数値が返りますのでFIND関数の戻り値の値で有無を判断します。

zizi0604
質問者

お礼

詳細に教えて頂きまして、ありがとうございます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

エクセルでは「置換」というのは、別の意味で使います。 意味的には、別のものにするという意味を言いたいのは判るが。 文字列の付加ですね。 むしろ関数でB列の文字列を加工し(したがってB列ではなくて、B列以外の C列などに式を入れることになります。 既出の回答を見てもそういう回答です。 VBAならB列自体のデータを置換して、B列に戻せます。 Excel関数には、SUBSTITUTE 関数。REPLACE関数もあるにはあるが、本件では適当でないのでは。 ーー B列データの、―の最初に現れる桁の隣の桁が5(や6)かを判別したら仕舞のようだ。 ーー B列     C列 06-52255 K06-52255 06-12345 G06-12345 C列C1の式は =IF(MID(A1,FIND("-",A1)+1,1)="5","K" & A1,"G" & A1) 下方向に式を複写(結果C列)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

C2セルに以下の式を入れ下にドラッグコピー =IF(MID(B2,FIND("-",B2)+1,1)="5","K"&B2,IF(MID(B2,FIND("-",B2)+1,1)="1","G"&B2))

zizi0604
質問者

お礼

ご教授頂きまして、ありがとうございます。非常に助かりました。

関連するQ&A

  • エクセルの置換で・・

    文字列に書式設定したセルに、01-123といったゼロ始まりの数値が入っています。ハイフンを取りたいため、置換で空白にすると上記の場合、 1123といったように頭のゼロまで消えてしまいます。ゼロを残したままに置換えってできないものなんでしょうか?

  • Excelの置換

    すみません、Excelを教えてください。 ↓A1から文字列の項目が縦に並んでいます。先頭の数字(1: )を削除。文末の括弧付き数値をB列に移動したいと思っています。 1: ○○○○○○○○○(981) 2: △△(25) 3: □□□□□□(111) ↓ 2500: ★★★★(1000) 2501: ☆☆☆☆☆☆☆☆☆☆☆☆(299) 置換削除のやり方を教えてください。 ワードで置換削除をやってみましたが、次の行の内容まで削除されてしまい困っています。 文字列の部分的なセル移動はできるでしょうか? 部分的な移動ができない場合、括弧付きの数値で並べ替え等をする方法は無いでしょうか?

  • エクセル 置換後の文字列について

    エクセル2003です 置換後の文字列について質問させてください 特定のセルに文字を入力し 例 C100に(9月)等 検索と置換にて 置換後の文字列を C100のテキストに 置換したいのですが 入力時にC100を選択する方法がわかりません  よろしくお願い致します

  • エクセルで、半角に置換すると日付に

    使用機種はxp、エクセル2003で作業をしています。 住所録の番地部分のみのセルなのですが、 「1ー2ー1」←このように、全角「長音」でつないである部分を「半角ハイフン」にしたいため、検索&置換しています。 セルの書式設定は「文字列」になっているのに、どうしても年月日に変換されてしまうセルがでてきてしまいます。 どうしたら文字列のままで置換できるでしょうか。 よろしくお願いいたします。

  • Excelの計算式内の文字列の一括置換は出来ますか

     Excelで、計算式の命令内の文字列を置換する方法はあるでしょうか。例えば、あるワークシートのセルで別のファイルやワークシートのセルを参照して計算している時、ほとんど同じ計算式で参照先だけを変えたい場合です。計算結果のワークシートのA列で、  A1=sum('G:\北海道'!A1:A100)  A2=sum('G:\北海道'!B1:B100)  A3=sum('G:\北海道'!C1:C100)・・・ となっているとします。つまり、北海道.xlsというシートの1から100までの列範囲の和を計算しているとして、B列には同様の青森県.xlsからの同じセル範囲の同じ計算、C列には岩手県.xlsからの同じ計算、D列には・・・というように、計算式が全く同様で、参照元のファイル名だけを変えたい場合です。  もう一つ、類似のものとして、計算結果のワークシートで、  A2=sum('G:\北海道'!B1:B100)  A3=sum('G:\北海道'!C1:C100)  A4=sum('G:\北海道'!D1:D100)・・・・ というように、計算式内の行や列を表す記号や数値を置換することは可能でしょうか。  同じような作業は出来るだけ簡単な操作でできる、というのが良いソフトのイメージなのですが、私が現在知る範囲では1つ1つ式を書き換えています。特にリンク貼り付けでやると、計算結果のワークシートでうまくコピーができません(上記では、北海道をB1で青森県に変えておいてそれをB2以下にコピーすると上手く行かない)。  宜しくお願い致します。

  • エクセルで -(ハイフン)だけのセルを置換したいのですが、、、

    エクセル2000です。 -だけのセルと1-2や、A-Bなど、数字や文字が混在している表があります。 その中の、-(ハイフン)だけのセルを置換したいのですが、方法はありますでしょうか? わかる方がいましたら教えてください。 よろしくお願いします。

  • 置換方法について

    MACアドレスの12桁 (例) 123456789012 を (例) 12-34-56-78-90-12 のようにハイフン付きで置換したいのですが、 このような置換方法をご存知の方いましたら、 ご教授の程、よろしくお願いいたします。

  • EXCELの置換 方法

    前回も似たような質問をさせていただいたのですが、 また似たような処理が出てきてしまったので質問させてください!! もしお分かりになる方がいらっしゃいましたらアドバイスいただけると嬉しいです。 よろしくお願いします!! コード番号の一括置換えをするにはどうすれば良いのか教えてください。!! <例> 00000X0-0 00111T0-1 00200S0-0 00003K0-0    ・    ・    ・    ・ 上記のような数字5桁/英字1文字/数字1桁/ハイフン/数字1桁 で表記されるコード番号があります。 このコード番号を数字3桁/英字1文字/数字2桁/ハイフン/数字2桁 で一括置換えしたいのですが、それは可能でしょうか? <例> 000X00-00 111T00-01 200S00-00 003K00-00 *英字の次の数字とハイフンの次の数字は“0”が挿入されます。 (下線の箇所です。) コード番号の数が600件程あるので、一括置換えができると とても時間短縮になるのですが、、、。 置換えでなく、他の方法で変換が出来るのでしたらそちらも 教えて頂ければと思います。 (難しいマクロとかはやったことがないのでできましたら関数の応用などで 出来るやり方を教えて頂ければ有難いです。) 宜しくご指導お願いします。!!

  • エクセル2003での置換について教えてください。

    エクセル2003での置換について教えてください。 こんにちは いつもお世話になっています エクセル2003での置換について教えてください。 特定の文字列以降の文字列を(特定文字列自身も含めて)削除したいのです。  特定の文字列は二つあります。【@】と【変化】です(【】も含みます)。  この二つの文字列はバラバラに出てきます。一方だけがでてくるセル、両方出てくるセル、両方出てこないセル、があるという意味です。  「*」を各特定文字の後ろに付けて、置換機能で削除していますが、二つの文字列に対して別々にやっています。 これを一度で置換して削除する方法を教えてください。  よろしくお願いします。

  • Excelで置換が意図したようにできない(ハイフンを消したい)

    Excel97です。 電話番号のデータからハイフンを取りたいので 置換で検索する文字列に「-」、置換後の文字列に 何も入れないで置換を押したら頭1ケタの0(ゼロ)まで 消えてしまいました。書式設定は文字列にしました。 ハイフンを消す方法は他にもあるとは思いますが、 どうして上記のような現象になってしまうのか 知りたいです。お願いします。

専門家に質問してみよう