プロが教えるわが家の防犯対策術!

いつもお世話になっております
置換についておしえてくれませんでしょうか
やりたいことは

文字の中に東が入っていたら、東京東営業部

文字の中に西が入っていたら、東京西営業部

でなければ、東京営業部

に変換したいのですが、
わかる方おしえてくれませんでしょうか

C列      D列
東京東 東京東営業部
東京西 東京西営業部
東京   東京営業部

東京東A 東京東営業部
東京西B 東京西営業部
東京A 東京営業部

A1東京東 東京東営業部
2B東京西 東京西営業部
A東京1 東京営業部

質問者からの補足コメント

  • へこむわー

    おしえてくれませんでしょうか
    下記の関数を
    そのまま標準モジュールにいれて
    やりたいのですが、
    おしえてくれませんでしょうか

    =IF(ISBLANK(C2),"",IF(COUNTIF(C2,"*東京東*"),"東京東",IF(COUNTIF(C2,"*西*"),"東京西","東京"))&"営業部")

    No.2の回答に寄せられた補足コメントです。 補足日時:2023/04/02 13:28
  • つらい・・・

    Range("b2").Formula = "=IF(ISBLANK(C2),"",IF(COUNTIF(C2," * 東京東 * "),東京東,IF(COUNTIF(C2," * 西 * "),東京西,東京))& 営業部)"

    これだとエラーになります。
    わかりますでしょうか

      補足日時:2023/04/02 13:33

A 回答 (3件)

以下は、VBAのコード例です。

例えば、A列に地名、B列に営業部を入力した場合、C列に以下のコードを入力することで、上記のルールに従って変換できます。

Sub ReplaceWords()
Dim LastRow As Long
LastRow = Cells(Rows.Count, "A").End(xlUp).Row '最終行を取得

For i = 1 To LastRow
If InStr(1, Range("A" & i), "東") > 0 And InStr(1, Range("A" & i), "西") = 0 Then '文字列に「東」が含まれている場合
Range("B" & i) = "東京東営業部"
ElseIf InStr(1, Range("A" & i), "西") > 0 And InStr(1, Range("A" & i), "東") = 0 Then '文字列に「西」が含まれている場合
Range("B" & i) = "東京西営業部"
Else 'それ以外の場合
Range("B" & i) = "東京営業部"
End If
Next i
End Sub


上記のコードをExcelのVBAエディタに貼り付け、実行すると、A列の文字列が上記のルールに従ってB列に変換されます。
    • good
    • 0
この回答へのお礼

ありがとうございます
参考にいたします。

お礼日時:2023/04/02 13:22

VBAを望んでいるのですか?



関数で処理できると思うので、関数を使った方法です。
「東」が入っていると指定すると「東京」のみでも東と処理されて
正しく置換できないので「東京東」を検索条件にします。
 =IF(ISBLANK(C2),"",IF(COUNTIF(C2,"*東京東*"),"東京東",IF(COUNTIF(C2,"*西*"),"東京西","東京"))&"営業部")
空白の場合の処理もしてあります。
「置換について」の回答画像2
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます
本当はVBAでやりたいのですが、
難しいとわかりました。

お礼日時:2023/04/02 12:49

置換するためには、Excelの関数を使用することができます。

具体的には、IF関数とSEARCH関数を使うことで実現できます。以下の手順で実行できます。

D列の最初のセル(D2)を選択します。

次の関数を入力して、Enterキーを押します。
=IF(ISNUMBER(SEARCH("東",C2)),"東京東営業部",IF(ISNUMBER(SEARCH("西",C2)),"東京西営業部","東京営業部"))

D2のセルを選択し、D列のすべてのセルにコピー&ペーストします。

この方法を使うと、C列のすべてのセルが処理され、D列に対応するテキストが表示されます。
    • good
    • 0
この回答へのお礼

ありがとうございます
本当はVBAでやりたいのですが、
難しいとわかりました。

お礼日時:2023/04/02 12:49

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