
No.1ベストアンサー
- 回答日時:
一番肝心の部分,
>1回の置換でしたいのですが、数字部分は可変なので、わかりません。
あなたが具体的にどんな式を「数字を変えて」書いたので出来ないのか,ご質問に書かれてません。
そこを敢えて勝手な空想で補うなら,「わざわざ数字を変えて式を書きました」みたいな使いにくいことをするのをやめて,最初から数式を
=TRIM(A1&" "&B1)
と書いて下向けに500行つるつるっとコピーしてしまえば終わりです。
で,ご質問の直接の回答として。
不明の理由によって「どうしても今のこの式を絶対使いたい」のでしたら,エクセルでは「1回の置換の操作」でやっつける方法はありません。
可能な手順:
1.= を zzz に全て置換する
2.2) を2)) に全て置換する
3.zzz を =TRIM( に全て置換する
と出来ます。
#セルの書式設定と組み合わせて置換を2回で済ませる手もありますが,いずれにしても3回(またはそれ以上)操作する事には変わりありません
この回答への補足
回答ありがとうございます。
可能な手順:でするとできました。
私のしたいことが説明不足でした。カタログ作成の仕事をしています。EXCELで掲載する商品をシート(1)に縦に並べて、シート(2)にシート(1)の商品名をカタログ的に関数で反映させます。
以下のようなイメージです。
シート(1)
注文番号 商品名
----------------
1001 シャツ白SS
1002 シャツ白S
1003 シャツ白M
1004 シャツ白L
1005 シャツ白LL
1006 シャツ黒SS
1007 シャツ黒S
1008 シャツ黒M
1009 シャツ黒L
1010 シャツ黒LL
シート(2)
1001 シャツ白SS┃1002 シャツ白S┃1003 シャツ白M┃1004 シャツ白L┃1005 シャツ白LL
1006 シャツ黒SS┃1007 シャツ黒S┃1008 シャツ黒M┃1009 シャツ黒L┃1010 シャツ黒LL
シート(2)のA1セルに"=Index(シート(1)!A:B,1,1)&" "&Index(シート(1)!A:B,1,2)"の式を設定。(最初の質問で、式内にシート名がなかったです。失礼しました。)
業務命令で『1006と1007の間に着用しているモデル写真を載せろ』があると、シート(1)の1006と1007の間に行を挿入します。そうするとTrim(a1&" "&b1)ではダメです。業務命令に対応するとこうなります。
シート(1)
1006 シャツ黒SS
モデル写真
1007 シャツ黒S
シート(2)
1006 シャツ黒SS┃モデル写真 ┃1007 シャツ黒S┃1008 シャツ黒M┃1009 シャツ黒L
1010 シャツ黒LL┃
No.3
- 回答日時:
>1回の置換でしたいのですが
⇒エクセルの置換は正規表現できませんので無理です。
TRIM関数の右かっこが難しいと思いますので、マクロでは如何でしょうか。
一例です。
対象のシートタブ上で右クリック→コードの表示→以下のサンプルを貼り付け→F5キー押下
F5押下前に数式の列、開始行(仮にC列、1行目)を調整して下さい。
マクロ削除は、貼り付けたコードを全削除して、マクロ画面を終了して下さい。
Sub sample()
列 = "C"
開始行 = 1
For i = 開始行 To Cells(Rows.Count, 列).End(xlUp).Row
Cells(i, 列).Formula = "=trim(" & Mid(Cells(i, 列).Formula, 2) & ")"
Next
End Sub
回答ありがとうございます。正規表現は無理ですか・・・。書いて頂いたマクロを元にして、マクロを書いたらできました。ただ、自分はマクロが理解できる方ですが、これを利用するであろう職場の他の人はPCアレルギーなので、マクロ(プログラム)はなるべく避けたいです。EXCELを業務で効率的に使いたいならマクロぐらい勉強しろと言いたいですが。
No.2
- 回答日時:
式を変えるのではなくお示しの式でしたらA列を選択してから「データ」タブの「区切り位置」を選択し、表示の画面でデータのファイル形式では「スペースによって右または左・・・・」にチェックをして「次へ」、再び「次へ」、さらに「完了」ボタンをクリックすることでA列に入力された文字列の空白を無くすことができます。
この操作をすることで式を置換により変えるなどの操作は必要としません。
回答ありがとうございます。EXCEL2000のせいか、ご指摘のように進めません。データ→区切り位置…ですると、したいこととは異なりました。関数で両端の空白を除去したいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) Excelの複数置換はSUBSTITUTEを重ねるしかない? 9 2022/05/08 11:25
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- フリーソフト サクラエディタの正規表現(grep機能)の使い方 3 2022/06/22 10:29
- フリーソフト テキストファイルの一括置換で除外したい文字があります。 2 2022/06/21 17:53
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) 数式の置換がうまく行かない 6 2022/05/04 15:51
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カンマを改行に変換する方法
-
秀丸で余分なスペースを削除したい
-
カンマ( , )をタブに置換したい。
-
文字の列を揃えるには
-
Excelで全角ハイフンを半角ハイ...
-
エクセルの『検索と置換ボック...
-
ワード (word ) 日本語の文字...
-
Wordでスペースを含む文字を置...
-
Word:差し込み印刷時に文字列...
-
word 改行マークを印刷時に表示...
-
セルの文字列後ろのスペース削除
-
ワードで複数の文字を一括・連...
-
【MS Office Word 2007】文章の...
-
ExcelのVBA 正規表現でタブを...
-
エクセルでコンマとピリオドを...
-
テキストでタブを検索してスペ...
-
エクセル重複削除で綺麗に削除...
-
ダブルクォーテーションカンマ...
-
Wordの置換を使って複数のスペ...
-
Word2003で、囲み線の中だけ置...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カンマを改行に変換する方法
-
カンマ( , )をタブに置換したい。
-
エクセル重複削除で綺麗に削除...
-
文字列に含まれているダブルク...
-
文字の列を揃えるには
-
秀丸で余分なスペースを削除したい
-
Excelで全角ハイフンを半角ハイ...
-
エクセルの『検索と置換ボック...
-
Word:差し込み印刷時に文字列...
-
セルの文字列後ろのスペース削除
-
エクセルで濁点カナの変換方法...
-
CSVファイルの任意の列をダブル...
-
1文字だけ置換したい
-
word 改行マークを印刷時に表示...
-
エクセルでコンマとピリオドを...
-
ワード (word ) 日本語の文字...
-
Word VBA フッターでの文字の置換
-
エクセル 置換又は関数でかっこ...
-
テキストでタブを検索してスペ...
-
【MS Office Word 2007】文章の...
おすすめ情報