Excelで何千件もある、マスターの修正をしています。

すでに空白の空いているデータの空白の長さがまちまちなので
半角2文字分に統一したいのですが、よい方法が見つからず
手作業で何時間もかけて修正している状態です。

マスターですので何桁目に空白を空けるのかというのは
データによってバラバラです。

何かよい解決策はありませんでしょうか?

A 回答 (4件)

そのシートに空きがあればそこでもいいですし、別シートでもいいですが、


データの入っている範囲と同じサイズの空き領域の、A1に対応する部分に
=TRIM(A1) と入力し範囲全体にコピー&ペースト。
範囲全体を選択しコピー、値を貼り付け。
置換で「半角スペース」を「半角スペース2つ」に、
置換で「全角スペース」を「半角スペース2つ」に(順番が逆は不可)。
範囲をコピーし、元のデータ範囲に貼り付け。
作業領域を削除。

で、いかがでしょう。
    • good
    • 0

Trim関数を使用すると、文字列の途中の連続した半角スペースは


半角スペース1個になります。

1.セルA1に[1△△△△2(△は半角1個)]を入力。
2.セルB1に式[=trim(A1)]とすると結果は[1△2]
3.コピー&形式を選択して張り付け(値)でB1を値に変更。
4.Ctrl+H(置換)で「半角1個」を「半角2個」にする。

全角スペースの半角にしたいなら、1の前に
Ctrl+H(置換)で「全角1個」を「半角1個」にしておく。

ではいかがでしょうか?
    • good
    • 0
この回答へのお礼

大変ご丁寧な回答、ありがとうございました。

分かりやすく教えていただいたTRIM関数と置き換えを使って、
無事解決することができました。

お礼日時:2001/10/30 10:44

No.2のHitomiKuroseです。

すみません、補足があります。

作業が別シートの場合は3行目の式は
=TRIM(Sheet1!A1)

(シート名が違えばSheet1の部分をシート名にして下さい。)
    • good
    • 0

この回答はお気に召しませんか?



参考URL:http://www2.odn.ne.jp/excel/waza/function.html#S …
    • good
    • 0

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【エクセル】データ用シートを作成し、すでにあるフォーマットへデータを反映させたい。

お世話になります。
日報を簡単に作成できないか?と言われ、試行錯誤をしている最中です。
日報へは
当日の出荷数・今月の出荷累計・当日の入荷数・今月の入荷累計等
を入力しないといけません。
入力は、PCに触ることがあまりない人もいて、
「データ入力用のシートがあって、それを入力するだけで、
日報ができたら嬉しいんですが」とのリクエストが・・・。
日報にはすでにフォーマットがあります。

新しく「データ入力用」というシートを作成し、そこへ1日から31日までの
出入荷量等の表を作成し、累計も計算できるようにし、
それらのデータを例えば6月1日とフォーマットに日付を入力すると
6月1日のデータが日報のフォーマットへ自動で入力されるというような
ことはできるのでしょうか?

また、できるのであれば、どのようにしたらいいのか、アドバイスいただけると嬉しいです。

説明が上手にできずに申し訳ありませんが、よろしくお願いいたします。

Aベストアンサー

アドバイスにしかなりませんが、似たようなものを作成したことがあるので
その方法を下記に記載します。

データ入力用シートに必要なデータ(日付、当日の入出荷数)を
列毎に入力できるようにします。(※A列は日付にする)
日報で表示したい計算の必要な値は(今月の出荷累計・今月の入荷累計等)
このシートで計算するセルを作っておく。

既にある日報フォーマットの日付セルに日付を入力すると
各データを表示したいセルにVLOOKUP関数でデータ入力用シートから
データを持ってくる方法が良いと思います。

例:=VLOOKUP(A2,データ入力用!A3:H35,4,0)
            ↑   ↑      ↑   ↑
            (1)   (2)      (3)  (4)

上記の条件
(1)日報フォーマットの日付入力がA2セルの場合
(2)シート名が「データ入力用」の場合
(3)日付、入出荷数等のデータが入力されているデータ範囲がA3からH35とした場合
(4)日付のA列を1として数えて、4列目のデータを呼び出す場合

※データ入力用シートは別ファイルとして作っても出来ます。

アドバイスにしかなりませんが、似たようなものを作成したことがあるので
その方法を下記に記載します。

データ入力用シートに必要なデータ(日付、当日の入出荷数)を
列毎に入力できるようにします。(※A列は日付にする)
日報で表示したい計算の必要な値は(今月の出荷累計・今月の入荷累計等)
このシートで計算するセルを作っておく。

既にある日報フォーマットの日付セルに日付を入力すると
各データを表示したいセルにVLOOKUP関数でデータ入力用シートから
データを持ってくる方法が良いと思い...続きを読む

QExcel97:3桁~5桁までのバラなコード(数字)、前ゼロ埋めで6桁にしたい時は?

標題どおりです。
現在、「156」とか「70018」とか、3桁から5桁までの数字のコードが200件あります。
それを、「000156」、「070018」と、本来のコードの前にゼロを置き、6桁に揃えたいんです。
手入力だと面倒な作業になるため、なんとか簡単に表示形式で設定できないものかと思い質問してみました。

マクロはまったくの素人なので、関数や表示形式で教えて下さい。
よろしくお願い致します。

Aベストアンサー

右クリックから「セルの書式設定」を選択し、
表示形式タブのユーザー設定を選択します。
種類欄に「00000」と入力すれば、ご希望のことができるかと。

Qエクセルのマクロで検索・抽出したデータを修正及び更新して元データに反映

エクセルのマクロで検索・抽出したデータを修正及び更新して元データに反映させたい。

Sheet1に元データが行単位で入力されています。。
  A   B    C    D    E F
1 日付顧客名契約料担当回収日回収金額
2
3
|
50

Sheet2で複数条件でフィルタオプションをマクロで実行し結果を表示ています。
  A    B    C   D    E
1 日付~ 日付マデ 顧客名 担当者
2 1/1   2/28     高橋      --------->検索条件
3
4 日付顧客名担当回収日回収金額
5 -------------------------------------->抽出結果
6 -------------------------------------->抽出結果
7 -------------------------------------->抽出結果

マクロは下記の通りです。

Public Sub 検索()
Dim myRow1 As Long, myRow2 As Long
'----Sheet1とSheet2のA列で最終行を捜します。
myRow1 = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
myRow2 = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row
'----Sheet2のA5以下が入力されていたらクリアします。
If myRow2 >= 5 Then
Sheets("Sheet2").Range("A5:P" & myRow2).ClearContents
End If
'----フィルタオプションの設定で抽出します。
'----元データはSheet1、抽出条件はSheet2のA1:D2、抽出先はSheet2のA4:E4です。
Sheets("Sheet1").Range("A1:F" & myRow1).AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Sheet2").Range("A1:D2"), _
CopyToRange:=Sheets("Sheet2").Range("A4:E4"), _
Unique:=False

End Sub

抽出結果の各セルデータを必要に応じて変更・修正(選出結果を直に)をしそれを元データ
に反映(上書き?)させるようなマクロを作成したいです。

どなたかご指導よろしくお願いいたします。

うまく説明できないので画像を添付します。

エクセルのマクロで検索・抽出したデータを修正及び更新して元データに反映させたい。

Sheet1に元データが行単位で入力されています。。
  A   B    C    D    E F
1 日付顧客名契約料担当回収日回収金額
2
3
|
50

Sheet2で複数条件でフィルタオプションをマクロで実行し結果を表示ています。
  A    B    C   D    E
1 日付~ 日付マデ 顧客名 担当者
2 1/1   2/28     高橋      --------->検索条件
3
4 日付顧客名担当回収日回収金額
5 ---...続きを読む

Aベストアンサー

質問者のレベルではChangeイベントはちょと難しいかも。。(^^;;;

で、Sheet2に抽出後、修正データを入れ、
それが正しいかどうか確認した後に、Sheet1へ転記する方がいいかも。

'------------------------------------------------ 
Sub 更新()
 Dim R1 As Long
 Dim R2 As Long

For R2 = 5 To Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
 For R1 = 2 To Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row

 If Sheets("Sheet1").Cells(R1, "A") = Sheets("Sheet2").Cells(R2, "A") And _
   Sheets("Sheet1").Cells(R1, "B") = Sheets("Sheet2").Cells(R2, "B") And _
   Sheets("Sheet1").Cells(R1, "D") = Sheets("Sheet2").Cells(R2, "C") Then

   Sheets("Sheet1").Cells(R1, "E") = Sheets("Sheet2").Cells(R2, "D")
   Sheets("Sheet1").Cells(R1, "F") = Sheets("Sheet2").Cells(R2, "E")
   Exit For
 End If

 Next R1
Next R2
End Sub
'-------------------------------------------

一行のコードが長くなるのでRangeのValueプロパティは省いてあります。


それから処理の流れには関係ないことですが、
シートを扱うために変数を使うとコードが短くすっきりなります。
  Dim WS1 As Worksheets
  Set WS1 = Worksheets("Sheet1")
最初でこのようしておくと、
以後、Worksheets("Sheet1")の代わりにWS1を使えるということです。

以上です。
 

質問者のレベルではChangeイベントはちょと難しいかも。。(^^;;;

で、Sheet2に抽出後、修正データを入れ、
それが正しいかどうか確認した後に、Sheet1へ転記する方がいいかも。

'------------------------------------------------ 
Sub 更新()
 Dim R1 As Long
 Dim R2 As Long

For R2 = 5 To Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
 For R1 = 2 To Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row

 If Sheets("Sheet1").Cells(R1, "A") = Sheets("Sheet2").Cells(R2, "A") An...続きを読む

Qエクセルの桁区切り、4桁にできますか?

エクセルで、入力した数字を自動的に3桁区切りにしてくれる機能がありますよね。あれを3桁ではなく4桁(日本式)でやってくれるような設定はできないのでしょうか。
100,000,000 などとやられても、一目で読めません…。

Aベストアンサー

>0~1000までは先頭に ,, が付いてしまい、
>1,0000~1000,00000までは先頭に , が付き、
>億より上のカンマは付きません…。

参考までに。

1兆円未満の正の整数なら以下のユーザー定義で表示できます。

[>=10000000]#","####","####;[>=10000]#","####;G/標準

Qエクセルの数値欄の桁区切りを4桁にする方法

日本の数値の読み方は、一十百千、一万十万百万千万、一億十億百億千億、一兆・・・のように4桁ごとに変わっていくのに、エクセルの数値の区切りは、3桁(123,456,789)しかなくて不自然で読みにくいです。
これを(1234,5678)のように4桁区切りに(自動的に)したいのですが、手順がわかりません。
初歩的な質問ですみませんが、どなたかご存じでしたら、教えて下さい。

Aベストアンサー

◆負の数がないことを前提に
★表示形式をユーザー定義で、
 [>100000000]0!,0000!,0000;[>10000]0!,0000;0
としてください


人気Q&Aランキング

おすすめ情報