A B
1 《ABC》【あいう】ABCDE 【あいう】《ABC》ABCDE
2 《EFG》【えおかき】FGHI 【えおかき】《EFG》FGHI
3 《HIJK》【くけ】JKLMNO 【くけ】《HIJK》JKLMNO
4 《LM》【こさし】PQRS 【こさし】《LM》PQRS
5 《NOP》【すせ】TUVW 【すせ】《NOP》TUVW
A列の文字列で 《***》と【***】を入れ替えて
B列のようにするB列の式を教えて下さい。
9千行以上あります。
Excel 2007 です。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
2つに分けて考える
【あいう】の部分抜き出し
=MID(A1,FIND("【",A1),FIND("】",A1)-FIND("【",A1)+1)
ーー
【あいう】を抹消
=SUBSTITUTE(A1,MID(A1,FIND("【",A1),FIND("】",A1)-FIND("【",A1)+1),"")
両者を&で結合
=MID(A1,FIND("【",A1),FIND("】",A1)-FIND("【",A1)+1)&SUBSTITUTE(A1,MID(A1,FIND("【",A1),FIND("】",A1)-FIND
("【",A1)+1),"")
ーーー
例データ
《ABC》【あいう】ABCDE
《EFG》【えおかき】FGHI
結果
【あいう】《ABC》ABCDE
【えおかき】《EFG》FGHI
No.4
- 回答日時:
9000行以上もあるならVBAの方が良さそう。
#以下のコードはExcel2003で確認
Sub Sample()
Dim oRegExp As Object
Dim oRepA As Object
Dim oRepB As Object
Dim sRepA, sRepB, sTarget
Dim nLast, nRow
Set oRegExp = CreateObject("VBScript.RegExp")
Application.ScreenUpdating = False
With oRegExp
nLast = Range("A1").End(xlDown).Row
For nRow = 1 To nLast
sTarget = Range("A" & nRow).Text
'《…》の中を取り出す
.Pattern = "《.*》"
Set oRepA = .Execute(sTarget)
'【…】の中を取り出す
.Pattern = "【.*】"
Set oRepB = .Execute(sTarget)
'《…》【…】が一個づつある場合のみ処理
If oRepA.Count = 1 And oRepB.Count = 1 Then
'《…》の中を置換
sRepB = Mid(oRepB(0), 2, Len(oRepB(0)) - 2)
.Pattern = "《.*》"
sTarget = .Replace(sTarget, "《" & sRepB & "》")
'【…】の中を置換
sRepA = Mid(oRepA(0), 2, Len(oRepA(0)) - 2)
.Pattern = "【.*】"
sTarget = .Replace(sTarget, "【" & sRepA & "】")
'置換したものをB列に
Range("B" & nRow).Value = sTarget
End If
Set oRepA = Nothing
Set oRepB = Nothing
Next nRow
End With
Set oRegExp = Nothing
Application.ScreenUpdating = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
字面がカッコいい英単語
あなたが思う「字面がカッコいい英単語」を教えてください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
エクセルで空白文字の前後を入れ替えることってできますか?
Excel(エクセル)
-
EXCELで文字列の並べかえ
Excel(エクセル)
-
Excelのセル内文字の並び替えについて
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで文字の入力がセルの...
-
多数の計算セルに一括で同一の...
-
エクセルで「4」「9」抜けの...
-
Excelからテキストへのコ...
-
VBAでの日付の置換方法を教えて...
-
エクセルのセルの中の,よりも前...
-
エクセルの表ををメモ帳などに...
-
<Excel>別シートの値を等間隔で...
-
置換機能を使わずに先頭に「'」...
-
excelで可視セルのみ置換
-
Excelの空文字セルの削除方法を...
-
エクセルでセル内の一部を一括...
-
セル内で改行(Alt+Enter)以降...
-
Excelの入力済みセルに一括で、...
-
Excel 「k」の単位表示を数値に...
-
excel 行をコピー→ペーストした...
-
Excelで、半角スペースをTABに...
-
エクセルでセル内の一部分だけ...
-
エクセルの数字だけを削除したい
-
エクセルにおける置換について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで文字の入力がセルの...
-
多数の計算セルに一括で同一の...
-
Excelからテキストへのコ...
-
エクセルのセルの中の,よりも前...
-
Excelで、半角スペースをTABに...
-
Excelの空文字セルの削除方法を...
-
Excelの入力済みセルに一括で、...
-
excelで可視セルのみ置換
-
【エクセル】ピボットテーブル...
-
小数点を消す方法
-
置換機能を使わずに先頭に「'」...
-
Excelのmatch関数エラー原因が...
-
エクセルでセル内の一部分だけ...
-
エクセルの関数で、記号などを...
-
エクセルでスペースの記号を表...
-
エクセルの表ををメモ帳などに...
-
エクセルでセル内の一部を一括...
-
企業名簿で(株)や(有)を無視し...
-
別シートのリストから置換する方法
-
Excelのシートにある1行...
おすすめ情報