- 締切済み
各セルの一番最初から3番目までの値の塊だけを置換
ああああああ があって あ を い に普通に置換すると いいいいいいい になりますが各セルの一番最初から3番目までの値の塊だけを置換し置換し 検索文字あ 置換文字いの時 結果は いいいあああ にしたいです 検索文字を一つの値の塊とします ああうえお があって 検索文字え 置換文字 空白 の時 え は4番目の値の塊なので ああうえお はそのまま変化なく置換したくありません 文字別に文字数を数えるというのではなくセル内で 一番左 から何番目に出てくるという基準で指定した値の塊を置換したいです 値の塊は一文字とは限りません あああああい を検索文字 ああああ 置換文字 い の時 結果は いあい にしたいです この時はああああが一つの値の塊です この時検索文字 ああ 置換文字 い のとき 結果いいあい 検索文字あ 置換文字い のとき結果は いいいああい 検索文字を一つの値の塊とします こういうことがA列の60000行のセルにできる式、マクロを教えてください 一つの値だけでなく複数の値を同時に検索し置換できるほうが良いです
- nakanakaokwave
- お礼率1% (2/126)
- Excel(エクセル)
- 回答数8
- ありがとう数2
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- SI299792
- ベストアンサー率48% (715/1478)
書き忘れました。これはユーザー定義関数です。 B2: =LeftReplace(A2,D$2:E$11,3) 下へコピペして下さい。 (どうして回答が取り消せないんだ。おかげで分けて回答を書くややこしいことになる)
- SI299792
- ベストアンサー率48% (715/1478)
画像のような変換とします。 変換しない場合、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)
残念ながら貴方の求めている仕様が理解できません。 ぶっきらぼうな返答しかなく、かつ、 例示が足りないため、これ以上のコメントは困難ですので 理解可能な例示があれば続けますがそれが無いようであれば降ります。 失礼しました。
- HohoPapa
- ベストアンサー率65% (454/691)
>あああああい を検索文字 ああああ 置換文字 い の時 結果は いあい にしたいです ならば かかかあああああい を検索文字 ああああ 置換文字 い の時 結果は どのように変換されることを期待していますか?
補足
かかかあいい
- HohoPapa
- ベストアンサー率65% (454/691)
>ああうえお があって 検索文字え 置換文字 空白 の時 え は4番目の値の塊なので >ああうえお はそのまま変化なく置換したくありません 変換元の文字列を検索文字列の文字数で区切り、 『区切ったピースごとに検索文字列と同じか?』を比較し 同じなら3回目までに限って置き換えるんですか? 変換元:あいうえおかきくけこ 検索文字:きく 置き換え文字:キク 変換後:あいうえおかきくけこ 変換元:あいうえおかきくけこ 検索文字:おか 置き換え文字:オカ 変換後:あいうえオカきくけこ また、 空白 これは、 Null、半角スペース、全角スペース、"空白"という文字列 のどれを指していますか? 変換ツールが明確にわかるように 変換例をいくつか例示してください。
補足
変換元:あいうえおかきくけこ 検索文字:きく 置き換え文字:キク 変換後:あいうえおかきくけこ あいうまでが3番目の値の塊なので変化なし 変換元:あいうえおかきくけこ 検索文字:おか 置き換え文字:オカ 変換後:あいうえオカきくけこ ↓ 変換元:あいうえおかきくけこ 検索文字:おか 置き換え文字:オカ 変換後:あいうえおかきくけこ あいう までが3番目の値の塊なので変化なしにしたいです 空白は半角スペースです 半角スペースと書くようにします
- msMike
- ベストアンサー率20% (363/1775)
》 セル内で 一番左 から何番目に出てくる 》 という基準で指定した値の塊を置換したい の記述から、單一セル内の「ああああああ」の事かと思ってました。 併し、改めてタイトルを眺めたら、 》 各セルの一番最初から3番目までの値の塊… ですって、ビックリポン!
- msMike
- ベストアンサー率20% (363/1775)
貴方が、万一、外國人でも、日本語を認める際は、キチンと句讀點(、。)を入れて下さい!
補足
あああああい を検索文字 ああああ 置換文字 い の時 結果は いあい にしたいです この時はああああが一つの値の塊です 検索文字 ああ 置換文字 い のとき 結果いいあい 検索文字あ 置換文字い のとき結果は いいいああい 検索文字を一つの値の塊とします
関連するQ&A
- 一番左から1番目から3番目までの値の塊だけを置換
ああああああ があって あ を い に普通に置換すると いいいいいいい になりますが各セルの一番最初から文字別で数えて3番目までの値の塊だけを置 換する式を教えてください 変換元:ああああああ 検索文字:あ 置換文字:い 変換後:いいいいいい 検索文字を一つの値の塊とします 変換元:ああうえお 検索文字:え 置換文字 :半角スペース 変換後:ああうお 文字別にセル内で 一番左 から何番目に出てくるという基準で指定した値の塊を置換したいです 値の塊は一文字とは限りません 変換元:あああああい 検索文字:ああああ 置換文字:い 変換後:いあい この時はああああが一つの値の塊です 変換元:あああああい 検索文字:ああ 置換文字:い 変換後:いいあい 変換元:あああああい 検索文字:あ 置換文字:い 変換後:いいいいいい 検索文字を一つの値の塊とします 変換元:あいうえおかきくけこ 検索文字:きく 置き換え文字:キク 変換後:あいうえおかきくけこ あいうまでが3番目の値の塊なので変化なし 変換元:あいうえおかきくけこ 検索文字:おか 置き換え文字:オカ 変換後:あいうえおかきくけこ あいう までが3番目の値の塊なので変化なし 変換元:あああああい 検索文字:ああああ 置換文字 :い 変換後:いあい 変換元:かかかあああああい 検索文字:ああああ 置換文字:い 置換後:かかかいあい こういうことがA列の60000行のセルにできる式、マクロを教えてください 一つの値だけでなく複数の値を同時に検索し置換できるほうが良いです
- 締切済み
- Excel(エクセル)
- 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文字目なので かああああ はそのまま変化なく置換したくありません 文字別に文字数を数えるというのではなくセル内で 一番左 一番最初 に出てくるという基準で指定した値の塊を置換したいです 値の塊は一文字とは限りません たとえば あああああい を検索文字 ああああ 置換文字 空白 の時 結果は あい にしたいです
- 締切済み
- Visual Basic
- A列の行のセルに出てくる一番右の値だけを複数置換
A列の行のセルに出てくる一番最初、右の値だけを複数置換する式、マクロを教えて下さい 値は連続しており一番最初右であれば1文字とは限りません 行数は100000行 置換する対象の値は約30個です
- ベストアンサー
- Excel(エクセル)
- スプレッドシートで空白セルに文字を置換で入れたい
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番最初の文字の塊だけ置換されるかです ああああああ があって あ を い に普通に置換すると いいいいいいい になりますがこのマクロで置換すると いあああああ になります
- ベストアンサー
- Visual Basic
- 値を検索しその値が含まれるセルを全て表示する式
exel2013で任意のセルに検索する値を入れA列の1行から60000行を検索し検索した値が含まれるセルをすべて表示する式、マクロを教えてください
- 締切済み
- Visual Basic
- 指定の値をもつセルにジャンプ(選択)
指定の値をもつセルにジャンプ(選択) いつもお世話になっております。 Excelを使っていまして、ふと疑問になり質問しました。 Excelのジャンプ機能の中で【空白セル】を指定できますよね。 この場合、選択領域内の空白セルが全て選択された状態で結果が返されるのですが、 これと同じような結果を【空白セル以外で】受けることはできないのかと思いました。 ?選択領域内の【指定の値をもつセル】にジャンプし、該当するセルを全て選択した状態にできないのか? 特に【=0】ぐらいは指定できてもよいのではないかとむしろ疑問になったのです。 愚考するに、[全て置換]で空白セルに書き換え、[ジャンプ]で選択する方法があるでしょう。 しかし、この方法の欠点として、選択後にはセルの数式が消去されてしまうことが挙げられます。 マクロを用いず、Excelに備わっている方法で上記のような複数セルの選択は実行可能なのでしょうか? 宜しくお願いします。
- ベストアンサー
- その他MS Office製品
- 置換で空白のセルを選択
基本的なことだと思いますが、すみません。 置換するときに、空白のセルを全部選択して、そこにある文字列を入れたいのですが、 空白のセルはどうやって選択すればよいのですか?よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- こんな文字置換ソフトを探してます!
検索条件として、行ごとに 『左から○番目の特定文字「○○」を「□□」に変換する』 という文字置換ソフトを探しています。 どなたか、こういったソフトをご存知でしょうか? 当方、WindowsXPを使用しています。
- ベストアンサー
- フリーウェア・フリーソフト
補足
ありがとうございました