• 締切済み

各セルの一番最初から3番目までの値の塊だけを置換

ああああああ があって あ を い に普通に置換すると いいいいいいい になりますが各セルの一番最初から3番目までの値の塊だけを置換し置換し 検索文字あ 置換文字いの時 結果は いいいあああ にしたいです 検索文字を一つの値の塊とします ああうえお があって 検索文字え 置換文字 空白 の時 え は4番目の値の塊なので ああうえお はそのまま変化なく置換したくありません 文字別に文字数を数えるというのではなくセル内で 一番左 から何番目に出てくるという基準で指定した値の塊を置換したいです 値の塊は一文字とは限りません あああああい を検索文字 ああああ 置換文字 い の時 結果は いあい にしたいです この時はああああが一つの値の塊です この時検索文字 ああ 置換文字 い のとき 結果いいあい 検索文字あ 置換文字い のとき結果は いいいああい 検索文字を一つの値の塊とします こういうことがA列の60000行のセルにできる式、マクロを教えてください 一つの値だけでなく複数の値を同時に検索し置換できるほうが良いです

みんなの回答

  • SI299792
  • ベストアンサー率48% (715/1478)
回答No.8

書き忘れました。これはユーザー定義関数です。 B2: =LeftReplace(A2,D$2:E$11,3) 下へコピペして下さい。 (どうして回答が取り消せないんだ。おかげで分けて回答を書くややこしいことになる)

  • SI299792
  • ベストアンサー率48% (715/1478)
回答No.7

画像のような変換とします。 変換しない場合、1文字を1ブロックとします。 Option Explicit ' Function LeftReplace(What As String, Area As Range, Count As Integer) As String   Dim Start As Integer   Dim Row As Integer   Dim Find As String   Dim Repl As String   Dim Length As Integer   Dim Change() As String '   ReDim Change(Count)   LeftReplace = What '   For Start = 1 To Count '     For Row = 1 To Area.Rows.Count       Find = Area(Row, 1)       Repl = Area(Row, 2)       Length = Len(Find) '       If Left(LeftReplace, Length) = Find Then         Change(Start - 1) = Repl         LeftReplace = Mid(LeftReplace, Length + 1)         Exit For       End If     Next Row '     If Row > Area.Rows.Count Then       Change(Start - 1) = Left(LeftReplace, 1)       LeftReplace = Mid(LeftReplace, 2)     End If   Next Start   Change(Count) = LeftReplace   LeftReplace = Join(Change, "") End Function 上手くいかない場合、 変換前、変換後(こうなってほしい)、検索文字、置換文字を上げて下さい。 貴方は、人に要求しておきながら、自分の情報は絶対出さない身勝手な人なので、出さないと思いますが、そうしないと責任は持てません。

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.6

残念ながら貴方の求めている仕様が理解できません。 ぶっきらぼうな返答しかなく、かつ、 例示が足りないため、これ以上のコメントは困難ですので 理解可能な例示があれば続けますがそれが無いようであれば降ります。 失礼しました。

nakanakaokwave
質問者

補足

ありがとうございました

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.5

>あああああい を検索文字 ああああ 置換文字 い の時 結果は いあい にしたいです ならば かかかあああああい を検索文字 ああああ 置換文字 い の時 結果は どのように変換されることを期待していますか?

nakanakaokwave
質問者

補足

かかかあいい

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.4

>ああうえお があって 検索文字え 置換文字 空白 の時 え は4番目の値の塊なので >ああうえお はそのまま変化なく置換したくありません 変換元の文字列を検索文字列の文字数で区切り、 『区切ったピースごとに検索文字列と同じか?』を比較し 同じなら3回目までに限って置き換えるんですか? 変換元:あいうえおかきくけこ 検索文字:きく 置き換え文字:キク 変換後:あいうえおかきくけこ 変換元:あいうえおかきくけこ 検索文字:おか 置き換え文字:オカ 変換後:あいうえオカきくけこ また、 空白 これは、 Null、半角スペース、全角スペース、"空白"という文字列 のどれを指していますか? 変換ツールが明確にわかるように 変換例をいくつか例示してください。

nakanakaokwave
質問者

補足

変換元:あいうえおかきくけこ 検索文字:きく 置き換え文字:キク 変換後:あいうえおかきくけこ あいうまでが3番目の値の塊なので変化なし 変換元:あいうえおかきくけこ 検索文字:おか 置き換え文字:オカ 変換後:あいうえオカきくけこ ↓ 変換元:あいうえおかきくけこ 検索文字:おか 置き換え文字:オカ 変換後:あいうえおかきくけこ あいう までが3番目の値の塊なので変化なしにしたいです 空白は半角スペースです 半角スペースと書くようにします

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.3

添附圖參照(Excel 2019) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.2

》 セル内で 一番左 から何番目に出てくる 》 という基準で指定した値の塊を置換したい の記述から、單一セル内の「ああああああ」の事かと思ってました。 併し、改めてタイトルを眺めたら、 》 各セルの一番最初から3番目までの値の塊… ですって、ビックリポン!

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.1

貴方が、万一、外國人でも、日本語を認める際は、キチンと句讀點(、。)を入れて下さい!

nakanakaokwave
質問者

補足

あああああい を検索文字 ああああ 置換文字 い の時 結果は いあい にしたいです この時はああああが一つの値の塊です 検索文字 ああ 置換文字 い のとき 結果いいあい 検索文字あ 置換文字い のとき結果は いいいああい 検索文字を一つの値の塊とします

関連するQ&A

  • 一番左から1番目から3番目までの値の塊だけを置換

    ああああああ があって あ を い に普通に置換すると いいいいいいい になりますが各セルの一番最初から文字別で数えて3番目までの値の塊だけを置 換する式を教えてください 変換元:ああああああ 検索文字:あ 置換文字:い 変換後:いいいいいい 検索文字を一つの値の塊とします 変換元:ああうえお 検索文字:え 置換文字 :半角スペース 変換後:ああうお 文字別にセル内で 一番左 から何番目に出てくるという基準で指定した値の塊を置換したいです 値の塊は一文字とは限りません 変換元:あああああい 検索文字:ああああ 置換文字:い 変換後:いあい この時はああああが一つの値の塊です 変換元:あああああい 検索文字:ああ 置換文字:い 変換後:いいあい 変換元:あああああい 検索文字:あ 置換文字:い 変換後:いいいいいい 検索文字を一つの値の塊とします 変換元:あいうえおかきくけこ 検索文字:きく 置き換え文字:キク 変換後:あいうえおかきくけこ あいうまでが3番目の値の塊なので変化なし 変換元:あいうえおかきくけこ 検索文字:おか 置き換え文字:オカ 変換後:あいうえおかきくけこ あいう までが3番目の値の塊なので変化なし 変換元:あああああい 検索文字:ああああ 置換文字 :い 変換後:いあい 変換元:かかかあああああい 検索文字:ああああ 置換文字:い 置換後:かかかいあい こういうことがA列の60000行のセルにできる式、マクロを教えてください 一つの値だけでなく複数の値を同時に検索し置換できるほうが良いです

  • Sub test01() Fr = Range("

    Sub test01() Fr = Range("A1").End(xlDown).Row LR = Range("A100000").End(xlUp).Row For i = Fr + 1 To LR If Cells(i, "A") Like " *" Then Cells(i, "A").Replace What:="", Replacement:="", LookAt:=xlPart, MatchCase:=True End If Next i End Sub ""の中には置換前後の値が入る スペースとは限らない 各行のセルの1番最初の文字の塊を置換するこのマクロは一度に一値しか置換できませんが一度に10ぐらいの多くの値を置換できるよう改造したマクロを教えてください このマクロは1から1000000行のセルの一番左1番最初の文字の塊だけを置換できるので普通の置換とは違います 違いはすべての場所で置換されるかセルの一番左1番最初の文字の塊だけ置換されるかです ああああああ があって あ を い に普通に置換すると いいいいいいい になりますがこのマクロで置換すると いあああああ になります  あ は2文字目なので かああああ はそのまま変化なく置換したくありません  文字別に文字数を数えるというのではなくセル内で 一番左 一番最初 に出てくるという基準で指定した値の塊を置換したいです 値の塊は一文字とは限りません たとえば あああああい を検索文字 ああああ 置換文字 空白 の時 結果は あい にしたいです

  • A列の行のセルに出てくる一番右の値だけを複数置換

    A列の行のセルに出てくる一番最初、右の値だけを複数置換する式、マクロを教えて下さい 値は連続しており一番最初右であれば1文字とは限りません 行数は100000行 置換する対象の値は約30個です

  • スプレッドシートで空白セルに文字を置換で入れたい

    googleスプレッドシートでシート内の空白のセルにだけ”OK”という文字を入力したいです。 ”検索と置換”機能で、空白のセルを見つけてそこに”OK”と置換する方法を教えていただきますよう、よろしくお願い致します。

  • Sub test01() Fr = Range(

    Sub test01() Fr = Range("A1").End(xlDown).Row LR = Range("A100000").End(xlUp).Row For i = Fr + 1 To LR If Cells(i, "A") Like " *" Then Cells(i, "A").Replace What:="", Replacement:="", LookAt:=xlPart, MatchCase:=True End If Next i End Sub ""の中には置換前後の値が入る スペースとは限らない 各行のセルの1番最初の文字の塊を置換するこのマクロは一度に一値しか置換できませんが一度に10ぐらいの多くの値を置換できるよう改造したマクロを教えてください このマクロは1から1000000行のセルの一番左1番最初の文字の塊だけを置換できるので普通の置換とは違います 違いはすべての場所で置換されるかセルの一番左1番最初の文字の塊だけ置換されるかです ああああああ があって あ を い に普通に置換すると いいいいいいい になりますがこのマクロで置換すると いあああああ になります

  • 値を検索しその値が含まれるセルを全て表示する式

    exel2013で任意のセルに検索する値を入れA列の1行から60000行を検索し検索した値が含まれるセルをすべて表示する式、マクロを教えてください

  • 指定の値をもつセルにジャンプ(選択)

    指定の値をもつセルにジャンプ(選択) いつもお世話になっております。 Excelを使っていまして、ふと疑問になり質問しました。 Excelのジャンプ機能の中で【空白セル】を指定できますよね。 この場合、選択領域内の空白セルが全て選択された状態で結果が返されるのですが、 これと同じような結果を【空白セル以外で】受けることはできないのかと思いました。 ?選択領域内の【指定の値をもつセル】にジャンプし、該当するセルを全て選択した状態にできないのか? 特に【=0】ぐらいは指定できてもよいのではないかとむしろ疑問になったのです。 愚考するに、[全て置換]で空白セルに書き換え、[ジャンプ]で選択する方法があるでしょう。 しかし、この方法の欠点として、選択後にはセルの数式が消去されてしまうことが挙げられます。 マクロを用いず、Excelに備わっている方法で上記のような複数セルの選択は実行可能なのでしょうか? 宜しくお願いします。

  • 置換で空白のセルを選択

    基本的なことだと思いますが、すみません。 置換するときに、空白のセルを全部選択して、そこにある文字列を入れたいのですが、 空白のセルはどうやって選択すればよいのですか?よろしくお願いします。

  • 空白セルを文字に置換するには

    空白セルに文字(例えば半角大文字A)を置換するにはどうしたらよいでしょうか。教えてください。

  • こんな文字置換ソフトを探してます!

    検索条件として、行ごとに 『左から○番目の特定文字「○○」を「□□」に変換する』 という文字置換ソフトを探しています。 どなたか、こういったソフトをご存知でしょうか? 当方、WindowsXPを使用しています。

専門家に質問してみよう